/* V5.15.0 · Rádio Tooca — mesmo padrão visual do Tooca na Missa (vinho, papel e dourado) */
.radio-page{--r-wine:#7b2344;--r-wine-dark:#4f1229;--r-gold:#d9b46a;--r-paper:#fbf7f4;display:grid;gap:14px;width:100%;max-width:none;margin:0;padding:14px 0 36px;align-items:start}
@media (min-width:1100px){
  .radio-page{grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:18px}
  .radio-page>*{grid-column:1/-1}
  .radio-page>#programacao{grid-column:1}
  .radio-page>#ouvir{grid-column:2}
  .radio-page>#ouvir .radio-list{grid-template-columns:1fr}
  .radio-hero{padding:26px 30px 20px}
  .radio-play{width:88px;height:88px}
}
.radio-page [hidden]{display:none!important}

/* ---------- player principal ---------- */
.radio-hero{position:relative;overflow:hidden;border-radius:24px;padding:20px 20px 16px;color:#fff;
  background:radial-gradient(120% 140% at 100% 0%,rgba(217,180,106,.28) 0,rgba(217,180,106,0) 55%),linear-gradient(140deg,#8f2a4f 0%,var(--r-wine) 45%,var(--r-wine-dark) 100%);
  box-shadow:0 18px 40px rgba(79,18,41,.28)}
.radio-hero::after{content:"";position:absolute;right:-60px;bottom:-80px;width:260px;height:260px;border-radius:50%;
  background:repeating-radial-gradient(circle,rgba(255,255,255,.07) 0 2px,transparent 2px 18px);pointer-events:none}
.radio-hero-top{display:flex;align-items:center;justify-content:space-between;gap:10px;position:relative;z-index:1}
.radio-brand{display:inline-flex;align-items:center;gap:8px;font-weight:900;letter-spacing:.02em;font-size:15px}
.radio-brand-icon{display:grid;place-items:center;width:30px;height:30px;border-radius:10px;background:rgba(255,255,255,.14)}
.radio-onair{display:inline-flex;align-items:center;gap:7px;padding:5px 11px;border-radius:999px;background:rgba(0,0,0,.22);font-size:11.5px;font-weight:900;letter-spacing:.14em}
.radio-onair::before{content:"";width:8px;height:8px;border-radius:50%;background:#ff5a6e;box-shadow:0 0 0 0 rgba(255,90,110,.7);animation:radioPulse 1.8s infinite}
.radio-page.is-demand .radio-onair::before{background:var(--r-gold);animation:none}
@keyframes radioPulse{0%{box-shadow:0 0 0 0 rgba(255,90,110,.65)}70%{box-shadow:0 0 0 9px rgba(255,90,110,0)}100%{box-shadow:0 0 0 0 rgba(255,90,110,0)}}

.radio-hero-main{display:flex;align-items:center;gap:16px;margin-top:18px;position:relative;z-index:1}
.radio-play{flex:0 0 auto;position:relative;width:76px;height:76px;border:0;border-radius:50%;cursor:pointer;display:grid;place-items:center;
  background:#fff;color:var(--r-wine);box-shadow:0 10px 26px rgba(0,0,0,.25);transition:transform .15s}
.radio-play:active{transform:scale(.95)}
.radio-play svg{width:34px;height:34px;fill:currentColor}
.radio-play .i-pause,.radio-play .radio-spinner{display:none}
.is-playing .radio-play .i-play{display:none}
.is-playing .radio-play .i-pause{display:block}
.is-loading .radio-play svg{display:none!important}
.is-loading .radio-play .radio-spinner{display:block;width:30px;height:30px;border-radius:50%;border:3px solid rgba(123,35,68,.25);border-top-color:var(--r-wine);animation:radioSpin .8s linear infinite}
@keyframes radioSpin{to{transform:rotate(360deg)}}
.radio-now{min-width:0}
.radio-program{display:block;font-size:13px;font-weight:800;color:var(--r-gold);text-transform:uppercase;letter-spacing:.08em}
.radio-title{margin:4px 0 2px;font-size:clamp(20px,4.6vw,30px);line-height:1.15;color:#fff;overflow-wrap:anywhere}
.radio-meta{margin:0;display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center;color:rgba(255,255,255,.82);font-size:14px}
.radio-kind:empty{display:none}
.radio-kind{padding:2px 9px;border-radius:999px;background:rgba(255,255,255,.14);font-size:12px;font-weight:800}

.radio-progress{margin-top:16px;position:relative;z-index:1}
.radio-bar{height:6px;border-radius:99px;background:rgba(255,255,255,.2);overflow:hidden}
.radio-bar span{display:block;height:100%;background:linear-gradient(90deg,var(--r-gold),#fff);border-radius:99px;transition:width .5s linear}
.radio-seek{width:100%;margin:0;accent-color:#fff}
.radio-page.is-demand .radio-bar{display:none}
.radio-times{display:flex;justify-content:space-between;font-size:12px;color:rgba(255,255,255,.75);margin-top:5px;font-variant-numeric:tabular-nums}
.radio-page.is-live-stream .radio-progress{display:none}

.radio-yt{position:relative;z-index:1;margin-top:14px;border-radius:16px;overflow:hidden;aspect-ratio:16/9;background:#000;max-width:520px}
.radio-yt iframe{width:100%;height:100%;border:0;display:block}

.radio-hero-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;margin-top:14px;position:relative;z-index:1}
.radio-status{margin:0;font-size:13px;color:rgba(255,255,255,.8)}
.radio-hero-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.radio-chip{display:inline-flex;align-items:center;gap:6px;border:1px solid rgba(255,255,255,.28);background:rgba(255,255,255,.1);color:#fff!important;
  border-radius:999px;padding:7px 12px;font:inherit;font-size:13px;font-weight:800;text-decoration:none;cursor:pointer}
.radio-chip:hover{background:rgba(255,255,255,.2)}
.radio-volume{display:inline-flex;align-items:center;gap:6px;font-size:13px}
.radio-volume input{width:90px;accent-color:#fff}
@media (hover:none){.radio-volume{display:none}}

/* ---------- a seguir ---------- */
.radio-next{padding:14px 18px;background:#fff}
.radio-next-list{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:6px}
.radio-next-list li{display:flex;gap:12px;align-items:baseline;font-size:14.5px}
.radio-next-list small{color:var(--muted,#746c6e)}
.radio-next-time{flex:0 0 46px;font-weight:900;color:var(--r-wine);font-variant-numeric:tabular-nums}
.radio-next-program{margin:8px 0 0;font-size:13.5px;color:var(--muted,#746c6e)}
.radio-next-program:empty{display:none}

.radio-tabs{position:sticky;top:calc(var(--tooca-fixed-header-height,66px) + 4px);z-index:5;background:var(--r-paper);padding:6px 0}
.radio-tabs a{white-space:nowrap}

/* ---------- terço e destaque ---------- */
.radio-rosary,.radio-focus{padding:18px 20px;display:flex;flex-wrap:wrap;gap:14px;align-items:center;justify-content:space-between;background:#fff}
.radio-rosary h2,.radio-focus h2{margin:4px 0 6px;font-size:22px}
.radio-rosary p,.radio-focus p{margin:0 0 4px}
.radio-rosary a{color:var(--r-wine);font-weight:800}
.radio-focus{display:block;border:2px solid rgba(123,35,68,.25)}
.radio-focus .btn{margin-top:8px}

/* ---------- programação ---------- */
.radio-section{display:grid;gap:10px;scroll-margin-top:130px}
.radio-section-head h2{margin:6px 0 2px;font-size:22px}
.radio-section-head p{margin:0}
.radio-days{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;padding-bottom:2px}
.radio-day{flex:1 0 auto;min-width:56px;border:1px solid var(--line,#e8e0dc);background:#fff;border-radius:12px;padding:9px 10px;font:inherit;font-weight:800;cursor:pointer;color:#3b3033}
.radio-day small{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--r-wine)}
.radio-day.active{background:var(--r-wine);border-color:var(--r-wine);color:#fff}
.radio-day.active small{color:var(--r-gold)}
.radio-grid{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.radio-slot{display:flex;gap:14px;align-items:flex-start;background:#fff;border:1px solid var(--line,#e8e0dc);border-radius:16px;padding:12px 14px}
.radio-slot.now{border-color:var(--r-wine);box-shadow:0 0 0 2px rgba(123,35,68,.12)}
.radio-slot-time{flex:0 0 58px;font-weight:900;color:var(--r-wine);font-variant-numeric:tabular-nums;font-size:15px}
.radio-slot-time small{display:block;font-weight:600;color:var(--muted,#746c6e);font-size:12px}
.radio-slot strong{font-size:15.5px}
.radio-slot div small{display:block;color:var(--muted,#746c6e);margin-top:2px;line-height:1.35}
.radio-now-tag{display:inline-block;margin-left:4px;padding:1px 8px;border-radius:99px;background:#ffe5e9;color:#b0213c;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.06em;vertical-align:middle}

/* ---------- sob demanda ---------- */
.radio-list{display:grid;gap:8px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}
.radio-card{display:flex;align-items:center;gap:12px;padding:12px 14px;background:#fff}
.radio-card.playing{border-color:var(--r-wine);box-shadow:0 0 0 2px rgba(123,35,68,.14)}
.radio-card-play{flex:0 0 auto;width:44px;height:44px;border-radius:50%;border:0;background:var(--r-wine);color:#fff;font-size:16px;cursor:pointer}
.radio-card.playing .radio-card-play{background:var(--r-gold);color:#3b2a10}
.radio-card-text{min-width:0;flex:1}
.radio-card-text strong{display:block;line-height:1.25;overflow-wrap:anywhere}
.radio-card-text small{color:var(--muted,#746c6e)}
.radio-card-link{color:var(--muted,#746c6e);text-decoration:none;font-weight:900;padding:6px}
.radio-footnote{font-size:13px;text-align:center;margin:6px 0 0}

@media (max-width:560px){
  .radio-page{padding-top:8px}
  .radio-hero{border-radius:20px;padding:16px 16px 14px}
  .radio-play{width:64px;height:64px}
  .radio-play svg{width:28px;height:28px}
  .radio-hero-main{gap:12px;margin-top:14px}
  .radio-hero-foot{flex-direction:column;align-items:flex-start}
}

/* ---------- mini player (todas as páginas) ---------- */
.radio-mini{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(10px + env(safe-area-inset-bottom,0px));z-index:900;
  width:min(560px,calc(100% - 20px));display:flex;align-items:center;gap:10px;padding:8px 10px 8px 8px;border-radius:18px;
  background:linear-gradient(135deg,#7b2344,#4f1229);color:#fff;box-shadow:0 14px 34px rgba(40,10,22,.35);font-size:14px}
.radio-mini[hidden]{display:none!important}
.radio-mini-btn{flex:0 0 auto;width:42px;height:42px;border:0;border-radius:50%;background:#fff;color:#7b2344;cursor:pointer;display:grid;place-items:center}
.radio-mini-btn svg{width:20px;height:20px;fill:currentColor}
.radio-mini-btn .i-pause{display:none}
.radio-mini.is-playing .radio-mini-btn .i-play{display:none}
.radio-mini.is-playing .radio-mini-btn .i-pause{display:block}
.radio-mini-info{min-width:0;flex:1;color:#fff!important;text-decoration:none;line-height:1.2}
.radio-mini-info strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.radio-mini-info small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#e9cf98;font-weight:700;font-size:12px}
.radio-mini-close{flex:0 0 auto;border:0;background:rgba(255,255,255,.14);color:#fff;width:32px;height:32px;border-radius:50%;cursor:pointer;font-size:18px;line-height:1}
body.radio-mini-on{padding-bottom:78px}
.nav-radio-dot{display:inline-block;width:7px;height:7px;margin-left:5px;border-radius:50%;background:#e2364f;vertical-align:middle}

/* ---------- V5.15.3 · controle fixo da rádio no topo ---------- */
.radio-top{display:inline-flex;align-items:center;gap:8px;height:38px;padding:0 4px 0 12px;margin-right:8px;border-radius:999px;
  background:#fff;border:1px solid rgba(123,35,68,.22);box-shadow:0 2px 10px rgba(54,31,36,.06);flex:0 1 auto;min-width:0;max-width:420px}
.radio-top-label{display:inline-flex;align-items:center;gap:7px;color:#7b2344!important;font-weight:900;font-size:13px;letter-spacing:.01em;text-decoration:none;white-space:nowrap}
.radio-top-live{display:inline-flex;align-items:flex-end;gap:2px;width:14px;height:12px}
.radio-top-live i{display:block;width:3px;height:4px;border-radius:2px;background:#c9314f}
.radio-top.is-playing .radio-top-live i{animation:radioEq 1s ease-in-out infinite}
.radio-top.is-playing .radio-top-live i:nth-child(2){animation-delay:-.35s}
.radio-top.is-playing .radio-top-live i:nth-child(3){animation-delay:-.7s}
@keyframes radioEq{0%,100%{height:3px}50%{height:12px}}
.radio-top-play{flex:0 0 auto;width:30px;height:30px;border:0;border-radius:50%;cursor:pointer;display:grid;place-items:center;
  background:linear-gradient(135deg,#8f2a4f,#5f1933);color:#fff;box-shadow:0 3px 8px rgba(95,25,51,.3);padding:0}
.radio-top-play svg{width:15px;height:15px;fill:currentColor}
.radio-top-play .i-pause{display:none}
.radio-top.is-playing .radio-top-play .i-play{display:none}
.radio-top.is-playing .radio-top-play .i-pause{display:block}
.radio-top.is-loading .radio-top-play{animation:radioTopPulse 1s ease-in-out infinite}
@keyframes radioTopPulse{50%{opacity:.55}}
.radio-top-now{font-size:12px;font-weight:700;color:#5b4f52;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:220px;padding-right:8px}
.radio-top-now:empty{display:none}
.radio-top:has(.radio-top-now:empty){padding-right:4px}
@media (max-width:1280px){.radio-top-now{display:none}}
@media (max-width:820px){
  .radio-top{height:34px;gap:6px;padding:0 3px 0 10px;margin-right:6px}
  .radio-top-label{font-size:12px;gap:5px}
  .radio-top-play{width:28px;height:28px}
}
@media (max-width:360px){.radio-top-label{font-size:11px}}
