/* MAIS TUNER 24.22 — RadioVision, Legendas e RádioVisual (reorganização leve).
   Nenhuma fonte muda: os elementos continuam herdando as famílias originais.
   Só disposição, espaçamento, superfícies e estados. */

:root{--vx-ease:cubic-bezier(.22,1,.36,1);--vx-mint:#66dbc4}

/* =====================================================================
   RádioVisual (janela com clipe e legendas)
   Desktop: tela à esquerda, painel de informações e controles à direita.
   ===================================================================== */
.rv-tv-dialog{width:min(1160px,96vw)!important;padding:0!important;border-radius:26px!important;border:1px solid rgba(102,219,196,.24)!important;
  background:radial-gradient(70% 60% at 0% 0%,rgba(102,219,196,.10),transparent 60%),radial-gradient(60% 60% at 100% 100%,rgba(61,127,255,.12),transparent 60%),#07131f!important;
  box-shadow:0 50px 120px -40px rgba(0,0,0,.9)!important}
.rv-tv-dialog[open]{animation:vxDialogIn .45s var(--vx-ease) both}
.rv-tv-dialog::backdrop{background:rgba(2,8,14,.78)!important;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
@keyframes vxDialogIn{from{opacity:0;transform:translateY(14px) scale(.985)}to{opacity:1;transform:none}}

.rv-tv-dialog .rv-tv-surface:not(:fullscreen):not(.rv-tv-expanded){display:grid;grid-template-columns:minmax(0,1fr) 300px;grid-template-rows:auto repeat(6,auto) 1fr;column-gap:22px;row-gap:12px;padding:20px 22px 22px;align-items:start}
.rv-tv-dialog .rv-tv-surface:not(:fullscreen):not(.rv-tv-expanded)>*{grid-column:2;min-width:0;margin:0}
.rv-tv-dialog .rv-tv-surface:not(:fullscreen):not(.rv-tv-expanded)>.rv-tv-header{grid-column:1/-1;grid-row:1}
.rv-tv-dialog .rv-tv-surface:not(:fullscreen):not(.rv-tv-expanded)>.rv-tv-stage{grid-column:1;grid-row:2/-1;align-self:start}

/* cabeçalho */
.rv-tv-dialog .rv-tv-header{display:flex;align-items:center;gap:8px;padding-bottom:14px;border-bottom:1px solid rgba(255,255,255,.08)}
.rv-tv-dialog .rv-tv-header h2{flex:1;display:inline-flex;align-items:center;gap:10px;font-size:20px;letter-spacing:-.01em}
.rv-tv-dialog .rv-tv-header h2::before{content:'';width:9px;height:9px;border-radius:50%;background:var(--vx-mint);box-shadow:0 0 0 0 rgba(102,219,196,.6);animation:vxPulse 2.2s ease-out infinite}
@keyframes vxPulse{0%{box-shadow:0 0 0 0 rgba(102,219,196,.55)}70%,100%{box-shadow:0 0 0 8px transparent}}

/* botões */
.rv-tv-dialog .rv-tv-button{min-height:38px;padding:8px 14px;border-radius:999px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.06);color:#eef5fb;font-size:13px;font-weight:700;line-height:1.2;text-decoration:none;
  transition:background .2s ease,border-color .2s ease,transform .25s var(--vx-ease)}
.rv-tv-dialog .rv-tv-button:hover{border-color:rgba(102,219,196,.6);background:rgba(102,219,196,.10)}
.rv-tv-dialog .rv-tv-button:active{transform:scale(.97)}
.rv-tv-dialog .rv-tv-button:disabled{opacity:.45;cursor:default}
.rv-tv-dialog .rv-tv-button.is-active,.rv-tv-dialog .rv-tv-button[aria-pressed="true"]{background:rgba(102,219,196,.18);border-color:var(--vx-mint);color:#c9fff1}
.rv-tv-dialog .rv-tv-header .rv-tv-button{min-height:36px;padding:7px 14px}

/* tela */
.rv-tv-dialog .rv-tv-stage{aspect-ratio:16/9!important;min-height:0;border-radius:18px;background:radial-gradient(60% 70% at 50% 40%,#0f2a3d,#03080d 75%);box-shadow:inset 0 0 0 1px rgba(255,255,255,.06),0 30px 60px -36px #000}
.rv-tv-dialog .rv-tv-captions{bottom:5%;padding:10px 16px;border-radius:14px;background:rgba(3,10,16,.66);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 10px 30px -14px #000}

/* painel lateral */
.rv-tv-dialog .rv-tv-track{padding:14px 16px;border-radius:16px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);font-size:16px!important;font-weight:700;line-height:1.35}
.rv-tv-dialog .rv-tv-track::before{content:'TOCANDO AGORA';display:block;margin-bottom:6px;color:var(--vx-mint);font-size:9.5px;font-weight:800;letter-spacing:.16em}
.rv-tv-dialog .rv-tv-status{font-size:13px;line-height:1.5;color:#c7d6e2}
.rv-tv-dialog .rv-tv-status:empty,.rv-tv-dialog .rv-tv-clock:empty,.rv-tv-dialog .rv-tv-next:empty{display:none}
.rv-tv-dialog .rv-tv-clock{font-variant-numeric:tabular-nums}
.rv-tv-dialog .rv-tv-next{padding:10px 14px;border-radius:14px;background:rgba(102,219,196,.08);border:1px solid rgba(102,219,196,.18);font-size:13px;line-height:1.4}
.rv-tv-dialog .rv-tv-actions{display:flex;flex-wrap:wrap;gap:6px}
.rv-tv-dialog .rv-tv-actions .rv-tv-button{flex:1 1 calc(50% - 6px);width:auto!important;min-width:0!important;text-align:center}
.rv-tv-dialog .rv-tv-actions [hidden]{display:none!important}
.rv-tv-dialog .rv-tv-adjust{display:flex!important;flex-wrap:wrap;margin:0!important;padding:10px 12px;border-radius:14px;background:rgba(255,255,255,.04);gap:6px!important;font-size:12px}
.rv-tv-dialog .rv-tv-adjust .rv-tv-button{min-height:30px;padding:5px 10px;font-size:12px}
.rv-tv-dialog .rv-tv-adjust span{flex:1 0 100%;order:-1;color:#a9bccb;font-size:11px;font-weight:700;letter-spacing:.06em;font-variant-numeric:tabular-nums}
.rv-tv-dialog .rv-tv-note{font-size:11.5px!important;line-height:1.55;color:#8fa4b5!important}

/* tela cheia / ampliada: mantém o fluxo original, só com os novos acabamentos */
.rv-tv-surface:fullscreen,.rv-tv-expanded{background:#03080d!important}
.rv-tv-surface:fullscreen .rv-tv-stage,.rv-tv-expanded .rv-tv-stage{border-radius:14px}

/* tema claro: a janela continua escura, como uma TV */
html[data-site-theme="light"] .rv-tv-dialog{color:#f3f7fb}

@media (max-width:900px){
  .rv-tv-dialog .rv-tv-surface:not(:fullscreen):not(.rv-tv-expanded){grid-template-columns:minmax(0,1fr);grid-template-rows:none}
  .rv-tv-dialog .rv-tv-surface:not(:fullscreen):not(.rv-tv-expanded)>*{grid-column:1}
  .rv-tv-dialog .rv-tv-surface:not(:fullscreen):not(.rv-tv-expanded)>.rv-tv-header{grid-row:auto}
  .rv-tv-dialog .rv-tv-surface:not(:fullscreen):not(.rv-tv-expanded)>.rv-tv-stage{grid-column:1;grid-row:auto;order:2}
  .rv-tv-dialog .rv-tv-track{order:1}
  .rv-tv-dialog .rv-tv-status{order:3}.rv-tv-dialog .rv-tv-clock{order:4}.rv-tv-dialog .rv-tv-next{order:5}
  .rv-tv-dialog .rv-tv-actions{order:6}.rv-tv-dialog .rv-tv-adjust{order:7}.rv-tv-dialog .rv-tv-note{order:8}
}
@media (max-width:640px){
  .rv-tv-dialog{width:100vw!important;max-width:100vw!important;height:100dvh;max-height:100dvh!important;margin:0!important;border-radius:0!important;border:0!important}
  .rv-tv-dialog .rv-tv-surface:not(:fullscreen):not(.rv-tv-expanded){padding:calc(12px + env(safe-area-inset-top)) 14px calc(18px + env(safe-area-inset-bottom));row-gap:10px}
  .rv-tv-dialog .rv-tv-header{padding-bottom:10px}
  .rv-tv-dialog .rv-tv-header h2{font-size:18px}
  .rv-tv-dialog .rv-tv-stage{border-radius:14px}
  .rv-tv-dialog .rv-tv-actions{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin-inline:-14px;padding-inline:14px;scroll-padding-inline:14px}
  .rv-tv-dialog .rv-tv-actions::-webkit-scrollbar{display:none}
  .rv-tv-dialog .rv-tv-actions .rv-tv-button{flex:0 0 auto!important;white-space:nowrap}
  .rv-tv-dialog .rv-tv-adjust .rv-tv-button{flex:1 1 auto}
}

/* =====================================================================
   Barra de Legendas
   ===================================================================== */
.rv-caption-bar{border-radius:20px!important;border:1px solid rgba(102,219,196,.30)!important;
  background:linear-gradient(135deg,rgba(10,30,48,.95),rgba(5,16,28,.95))!important;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);
  box-shadow:0 28px 60px -26px rgba(0,0,0,.9),inset 0 1px 0 rgba(255,255,255,.05)!important;overflow:hidden}
.rv-caption-bar:not([hidden]){animation:vxBarIn .5s var(--vx-ease) both}
.rv-caption-bar::after{content:'';position:absolute;left:0;right:0;bottom:0;height:2px;background:linear-gradient(90deg,transparent,var(--vx-mint),transparent);opacity:.55}
@keyframes vxBarIn{from{opacity:0;transform:translate(-50%,16px)}to{opacity:1;transform:translate(-50%,0)}}
.rv-caption-bar-icon{border-radius:10px!important;box-shadow:0 8px 20px -10px rgba(102,219,196,.8)}
.rv-caption-bar-copy strong{white-space:normal!important;display:-webkit-box!important;-webkit-line-clamp:2;-webkit-box-orient:vertical;text-wrap:balance;letter-spacing:-.01em}
.rv-caption-bar-copy>span{opacity:.85}
.rv-caption-bar-sync{margin-top:8px!important}
.rv-caption-shift{transition:border-color .2s ease,color .2s ease,background .2s ease}
.rv-caption-shift:hover{background:rgba(102,219,196,.12)!important}
.rv-caption-bar-close{transition:background .2s ease,transform .25s var(--vx-ease)}
.rv-caption-bar-close:hover{background:rgba(255,255,255,.14)!important;transform:rotate(90deg)}
html[data-site-theme="light"] .rv-caption-bar{background:linear-gradient(135deg,rgba(255,255,255,.96),rgba(240,246,252,.96))!important;border-color:rgba(8,123,104,.28)!important;color:#0d2640;box-shadow:0 26px 50px -26px rgba(16,42,70,.45)!important}
html[data-site-theme="light"] .rv-caption-bar-copy small,html[data-site-theme="light"] .rv-caption-lead{color:#087b68!important}
html[data-site-theme="light"] .rv-caption-bar-copy>span{color:#4b6280!important}
html[data-site-theme="light"] .rv-caption-shift{color:#0d2640!important;border-color:rgba(13,38,64,.18)!important;background:rgba(13,38,64,.04)!important}
html[data-site-theme="light"] .rv-caption-bar-close{border-color:rgba(13,38,64,.18)!important;background:rgba(13,38,64,.05)!important}
html[data-site-theme="light"] .rv-caption-bar-close::before{color:#0d2640!important}
@media (max-width:600px){
  .rv-caption-bar{border-radius:16px!important}
  .rv-caption-bar-icon{display:none!important}
  .rv-caption-bar{grid-template-columns:minmax(0,1fr) 32px!important;padding:10px 10px 10px 14px!important}
}

/* =====================================================================
   RadioVision
   ===================================================================== */
#radioVisionPage .radiovision-stage{position:relative;margin-top:26px;padding:34px 36px!important;border-radius:28px;border:1px solid var(--rv-line);overflow:hidden;
  background:radial-gradient(70% 120% at 0% 0%,color-mix(in srgb,var(--rv-accent) 12%,transparent),transparent 60%),radial-gradient(60% 90% at 100% 100%,rgba(61,127,255,.12),transparent 60%),var(--rv-panel)}
#radioVisionPage .radiovision-art-wrap{aspect-ratio:1;position:relative}
#radioVisionPage .radiovision-art{width:100%;height:100%;aspect-ratio:1;object-fit:cover;box-shadow:0 30px 60px -32px rgba(0,0,0,.9)!important;border-radius:20px!important;transition:transform .5s var(--vx-ease)}
#radioVisionPage .radiovision-art.is-station-art{object-fit:contain;box-sizing:border-box;padding:16%;background:radial-gradient(120% 90% at 30% 15%,rgba(102,219,196,.16),transparent 55%),linear-gradient(150deg,#1b4f9c 0%,#0b2a58 55%,#071a38 100%)}
#radioVisionPage .radiovision-art-wrap:hover .radiovision-art{transform:translateY(-3px)}
#radioVisionPage .radiovision-art.is-station-art~.radiovision-station-badge{display:none}
#radioVisionPage .radiovision-kicker{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border-radius:999px;background:color-mix(in srgb,var(--rv-accent) 14%,transparent);font-weight:800}
#radioVisionPage .radiovision-actions{display:flex;flex-wrap:wrap}
#radioVisionPage .radiovision-action{transition:transform .25s var(--vx-ease),filter .2s ease}
#radioVisionPage .radiovision-action:active{transform:scale(.97)}
/* fatos em cartões, no lugar de uma faixa com bordas */
#radioVisionPage .radiovision-facts{gap:10px!important;margin:18px 0 6px!important;border-block:0!important}
#radioVisionPage .radiovision-fact{padding:14px 16px!important;border-radius:16px!important;background:var(--rv-panel)!important;border:1px solid var(--rv-line)}
#radioVisionPage .radiovision-section{padding:30px 0!important}
#radioVisionPage .radiovision-credit-card{border:1px solid var(--rv-line)}
#radioVisionPage .radiovision-topbar{position:sticky;top:0;z-index:5;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:color-mix(in srgb,var(--rv-bg) 86%,transparent)!important}
html[data-site-theme="light"] #radioVisionPage .radiovision-stage{background:radial-gradient(70% 120% at 0% 0%,color-mix(in srgb,var(--rv-accent) 10%,transparent),transparent 60%),#fff}
html[data-site-theme="light"] #radioVisionPage .radiovision-fact{background:#fff!important}
@media (max-width:760px){
  #radioVisionPage .radiovision-stage{margin-top:16px;padding:20px 18px 22px!important;border-radius:22px}
  #radioVisionPage .radiovision-art-wrap{width:min(56vw,220px)!important}
  #radioVisionPage .radiovision-copy{text-align:left}
  #radioVisionPage .radiovision-track{font-size:28px!important}
  #radioVisionPage .radiovision-artist{font-size:19px!important;margin-top:8px!important}
  #radioVisionPage .radiovision-actions{margin-top:16px!important}
}

@media (prefers-reduced-motion:reduce){
  .rv-tv-dialog[open],.rv-caption-bar:not([hidden]){animation:none!important}
  .rv-tv-dialog .rv-tv-header h2::before{animation:none}
  #radioVisionPage .radiovision-art,.rv-caption-bar-close{transition:none}
}
