/* =====================================================================
   Rádio — site público (tema white-label por tokens CSS).
   Paleta padrão: Galilleu (dark/gold). Para outra rádio, sobrescrever os
   tokens de :root num arquivo/deploy próprio no futuro.
   ===================================================================== */
:root{
  --paper:#FAF7F0; --surface:#FFFFFF; --surface-2:#F3EDE0;
  --ink:#1B1810; --muted:#867D6B; --line:#E8E1D1;
  --gold:#DF9E0B; --gold-bright:#FFC53D; --gold-soft:#FBEFCF;
  /* Tema CLARO: a "moldura" (topo/menu/No ar/rodapé/player) também fica clara. */
  --dark:#FFFFFF; --dark-2:#F3EDE0; --dark-ink:#1B1810; --dark-muted:#867D6B; --dark-line:#E8E1D1;
  --live:#E5484D;
  --shadow:0 1px 2px rgba(27,24,16,.04), 0 12px 30px -18px rgba(27,24,16,.28);
  --radius:16px;
}
:root:not([data-theme="light"]){
  @media (prefers-color-scheme:dark){
    --paper:#12100A; --surface:#1C1910; --surface-2:#242013;
    --ink:#F6F1E4; --muted:#A79E88; --line:#312B1D;
    --gold:#F5B301; --gold-bright:#FFCE54; --gold-soft:#2A2413;
    --dark:#0D0B06; --dark-2:#171308; --dark-ink:#F6F1E4; --dark-muted:#A79E88; --dark-line:#2A2417;
    --live:#F0575B;
    --shadow:0 1px 2px rgba(0,0,0,.3), 0 16px 34px -20px rgba(0,0,0,.7);
  }
}
:root[data-theme="dark"]{
  --paper:#12100A; --surface:#1C1910; --surface-2:#242013;
  --ink:#F6F1E4; --muted:#A79E88; --line:#312B1D;
  --gold:#F5B301; --gold-bright:#FFCE54; --gold-soft:#2A2413;
  --dark:#0D0B06; --dark-2:#171308; --dark-ink:#F6F1E4; --dark-muted:#A79E88; --dark-line:#2A2417;
  --live:#F0575B;
  --shadow:0 1px 2px rgba(0,0,0,.3), 0 16px 34px -20px rgba(0,0,0,.7);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0; background:var(--paper); color:var(--ink);
  font-family:"Archivo",system-ui,-apple-system,"Segoe UI",sans-serif;
  font-size:16px; line-height:1.55; padding-bottom:76px;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3{font-family:"Bricolage Grotesque","Archivo",sans-serif; text-wrap:balance; margin:0; letter-spacing:-.01em}
a{color:inherit; text-decoration:none}
img,svg{display:block; max-width:100%}
.wrap{max-width:1180px; margin:0 auto; padding:0 20px}
.eyebrow{font-size:.72rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--gold)}
.tnum{font-variant-numeric:tabular-nums}

/* ---------- Top utility bar ---------- */
.util{background:var(--dark-2); color:var(--dark-muted); font-size:.8rem; border-bottom:1px solid var(--dark-line)}
.util .wrap{display:flex; align-items:center; justify-content:flex-end; height:38px; gap:16px}
.util .social{display:flex; align-items:center; gap:14px}
.util .social a{display:inline-flex; align-items:center}
.util .social a{opacity:.8; transition:opacity .2s} .util .social a:hover{opacity:1;color:var(--gold-bright)}
.util .social svg{width:16px;height:16px;fill:currentColor}
.util .tema-switch{display:inline-flex;align-items:center;gap:2px;padding:2px;border:1px solid var(--dark-line);border-radius:999px}
.util .tema-switch .tema-op{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;background:none;border:0;border-radius:999px;color:inherit;opacity:.7;cursor:pointer;transition:opacity .2s,color .2s,background .2s}
.util .tema-switch .tema-op:hover{opacity:1;color:var(--gold-bright)}
.util .tema-switch .tema-op.ativo{opacity:1;color:var(--gold-bright);background:color-mix(in srgb, var(--gold) 18%, transparent)}
.util .tema-switch .tema-op svg{width:15px;height:15px;fill:none;stroke:currentColor}
.util .date{display:none}
@media(min-width:720px){.util .date{display:block}}

