/*
Theme Name: Coragem de Amar
Theme URI: https://coragemdeamar.com
Author: Web Rádio Coragem de Amar
Author URI: https://coragemdeamar.com
Description: Web Rádio Gospel Coragem de Amar — tema dinâmico em paleta wine escura com acento âmbar/rosa brilhante. Player contínuo (SPA), cabeçalho/rodapé personalizáveis e páginas 100% editáveis no Elementor, já replicando o design do preview oficial.
Version: 2.6.1
Requires at least: 6.0
Tested up to: 6.6
Requires PHP: 7.4
License: GPL v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: coragem-de-amar
Tags: radio, gospel, music, dark, custom-colors, custom-menu, featured-images, full-width-template, theme-options
*/

/* ============ TOKENS — exato preview Lovable (dark wine) ============ */
:root{
  --cda-bg:       #2a0d18;            /* deep wine background */
  --cda-bg-2:     #1d0810;            /* darker */
  --cda-surface:  #3b121f;            /* card surface */
  --cda-surface-2:#2f0e1a;
  --cda-fg:       #fbeee0;            /* warm cream foreground */
  --cda-mute:     #b89aa3;            /* muted */
  --cda-primary:  #ff3d6e;            /* glowing rose */
  --cda-primary-2:#ff7aa8;
  --cda-accent:   #ffb547;            /* warm amber */
  --cda-accent-2: #ffd28a;
  --cda-line:     rgba(255,255,255,.10);
  --cda-line-2:   rgba(255,255,255,.18);
  --cda-radius:   18px;
  --cda-shadow-glow: 0 0 60px -10px rgba(255,61,110,.55);
  --cda-shadow-soft: 0 20px 50px -20px rgba(0,0,0,.6);
  --cda-grad-warm:  linear-gradient(135deg,#ff3d6e 0%,#ffb547 100%);
  --cda-grad-hero:  radial-gradient(ellipse at top,#4a1426 0%,#2a0d18 60%);
  --cda-grad-glow:  radial-gradient(circle at 50% 50%,rgba(255,61,110,.45),transparent 70%);
  --cda-font-head: "Playfair Display",Georgia,serif;
  --cda-font-body: "Inter","Segoe UI",system-ui,sans-serif;
}

/* ============ BASE ============ */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body.cda{
  margin:0;font-family:var(--cda-font-body);
  color:var(--cda-fg);background:var(--cda-bg);
  line-height:1.6;-webkit-font-smoothing:antialiased;
  padding-bottom:96px;
}
img{max-width:100%;height:auto;display:block}
a{color:var(--cda-accent);text-decoration:none;transition:color .2s}
a:hover{color:var(--cda-primary-2)}
.cda-container{max-width:1200px;margin:0 auto;padding:0 24px}
h1,h2,h3,h4{font-family:var(--cda-font-head);font-weight:800;line-height:1.05;margin:0 0 .5em;letter-spacing:-.02em;color:var(--cda-fg)}
::selection{background:var(--cda-primary);color:#fff}

/* Utility classes que os templates Elementor usam (CSS Class do widget) */
.cda-eyebrow{display:inline-block;font-size:12px;letter-spacing:.3em;text-transform:uppercase;color:var(--cda-accent);font-weight:600}
.cda-grad-text{background:var(--cda-grad-warm);-webkit-background-clip:text;background-clip:text;color:transparent;display:inline-block}
.cda-grad-bg{background:var(--cda-grad-warm)}
.cda-shadow-glow{box-shadow:var(--cda-shadow-glow)}
.cda-shadow-soft{box-shadow:var(--cda-shadow-soft)}
.cda-card{background:rgba(59,18,31,.6);border:1px solid var(--cda-line);border-radius:var(--cda-radius);padding:28px;transition:border-color .25s,background .25s,transform .25s}
.cda-card:hover{border-color:rgba(255,181,71,.5);background:var(--cda-surface)}
.cda-pill{display:inline-flex;align-items:center;gap:8px;padding:6px 14px;border-radius:999px;border:1px solid rgba(255,181,71,.4);background:rgba(255,181,71,.08);color:var(--cda-accent);font-size:11px;letter-spacing:.25em;text-transform:uppercase;font-weight:600}
.cda-pill .dot{position:relative;width:8px;height:8px;border-radius:50%;background:var(--cda-accent)}
.cda-pill .dot::after{content:"";position:absolute;inset:0;border-radius:50%;background:var(--cda-accent);opacity:.7;animation:cdaPing 1.6s ease-out infinite}
@keyframes cdaPing{0%{transform:scale(1);opacity:.7}80%,100%{transform:scale(2.2);opacity:0}}

.cda-btn{display:inline-flex;align-items:center;gap:10px;padding:14px 28px;border-radius:999px;font-weight:600;font-size:14px;transition:transform .2s,box-shadow .2s,background .2s,color .2s;cursor:pointer;border:0;text-decoration:none}
.cda-btn-primary{background:var(--cda-primary);color:#1a0710;box-shadow:var(--cda-shadow-glow)}
.cda-btn-primary:hover{transform:scale(1.03);color:#1a0710}
.cda-btn-ghost{background:transparent;color:var(--cda-fg);border:1px solid var(--cda-line-2)}
.cda-btn-ghost:hover{border-color:var(--cda-accent);color:var(--cda-accent)}

/* ============ HEADER ============ */
.cda-header{position:sticky;top:0;z-index:50;background:rgba(29,8,16,.92);backdrop-filter:blur(14px);border-bottom:1px solid var(--cda-line)}
.cda-header-inner{display:flex;align-items:center;justify-content:space-between;padding:18px 0;gap:24px}
.cda-logo{display:flex;align-items:center;gap:12px;color:var(--cda-fg);font-weight:700;font-family:var(--cda-font-head);font-size:22px}
.cda-logo-mark{width:42px;height:42px;border-radius:12px;background:var(--cda-grad-warm);display:grid;place-items:center;box-shadow:var(--cda-shadow-glow)}
.cda-logo-mark svg{width:22px;height:22px;color:#1a0710}
.cda-logo span small{display:block;font-size:11px;font-weight:400;opacity:.7;letter-spacing:.18em;text-transform:uppercase;font-family:var(--cda-font-body);color:var(--cda-mute)}
.cda-nav{display:flex;align-items:center;gap:8px}
.cda-nav ul{list-style:none;display:flex;gap:4px;margin:0;padding:0}
.cda-nav a{color:rgba(251,238,224,.85);padding:10px 16px;border-radius:999px;font-size:14px;font-weight:500;transition:all .2s}
.cda-nav a:hover,.cda-nav .current-menu-item>a{color:var(--cda-accent);background:rgba(255,255,255,.06)}
.cda-header .cda-btn-primary{padding:10px 22px;font-size:13px}
.cda-burger{display:none;background:transparent;border:0;color:var(--cda-fg);cursor:pointer;padding:8px}

/* ============ FOOTER ============ */
.cda-footer{background:var(--cda-bg-2);color:var(--cda-mute);padding:70px 0 110px;border-top:1px solid var(--cda-line)}
.cda-footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px;margin-bottom:40px}
.cda-footer h4{color:var(--cda-fg);font-family:var(--cda-font-body);font-size:13px;letter-spacing:.18em;text-transform:uppercase;margin-bottom:20px}
.cda-footer ul{list-style:none;padding:0;margin:0;display:grid;gap:10px}
.cda-footer a{color:var(--cda-mute);font-size:14px}
.cda-footer a:hover{color:var(--cda-accent)}
.cda-social{display:flex;gap:10px;margin-top:18px}
.cda-social a{width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.05);display:grid;place-items:center;color:var(--cda-mute);transition:all .2s}
.cda-social a:hover{background:var(--cda-primary);color:#fff;transform:translateY(-3px)}
.cda-social svg{width:16px;height:16px}
.cda-footer-bottom{border-top:1px solid var(--cda-line);padding-top:24px;text-align:center;font-size:13px}

/* ============ LIVE PLAYER (fixo bottom) ============ */
.cda-player{position:fixed;bottom:0;left:0;right:0;z-index:60;background:rgba(20,5,10,.96);backdrop-filter:blur(20px);border-top:1px solid var(--cda-line);color:var(--cda-fg);padding:14px 0}
.cda-player-inner{display:flex;align-items:center;gap:20px}
.cda-player-art{width:54px;height:54px;border-radius:12px;background:var(--cda-grad-warm);display:grid;place-items:center;flex-shrink:0;box-shadow:var(--cda-shadow-glow)}
.cda-player-art svg{width:24px;height:24px;color:#1a0710}
.cda-player-meta{flex:1;min-width:0}
.cda-player-meta .cda-now{font-size:10px;letter-spacing:.25em;text-transform:uppercase;color:var(--cda-accent);font-weight:600;display:flex;align-items:center;gap:8px;margin-bottom:2px}
.cda-player-meta .cda-now::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--cda-primary);animation:cdaBlink 1.4s ease-in-out infinite}
@keyframes cdaBlink{50%{opacity:.3}}
.cda-player-meta strong{font-size:15px;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cda-player-meta small{font-size:12px;color:var(--cda-mute)}
.cda-player-controls{display:flex;align-items:center;gap:14px}
.cda-play-btn{width:52px;height:52px;border-radius:50%;background:var(--cda-primary);border:0;display:grid;place-items:center;cursor:pointer;transition:transform .2s;box-shadow:var(--cda-shadow-glow);color:#1a0710}
.cda-play-btn:hover{transform:scale(1.08)}
.cda-play-btn svg{width:22px;height:22px}
.cda-vol{display:flex;align-items:center;gap:10px;color:var(--cda-fg)}
.cda-vol input[type=range]{width:90px;accent-color:var(--cda-primary)}

/* ============ ANIMAÇÕES decorativas ============ */
@keyframes cdaFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-14px)}}
.cda-float{animation:cdaFloat 6s ease-in-out infinite}
@keyframes cdaSpinSlow{to{transform:rotate(360deg)}}
.cda-spin-slow{animation:cdaSpinSlow 40s linear infinite}

/* SPA navigation feedback */
html.cda-navigating{cursor:progress}
html.cda-navigating #cda-main{opacity:.55;transition:opacity .15s}

/* ============ RESPONSIVE ============ */
@media (max-width:960px){
  .cda-footer-grid{grid-template-columns:1fr 1fr;gap:32px}
  .cda-nav{display:none}
  .cda-nav.open{display:flex;position:absolute;top:100%;left:0;right:0;background:var(--cda-bg-2);padding:20px;flex-direction:column;align-items:stretch;border-bottom:1px solid var(--cda-line)}
  .cda-nav.open ul{flex-direction:column;width:100%}
  .cda-burger{display:block}
  .cda-player-inner{gap:12px}
  .cda-vol{display:none}
}
@media (max-width:560px){
  .cda-footer-grid{grid-template-columns:1fr}
}

/* ============ Contact form (widget HTML único na página Contato) ============ */
.cda-contact-form label{display:block}
.cda-contact-form span{display:block;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--cda-mute);margin-bottom:8px}
.cda-contact-form input,
.cda-contact-form textarea{
  width:100%;padding:12px 16px;border-radius:12px;
  border:1px solid var(--cda-line-2);background:rgba(0,0,0,.2);
  color:var(--cda-fg);font-family:inherit;font-size:14px;
  transition:border-color .2s,box-shadow .2s;
}
.cda-contact-form input:focus,
.cda-contact-form textarea:focus{
  outline:0;border-color:var(--cda-accent);
  box-shadow:0 0 0 4px rgba(255,181,71,.18);
}
.cda-contact-form textarea{min-height:120px;resize:vertical}
.cda-contact-form button{margin-top:22px}

/* Schedule slot live highlight */
.cda-slot-live{border-color:var(--cda-primary) !important;background:linear-gradient(90deg,rgba(255,61,110,.18),rgba(255,61,110,.04)) !important}

/* Quote big italic */
.cda-quote .elementor-heading-title{font-style:italic}