/* ---------- Header / nav ---------- */
.top{position:sticky; top:0; z-index:40; background:var(--dark); color:var(--dark-ink); border-bottom:1px solid var(--dark-line)}
.top .wrap{display:flex; align-items:center; gap:22px; height:70px}
.brand{display:flex; align-items:center; margin-right:auto}
.brand-logo{position:relative; z-index:2; flex:none; align-self:center; margin-top:-6px; margin-left:-4px; width:180px; height:140px; border-radius:14px; overflow:hidden; border:1px solid var(--dark-line); background:linear-gradient(150deg, color-mix(in srgb, var(--gold) 24%, var(--dark-2)), var(--dark-2)); box-shadow:0 12px 28px -12px rgba(0,0,0,.6)}
/* desktop: o corpo encosta na borda (padding 0), então o logo vaza -20 pra alinhar */
@media(min-width:940px){.brand-logo{margin-left:-20px}}
.brand-logo .ico{position:absolute; inset:0 0 20px; display:grid; place-items:center; color:color-mix(in srgb, var(--gold-bright) 78%, transparent)}
.brand-logo .ico svg{width:38px; height:38px; fill:currentColor}
.brand-logo .cap{position:absolute; left:0; right:0; bottom:8px; text-align:center; font-size:.58rem; letter-spacing:.22em; color:var(--dark-muted)}
.nav{display:none; gap:4px}
@media(min-width:1000px){.nav{display:flex}}
.nav a{padding:9px 12px; font-size:.9rem; font-weight:500; color:var(--dark-ink); border-radius:9px; opacity:.82; transition:.18s}
.nav a:hover{opacity:1; background:color-mix(in srgb, var(--dark-ink) 7%, transparent)}
.nav a.on{opacity:1; color:var(--gold-bright)}
.nav a.em-breve{opacity:.45; cursor:default}
.nav a.em-breve:hover{background:none}
.btn{font-family:"Archivo"; font-weight:600; font-size:.9rem; border:none; border-radius:999px; cursor:pointer; display:inline-flex; align-items:center; gap:8px; padding:11px 18px; transition:transform .15s, filter .15s}
.btn:hover{transform:translateY(-1px); filter:brightness(1.05)}
.btn:active{transform:translateY(0)}
.btn-gold{background:linear-gradient(180deg,var(--gold-bright),var(--gold)); color:#231a02}
.btn-ghost{background:color-mix(in srgb, var(--dark-ink) 8%, transparent); color:var(--dark-ink); border:1px solid var(--dark-line)}
.btn svg{width:16px;height:16px;fill:currentColor}
.burger{display:inline-flex; margin-left:2px} @media(min-width:1000px){.burger{display:none}}

/* ---------- Área central (2 colunas: esquerda troca / direita fixa) ---------- */
:root{--altura-hero:400px}
/* faixa escura só ATRÁS do topo (decorativa, não afeta o fluxo das colunas) */
.palco{position:relative}
.palco::before{content:""; position:absolute; top:0; left:0; right:0; height:var(--altura-hero); z-index:0;
  background:
   radial-gradient(1200px 400px at 80% -10%, rgba(223,158,11,.16), transparent 60%),
   var(--dark);
  border-bottom:1px solid var(--dark-line)}
.area-central{position:relative; z-index:1; display:flex; flex-direction:column; gap:20px; padding:28px 16px 44px}
/* no desktop, conteúdo encosta na borda do wrap (alinha com o logo/rodapé que "vazam" -20px) */
@media(min-width:940px){.area-central{flex-direction:row; align-items:flex-start; gap:22px; padding-top:34px; padding-left:0; padding-right:0}}
/* coluna esquerda: Destaque/título fluindo direto para o feed/grade (sem buraco) */
.coluna-conteudo{flex:1 1 0; min-width:0; display:flex; flex-direction:column}
/* coluna direita FIXA: No ar agora + banners */
.coluna-lateral{display:flex; flex-direction:column; gap:16px}
@media(min-width:940px){.coluna-lateral{flex:0 0 24%; max-width:290px}}

/* now playing card */
.np{background:linear-gradient(180deg,var(--surface),color-mix(in srgb, var(--surface) 93%, var(--dark-ink))); border:1px solid var(--dark-line); border-radius:var(--radius); padding:24px; display:flex; flex-direction:column; gap:18px; position:relative}
.live{display:inline-flex; align-items:center; gap:8px; font-size:.72rem; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:#fff; background:var(--live); padding:5px 11px; border-radius:999px; align-self:flex-start}
.live .dot{width:8px;height:8px;border-radius:50%;background:#fff; animation:pulse 1.6s infinite}
@keyframes pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(.7)}}
.np h1{font-size:clamp(1.7rem,4.4vw,2.5rem); line-height:1.02}
.np .prog{color:var(--gold-bright)}
.np-foto{position:relative; width:auto; margin-left:-24px; margin-right:-24px; aspect-ratio:4/5; border-radius:0; overflow:hidden; flex:none; border-top:1px solid var(--dark-line); border-bottom:1px solid var(--dark-line);
  background:linear-gradient(150deg, color-mix(in srgb, var(--gold) 24%, var(--dark-2)), var(--dark-2))}
.np-foto::before{content:""; position:absolute; inset:0; background:radial-gradient(130px 130px at 32% 26%, rgba(255,197,61,.22), transparent 62%)}
.np-foto img{width:100%; height:100%; object-fit:cover; object-position:50% 22%; display:block}
.np-foto .ico{position:absolute; inset:0; margin:auto; width:70px; height:70px; opacity:.6}
.np-foto .ico svg{width:100%; height:100%; fill:var(--dark-ink)}
.np-foto .cap{position:absolute; left:0; right:0; bottom:0; padding:18px 12px 9px; font-size:.72rem; letter-spacing:.05em; color:var(--dark-muted); background:linear-gradient(transparent, rgba(0,0,0,.55)); z-index:1}
.np-prog{font-size:clamp(1rem,2.1vw,1.25rem); line-height:1.15; margin:0}
.np-infos{list-style:none; margin:0; padding:0; display:flex; flex-direction:column}
.np-infos li{display:flex; align-items:baseline; justify-content:space-between; gap:14px; padding:11px 0; border-bottom:1px solid var(--dark-line)}
.np-infos li:last-child{border-bottom:none; padding-bottom:0}
.np-infos li span{color:var(--dark-muted); font-size:.82rem; flex:none; white-space:nowrap}
.np-infos li b{color:var(--dark-ink); font-weight:600; text-align:right; min-width:0; flex:1 1 auto; overflow-wrap:anywhere; word-break:break-word}
.np-infos li.prox b{color:var(--gold-bright); font-size:.9rem; line-height:1.25}
.np-prox{color:var(--gold-bright); font-weight:600; text-decoration:underline; text-decoration-style:dotted; text-underline-offset:2px; display:inline-block; max-width:100%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; vertical-align:bottom}
.np-prox .prog-card{left:auto; right:0; width:min(240px, calc(100vw - 40px))}
.np-prox .prog-card::after{left:auto; right:22px}
.np-infos li .prog-card span,
.np-infos li .prog-card b{white-space:normal}

/* featured news */
.feat{position:relative; background:var(--surface); border-radius:var(--radius); overflow:hidden; box-shadow:var(--shadow); color:var(--ink); min-height:420px; display:block}
.feat-slide{display:none; flex-direction:column; color:inherit; text-decoration:none; height:100%}
.feat-slide.ativa{display:flex}
.feat .ph{flex:1; min-height:300px; position:relative}
.feat .badge{position:absolute; top:14px; left:14px; z-index:1; background:var(--gold); color:#231a02; font-size:.7rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; padding:5px 10px; border-radius:8px}
.feat .body{padding:20px 22px 22px; display:flex; flex-direction:column; gap:9px}
.feat h2{font-size:1.4rem; line-height:1.12}
.feat p{margin:0; color:var(--muted); font-size:.95rem}
.feat .more{margin-top:4px; color:var(--gold); font-weight:600; font-size:.9rem}
.feat-slide:hover .more{text-decoration:underline}
.feat .dots{position:absolute; left:0; right:0; bottom:10px; display:flex; justify-content:center; gap:2px; padding:0; z-index:5}
.feat .dots button{background:transparent; border:none; padding:10px 6px; margin:0; cursor:pointer; display:inline-flex; align-items:center; justify-content:center; line-height:0}
.feat .dots button::before{content:""; display:block; width:9px; height:9px; border-radius:50%; background:rgba(255,255,255,.65); box-shadow:0 1px 3px rgba(0,0,0,.35); transition:width .18s, background .18s, border-radius .18s}
.feat .dots button.on::before{background:var(--gold-bright); width:24px; border-radius:6px}

.feat .feat-nav{position:absolute; top:50%; transform:translateY(-50%); z-index:4; width:38px; height:38px; border-radius:50%; border:none; background:rgba(0,0,0,.55); color:#fff; cursor:pointer; display:grid; place-items:center; opacity:0; transition:opacity .18s, background .18s; padding:0}
.feat .feat-nav svg{width:20px; height:20px; fill:none; stroke:currentColor}
.feat .feat-nav:hover{background:var(--gold); color:#231a02}
.feat .feat-prev{left:10px}
.feat .feat-next{right:10px}
.feat:hover .feat-nav, .feat:focus-within .feat-nav{opacity:1}
@media(hover:none){.feat .feat-nav{opacity:1; background:rgba(0,0,0,.4)}}

/* placeholder imagery */
.ph{background:
   linear-gradient(135deg, color-mix(in srgb, var(--gold) 22%, var(--surface-2)), var(--surface-2));
  position:relative; overflow:hidden}
.ph::before{content:""; position:absolute; inset:0;
  background-image:radial-gradient(circle at 30% 30%, rgba(255,255,255,.35), transparent 40%),
     repeating-linear-gradient(45deg, rgba(27,24,16,.04) 0 12px, transparent 12px 24px);}
.ph > img{position:relative; z-index:1}
.ph .ico{position:absolute; inset:0; margin:auto; width:46px; height:46px; opacity:.5}
.ph .ico svg{width:100%;height:100%; fill:var(--ink)}

/* ---------- Sections ---------- */
section.blk{padding:34px 0}
.head{display:flex; align-items:flex-end; justify-content:space-between; gap:16px; margin-bottom:22px}
.head h2{font-size:1.7rem}
.head .link{color:var(--gold); font-weight:600; font-size:.9rem; white-space:nowrap}
.head .rule{height:3px; width:52px; background:linear-gradient(90deg,var(--gold),transparent); border-radius:3px; margin-top:8px}

.grid3{display:grid; gap:20px; grid-template-columns:1fr}
@media(min-width:640px){.grid3{grid-template-columns:1fr 1fr}}
@media(min-width:960px){.grid3{grid-template-columns:1fr 1fr 1fr}}
.card{background:var(--surface); border:1px solid var(--line); border-radius:var(--radius); overflow:hidden; box-shadow:var(--shadow); transition:transform .18s, box-shadow .18s; display:flex; flex-direction:column}
.card:hover{transform:translateY(-4px); box-shadow:0 22px 40px -22px rgba(27,24,16,.4)}
.card .ph{height:170px}
.card .c{padding:16px 18px 18px; display:flex; flex-direction:column; gap:8px}
.card .kicker{font-size:.7rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--gold)}
.card h3{font-size:1.08rem; line-height:1.2}
.card time{font-size:.8rem; color:var(--muted)}

/* two-column: programação + sidebar */
.panel{background:var(--surface); border:1px solid var(--line); border-radius:var(--radius); box-shadow:var(--shadow); overflow:hidden}
.panel .ptitle{display:flex; align-items:center; gap:10px; padding:16px 20px; border-bottom:1px solid var(--line)}
.panel .ptitle h3{font-size:1.15rem}
.panel .ptitle .ic{width:34px;height:34px;border-radius:9px;background:var(--gold-soft); display:grid;place-items:center}
.panel .ptitle .ic svg{width:18px;height:18px;fill:none;stroke:var(--gold)}
.sched{list-style:none; margin:0; padding:6px 0}
.sched li{display:flex; align-items:center; gap:14px; padding:12px 20px; border-bottom:1px solid var(--line)}
.sched li:last-child{border:none}
.sched li.now{background:var(--gold-soft)}
.sched .h{font-weight:700; font-size:.9rem; color:var(--ink); min-width:120px}
.sched .p{font-weight:600}
.sched .loc{color:var(--muted); font-size:.85rem}
.sched .tagnow{margin-left:auto; font-size:.65rem; font-weight:700; letter-spacing:.1em; color:#fff; background:var(--live); padding:3px 8px; border-radius:6px}

/* --- Grade de programação agrupada por dia --- */
.grade-tabs{display:flex; flex-wrap:wrap; gap:6px; padding:14px 20px; border-bottom:1px solid var(--line); background:var(--surface-2)}
.grade-tab{position:relative; flex:1 1 auto; min-width:64px; display:flex; flex-direction:column; align-items:center; gap:2px; padding:8px 10px; border:1px solid var(--line); background:var(--surface); border-radius:10px; cursor:pointer; font-family:inherit; color:var(--ink); transition:transform .12s, background .18s, color .18s, border-color .18s}
.grade-tab:hover{background:var(--gold-soft); border-color:color-mix(in srgb, var(--gold) 40%, var(--line))}
.grade-tab .gt-abrev{font-weight:800; font-size:.85rem; letter-spacing:.06em; color:var(--gold)}
.grade-tab .gt-nome{font-size:.7rem; color:var(--muted); text-transform:uppercase; letter-spacing:.04em}
.grade-tab .gt-hoje{position:absolute; top:4px; right:6px; color:var(--live); font-size:1rem; line-height:1}
.grade-tab.ativa{background:linear-gradient(180deg,var(--gold-bright),var(--gold)); border-color:transparent; color:#231a02; transform:translateY(-1px); box-shadow:0 6px 14px -8px rgba(0,0,0,.35)}
.grade-tab.ativa .gt-abrev,.grade-tab.ativa .gt-nome{color:#231a02}
.grade-tab.ativa .gt-hoje{color:#7a1a1a}
@media(max-width:560px){
  .grade-tabs{padding:10px 12px; gap:4px}
  .grade-tab{padding:6px 4px; min-width:0}
  .grade-tab .gt-nome{display:none}
}
.grade-dias{display:flex; flex-direction:column}
.grade-dia{border-bottom:1px solid var(--line)}
.grade-dia:last-child{border-bottom:none}
.grade-dia.hoje{background:linear-gradient(180deg, var(--gold-soft), transparent 60%)}
.grade-dia-hdr{display:flex; align-items:center; gap:12px; padding:14px 20px; border-bottom:1px solid var(--line); background:var(--surface-2)}
.grade-dia-hdr .dia-abrev{width:38px; height:38px; border-radius:10px; background:var(--gold-soft); color:var(--gold); font-weight:800; font-size:.8rem; display:grid; place-items:center; letter-spacing:.06em}
.grade-dia-hdr .dia-nome{font-weight:700; color:var(--ink); font-size:1rem}
.grade-dia-hdr .dia-hoje{font-size:.65rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:#231a02; background:linear-gradient(180deg,var(--gold-bright),var(--gold)); padding:3px 9px; border-radius:999px}
.grade-dia-hdr .dia-qtd{margin-left:auto; color:var(--muted); font-size:.8rem}
.grade-dia.hoje .dia-abrev{background:linear-gradient(180deg,var(--gold-bright),var(--gold)); color:#231a02}
.grade-vazio{margin:0; padding:14px 20px; color:var(--muted); font-size:.9rem; font-style:italic}
.grade-lista{list-style:none; margin:0; padding:6px 0}
.grade-item{display:flex; align-items:center; gap:14px; padding:10px 20px; border-bottom:1px dashed var(--line)}
.grade-item:last-child{border-bottom:none}
.grade-item.now{background:var(--gold-soft)}
.grade-item .gi-foto{flex:none; width:56px; height:56px; border-radius:12px; overflow:hidden; position:relative; border:1px solid var(--line); background:linear-gradient(150deg, color-mix(in srgb, var(--gold) 22%, var(--surface-2)), var(--surface-2))}
.grade-item .gi-foto img{width:100%; height:100%; object-fit:cover; display:block}
.grade-item .gi-foto .ico{position:absolute; inset:0; display:grid; place-items:center; color:color-mix(in srgb, var(--gold) 70%, transparent)}
.grade-item .gi-foto .ico svg{width:26px; height:26px; fill:currentColor}
.grade-item .gi-info{flex:1; min-width:0}
.grade-item .gi-nome{font-weight:700; color:var(--ink); line-height:1.2}
.grade-item .gi-loc{color:var(--muted); font-size:.85rem; margin-top:2px}
.grade-item .gi-hora{flex:none; font-weight:700; font-size:.9rem; color:var(--ink)}
.grade-item .tagnow{flex:none; font-size:.65rem; font-weight:700; letter-spacing:.1em; color:#fff; background:var(--live); padding:3px 8px; border-radius:6px}
@media(max-width:560px){
  .grade-item{flex-wrap:wrap}
  .grade-item .gi-hora{order:3; width:100%; padding-left:70px; margin-top:-2px; font-size:.82rem}
  .grade-item .tagnow{order:2}
}
.mini{background:var(--surface); border:1px solid var(--line); border-radius:var(--radius); box-shadow:var(--shadow); padding:20px}
.mini h3{font-size:1.05rem; margin-bottom:12px}
.niver{display:flex; align-items:center; gap:14px}
.niver .av{width:56px;height:56px;border-radius:50%; flex:none; background:linear-gradient(135deg,var(--gold-bright),var(--gold)); display:grid; place-items:center; color:#231a02; font-family:"Bricolage Grotesque"; font-weight:800; font-size:1.3rem}
.niver .n{font-weight:700} .niver .s{color:var(--muted); font-size:.86rem}
/* aniversariantes da semana — carrossel simples (fade/troca) */
.niver-carrossel{position:relative}
.niver-slide{display:none}
.niver-slide.ativo{display:block; animation:niver-fade .4s ease}
@keyframes niver-fade{from{opacity:0; transform:translateY(4px)} to{opacity:1; transform:none}}
.niver-dots{display:flex; gap:6px; justify-content:center; margin-top:12px}
.niver-dot{width:8px; height:8px; border-radius:50%; border:0; padding:0; cursor:pointer; background:var(--surface-2); transition:background .2s, transform .2s}
.niver-dot.on{background:var(--gold); transform:scale(1.25)}
.niver-dot:hover{background:var(--gold-bright)}
.enq{color:var(--muted)} .enq .soon{display:inline-block; margin-top:6px; background:var(--surface-2); color:var(--ink); font-weight:600; font-size:.8rem; padding:6px 12px; border-radius:999px}

/* Enquete — pergunta, form de voto e visão de resultado */
.enq-widget{color:var(--ink)}
.enq-pergunta{font-weight:600; color:var(--ink); margin-bottom:10px}
.enq-form{display:flex; flex-direction:column; gap:8px}
.enq-opcao{display:flex; align-items:center; gap:8px; padding:8px 10px; border:1px solid var(--line); border-radius:8px; cursor:pointer; background:var(--surface); transition:background .15s, border-color .15s}
.enq-opcao:hover{background:var(--surface-2)}
.enq-opcao input[type=radio]{accent-color:var(--gold, #ffc53d); width:16px; height:16px}
.enq-acoes{display:flex; gap:10px; align-items:center; margin-top:4px}
.enq-botao-votar{background:linear-gradient(90deg,var(--gold),var(--gold-bright)); color:#1B1810; font-weight:700; border:0; border-radius:8px; padding:8px 16px; cursor:pointer}
.enq-botao-votar:disabled{opacity:.6; cursor:default}
.enq-ver-resultado{background:transparent; border:0; color:var(--muted); text-decoration:underline; font-size:.85rem; cursor:pointer; padding:6px 4px}
.enq-ver-resultado:hover{color:var(--ink)}
.enq-aviso{margin-top:6px; font-size:.85rem; padding:6px 8px; border-radius:6px}
.enq-aviso.erro{background:rgba(220,60,60,.12); color:#c33}
.enq-aviso.ok{background:rgba(0,150,80,.12); color:#087}
.enq-total-inicial{color:var(--muted); font-size:.82rem; margin-top:6px}
.enq-resultado{display:flex; flex-direction:column; gap:10px}
.enq-linha-topo{display:flex; justify-content:space-between; font-size:.9rem}
.enq-barra{height:8px; border-radius:5px; background:var(--surface-2); overflow:hidden; margin-top:4px}
.enq-barra-preenchida{height:100%; background:linear-gradient(90deg,var(--gold),var(--gold-bright)); transition:width .35s ease}
.enq-rodape{display:flex; justify-content:space-between; align-items:center; margin-top:6px; flex-wrap:wrap; gap:8px}
.enq-total{color:var(--muted); font-size:.82rem}
.enq-selo-votou{font-size:.75rem; font-weight:700; color:#1B1810; background:linear-gradient(90deg,var(--gold),var(--gold-bright)); padding:3px 10px; border-radius:999px}
.enq-voltar-votar{background:transparent; border:0; color:var(--muted); text-decoration:underline; font-size:.82rem; cursor:pointer; padding:4px 0; flex-basis:100%; text-align:center}
.enq-voltar-votar:hover{color:var(--ink)}

/* home: aniversariante + enquete lado a lado, maiores */
/* align-items:start impede que um card cresça só porque o vizinho é maior
   (ex.: enquete com muitas opções não estica o card de aniversariantes). */
.destaques2{display:grid; gap:20px; grid-template-columns:1fr; align-items:start}
@media(min-width:640px){.destaques2{grid-template-columns:1fr 1fr}}
.destaques2 .mini{padding:28px; min-height:190px}
.destaques2 .mini h3{font-size:1.25rem; margin-bottom:18px}
.destaques2 .niver{gap:22px}
.destaques2 .niver .av{width:128px; height:128px; font-size:2.6rem}
.destaques2 .niver .n{font-size:1.18rem}
.destaques2 .niver .s{font-size:.95rem}
@media(max-width:520px){
  .destaques2 .niver .av{width:104px; height:104px; font-size:2.2rem}
}
.destaques2 .enq{font-size:1.05rem}
.destaques2 .enq .soon{margin-top:14px; font-size:.85rem}

/* fotos — carrossel horizontal com setas */
.carrossel{position:relative}
/* largura FIXA por card: não estica quando há poucos álbuns (fica igual ao esboço) */
.strip{display:grid; grid-auto-flow:column; grid-auto-columns:240px; gap:14px; overflow-x:auto; scroll-snap-type:x mandatory; scroll-behavior:smooth; scrollbar-width:none; -ms-overflow-style:none}
@media(max-width:520px){.strip{grid-auto-columns:78%}}
.strip::-webkit-scrollbar{display:none}
.strip .shot{scroll-snap-align:start; border-radius:14px; overflow:hidden; aspect-ratio:4/3; position:relative; box-shadow:var(--shadow)}
.strip .shot .cap{position:absolute; left:0; right:0; bottom:0; z-index:1; padding:22px 12px 10px; color:#fff; font-size:.82rem; font-weight:600; background:linear-gradient(transparent, rgba(0,0,0,.7))}
.seta{position:absolute; top:50%; transform:translateY(-50%); z-index:5; width:44px; height:44px; border-radius:50%; border:none; cursor:pointer; display:grid; place-items:center;
  background:linear-gradient(180deg,var(--gold-bright),var(--gold)); color:#231a02; box-shadow:0 8px 22px -8px rgba(0,0,0,.55);
  opacity:0; visibility:hidden; transition:opacity .2s, transform .15s, filter .15s}
#fotos:hover .seta, #fotos:focus-within .seta{opacity:1; visibility:visible}
.seta:hover{filter:brightness(1.05); transform:translateY(-50%) scale(1.08)}
.seta:active{transform:translateY(-50%) scale(1)}
.seta svg{width:22px; height:22px; fill:none; stroke:currentColor; stroke-width:2.4; stroke-linecap:round; stroke-linejoin:round}
.seta-esq{left:8px}
.seta-dir{right:8px}

/* videos */
.grid-v{display:grid; gap:20px; grid-template-columns:1fr}
@media(min-width:700px){.grid-v{grid-template-columns:1fr 1fr}}
.vid{position:relative; border-radius:var(--radius); overflow:hidden; aspect-ratio:16/9; box-shadow:var(--shadow); display:block}
.vid .play-s{position:absolute; inset:0; margin:auto; width:64px;height:64px;border-radius:50%; background:rgba(20,17,10,.55); backdrop-filter:blur(3px); display:grid;place-items:center; border:2px solid rgba(255,255,255,.6); z-index:1}
.vid .play-s svg{width:26px;height:26px;fill:#fff;margin-left:3px}
.vid .cap{position:absolute; left:14px; right:14px; bottom:12px; z-index:1; color:#fff; font-weight:600; text-shadow:0 1px 8px rgba(0,0,0,.6)}

/* cards compactos de notícia dentro da coluna de conteúdo (classe .feed) */
.feed{min-width:0}
.feed .grid3{grid-template-columns:1fr; gap:16px}
@media(min-width:520px){.feed .grid3{grid-template-columns:1fr 1fr}}
@media(min-width:900px){.feed .grid3{grid-template-columns:1fr 1fr 1fr}}
.feed .card .ph{height:120px}
.feed .card .c{padding:12px 14px 14px; gap:5px}
.feed .card .kicker{font-size:.64rem}
.feed .card h3{font-size:.95rem; line-height:1.18}
.feed .card time{font-size:.74rem}
/* trilho de banners/patrocínio (coluna direita fixa) */
.spons{display:flex; flex-direction:column; gap:14px}
.spons .s{display:block; width:100%; border-radius:12px; overflow:hidden; background:var(--surface); border:1px solid var(--line); line-height:0}
.spons .s img{display:block; width:100%; height:auto}

/* ---------- Footer ---------- */
footer{background:var(--dark); color:var(--dark-ink); margin-top:24px; border-top:3px solid var(--gold)}
.foot{display:grid; gap:30px; grid-template-columns:1fr; padding:44px 0 30px}
@media(min-width:820px){.foot{grid-template-columns:1.4fr 1fr 1fr}}
.foot h4{font-family:"Bricolage Grotesque"; font-size:1.05rem; margin:0 0 14px}
.foot p,.foot li{color:var(--dark-muted); font-size:.92rem}
.foot ul{list-style:none;margin:0;padding:0; display:flex; flex-direction:column; gap:9px}
.foot a:hover{color:var(--gold-bright)}
.store{display:inline-flex; align-items:center; gap:10px; background:#000; border:1px solid var(--dark-line); border-radius:12px; padding:9px 16px; margin-top:6px}
.store svg{width:24px;height:24px;fill:#fff}
.store b{display:block;font-size:.95rem;line-height:1.1} .store span{font-size:.66rem; color:#bbb; letter-spacing:.02em}
.copy{border-top:1px solid var(--dark-line); text-align:center; color:var(--dark-muted); font-size:.82rem; padding:18px 0}
.copy b{color:var(--gold-bright)}

/* ---------- Sticky mini player ---------- */
.bar{position:fixed; left:0; right:0; bottom:0; z-index:50; background:color-mix(in srgb, var(--dark) 94%, transparent); backdrop-filter:blur(10px); border-top:1px solid var(--dark-line); color:var(--dark-ink)}
.bar .wrap{display:flex; align-items:center; gap:16px; height:76px}
.bar-foto{flex:none; align-self:flex-end; margin-left:-4px; width:104px; height:112px; border-radius:12px 12px 0 0; overflow:hidden; position:relative; border:1px solid var(--dark-line); border-bottom:none; background:linear-gradient(150deg, color-mix(in srgb, var(--gold) 24%, var(--dark-2)), var(--dark-2))}
@media(min-width:940px){.bar-foto{margin-left:-20px}}
.bar-foto .ico{position:absolute; inset:0; display:grid; place-items:center; color:color-mix(in srgb, var(--gold-bright) 70%, transparent)}
.bar-foto .ico svg{width:34px; height:34px; fill:currentColor}
.bar .pp{width:46px;height:46px;border-radius:50%;border:none;cursor:pointer; flex:none; background:linear-gradient(180deg,var(--gold-bright),var(--gold)); color:#231a02; display:grid;place-items:center}
.bar .pp svg{width:20px;height:20px;fill:currentColor;margin-left:2px}
.bar .info{min-width:0; flex:1; display:flex; flex-direction:column; gap:1px}
.bar .info .l{font-size:.66rem; letter-spacing:.16em; text-transform:uppercase; color:var(--live); font-weight:700}
.bar .info .t{font-weight:600; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; color:var(--dark-muted)}
.bar .info .t b{color:var(--gold-bright); font-weight:700}
.bar .info .prox{font-size:.74rem; color:var(--dark-muted); white-space:nowrap; display:flex; align-items:baseline; gap:5px; min-width:0}
.bar .info .prox .prox-lbl{color:var(--gold); font-weight:700; flex:none}
.bar .info .prox .prox-lista{flex:1; min-width:0; white-space:nowrap}
.prog-item{position:relative; display:inline-block; max-width:100%; flex:none; cursor:help; color:var(--dark-ink); font-weight:600; text-decoration:underline; text-decoration-style:dotted; text-underline-offset:2px; overflow-wrap:anywhere}
.prog-card{position:absolute; left:0; bottom:calc(100% + 12px); z-index:60; width:250px; box-sizing:border-box; display:flex; gap:12px; padding:12px; border-radius:14px; background:var(--dark-2); border:1px solid var(--dark-line); box-shadow:0 18px 40px -12px rgba(0,0,0,.65); opacity:0; visibility:hidden; transform:translateY(6px); transition:opacity .18s, transform .18s, visibility .18s; pointer-events:none; white-space:normal; text-align:left}
.prog-item:hover .prog-card, .prog-item:focus .prog-card, .prog-item:focus-within .prog-card{opacity:1; visibility:visible; transform:translateY(0)}
.prog-card::after{content:""; position:absolute; top:100%; left:22px; border:8px solid transparent; border-top-color:var(--dark-2)}
.prog-card .pc-foto{display:block; flex:none; width:64px; height:64px; border-radius:10px; overflow:hidden; position:relative; border:1px solid var(--dark-line); background:linear-gradient(150deg, color-mix(in srgb, var(--gold) 24%, var(--dark-2)), var(--dark-2))}
.prog-card .pc-foto .ico{position:absolute; inset:0; display:grid; place-items:center; color:color-mix(in srgb, var(--gold-bright) 70%, transparent)}
.prog-card .pc-foto .ico svg{width:26px; height:26px; fill:currentColor}
.prog-card .pc-info{min-width:0; flex:1 1 auto; display:flex; flex-direction:column; gap:2px}
.prog-card .pc-nome{font-size:.95rem; color:var(--gold-bright); font-weight:700; line-height:1.2; overflow-wrap:anywhere}
.prog-card .pc-hora{display:block; font-size:.78rem; color:var(--dark-ink)}
.prog-card .pc-loc{display:block; font-size:.76rem; color:var(--dark-muted)}
.bar .eqbox{display:none; flex-direction:column; align-items:stretch; gap:5px; width:150px}
@media(min-width:640px){.bar .eqbox{display:flex}}
.bar .eqmini{display:block; width:100%; height:26px; background:linear-gradient(180deg, rgba(255,197,61,.05), rgba(255,197,61,0)); border-radius:6px}
.bar .volwrap{display:flex; align-items:center; gap:8px}
.bar .volbtn{background:none; border:none; padding:2px; margin:0; cursor:pointer; color:var(--gold); display:grid; place-items:center; opacity:.85; transition:opacity .15s}
.bar .volbtn:hover{opacity:1}
.bar .volbtn svg{width:16px; height:16px; fill:currentColor}
.bar .vol{flex:1; -webkit-appearance:none; appearance:none; width:100%; height:4px; background:linear-gradient(90deg, var(--gold) var(--vol,80%), rgba(255,255,255,.15) var(--vol,80%)); border-radius:999px; outline:none; cursor:pointer; margin:0}
.bar .vol::-webkit-slider-thumb{-webkit-appearance:none; appearance:none; width:12px; height:12px; border-radius:50%; background:var(--gold-bright); border:2px solid #231a02; box-shadow:0 2px 6px rgba(0,0,0,.35); cursor:pointer}
.bar .vol::-moz-range-thumb{width:12px; height:12px; border-radius:50%; background:var(--gold-bright); border:2px solid #231a02; box-shadow:0 2px 6px rgba(0,0,0,.35); cursor:pointer}
.bar .volbtn.mudo{color:var(--live)}
.bar .volbtn.mudo .ico-vol{display:none}
.bar .volbtn.mudo .ico-mute{display:block !important}
#audioRadio{display:none}
.bar .pp[disabled]{opacity:.5; cursor:not-allowed; filter:grayscale(.6)}
.bar .pp.carregando svg{animation:pp-spin .9s linear infinite; transform-origin:center}
@keyframes pp-spin{to{transform:rotate(360deg)}}
.bar .ask{padding:9px 16px; font-size:.85rem; white-space:nowrap; flex:none}
@media(min-width:560px){.bar .ask{margin-left:8px}}

/* fatias que trocam na navegação (topo = Destaque/título, corpo = feed/grade) */
#slotTopo, #slotCorpo{min-width:0}
#slotTopo.carregando, #slotCorpo.carregando{opacity:.5; transition:opacity .15s; pointer-events:none}

/* cabeçalho das páginas internas (flui no topo da coluna esquerda, colado ao conteúdo) */
.pagina-topo{color:var(--dark-ink); padding:4px 0 18px}
.pagina-topo h1{font-size:clamp(1.8rem,4vw,2.4rem); margin:6px 0 4px; line-height:1.05}
.pagina-topo p{margin:0; color:var(--dark-muted)}

/* ---------- Notícias (lista + matéria) ---------- */
.pagina-topo .voltar{display:inline-block; margin-bottom:10px; color:var(--gold-bright); font-weight:600; font-size:.85rem}
.pagina-topo .voltar:hover{opacity:.85}

.paginacao{display:flex; align-items:center; justify-content:center; gap:18px; margin-top:26px; flex-wrap:wrap}
.paginacao a{color:var(--gold); font-weight:600; font-size:.92rem}
.paginacao a:hover{color:var(--gold-bright)}
.paginacao .pg-atual{color:var(--muted); font-size:.86rem}

.artigo{background:var(--surface); border:1px solid var(--line); border-radius:var(--radius); box-shadow:var(--shadow); overflow:hidden; margin-top:22px}
.artigo-capa{margin:0}
.artigo-capa img{width:100%; height:auto; max-height:440px; object-fit:cover; display:block}
.artigo-corpo{padding:24px 26px; color:var(--ink); font-size:1.02rem; line-height:1.7}
.artigo-corpo p{margin:0 0 14px}
.artigo-corpo h2,.artigo-corpo h3{margin:22px 0 10px}
.artigo-corpo img{max-width:100%; height:auto; border-radius:10px; margin:10px 0}
.artigo-corpo a{color:var(--gold); font-weight:600}

.artigo-galeria{display:grid; grid-template-columns:1fr 1fr; gap:10px; padding:0 26px 24px}
@media(min-width:560px){.artigo-galeria{grid-template-columns:1fr 1fr 1fr}}
.foto-artigo{display:block; aspect-ratio:4/3; border-radius:10px; overflow:hidden; box-shadow:var(--shadow); cursor:zoom-in}
.foto-artigo img{width:100%; height:100%; object-fit:cover; transition:transform .2s}
.foto-artigo:hover img{transform:scale(1.05)}

.artigo-videos{display:flex; flex-direction:column; gap:16px; padding:0 26px 26px}
.yt-facade{position:relative; aspect-ratio:16/9; border-radius:12px; overflow:hidden; cursor:pointer; background:#000; box-shadow:var(--shadow)}
.yt-facade img{width:100%; height:100%; object-fit:cover; opacity:.9}
.yt-facade iframe{position:absolute; inset:0; width:100%; height:100%; border:0}
.yt-facade .yt-play{position:absolute; inset:0; margin:auto; width:68px; height:68px; border:none; border-radius:50%; cursor:pointer;
  background:rgba(20,17,10,.6); backdrop-filter:blur(3px); border:2px solid rgba(255,255,255,.7); display:grid; place-items:center; transition:transform .15s, background .15s}
.yt-facade:hover .yt-play{transform:scale(1.08); background:var(--live)}
.yt-facade .yt-play svg{width:28px; height:28px; fill:#fff; margin-left:3px}

/* lightbox das fotos da matéria */
.lightbox{position:fixed; inset:0; z-index:200; display:none; place-items:center; padding:24px;
  background:rgba(8,7,4,.86); backdrop-filter:blur(4px); cursor:zoom-out}
.lightbox.aberto{display:grid}
.lightbox img{max-width:100%; max-height:90vh; border-radius:12px; box-shadow:0 30px 80px -20px rgba(0,0,0,.8)}
.lightbox .lb-fechar{position:absolute; top:16px; right:20px; width:44px; height:44px; border:none; border-radius:50%; cursor:pointer;
  background:rgba(255,255,255,.12); color:#fff; font-size:1.6rem; line-height:1}

/* ---------- Equipe (lista + perfil) ---------- */
.grid-equipe{display:grid; gap:18px; grid-template-columns:repeat(2,1fr)}
@media(min-width:640px){.grid-equipe{grid-template-columns:repeat(3,1fr)}}
@media(min-width:960px){.grid-equipe{grid-template-columns:repeat(4,1fr)}}
.card-equipe{background:var(--surface); border:1px solid var(--line); border-radius:var(--radius); overflow:hidden; box-shadow:var(--shadow); display:flex; flex-direction:column; color:var(--ink)}
.card-equipe .ph{aspect-ratio:1/1; position:relative}
.card-equipe .ph img{width:100%; height:100%; object-fit:cover; display:block}
.card-equipe .c{padding:12px 14px 14px; display:flex; flex-direction:column; gap:6px}
.card-equipe .kicker{font-size:.66rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--gold)}
.card-equipe h3{font-size:1rem; line-height:1.2}
.card-redes{display:flex; flex-wrap:wrap; gap:6px; margin-top:6px}

.perfil-integrante{overflow:hidden}
.perfil-topo{display:flex; flex-direction:column; gap:14px; padding:20px 22px 22px}
@media(min-width:640px){.perfil-topo{flex-direction:row; align-items:flex-start; gap:22px}}
.perfil-foto{flex:none; width:100%; max-width:220px; aspect-ratio:1/1; border-radius:14px; overflow:hidden; border:1px solid var(--line); position:relative}
@media(min-width:640px){.perfil-foto{width:220px}}
.perfil-foto img{width:100%; height:100%; object-fit:cover; display:block}
.perfil-foto .ico{position:absolute; inset:0; margin:auto; width:60px; height:60px; opacity:.6}
.perfil-foto .ico svg{width:100%; height:100%; fill:var(--ink)}
.perfil-redes{display:flex; flex-wrap:wrap; gap:8px; flex:1; min-width:0; padding-top:4px}

/* Ícones circulares das redes (usados no card e no perfil) */
.rede-ico{display:inline-flex; align-items:center; justify-content:center; width:32px; height:32px; border-radius:50%; border:1px solid var(--line); background:var(--surface-2); color:var(--muted); transition:.15s}
.rede-ico svg{width:16px; height:16px; fill:currentColor}
.rede-ico:hover{color:var(--ink); background:var(--gold-soft); border-color:var(--gold)}
.rede-facebook:hover{color:#1877F2; border-color:#1877F2; background:#1877F215}
.rede-twitter:hover{color:#000; border-color:#000; background:#00000015}
.rede-youtube:hover{color:#FF0000; border-color:#FF0000; background:#FF000015}
.rede-soundcloud:hover{color:#FF5500; border-color:#FF5500; background:#FF550015}
.rede-whatsapp:hover{color:#25D366; border-color:#25D366; background:#25D36615}
.rede-email:hover{color:var(--ink); background:var(--gold-soft); border-color:var(--gold)}
.perfil-redes .rede-ico{width:38px; height:38px}
.perfil-redes .rede-ico svg{width:18px; height:18px}

/* ---------- Página "Contato" (grade de cards com CTA) ---------- */
.contato-grid{display:grid; gap:16px; grid-template-columns:1fr}
@media(min-width:640px){.contato-grid{grid-template-columns:1fr 1fr}}
.contato-card{display:flex; align-items:center; gap:16px; padding:18px 20px; background:var(--surface); border:1px solid var(--line); border-radius:var(--radius); box-shadow:var(--shadow); color:var(--ink); transition:transform .18s, box-shadow .18s}
a.contato-card:hover{transform:translateY(-3px); box-shadow:0 22px 40px -22px rgba(27,24,16,.4)}
.contato-card .ci{flex:none; width:52px; height:52px; border-radius:14px; display:grid; place-items:center; background:var(--gold-soft); color:var(--gold)}
.contato-card .ci svg{width:26px; height:26px; fill:currentColor}
.contato-card .ci-wa{background:#25D36618; color:#25D366}
.contato-card .ci-mail{background:var(--gold-soft); color:var(--gold)}
.contato-card .ci-tel{background:#1877F218; color:#1877F2}
.contato-card .ci-end{background:var(--surface-2); color:var(--muted)}
.contato-card > div{display:flex; flex-direction:column; gap:2px; min-width:0}
.contato-card .kicker{font-size:.66rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--muted)}
.contato-card strong{font-size:1rem; font-weight:700; color:var(--ink); word-break:break-word}
.contato-card .cta{font-size:.82rem; font-weight:600; color:var(--gold); margin-top:2px}

/* ---------- Página "A Rádio" (imagem inteira, sem cortar) ---------- */
.a-radio-capa{background:var(--surface-2); display:flex; justify-content:center; align-items:center; padding:16px}
.a-radio-capa img{width:auto; max-width:100%; max-height:360px; height:auto; object-fit:contain; border-radius:8px}

/* ---------- Galeria de fotos (categoria aberta em /fotos/view/:id) ---------- */
.galeria-fotos{display:grid; grid-template-columns:1fr 1fr; gap:10px}
@media(min-width:560px){.galeria-fotos{grid-template-columns:1fr 1fr 1fr}}
@media(min-width:900px){.galeria-fotos{grid-template-columns:1fr 1fr 1fr 1fr}}
.galeria-fotos .foto-artigo{aspect-ratio:4/3}

/* ---------- Modal de vídeo (YouTube embed sob demanda) ---------- */
.vid.video-modal{cursor:pointer}
body.modal-aberto{overflow:hidden}
.modal-video{position:fixed; inset:0; z-index:300; display:none; align-items:center; justify-content:center; padding:24px}
.modal-video.aberto{display:flex}
.modal-video .mv-fundo{position:absolute; inset:0; background:rgba(8,7,4,.86); backdrop-filter:blur(4px); cursor:zoom-out}
.modal-video .mv-caixa{position:relative; width:min(960px, 100%); display:flex; flex-direction:column; gap:10px}
.modal-video .mv-titulo{color:#fff; font-weight:600; font-size:1rem; padding-right:52px; min-height:1.2em}
.modal-video .mv-titulo:empty{display:none}
.modal-video .mv-quadro{position:relative; aspect-ratio:16/9; border-radius:14px; overflow:hidden; background:#000; box-shadow:0 30px 80px -20px rgba(0,0,0,.8)}
.modal-video .mv-quadro iframe{position:absolute; inset:0; width:100%; height:100%; border:0}
.modal-video .mv-fechar{position:absolute; top:-4px; right:0; width:44px; height:44px; border:none; border-radius:50%; cursor:pointer;
  background:rgba(255,255,255,.12); color:#fff; font-size:1.7rem; line-height:1; z-index:1}
.modal-video .mv-fechar:hover{background:rgba(255,255,255,.22)}

@media (prefers-reduced-motion: reduce){
  *{animation:none !important; scroll-behavior:auto}
}

/* ===== Modal: Pedir música ===== */
.modal-pedido{position:fixed; inset:0; z-index:320; display:none; align-items:center; justify-content:center; padding:24px}
.modal-pedido.aberto{display:flex}
.modal-pedido .mp-fundo{position:absolute; inset:0; background:rgba(8,7,4,.86); backdrop-filter:blur(4px)}
.modal-pedido .mp-caixa{position:relative; width:min(560px,100%); max-height:calc(100vh - 48px); overflow:auto;
  background:var(--surface); color:var(--ink); border:1px solid var(--line); border-radius:var(--radius);
  padding:24px; box-shadow:0 30px 80px -20px rgba(0,0,0,.8)}
.modal-pedido .mp-fechar{position:absolute; top:12px; right:12px; width:38px; height:38px; border:none; border-radius:50%;
  cursor:pointer; background:var(--surface-2); color:var(--ink); font-size:22px; line-height:1; display:grid; place-items:center; transition:filter .15s}
.modal-pedido .mp-fechar:hover{filter:brightness(1.08)}
.modal-pedido .mp-titulo{margin:0 40px 4px 0; font-size:1.25rem; color:var(--gold)}
.modal-pedido .mp-sub{margin:0 0 16px; color:var(--muted); font-size:.9rem}
.modal-pedido .mp-linha{display:flex; gap:12px; flex-wrap:wrap}
.modal-pedido .mp-linha .mp-campo{flex:1; min-width:140px}
.modal-pedido .mp-uf{flex:0 0 90px; min-width:90px}
.modal-pedido .mp-campo{margin-bottom:12px; display:flex; flex-direction:column}
.modal-pedido .mp-campo label{font-size:.82rem; font-weight:600; margin-bottom:4px; color:var(--ink)}
.modal-pedido .mp-campo label span{color:var(--live)}
.modal-pedido .mp-campo input,
.modal-pedido .mp-campo select,
.modal-pedido .mp-campo textarea{
  font-family:inherit; font-size:.95rem; color:var(--ink); background:var(--paper);
  border:1px solid var(--line); border-radius:10px; padding:10px 12px; width:100%; transition:border-color .15s, box-shadow .15s}
.modal-pedido .mp-campo input:focus,
.modal-pedido .mp-campo select:focus,
.modal-pedido .mp-campo textarea:focus{outline:none; border-color:var(--gold); box-shadow:0 0 0 3px color-mix(in srgb, var(--gold) 28%, transparent)}
.modal-pedido .mp-campo textarea{resize:vertical}
.modal-pedido .mp-captcha{display:flex; align-items:center; gap:8px; flex-wrap:wrap}
.modal-pedido .mp-captcha img{border:1px solid var(--line); border-radius:8px; background:var(--dark-2); flex:none}
.modal-pedido .mp-captcha input{flex:1; min-width:120px}
.modal-pedido .mp-recarrega{flex:none; width:40px; height:40px; border:1px solid var(--line); border-radius:10px;
  cursor:pointer; background:var(--surface-2); color:var(--ink); display:grid; place-items:center; transition:filter .15s}
.modal-pedido .mp-recarrega:hover{filter:brightness(1.08)}
.modal-pedido .mp-recarrega svg{width:20px; height:20px; fill:currentColor}
.modal-pedido .mp-acoes{display:flex; justify-content:flex-end; gap:10px; margin-top:8px}
.modal-pedido .mp-cancelar{background:var(--surface-2); color:var(--ink)}
.modal-pedido .mp-cancelar:hover{filter:brightness(1.06)}
.modal-pedido .btn[disabled]{opacity:.6; cursor:default}
.modal-pedido .mp-aviso{border-radius:10px; padding:10px 12px; margin-bottom:14px; font-size:.9rem; font-weight:600}
.modal-pedido .mp-aviso.ok{background:color-mix(in srgb, #2e7d32 18%, var(--surface)); color:#2e7d32; border:1px solid color-mix(in srgb,#2e7d32 40%,transparent)}
.modal-pedido .mp-aviso.erro{background:color-mix(in srgb, var(--live) 16%, var(--surface)); color:var(--live); border:1px solid color-mix(in srgb,var(--live) 40%,transparent)}

/* ===== Modais do controle do admin master (segue o tema do site) ===== */
.modal-bloqueio,.modal-aviso{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;padding:20px}
.modal-bloqueio[hidden],.modal-aviso[hidden]{display:none}
.modal-bloqueio .mb-fundo,.modal-aviso .ma-fundo{position:absolute;inset:0;background:rgba(10,10,15,.72);backdrop-filter:blur(3px)}
.modal-bloqueio .mb-caixa,.modal-aviso .ma-caixa{position:relative;background:var(--surface);color:var(--ink);max-width:420px;width:100%;padding:28px 24px;border-radius:var(--radius,16px);border:1px solid var(--line);box-shadow:0 24px 60px rgba(0,0,0,.45);text-align:center}
.modal-bloqueio .mb-emblema,.modal-aviso .ma-emblema{font-size:48px;line-height:1;margin-bottom:12px;color:var(--gold-bright)}
.modal-bloqueio .mb-titulo,.modal-aviso .ma-titulo{margin:0 0 10px;font-size:20px;font-weight:800;color:var(--ink)}
.modal-bloqueio .mb-mensagem,.modal-aviso .ma-mensagem{margin:0;font-size:14.5px;line-height:1.55;color:var(--muted);white-space:pre-wrap}
.modal-aviso .ma-fechar{position:absolute;top:8px;right:12px;background:none;border:0;font-size:26px;line-height:1;cursor:pointer;color:var(--muted);padding:4px 8px;transition:color .15s}
.modal-aviso .ma-fechar:hover{color:var(--gold-bright)}
.modal-aviso .ma-ok{margin-top:18px;padding:10px 24px;border:0;border-radius:10px;background:linear-gradient(180deg,var(--gold-bright),var(--gold));color:#231a02;font-weight:700;font-size:.95rem;cursor:pointer;transition:filter .15s}
.modal-aviso .ma-ok:hover{filter:brightness(1.06)}
#barPlay.bloqueado{opacity:.45;cursor:not-allowed;filter:grayscale(1)}
