:root{--bg:#0f0f10;--text:#fff;--muted:rgba(255,255,255,.82);--accent:#a56f45;--purple:#6d36ff;--orange:#ff8b24;--red:#ff1f33}
*{box-sizing:border-box} body{margin:0;background:var(--bg);color:var(--text);font-family:Arial,Helvetica,sans-serif}
body.accessibility-mode{font-size:18px}
img{display:block} a{text-decoration:none;color:inherit} button{font:inherit}
.wrap{max-width:1200px;margin:0 auto;padding:0 16px}
.section{padding:28px 0 20px}
.section-title{display:flex;align-items:center;justify-content:center;gap:18px;margin:0 0 24px;font-size:22px;font-weight:800;text-transform:uppercase;letter-spacing:.03em}
.section-title:before,.section-title:after{content:"";width:80px;height:3px;background:#fff;border-radius:999px}
.header-player{background:radial-gradient(circle at 16% 24%, rgba(166,111,69,.27), transparent 26%),radial-gradient(circle at 83% 28%, rgba(145,39,21,.24), transparent 26%),radial-gradient(circle at 60% 65%, rgba(63,63,63,.18), transparent 28%),linear-gradient(90deg,#101010 0%, #171717 48%, #0e0e0e 100%)}
.header-player-inner{max-width:1200px;margin:0 auto;padding:18px 16px 20px}
.top-nav{display:flex;justify-content:center;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:18px}
.nav-btn{display:inline-flex;align-items:center;gap:10px;padding:12px 18px;border-radius:999px;background:#2b2b2d;border:1px solid rgba(255,255,255,.12);color:#fff;font-weight:700;cursor:pointer}
.nav-btn svg{width:18px;height:18px}
.player-grid{display:grid;grid-template-columns:340px 1fr;gap:42px;align-items:center}
.player-left{display:flex;flex-direction:column;align-items:flex-start}
.player-cover{width:320px;height:320px;border-radius:30px;overflow:hidden;padding:6px;background:#242424;box-shadow:0 0 0 3px rgba(255,255,255,.12), 0 16px 34px rgba(0,0,0,.35)}
.player-cover img{width:100%;height:100%;object-fit:cover;border-radius:24px}
.player-social{display:flex;gap:10px;margin-top:18px}
.player-social a{width:44px;height:44px;border-radius:999px;background:rgba(255,255,255,.18);display:flex;align-items:center;justify-content:center;color:#fff}
.player-social svg{width:20px;height:20px}
.live-row{display:flex;align-items:center;gap:8px;font-weight:800;text-transform:uppercase}
.live-badge{display:inline-block;background:#ff5a12;padding:6px 10px;border-radius:8px;font-size:14px}
.player-title{font-size:64px;line-height:.96;margin:12px 0 10px;font-weight:900;text-transform:uppercase}
.player-subtitle{font-size:24px;font-weight:800;text-transform:uppercase;margin:0 0 22px}
.player-actions{display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.player-action{display:inline-flex;align-items:center;gap:10px;border:none;background:transparent;color:#fff;cursor:pointer;font-weight:800;text-transform:uppercase}
.play-label{font-size:17px;letter-spacing:.02em}
.play-circle{width:34px;height:34px;border-radius:999px;background:#fff;color:#111;display:inline-flex;align-items:center;justify-content:center}
.play-circle svg{width:18px;height:18px}
.share-icon{display:inline-flex;align-items:center;justify-content:center;color:#fff;width:24px;height:24px}
.share-icon svg{width:24px;height:24px}
.accessibility-circle{width:44px;height:44px;border-radius:999px;background:var(--red);color:#fff;display:inline-flex;align-items:center;justify-content:center}
.accessibility-circle svg{width:20px;height:20px}
.assistants{display:flex;gap:18px;flex-wrap:wrap;margin-top:22px}
.assistant-pill{padding:10px 16px;border:2px solid rgba(255,255,255,.9);border-radius:12px;background:rgba(0,0,0,.1)}
.drawer-overlay{position:fixed;inset:0;background:rgba(0,0,0,.72);opacity:0;visibility:hidden;transition:.25s;z-index:998}
.drawer-overlay.open{opacity:1;visibility:visible}
.station-drawer{position:fixed;top:0;left:0;bottom:0;width:250px;background:rgba(19,19,20,.98);transform:translateX(-100%);transition:transform .25s;z-index:999;padding:14px 10px;overflow:auto}
.station-drawer.open{transform:translateX(0)}
.drawer-head{display:flex;justify-content:space-between;align-items:center;padding:0 8px 8px}
.drawer-close{width:34px;height:34px;border:none;border-radius:999px;background:#333;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer}
.station-list{display:flex;flex-direction:column;gap:14px;margin-top:8px}
.station-card{width:210px;margin:0 auto;cursor:pointer}
.station-card img{width:210px;height:210px;object-fit:cover;border-radius:18px;border:2px solid transparent;background:#222}
.station-card.active img{border-color:#fff}
.station-card span{display:block;text-align:center;margin-top:8px;font-size:13px;font-weight:700}
.program-tabs{display:grid;grid-template-columns:repeat(7,1fr);background:linear-gradient(90deg,#262626 0%, #333 100%);border-radius:24px;overflow:hidden;margin-bottom:16px}
.program-tab{border:none;background:transparent;color:#fff;padding:16px 10px;font-weight:800;text-transform:uppercase;cursor:pointer}
.program-tab.active{background:var(--accent)}
.program-day{display:none}.program-day.active{display:block}
.program-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.program-card{position:relative;min-height:150px;border-radius:14px;overflow:hidden;background:#222;border-bottom:5px solid var(--purple)}
.program-card.next{border-bottom-color:var(--orange)}
.program-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.program-card:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.82))}
.program-meta{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:14px}
.program-badges{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:8px}
.program-badge{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:999px;font-size:11px;font-weight:800;text-transform:uppercase}
.program-badge.now{background:var(--purple)} .program-badge.next{background:var(--orange);color:#111}
.program-title{font-size:20px;font-weight:800} .program-desc{font-size:14px;color:var(--muted);margin-top:5px} .program-time{font-size:14px;font-weight:700;margin-top:5px}
.carousel-shell{position:relative}
.carousel-arrow{position:absolute;top:50%;transform:translateY(-50%);width:56px;height:56px;border:none;border-radius:999px;background:#fff;color:#111;display:flex;align-items:center;justify-content:center;z-index:50;cursor:pointer;box-shadow:0 14px 28px rgba(0,0,0,.45)}
.carousel-arrow.prev{left:-28px}.carousel-arrow.next{right:-28px}
.carousel-arrow[disabled]{opacity:.35;cursor:not-allowed}
.carousel-arrow svg{width:28px;height:28px}
.carousel-viewport{overflow:hidden}.carousel-track{display:flex;gap:16px;transition:transform .35s ease}
.card{position:relative;flex:0 0 calc((100% - 48px)/4);height:390px;border-radius:16px;overflow:hidden;background:#222}
.card.card-event{flex:0 0 calc((100% - 32px)/3);height:150px}
.news-link-card{display:block;color:inherit;text-decoration:none;cursor:pointer;border:1px solid rgba(255,255,255,.08);box-shadow:0 16px 34px rgba(0,0,0,.24);transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease,filter .25s ease}
.news-link-card::after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.22),transparent 34%,transparent 66%,rgba(255,255,255,.08));opacity:0;transition:opacity .25s ease;pointer-events:none}
.news-link-card:hover,.news-link-card:focus-visible{transform:translateY(-5px);border-color:rgba(255,255,255,.28);box-shadow:0 22px 46px rgba(0,0,0,.38);filter:saturate(1.08)}
.news-link-card:hover::after,.news-link-card:focus-visible::after{opacity:1}
.news-link-card:focus-visible{outline:3px solid rgba(255,255,255,.45);outline-offset:3px}

.card img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
.hover-zone:hover .card img{transform:scale(1.05)}
.card-overlay{position:absolute;left:0;right:0;bottom:0;padding:16px;background:linear-gradient(180deg,transparent,rgba(0,0,0,.9))}
.card-title{font-size:17px;font-weight:800}.card-meta{font-size:14px;opacity:.92;margin-top:5px}
.ticker{margin-top:22px;background:#070707;border-radius:14px;display:flex;overflow:hidden}
.ticker-label{background:var(--accent);padding:14px 18px;font-weight:800;text-transform:uppercase}
.ticker-view{overflow:hidden;white-space:nowrap;flex:1;padding:14px 18px}
.ticker-track{display:inline-flex;gap:40px;white-space:nowrap;animation:tickerMove 120s linear infinite}
.ticker-track a{color:#fff}@keyframes tickerMove{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
.banners{display:flex;gap:16px;align-items:stretch;justify-content:space-between;flex-wrap:nowrap;margin-top:24px;margin-bottom:32px}
.banner-card{position:relative;flex:1 1 calc((100% - 32px)/3);max-width:calc((100% - 32px)/3);min-width:0;height:100px;border-radius:14px;overflow:hidden;background:#333}.banner-card img{width:100%;height:100%;object-fit:cover;display:block}
.banner-card span{position:absolute;left:10px;bottom:10px;background:rgba(0,0,0,.55);padding:6px 10px;border-radius:8px;font-size:12px}
.program-banners{display:flex;gap:14px;justify-content:center;align-items:center;flex-wrap:nowrap;margin:22px 0 10px}.program-banner-card{display:block;flex:1 1 calc((100% - 14px)/2);width:600px;max-width:600px;aspect-ratio:6/1;border-radius:14px;overflow:hidden;background:#333;box-shadow:0 12px 30px rgba(0,0,0,.20)}.program-banner-card img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .28s ease}.program-banner-card:hover img{transform:scale(1.035)}
.videos-layout{display:grid;grid-template-columns:420px 1fr;gap:14px;background:#2a2a2a;padding:14px;border-radius:18px}
.video-list{display:flex;flex-direction:column;gap:2px;max-height:430px;overflow-y:auto;padding-right:4px}
.video-item{display:grid;grid-template-columns:82px 1fr;gap:14px;align-items:center;background:rgba(0,0,0,.18);padding:6px 10px;min-height:86px;border-radius:8px;cursor:pointer;transition:transform .2s ease, background .2s ease}
.video-item:hover,.video-item.active{background:rgba(255,255,255,.06);transform:translateY(-2px)}
.video-thumb img{width:82px;height:68px;object-fit:cover;border-radius:6px}
.video-title{font-size:18px;font-weight:800;line-height:1.1;margin:0 0 8px}.video-author{font-size:14px;color:var(--muted)}
.video-player iframe{width:100%;min-height:430px;border:0;border-radius:12px;background:#000}
.history-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.history-item{background:#1f1f1f;border-radius:14px;overflow:hidden}
.history-item img{width:100%;height:180px;object-fit:cover}.history-item .info{padding:12px}.history-empty{padding:24px;border-radius:14px;background:#1f1f1f;color:#ddd;text-align:center}
.ads img{width:100%;height:250px;object-fit:cover;border-radius:18px;background:#222}

body.light-mode{--bg:#f4f1ec;--text:#171717;--muted:rgba(0,0,0,.78);background:var(--bg);color:var(--text)}
body.light-mode .header-player{background:linear-gradient(90deg,#efe7de 0%, #f7f3ee 48%, #ece6df 100%)}
body.light-mode .nav-btn{background:#ffffff;color:#171717;border-color:rgba(0,0,0,.08)}
body.light-mode .player-cover{background:#fff;box-shadow:0 0 0 3px rgba(0,0,0,.06),0 16px 34px rgba(0,0,0,.12)}
body.light-mode .player-social a{background:rgba(0,0,0,.08);color:#171717}
body.light-mode .assistant-pill{background:rgba(255,255,255,.7);border-color:rgba(0,0,0,.18);color:#171717}
body.light-mode .program-tabs{background:linear-gradient(90deg,#ddd 0%, #ececec 100%)}
body.light-mode .program-tab{color:#171717}
body.light-mode .card,body.light-mode .history-item,body.light-mode .history-empty,body.light-mode .videos-layout,body.light-mode .station-drawer{background:#fff;color:#171717}
body.light-mode .video-item{background:rgba(0,0,0,.04)}
body.light-mode .video-item:hover,body.light-mode .video-item.active{background:rgba(0,0,0,.08)}
body.light-mode .banner-card,body.light-mode .ads img{background:#ddd}
body.light-mode .ticker{background:#fff;color:#171717}
body.light-mode .ticker-track a{color:#171717}


/* Mejoras visuales menú y redes */
.nav-btn{
    transition:transform .22s ease, background .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.nav-btn:hover{
    transform:scale(1.06);
    background:#3a3a3d;
    border-color:rgba(255,255,255,.24);
    box-shadow:0 10px 24px rgba(0,0,0,.28);
}
body.light-mode .nav-btn:hover{
    background:#fff;
    box-shadow:0 10px 24px rgba(0,0,0,.12);
}
.player-social a{
    transition:transform .22s ease, background .22s ease, color .22s ease, box-shadow .22s ease;
    box-shadow:0 8px 18px rgba(0,0,0,.18);
}
.player-social a:hover{
    transform:scale(1.12) translateY(-2px);
    box-shadow:0 12px 26px rgba(0,0,0,.30);
}
.player-social a.social-facebook:hover{background:#1877f2;color:#fff}
.player-social a.social-x:hover{background:#000;color:#fff}
.player-social a.social-instagram:hover{background:linear-gradient(135deg,#feda75,#fa7e1e,#d62976,#962fbf,#4f5bd5);color:#fff}
.player-social a.social-youtube:hover{background:#ff0000;color:#fff}
.player-social a.social-tiktok:hover{background:#111;color:#fff}
.player-social a.social-whatsapp:hover{background:#25d366;color:#fff}
.history-grid{grid-template-columns:repeat(4,1fr)}
.history-item{
    display:flex;
    align-items:center;
    min-height:75px;
}
.history-item img{
    width:75px !important;
    height:75px !important;
    flex:0 0 75px;
}
.history-item .info{
    flex:1;
    min-width:0;
}
.history-item .info strong{
    display:block;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}
.reveal-slide{
    opacity:0;
    transform:translateY(24px);
    transition:opacity .55s ease, transform .55s ease;
}
.reveal-slide.is-visible{
    opacity:1;
    transform:translateY(0);
}


/* Corrección player: cover a la izquierda, información a la derecha */
@media(min-width:1001px){
    .player-grid{
        display:grid !important;
        grid-template-columns:320px minmax(0,1fr) !important;
        gap:46px !important;
        align-items:center !important;
    }
    .player-left{
        grid-column:1 !important;
        align-items:flex-start !important;
    }
    .player-right{
        grid-column:2 !important;
        text-align:left !important;
        align-self:center !important;
    }
    .player-actions,
    .assistants{
        justify-content:flex-start !important;
    }
}

/* Efecto deslizante real para Noticias y Locutores */
.reveal-slide{
    opacity:0;
    transform:translateX(-44px);
    transition:opacity .75s ease, transform .75s ease;
}
.reveal-slide.is-visible{
    opacity:1;
    transform:translateX(0);
}

/* Botón modo oscuro/claro con icono más grande */
#themeToggle{
    width:48px;
    height:48px;
    padding:0;
    justify-content:center;
}
#themeToggle svg{
    width:28px !important;
    height:28px !important;
}

/* Mejor ajuste de botones del player */
#shareNow,
#accessibilityToggle{
    width:auto;
    min-width:0;
}
#shareNow .share-icon{
    width:34px;
    height:34px;
}
#shareNow .share-icon svg{
    width:28px;
    height:28px;
}
#accessibilityToggle .accessibility-circle{
    width:44px;
    height:44px;
}

/* Whatsapp más limpio */
.player-social a.social-whatsapp svg{
    width:19px;
    height:19px;
}


/* FIX DEFINITIVO PLAYER DESKTOP */
@media (min-width: 901px){
    .header-player .player-grid{
        display:flex !important;
        flex-direction:row !important;
        align-items:center !important;
        justify-content:flex-start !important;
        gap:56px !important;
        width:100% !important;
    }
    .header-player .player-left{
        width:340px !important;
        min-width:340px !important;
        max-width:340px !important;
        flex:0 0 340px !important;
        display:flex !important;
        flex-direction:column !important;
        align-items:flex-start !important;
    }
    .header-player .player-right{
        flex:1 1 auto !important;
        min-width:0 !important;
        width:auto !important;
        text-align:left !important;
        display:block !important;
        align-self:center !important;
    }
    .header-player .player-cover{
        width:320px !important;
        height:320px !important;
        flex:0 0 320px !important;
    }
    .header-player .player-social{
        justify-content:flex-start !important;
    }
    .header-player .player-actions,
    .header-player .assistants{
        justify-content:flex-start !important;
    }
}
@media (max-width: 900px){
    .header-player .player-grid{
        display:flex !important;
        flex-direction:column !important;
        align-items:center !important;
        gap:24px !important;
    }
    .header-player .player-left,
    .header-player .player-right{
        width:100% !important;
        max-width:100% !important;
        text-align:center !important;
        align-items:center !important;
    }
    .header-player .player-social,
    .header-player .player-actions,
    .header-player .assistants{
        justify-content:center !important;
    }
}

/* Movimiento al entrar en pantalla */
.reveal-slide .card{
    opacity:0;
    transform:translateX(-38px);
    transition:opacity .7s ease, transform .7s ease;
}
.reveal-slide.is-visible .card{
    opacity:1;
    transform:translateX(0);
}
.reveal-slide.is-visible .card:nth-child(2){transition-delay:.06s}
.reveal-slide.is-visible .card:nth-child(3){transition-delay:.12s}
.reveal-slide.is-visible .card:nth-child(4){transition-delay:.18s}
.reveal-slide.is-visible .card:nth-child(5){transition-delay:.24s}

/* Panel accesibilidad */
.accessibility-panel{
    position:fixed;
    right:20px;
    bottom:20px;
    width:260px;
    background:#1f1f1f;
    color:#fff;
    border:1px solid rgba(255,255,255,.18);
    border-radius:18px;
    box-shadow:0 20px 50px rgba(0,0,0,.45);
    padding:14px;
    z-index:2000;
    display:none;
}
.accessibility-panel.open{display:block}
.accessibility-panel strong{display:block;margin-bottom:10px}
.accessibility-panel button{
    width:100%;
    border:0;
    border-radius:12px;
    padding:10px 12px;
    margin-top:8px;
    background:#333;
    color:#fff;
    cursor:pointer;
    font-weight:700;
}
body.accessibility-mode{font-size:18px}
body.high-contrast{filter:contrast(1.18)}
body.underline-links a{text-decoration:underline}
body.light-mode .accessibility-panel{background:#fff;color:#111;border-color:rgba(0,0,0,.14)}
body.light-mode .accessibility-panel button{background:#eee;color:#111}

/* Eventos sólo imagen */
.event-link{
    display:block;
    flex:0 0 calc((100% - 32px)/3);
    height:150px;
    border-radius:16px;
    overflow:hidden;
    background:#222;
}
.event-link img{
    width:100%;
    height:100%;
    object-fit:cover;
    transition:transform .35s ease;
}
.event-link:hover img{transform:scale(1.05)}
@media(max-width:1000px){.event-link{flex-basis:calc((100% - 16px)/2)}}
@media(max-width:700px){.event-link{flex-basis:100%}}

/* Publicidad rotativa */
.ad-rotator-link{
    display:block;
    width:100%;
    max-width:970px;
    height:250px;
    margin:0 auto;
    border-radius:18px;
    overflow:hidden;
    background:#222;
}
.ad-rotator-link img{
    width:100%;
    height:100%;
    object-fit:cover;
}

@media(max-width:1000px){.player-grid{grid-template-columns:1fr;gap:24px}.player-left{align-items:center}.player-right{text-align:center}.player-actions,.assistants{justify-content:center}.program-tabs{grid-template-columns:repeat(4,1fr)}.program-grid{grid-template-columns:repeat(2,1fr)}.card{flex-basis:calc((100% - 16px)/2)}.card.card-event{flex-basis:calc((100% - 16px)/2)}.videos-layout{grid-template-columns:1fr}.history-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.top-nav{justify-content:flex-start}.player-cover{width:100%;max-width:320px;height:280px}.player-title{font-size:44px}.player-subtitle{font-size:20px}.program-tabs{grid-template-columns:repeat(2,1fr)}.program-grid,.history-grid{grid-template-columns:1fr}.banners{flex-direction:row;gap:8px}.banner-card{height:74px;max-width:calc((100% - 16px)/3)}.banner-card span{display:none}.program-banners{gap:8px}.program-banner-card{max-width:calc((100% - 8px)/2)}.card,.card.card-event{flex-basis:100%}.carousel-arrow.prev{left:-10px}.carousel-arrow.next{right:-10px}}

/* === PLAYER RECONSTRUIDO SIN DEPENDER DE CLASES ANTERIORES === */
.rt-player{
    max-width:1040px;
    margin:38px auto 0;
    display:grid;
    grid-template-columns:320px minmax(0,1fr);
    gap:54px;
    align-items:center;
}
.rt-player-left{
    width:320px;
}
.rt-cover{
    width:320px;
    height:320px;
    padding:6px;
    border-radius:30px;
    background:#242424;
    box-shadow:0 0 0 3px rgba(255,255,255,.14),0 18px 38px rgba(0,0,0,.38);
    overflow:hidden;
}
.rt-cover img{
    width:100%;
    height:100%;
    object-fit:cover;
    border-radius:24px;
}
.rt-social{
    display:flex;
    justify-content:center;
    align-items:center;
    gap:11px;
    margin-top:22px;
}
.rt-social a{
    width:44px;
    height:44px;
    border-radius:999px;
    background:rgba(255,255,255,.18);
    color:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    transition:transform .22s ease, background .22s ease, box-shadow .22s ease;
    box-shadow:0 8px 18px rgba(0,0,0,.18);
}
.rt-social a:hover{
    transform:scale(1.12) translateY(-2px);
    box-shadow:0 12px 26px rgba(0,0,0,.30);
}
.rt-social svg{
    width:20px;
    height:20px;
}
.rt-social a.social-facebook:hover{background:#1877f2}
.rt-social a.social-x:hover{background:#000}
.rt-social a.social-instagram:hover{background:linear-gradient(135deg,#feda75,#fa7e1e,#d62976,#962fbf,#4f5bd5)}
.rt-social a.social-youtube:hover{background:#ff0000}
.rt-social a.social-whatsapp:hover{background:#25d366}
.rt-social a.social-tiktok:hover{background:#111}

.rt-player-right{
    min-width:0;
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    justify-content:center;
    text-align:left;
}
.rt-live{
    display:flex;
    align-items:center;
    gap:10px;
    margin-bottom:12px;
    color:#fff;
    text-transform:uppercase;
}
.rt-live span{
    background:#ff5a12;
    border-radius:7px;
    padding:6px 10px;
    font-size:14px;
    font-weight:900;
}
.rt-live strong{
    font-size:15px;
    font-weight:900;
}
.rt-player-right h1{
    margin:0 0 12px;
    color:#fff;
    font-size:40px;
    line-height:.94;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.01em;
}
.rt-player-right h2{
    margin:0 0 26px;
    color:#fff;
    font-size:24px;
    line-height:1.1;
    font-weight:900;
    text-transform:uppercase;
}
.rt-actions{
    display:flex;
    align-items:center;
    gap:24px;
}
.rt-play{
    border:none;
    background:transparent;
    color:#fff;
    display:flex;
    align-items:center;
    gap:10px;
    cursor:pointer;
    padding:0;
    text-transform:uppercase;
}
.rt-play span{
    width:34px;
    height:34px;
    border-radius:50%;
    background:#fff;
    color:#111;
    display:flex;
    align-items:center;
    justify-content:center;
}
.rt-play svg{
    width:18px;
    height:18px;
}
.rt-play b{
    font-size:17px;
    font-weight:900;
}
.rt-icon-btn{
    border:none;
    background:transparent;
    color:#fff;
    width:34px;
    height:34px;
    padding:0;
    display:flex;
    align-items:center;
    justify-content:center;
    cursor:pointer;
}
.rt-icon-btn svg{
    width:28px;
    height:28px;
}
.rt-accessibility{
    border:none;
    background:#ff1f33;
    color:#fff;
    width:54px;
    height:54px;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    cursor:pointer;
}
.rt-accessibility svg{
    width:25px;
    height:25px;
}
.rt-assistants{
    margin-top:30px;
    display:flex;
    gap:28px;
}
.rt-assistants span{
    border:2px solid rgba(255,255,255,.9);
    border-radius:10px;
    padding:9px 16px;
    color:#fff;
    background:rgba(0,0,0,.10);
}
body.light-mode .rt-player-right h1,
body.light-mode .rt-player-right h2,
body.light-mode .rt-live,
body.light-mode .rt-play,
body.light-mode .rt-icon-btn{
    color:#171717;
}
body.light-mode .rt-social a{
    background:rgba(0,0,0,.08);
    color:#171717;
}
body.light-mode .rt-assistants span{
    color:#171717;
    border-color:rgba(0,0,0,.24);
}
@media(max-width:900px){
    .rt-player{
        grid-template-columns:1fr;
        justify-items:center;
        gap:24px;
    }
    .rt-player-left{
        width:100%;
        display:flex;
        flex-direction:column;
        align-items:center;
    }
    .rt-cover{
        width:min(320px,100%);
    }
    .rt-player-right{
        align-items:center;
        text-align:center;
    }
    .rt-live,.rt-actions,.rt-assistants{
        justify-content:center;
    }
    .rt-player-right h1{
        font-size:44px;
    }
}


/* Ajustes solicitados */
.rt-cover{position:relative !important}
.rt-cover-tools{position:absolute;right:18px;bottom:18px;display:flex;align-items:center;gap:9px;z-index:5}
.rt-cover-tool{width:30px;height:30px;border:0;padding:0;border-radius:50%;background:rgba(0,0,0,.48);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;backdrop-filter:blur(6px);transition:transform .2s ease,background .2s ease}
.rt-cover-tool:hover{transform:scale(1.1);background:rgba(0,0,0,.68)}
.rt-cover-tool svg{width:22px;height:22px}
.rt-actions{position:relative}
.rt-accessibility{width:54px!important;height:54px!important;min-width:54px!important;max-width:54px!important;min-height:54px!important;max-height:54px!important;padding:0!important;border-radius:50%!important;aspect-ratio:1/1!important;flex:0 0 54px!important}
.rt-accessibility svg{width:25px!important;height:25px!important}
.accessibility-panel{position:fixed!important;width:260px;background:#1f1f1f;color:#fff;border:1px solid rgba(255,255,255,.18);border-radius:18px;box-shadow:0 20px 50px rgba(0,0,0,.45);padding:14px;z-index:3000;display:none}
.accessibility-panel.open{display:block}
.accessibility-panel strong{display:block;margin-bottom:10px}
.accessibility-panel button{width:100%;border:0;border-radius:12px;padding:10px 12px;margin-top:8px;background:#333;color:#fff;cursor:pointer;font-weight:700}
body.light-mode .accessibility-panel{background:#fff;color:#111;border-color:rgba(0,0,0,.14)}
body.light-mode .accessibility-panel button{background:#eee;color:#111}
.rt-player{position:relative}
.rt-assistants{position:absolute!important;right:0!important;bottom:0!important;margin:0!important;display:flex!important;gap:28px!important}
.rt-assistants a{border:2px solid rgba(255,255,255,.9);border-radius:10px;padding:9px 16px;color:#fff;background:rgba(0,0,0,.10);font-weight:700;display:inline-flex;align-items:center;min-height:40px}
body.light-mode .rt-assistants a{color:#171717;border-color:rgba(0,0,0,.24)}
@media(max-width:900px){.rt-assistants{position:static!important;justify-content:center!important;margin-top:24px!important;flex-wrap:wrap}}
.video-pause-toast{position:fixed;left:50%;bottom:26px;transform:translateX(-50%) translateY(20px);max-width:min(540px,calc(100vw - 32px));background:rgba(10,10,10,.92);color:#fff;border:1px solid rgba(255,255,255,.18);border-radius:16px;padding:14px 18px;box-shadow:0 18px 44px rgba(0,0,0,.45);opacity:0;pointer-events:none;transition:opacity .25s ease,transform .25s ease;z-index:4000;text-align:center;font-weight:700}
.video-pause-toast.show{opacity:1;transform:translateX(-50%) translateY(0)}
.video-choice-overlay{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.55);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);opacity:0;pointer-events:none;transition:opacity .25s ease;z-index:5000;padding:18px}
.video-choice-overlay.open{opacity:1;pointer-events:auto}
.video-choice-modal{width:min(430px,100%);background:rgba(12,12,12,.94);color:#fff;border:1px solid rgba(255,255,255,.16);border-radius:22px;padding:24px;box-shadow:0 24px 70px rgba(0,0,0,.5);text-align:center;transform:translateY(14px) scale(.98);transition:transform .25s ease}
.video-choice-overlay.open .video-choice-modal{transform:translateY(0) scale(1)}
.video-choice-modal h3{font-size:22px;font-weight:900;margin:0 0 8px}
.video-choice-modal p{font-size:14px;line-height:1.45;color:rgba(255,255,255,.78);margin:0 0 18px}
.video-choice-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}
.video-choice-actions button{border:0;border-radius:999px;padding:11px 18px;font-weight:900;cursor:pointer;background:#C11007;color:#fff;box-shadow:0 10px 26px rgba(193,16,7,.28);transition:transform .2s ease,filter .2s ease}
.video-choice-actions button:hover{transform:translateY(-2px);filter:brightness(1.08)}
#videoRadioBtn{background:#fff;color:#111;box-shadow:0 10px 26px rgba(255,255,255,.16)}
body.light-mode .video-choice-modal{background:rgba(255,255,255,.94);color:#111;border-color:rgba(0,0,0,.08)}
body.light-mode .video-choice-modal p{color:rgba(0,0,0,.68)}
.ads{display:flex!important;justify-content:center!important}
.ad-rotator-link,.ads>img{width:min(970px,100%)!important;height:250px!important;border-radius:18px!important;overflow:hidden;background:#222}
.ad-rotator-link img,.ads>img{width:100%!important;height:100%!important;object-fit:cover!important;transform:none!important}
.ad-rotator-link:hover img{transform:none!important}


/* Mejoras menú header + compartir */
.nav-logo{
    width:64px;
    height:64px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    margin-right:8px;
}
.nav-logo img{
    width:64px;
    height:64px;
    object-fit:contain;
    display:block;
}
.top-nav .nav-btn svg{
    width:22px !important;
    height:22px !important;
    flex:0 0 22px;
    opacity:.96;
}
.theme-btn svg{
    width:30px !important;
    height:30px !important;
}
.share-modal-overlay{
    position:fixed;
    inset:0;
    background:rgba(0,0,0,.72);
    backdrop-filter:blur(4px);
    z-index:5000;
    display:none;
    align-items:center;
    justify-content:center;
    padding:20px;
}
.share-modal-overlay.open{display:flex}
.share-modal{
    position:relative;
    width:min(520px,100%);
    background:#202020;
    color:#fff;
    border-radius:8px;
    padding:28px 28px 30px;
    box-shadow:0 24px 70px rgba(0,0,0,.55);
    text-align:center;
}
.share-modal-close{
    position:absolute;
    right:-12px;
    top:-12px;
    width:34px;
    height:34px;
    border:0;
    border-radius:50%;
    background:#666;
    color:#fff;
    cursor:pointer;
    display:flex;
    align-items:center;
    justify-content:center;
}
.share-modal-close svg{width:22px;height:22px}
.share-modal h3{
    margin:0 0 16px;
    font-size:18px;
    text-transform:uppercase;
    font-weight:900;
}
.share-modal img{
    width:200px;
    height:200px;
    object-fit:cover;
    margin:0 auto 18px;
    border-radius:2px;
}
.share-modal-title{
    font-size:22px;
    line-height:1.28;
    margin:0 auto 6px;
    max-width:420px;
}
.share-modal-subtitle{
    font-size:17px;
    opacity:.9;
    margin-bottom:22px;
}
.share-modal-buttons{
    display:flex;
    justify-content:center;
    align-items:center;
    gap:12px;
}
.share-modal-buttons a{
    width:44px;
    height:44px;
    border-radius:50%;
    background:#555;
    color:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    transition:transform .2s ease, background .2s ease;
}
.share-modal-buttons a:hover{transform:scale(1.1)}
.share-modal-buttons a.share-facebook:hover{background:#1877f2}
.share-modal-buttons a.share-x:hover{background:#000}
.share-modal-buttons a.share-whatsapp:hover{background:#25d366}
.share-modal-buttons svg{width:22px;height:22px}
body.light-mode .share-modal{background:#fff;color:#111}
body.light-mode .share-modal-buttons a{background:#e8e8e8;color:#111}
.rt-social{transition:opacity .25s ease}


/* Mejoras player: volumen, ecualizador y botones asistentes */
.rt-cover-tools{
    right:18px !important;
    bottom:18px !important;
    gap:8px !important;
}
.rt-volume-wrap{
    position:relative;
    display:flex;
    align-items:center;
}
.rt-volume-panel{
    position:absolute;
    left:50%;
    bottom:38px;
    transform:translateX(-50%);
    width:42px;
    height:150px;
    border-radius:22px;
    background:#e7a25d;
    display:none;
    align-items:center;
    justify-content:center;
    padding:14px 0;
    box-shadow:0 12px 28px rgba(0,0,0,.34);
    z-index:20;
}
.rt-volume-wrap.open .rt-volume-panel,
.rt-volume-wrap:hover .rt-volume-panel{
    display:flex;
}
#volumeRange{
    width:118px;
    height:8px;
    transform:rotate(-90deg);
    accent-color:#fff;
    cursor:pointer;
}
.rt-eq{
    position:absolute;
    right:54px;
    bottom:21px;
    z-index:4;
    pointer-events:none;
    color:#fff;
    opacity:.95;
}
.rt-eq-bars{
    display:none;
    align-items:flex-end;
    gap:3px;
    height:24px;
    width:32px;
}
.rt-eq-bars span{
    width:4px;
    height:8px;
    border-radius:999px;
    background:currentColor;
    animation:eqBar 1s ease-in-out infinite paused;
}
.rt-eq-bars span:nth-child(2){animation-delay:.15s}
.rt-eq-bars span:nth-child(3){animation-delay:.3s}
.rt-eq-bars span:nth-child(4){animation-delay:.45s}
.rt-eq-bars span:nth-child(5){animation-delay:.6s}
.rt-eq-wave{
    display:none;
    width:34px;
    height:22px;
}
.rt-eq-wave span{
    position:absolute;
    left:0;
    right:0;
    top:50%;
    height:14px;
    border-bottom:3px solid currentColor;
    border-radius:50%;
    transform:translateY(-50%);
    animation:eqWave 1.2s ease-in-out infinite paused;
}
.rt-eq-wave span:nth-child(2){animation-delay:.18s;opacity:.75}
.rt-eq-wave span:nth-child(3){animation-delay:.36s;opacity:.55}
body.eq-bars .rt-eq-bars{display:flex}
body.eq-wave .rt-eq-wave{display:block}
body.is-playing .rt-eq-bars span,
body.is-playing .rt-eq-wave span{
    animation-play-state:running;
}
@keyframes eqBar{
    0%,100%{height:7px}
    25%{height:22px}
    50%{height:12px}
    75%{height:18px}
}
@keyframes eqWave{
    0%,100%{transform:translateY(-50%) scaleX(.65)}
    50%{transform:translateY(-50%) scaleX(1)}
}
.rt-assistants a{
    position:relative;
    gap:8px;
    padding:9px 16px 12px !important;
    min-width:154px;
    justify-content:center;
}
.rt-assistants a:after{
    content:"";
    position:absolute;
    right:22px;
    bottom:-9px;
    width:17px;
    height:17px;
    border-right:2px solid rgba(255,255,255,.9);
    border-bottom:2px solid rgba(255,255,255,.9);
    background:transparent;
    transform:skew(35deg);
}
.assistant-mark{
    width:18px;
    height:18px;
    display:inline-block;
    border-radius:50%;
    flex:0 0 18px;
}
.alexa-mark{
    border:3px solid #05b7ef;
}
.assistant-google-dots{
    width:18px;
    height:18px;
    position:relative;
    display:inline-block;
    flex:0 0 18px;
}
.assistant-google-dots i{
    position:absolute;
    width:7px;
    height:7px;
    border-radius:50%;
}
.assistant-google-dots i:nth-child(1){background:#4285f4;left:0;top:0}
.assistant-google-dots i:nth-child(2){background:#ea4335;right:0;top:1px}
.assistant-google-dots i:nth-child(3){background:#fbbc05;left:3px;bottom:0}
.assistant-google-dots i:nth-child(4){background:#34a853;right:1px;bottom:2px}
body.light-mode .rt-assistants a:after{
    border-color:rgba(0,0,0,.24);
}
.rt-accessibility{
    border-radius:50% !important;
    overflow:hidden !important;
}


/* Ajustes solicitados: botones menú, accesibilidad y asistentes */
.top-nav .nav-btn{
    border-radius:5% !important;
    padding:12px 18px !important;
}
.theme-btn{
    border-radius:5% !important;
}
.program-tabs{
    border-radius:5% !important;
}
.program-tab{
    border-radius:0 !important;
}
.rt-accessibility{
    width:44px !important;
    height:44px !important;
    min-width:44px !important;
    max-width:44px !important;
    min-height:44px !important;
    max-height:44px !important;
    flex:0 0 44px !important;
    border-radius:50% !important;
}
.rt-accessibility svg{
    width:20px !important;
    height:20px !important;
}
.rt-assistants a{
    border:2px solid rgba(255,255,255,.9) !important;
    border-radius:10px !important;
    padding:9px 16px !important;
    color:#fff !important;
    background:rgba(0,0,0,.10) !important;
    font-weight:700 !important;
    display:inline-flex !important;
    align-items:center !important;
    min-height:40px !important;
    min-width:auto !important;
    justify-content:center !important;
}
.rt-assistants a:after,
.assistant-mark,
.assistant-google-dots{
    display:none !important;
}
body.light-mode .rt-assistants a{
    color:#171717 !important;
    border-color:rgba(0,0,0,.24) !important;
}


/* Mejoras: icono accesibilidad, snake border y tilt cover */
.rt-accessibility svg{
    width:30px !important;
    height:30px !important;
}
.rt-accessibility{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    overflow:hidden !important;
}

/* Snake border para botones del menú */
.top-nav .nav-btn{
    position:relative !important;
    overflow:hidden !important;
    isolation:isolate;
}
.top-nav .nav-btn::before{
    content:"";
    position:absolute;
    inset:-8px;
    border-radius:inherit;
    padding:8px;
    background:conic-gradient(from var(--snake-angle,0deg), transparent 0 70%, #ff1f33 80%, #ff1f33 92%, transparent 100%);
    -webkit-mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
    -webkit-mask-composite:xor;
    mask-composite:exclude;
    animation:snakeBorder 6s linear infinite;
    z-index:-1;
    opacity:0;
    transition:opacity .3s ease;
}
.top-nav .nav-btn:hover::before{
    opacity:1;
}
@supports not ((mask-composite: exclude) or (-webkit-mask-composite: xor)){
    .top-nav .nav-btn::before{
        border:1px solid rgba(255,31,51,.65);
        background:none;
    }
}
@keyframes snakeBorder{
    to{--snake-angle:360deg}
}
@property --snake-angle{
    syntax:'<angle>';
    inherits:false;
    initial-value:0deg;
}

/* Snake border para cover */
.rt-cover{
    position:relative !important;
    overflow:hidden !important;
    transform-style:preserve-3d;
    transition:transform .28s ease, box-shadow .28s ease;
}
.rt-cover::before{
    content:"";
    position:absolute;
    inset:0;
    border-radius:30px;
    padding:2px;
    background:conic-gradient(from var(--cover-snake-angle,0deg), transparent 0 78%, #ff1f33 86%, #ff1f33 91%, transparent 100%);
    -webkit-mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
    -webkit-mask-composite:xor;
    mask-composite:exclude;
    animation:coverSnakeBorder 6.8s linear infinite;
    z-index:8;
    pointer-events:none;
}
@keyframes coverSnakeBorder{
    to{--cover-snake-angle:360deg}
}
@property --cover-snake-angle{
    syntax:'<angle>';
    inherits:false;
    initial-value:0deg;
}
.rt-cover.tilt-tl{transform:perspective(850px) rotateX(15deg) rotateY(-15deg) scale(.985)}
.rt-cover.tilt-tr{transform:perspective(850px) rotateX(15deg) rotateY(15deg) scale(.985)}
.rt-cover.tilt-bl{transform:perspective(850px) rotateX(-15deg) rotateY(-15deg) scale(.985)}
.rt-cover.tilt-br{transform:perspective(850px) rotateX(-15deg) rotateY(15deg) scale(.985)}


/* Metadatos en player */
.metadata-loading #playerTitle,
.metadata-loading #playerSubtitle{
    opacity:.65;
}
#playerTitle,
#playerSubtitle{
    transition:opacity .22s ease;
}


/* Corrección Ha sonado */
.history-grid .history-empty{
    grid-column:1 / -1;
}


/* Ajuste puntual: quitar APP, ocultar Ha Sonado y mantener Mecenas junto a accesibilidad */
#installAppBtn{
    display:none !important;
}
#historySection,
.section-history,
.ha-sonado-section,
[data-section="history"],
.history-grid#historyGrid{
    display:none !important;
}
.rt-mecenas-btn{
    width:44px !important;
    height:44px !important;
    min-width:44px !important;
    border-radius:50% !important;
    background:#D0872E !important;
    color:#fff !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    text-decoration:none !important;
    box-shadow:0 10px 24px rgba(208,135,46,.28) !important;
    transition:transform .22s ease, box-shadow .22s ease, background .22s ease !important;
}
.rt-mecenas-btn:hover{
    transform:scale(1.08) !important;
    background:#D0872E !important;
    box-shadow:0 14px 30px rgba(208,135,46,.42) !important;
}
.rt-mecenas-btn svg{
    width:24px !important;
    height:24px !important;
}


/* Recuperación segura: menú limpio + player alto + fondo cover */
.top-nav .nav-btn{
    background:transparent !important;
    border:none !important;
    box-shadow:none !important;
}
.top-nav .nav-btn:hover,
body.light-mode .top-nav .nav-btn,
body.light-mode .top-nav .nav-btn:hover{
    background:transparent !important;
    border:none !important;
    box-shadow:none !important;
}

.header-player{
    min-height:calc(100vh + 50px) !important;
    position:relative !important;
    isolation:isolate !important;
    overflow:hidden !important;
}
.header-player::before{
    content:"";
    position:absolute;
    inset:0;
    background-image:var(--player-bg-cover, none);
    background-size:cover;
    background-position:center;
    opacity:.95;
    filter:blur(34px) saturate(1.12);
    transform:scale(1.08);
    z-index:-2;
    pointer-events:none;
}
.header-player::after{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(90deg, rgba(10,10,10,.92), rgba(10,10,10,.70), rgba(10,10,10,.90));
    z-index:-1;
    pointer-events:none;
}
.header-player-inner{
    position:relative !important;
    z-index:1 !important;
    padding-bottom:70px !important;
}


/* ===== CORRECCION LEGIBILIDAD MODO CLARO + ICONO PLAY ===== */

/* En modo claro, textos generales legibles */
body.light-mode{
    color:#111 !important;
}

/* Player y menú header siguen sobre fondo oscuro: texto e iconos blancos */
body.light-mode .rt-player,
body.light-mode .rt-player *,
body.light-mode .top-nav,
body.light-mode .top-nav *,
body.light-mode .theme-btn,
body.light-mode .theme-btn *,
body.light-mode .rt-assistants,
body.light-mode .rt-assistants *,
body.light-mode .rt-assistants a,
body.light-mode .rt-assistants a *{
    color:#fff !important;
}

body.light-mode .top-nav svg,
body.light-mode .theme-btn svg,
body.light-mode .rt-assistants svg{
    color:#fff !important;
    fill:currentColor !important;
}

/* Tarjetas con imagen: textos en blanco para que se lean sobre el degradado */
body.light-mode .program-card,
body.light-mode .program-card *,
body.light-mode .card .card-title,
body.light-mode .card .card-meta,
body.light-mode .news-link-card,
body.light-mode .news-link-card *,
body.light-mode .event-link,
body.light-mode .event-link *,
body.light-mode .card-event,
body.light-mode .card-event *{
    color:#fff !important;
}

/* Títulos de secciones y pestañas fuera de imágenes: texto oscuro legible */
body.light-mode .section-title,
body.light-mode .program-tab{
    color:#111 !important;
}

/* Botones principales: iconos visibles */
body.light-mode #shareNow,
body.light-mode .rt-mecenas-btn,
body.light-mode .rt-accessibility{
    color:#fff !important;
}

body.light-mode #shareNow svg,
body.light-mode .rt-mecenas-btn svg,
body.light-mode .rt-accessibility svg{
    color:#fff !important;
    fill:currentColor !important;
}

/* Icono Play/Pausa ajustado al alto del texto Reproducir */
.rt-play span{
    width:32px !important;
    height:32px !important;
    min-width:22px !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
}

.rt-play span svg{
    width:22px !important;
    height:22px !important;
}

.rt-play span svg path{
    fill:currentColor !important;
}

/* El icono del botón reproducir siempre blanco */
.rt-play,
.rt-play *,
body.light-mode .rt-play,
body.light-mode .rt-play *{
    color:#fff !important;
    fill:#fff !important;
}


/* ===== CORRECCION PUNTUAL: SIDEBAR, PLAY ICON, PROGRAMAS, STICKY HEADER, HOVER ===== */

/* Sidebar estaciones: solo imágenes, sin nombres */
.station-drawer .station-card span,
.station-drawer .station-card strong,
.station-drawer .station-card p,
.station-drawer .station-card .station-name,
.station-card span,
.station-card strong,
.station-card p,
.station-card .station-name{
    display:none !important;
    visibility:hidden !important;
    height:0 !important;
    overflow:hidden !important;
}
.station-drawer .station-card,
.station-card{
    font-size:0 !important;
    line-height:0 !important;
}

/* Icono Play/Pause visible */
.rt-play span{
    color:#111 !important;
    background:#fff !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
}
.rt-play span svg{
    display:block !important;
    width:18px !important;
    height:18px !important;
    opacity:1 !important;
    visibility:visible !important;
}
.rt-play span svg path,
.rt-play span path{
    fill:#111 !important;
    color:#111 !important;
}

/* Header siempre visible con efecto sticky */
.top-nav{
    position:sticky !important;
    top:0 !important;
    z-index:99999 !important;
    background:rgba(15,15,15,.86) !important;
    backdrop-filter:blur(14px) !important;
    -webkit-backdrop-filter:blur(14px) !important;
}

/* Programas: asegurar imagen correcta y evitar roturas visuales */
.program-card{
    position:relative !important;
    overflow:hidden !important;
}
.program-card img{
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    display:block !important;
}

/* Autoplay on Hover visual en Programas y Equipo */
.program-card img,
#locutores .card img,
.team .card img,
.locutores .card img{
    transition:filter .28s ease, transform .28s ease !important;
}
.program-card:hover img,
#locutores .card:hover img,
.team .card:hover img,
.locutores .card:hover img{
    filter:brightness(.78) contrast(1.08) !important;
    transform:scale(1.025) !important;
}
.program-card:hover,
#locutores .card:hover,
.team .card:hover,
.locutores .card:hover{
    box-shadow:0 18px 42px rgba(0,0,0,.35) !important;
}
/* ===== HEADER MISMO FONDO QUE PLAYER + FADE SCROLL ===== */

.top-nav{
    position: sticky !important;
    top: 0 !important;
    z-index: 99999 !important;
    background: transparent !important;
    transition: background .3s ease, opacity .3s ease, box-shadow .3s ease;
}

/* Fondo igual que el player */
.top-nav::before{
    content: "";
    position: absolute;
    inset: 0;
    background-image: var(--player-bg-cover, none);
    background-size: cover;
    background-position: center;
    opacity: .95;
    filter: blur(34px) saturate(1.12);
    transform: scale(1.08);
    z-index: -2;
}

.top-nav::after{
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg,
        rgba(10,10,10,.90),
        rgba(10,10,10,.68),
        rgba(10,10,10,.88)
    );
    z-index: -1;
}

/* Fade al hacer scroll */
body.header-scrolled .top-nav{
    background: rgba(10,10,10,.72) !important;
    box-shadow: 0 10px 30px rgba(0,0,0,.28);
}

/* ===== CORRECCION PUNTUAL: HEADER FONDO PLAYER + MODO CLARO ===== */

/* El header usa la misma variable de fondo que el player */
.top-nav{
    position:sticky !important;
    top:0 !important;
    z-index:99999 !important;
    background:transparent !important;
    overflow:hidden !important;
    isolation:isolate !important;
}
.top-nav::before{
    content:"" !important;
    position:absolute !important;
    inset:0 !important;
    background-image:var(--player-bg-cover, none) !important;
    background-size:cover !important;
    background-position:center !important;
    opacity:.95 !important;
    filter:blur(34px) saturate(1.12) !important;
    transform:scale(1.08) !important;
    z-index:-2 !important;
    pointer-events:none !important;
}
.top-nav::after{
    content:"" !important;
    position:absolute !important;
    inset:0 !important;
    background:linear-gradient(90deg,rgba(10,10,10,.90),rgba(10,10,10,.68),rgba(10,10,10,.88)) !important;
    z-index:-1 !important;
    pointer-events:none !important;
}
body.header-scrolled .top-nav{
    box-shadow:0 10px 30px rgba(0,0,0,.28) !important;
}

/* Modo claro: líneas de títulos de sección negras */
body.light-mode .section-title::before,
body.light-mode .section-title::after{
    background:#111 !important;
}

/* Modo claro: player con fondo blanco */
body.light-mode .header-player{
    background:#fff !important;
}
body.light-mode .header-player::before,
body.light-mode .header-player::after{
    display:none !important;
}

/* Modo claro: adaptar textos, iconos y botones del player */
body.light-mode .rt-player,
body.light-mode .rt-player *,
body.light-mode #playerTitle,
body.light-mode #playerSubtitle,
body.light-mode .rt-live,
body.light-mode .rt-live *,
body.light-mode .rt-assistants,
body.light-mode .rt-assistants *,
body.light-mode .rt-assistants a,
body.light-mode .rt-assistants a *{
    color:#111 !important;
}
body.light-mode .rt-player svg,
body.light-mode .rt-player svg path{
    fill:currentColor !important;
}
body.light-mode .rt-live span{
    background:#111 !important;
    color:#fff !important;
}
body.light-mode .rt-play{
    color:#111 !important;
}
body.light-mode .rt-play b,
body.light-mode #playText{
    color:#111 !important;
}
body.light-mode .rt-play span{
    background:#111 !important;
    color:#fff !important;
}
body.light-mode .rt-play span svg,
body.light-mode .rt-play span path{
    fill:#fff !important;
    color:#fff !important;
}

/* Modo claro: botones redondos del player visibles */
body.light-mode #shareNow,
body.light-mode .rt-mecenas-btn,
body.light-mode .rt-accessibility{
    color:#fff !important;
}
body.light-mode #shareNow svg,
body.light-mode .rt-mecenas-btn svg,
body.light-mode .rt-accessibility svg,
body.light-mode #shareNow path,
body.light-mode .rt-mecenas-btn path,
body.light-mode .rt-accessibility path{
    fill:currentColor !important;
}

/* Modo claro: header sigue con mismo fondo del player en blanco */
body.light-mode .top-nav::before{
    display:none !important;
}
body.light-mode .top-nav::after{
    background:#fff !important;
}
body.light-mode .top-nav .nav-btn,
body.light-mode .top-nav .nav-btn *,
body.light-mode .theme-btn,
body.light-mode .theme-btn *{
    color:#111 !important;
    fill:currentColor !important;
}
/* ===== AJUSTE EXACTO SOLICITADO ===== */

/* 1. MODO CLARO → TODAS LAS SECCIONES FONDO BLANCO */
body.light-mode,
body.light-mode .section,
body.light-mode .program-grid,
body.light-mode #programacion,
body.light-mode #noticias,
body.light-mode #locutores,
body.light-mode .news,
body.light-mode .team,
body.light-mode .locutores{
    background:#fff !important;
}

/* Mantener legibilidad en modo claro */
body.light-mode .section-title{
    color:#111 !important;
}

/* 2. MODO OSCURO → PLAYER Y HEADER MISMO FONDO */
body:not(.light-mode) .header-player,
body:not(.light-mode) .top-nav{
    background:#111 !important;
}

/* Mantener efecto visual existente del player también en el header */
body:not(.light-mode) .top-nav::before{
    content:"";
    position:absolute;
    inset:0;
    background-image:var(--player-bg-cover, none);
    background-size:cover;
    background-position:center;
    opacity:.95;
    filter:blur(34px) saturate(1.12);
    transform:scale(1.08);
    z-index:-2;
}

body:not(.light-mode) .top-nav::after{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(90deg,
        rgba(10,10,10,.90),
        rgba(10,10,10,.68),
        rgba(10,10,10,.88)
    );
    z-index:-1;
}

/* ===== FIX DEFINITIVO MODO OSCURO: HEADER Y BOTONES TRANSPARENTES ===== */
html body:not(.light-mode) .top-nav,
html body:not(.light-mode) header .top-nav,
html body:not(.light-mode) .header-player .top-nav{
    background:transparent !important;
    background-color:transparent !important;
    background-image:none !important;
    box-shadow:none !important;
    backdrop-filter:none !important;
    -webkit-backdrop-filter:none !important;
}

html body:not(.light-mode) .top-nav::before,
html body:not(.light-mode) .top-nav::after,
html body:not(.light-mode) header .top-nav::before,
html body:not(.light-mode) header .top-nav::after,
html body:not(.light-mode) .header-player .top-nav::before,
html body:not(.light-mode) .header-player .top-nav::after{
    content:none !important;
    display:none !important;
    background:none !important;
    background-image:none !important;
    opacity:0 !important;
}

html body:not(.light-mode) .top-nav .nav-btn,
html body:not(.light-mode) .top-nav .nav-btn:hover,
html body:not(.light-mode) .top-nav button,
html body:not(.light-mode) .top-nav button:hover,
html body:not(.light-mode) .top-nav a,
html body:not(.light-mode) .top-nav a:hover{
    background:transparent !important;
    background-color:transparent !important;
    background-image:none !important;
    border-color:transparent !important;
    box-shadow:none !important;
}

html body:not(.light-mode) .top-nav .nav-btn,
html body:not(.light-mode) .top-nav .nav-btn *,
html body:not(.light-mode) .top-nav svg,
html body:not(.light-mode) .top-nav path{
    color:#fff !important;
    fill:currentColor !important;
}
/* ===== FIX EXACTO MODO CLARO ===== */

/* 1. BOTÓN EN VIVO ROJO */
body.light-mode .rt-live span,
body.light-mode #liveStatusBadge,
body.light-mode .rt-live b{
    background:#C11007 !important;
    color:#fff !important;
}

/* 2. MENÚ PROGRAMACIÓN TRANSPARENTE */
body.light-mode .program-tabs{
    background:transparent !important;
    background-color:transparent !important;
    box-shadow:none !important;
}

/* eliminar cualquier fondo de los botones */
body.light-mode .program-tab{
    background:transparent !important;
    background-color:transparent !important;
    border:none !important;
    box-shadow:none !important;
}

/* asegurar que el activo no herede fondo */
body.light-mode .program-tab.active,
body.light-mode .program-tab.is-active{
    background:transparent !important;
}
/* ===== EFECTO LATIDO BOTÓN EN VIVO ===== */

body.light-mode .rt-live span,
body.light-mode #liveStatusBadge{
    animation: livePulse 1.6s ease-in-out infinite;
}

/* Animación */
@keyframes livePulse{
    0%{
        box-shadow:0 0 0 0 rgba(193,16,7,0.6);
    }
    70%{
        box-shadow:0 0 0 12px rgba(193,16,7,0);
    }
    100%{
        box-shadow:0 0 0 0 rgba(193,16,7,0);
    }
}
/* ===== EFECTO ON AIR STUDIO ===== */

.rt-live span,
#liveStatusBadge{
    position:relative;
    overflow:hidden;
    letter-spacing:.08em;
}

.rt-live span::before,
#liveStatusBadge::before{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(
        120deg,
        transparent 0%,
        rgba(255,255,255,.45) 45%,
        transparent 70%
    );
    transform:translateX(-120%);
    animation:onAirSweep 2.2s ease-in-out infinite;
}

.rt-live span::after,
#liveStatusBadge::after{
    content:"";
    position:absolute;
    inset:-4px;
    border-radius:inherit;
    box-shadow:0 0 14px rgba(193,16,7,.75);
    opacity:.75;
    animation:onAirGlow 1.6s ease-in-out infinite;
    pointer-events:none;
}

@keyframes onAirSweep{
    0%{ transform:translateX(-120%); }
    55%{ transform:translateX(120%); }
    100%{ transform:translateX(120%); }
}

@keyframes onAirGlow{
    0%,100%{
        opacity:.45;
        box-shadow:0 0 8px rgba(193,16,7,.45);
    }
    50%{
        opacity:1;
        box-shadow:0 0 18px rgba(193,16,7,.9);
    }
}
/* ===== EFECTO NEÓN ===== */

/* 🔴 TÍTULO DEL TEMA (PLAYER) */
.player-title,
.now-playing-title,
#trackTitle{
    color:#fff;
    text-shadow:
        0 0 5px rgba(255,255,255,0.6),
        0 0 10px rgba(255,255,255,0.5),
        0 0 20px rgba(255,0,80,0.6),
        0 0 40px rgba(255,0,80,0.4);
    animation: neonPulse 2s ease-in-out infinite;
}

/* 🔴 DÍA ACTIVO EN PROGRAMACIÓN */
.program-tab.active,
.program-tab.is-active{
    color:#fff !important;
    text-shadow:
        0 0 5px rgba(255,255,255,0.6),
        0 0 10px rgba(255,255,255,0.5),
        0 0 15px rgba(255,120,0,0.6),
        0 0 30px rgba(255,120,0,0.4);
}

/* 🔥 ANIMACIÓN SUAVE NEÓN */
@keyframes neonPulse{
    0%,100%{
        text-shadow:
            0 0 5px rgba(255,255,255,0.6),
            0 0 10px rgba(255,255,255,0.5),
            0 0 20px rgba(255,0,80,0.5),
            0 0 40px rgba(255,0,80,0.3);
    }
    50%{
        text-shadow:
            0 0 8px rgba(255,255,255,0.9),
            0 0 16px rgba(255,255,255,0.8),
            0 0 30px rgba(255,0,80,0.9),
            0 0 60px rgba(255,0,80,0.6);
    }
}
/* ===== GLOW DINÁMICO SEGÚN VOLUMEN ===== */

.playing .program-tab.active,
.playing .program-tab.is-active{
    color:#fff !important;

    text-shadow:
        0 0 calc(4px + var(--vol, 0)*20px) rgba(255,255,255,0.6),
        0 0 calc(8px + var(--vol, 0)*30px) rgba(255,255,255,0.5),
        0 0 calc(12px + var(--vol, 0)*40px) var(--cover-main-color, orange),
        0 0 calc(25px + var(--vol, 0)*60px) var(--cover-main-color, orange);

    transition: text-shadow .1s linear;
}


/* ===== VISUALIZADOR CANVAS RADIO TARSUS ===== */
.rt-eq{display:none !important;}
.header-player{position:relative !important;overflow:hidden !important;}
.header-player-inner{position:relative;z-index:3;}
.visualizer{position:absolute;inset:auto -20px -20px;z-index:1;pointer-events:none;display:flex;align-items:flex-end;justify-content:space-around;height:100%;opacity:.1;}
.visualizer canvas,.visualizer-item{width:100%;height:100%;display:block;}
.visualizer-filter{display:none;}
.visualizer.is-wave{filter:url(#gooey);}
body:not(.is-playing) .visualizer{opacity:0;}
body.is-playing .visualizer,body.playing .visualizer{opacity:.1;}
#eventsSection{display:none !important;}
.events-drawer .events-sidebar-list{display:flex;flex-direction:column;gap:14px;margin-top:8px;}
.events-drawer .event-link{width:210px;height:210px;flex:none;margin:0 auto;border-radius:18px;background:#222;}
.events-drawer .event-link img{width:210px;height:210px;object-fit:cover;border-radius:18px;border:2px solid transparent;background:#222;}


/* === MINI PLAYER STICKY RADIO TARSUS === */
.rt-mini-player{
    position:fixed;
    left:10px;
    right:10px;
    bottom:10px;
    min-height:66px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    padding:10px 16px;
    border-radius:16px;
    background:rgba(18,18,18,.92);
    color:#fff;
    box-shadow:0 18px 45px rgba(0,0,0,.34);
    backdrop-filter:blur(14px);
    -webkit-backdrop-filter:blur(14px);
    z-index:999999;
    transform:translateY(calc(100% + 24px));
    opacity:0;
    pointer-events:none;
    transition:transform .28s ease, opacity .28s ease;
}
.rt-mini-player.show{transform:translateY(0);opacity:1;pointer-events:auto;}
.rt-mini-left{display:flex;align-items:center;gap:12px;min-width:0;flex:1;}
.rt-mini-cover{width:48px;height:48px;border-radius:10px;object-fit:cover;flex:none;background:#222;}
.rt-mini-meta{min-width:0;}
.rt-mini-title,.rt-mini-artist{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.rt-mini-title{font-size:14px;font-weight:900;text-transform:uppercase;line-height:1.15;}
.rt-mini-artist{margin-top:3px;font-size:11px;font-weight:700;opacity:.68;text-transform:uppercase;}
.rt-mini-controls,.rt-mini-right{display:flex;align-items:center;gap:10px;flex:none;}
.rt-mini-icon,.rt-mini-play{border:0;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;color:#fff;transition:transform .18s ease, background .18s ease;}
.rt-mini-icon{width:34px;height:34px;border-radius:999px;background:rgba(255,255,255,.08);}
.rt-mini-play{width:42px;height:42px;border-radius:999px;background:#18d66b;}
.rt-mini-icon:hover,.rt-mini-play:hover{transform:translateY(-1px) scale(1.03);}
.rt-mini-icon svg,.rt-mini-play svg{width:20px;height:20px;}
.rt-mini-volume{width:106px;accent-color:#18d66b;}
body.light-mode .rt-mini-player{background:rgba(255,255,255,.88);color:#111;box-shadow:0 18px 42px rgba(0,0,0,.16);}
body.light-mode .rt-mini-icon{background:rgba(0,0,0,.08);color:#111;}
@media(max-width:700px){.rt-mini-player{left:8px;right:8px;bottom:8px;gap:8px;padding:9px 10px}.rt-mini-cover{width:44px;height:44px}.rt-mini-title{font-size:12px}.rt-mini-artist{font-size:10px}.rt-mini-volume{display:none}.rt-mini-icon{width:32px;height:32px}.rt-mini-play{width:40px;height:40px}}

/* === FOOTER + ESPACIO PARA MINI PLAYER === */
.wrap{padding-bottom:110px;}
.rt-site-footer{max-width:1080px;margin:34px auto 120px;padding:18px 20px;display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;color:var(--text);font-size:13px;font-weight:800;text-transform:uppercase;opacity:.9;}
.rt-site-footer strong{color:inherit;font-weight:900;}
.rt-site-footer a{color:inherit;text-decoration:none;transition:opacity .2s ease,color .2s ease;}
.rt-site-footer a:hover{color:var(--accent);opacity:1;}
.rt-site-footer .rt-footer-sep{opacity:.45;}
body.light-mode .rt-site-footer{color:#111;}
@media(max-width:700px){.wrap{padding-bottom:120px}.rt-site-footer{margin-bottom:128px;font-size:12px;gap:9px;padding-left:14px;padding-right:14px;}}

/* === Correcciones localizadas sidebar/eventos === */
#eventsSection{display:none !important;}
.station-drawer .drawer-head strong{display:none !important;}
.events-drawer .events-sidebar-list{display:flex;flex-direction:column;gap:14px;margin-top:8px;align-items:center;}
.events-drawer .event-link{width:230px !important;height:130px !important;flex:none;margin:0 auto;border-radius:18px;background:#222;overflow:hidden;box-shadow:0 12px 26px rgba(0,0,0,.28);transition:transform .22s ease,box-shadow .22s ease;}
.events-drawer .event-link img{width:230px !important;height:130px !important;object-fit:cover;border-radius:18px;border:2px solid transparent;background:#222;transition:transform .22s ease,border-color .22s ease;}
.events-drawer .event-link:hover{transform:translateY(-2px);box-shadow:0 18px 34px rgba(0,0,0,.36);}
.events-drawer .event-link:hover img{transform:scale(1.05);border-color:var(--cover-main-color,#C11007);}


/* ==========================================================
   MODO CLARO CORREGIDO - PLAYER + HEADER + EN VIVO + EQ
   Reglas finales limpias para evitar sobrescrituras previas.
   ========================================================== */

body.light-mode .header-player,
body.light-mode .top-nav{
    position:relative !important;
    background:transparent !important;
    background-color:transparent !important;
    overflow:hidden !important;
    isolation:isolate !important;
}

body.light-mode .header-player::before,
body.light-mode .top-nav::before{
    content:"" !important;
    display:block !important;
    position:absolute !important;
    inset:0 !important;
    background-image:var(--player-bg-cover, none) !important;
    background-size:cover !important;
    background-position:center !important;
    opacity:.85 !important;
    filter:blur(34px) saturate(1.15) !important;
    transform:scale(1.08) !important;
    z-index:-2 !important;
    pointer-events:none !important;
}

body.light-mode .header-player::after,
body.light-mode .top-nav::after{
    content:"" !important;
    display:block !important;
    position:absolute !important;
    inset:0 !important;
    background:linear-gradient(90deg,rgba(255,255,255,.86),rgba(255,255,255,.74),rgba(255,255,255,.86)) !important;
    z-index:-1 !important;
    pointer-events:none !important;
}

body.light-mode .top-nav .nav-btn,
body.light-mode .top-nav .nav-btn *,
body.light-mode .theme-btn,
body.light-mode .theme-btn *{
    color:#111 !important;
    fill:currentColor !important;
}

body.light-mode .rt-player,
body.light-mode .rt-player *,
body.light-mode #playerTitle,
body.light-mode #playerSubtitle,
body.light-mode .rt-assistants,
body.light-mode .rt-assistants *,
body.light-mode .rt-assistants a,
body.light-mode .rt-assistants a *{
    color:#111 !important;
}

body.light-mode .rt-player svg,
body.light-mode .rt-player svg path{
    fill:currentColor !important;
}

body.light-mode .rt-live,
body.light-mode .rt-live strong,
body.light-mode .rt-live b{
    color:#111 !important;
}

body.light-mode .rt-live span,
body.light-mode #liveStatusBadge,
body.light-mode .rt-live b{
    background:#C11007 !important;
    color:#fff !important;
    border-radius:7px !important;
    position:relative !important;
    overflow:hidden !important;
    letter-spacing:.08em !important;
    box-shadow:0 0 18px rgba(193,16,7,.45) !important;
}

body.light-mode .rt-live span::before,
body.light-mode #liveStatusBadge::before{
    content:"" !important;
    position:absolute !important;
    inset:0 !important;
    background:linear-gradient(120deg,transparent 0%,rgba(255,255,255,.45) 45%,transparent 70%) !important;
    transform:translateX(-120%);
    animation:onAirSweep 2.2s ease-in-out infinite !important;
    pointer-events:none !important;
}

body.light-mode .rt-live span::after,
body.light-mode #liveStatusBadge::after{
    content:"" !important;
    position:absolute !important;
    inset:-4px !important;
    border-radius:inherit !important;
    box-shadow:0 0 14px rgba(193,16,7,.75) !important;
    opacity:.75 !important;
    animation:onAirGlow 1.6s ease-in-out infinite !important;
    pointer-events:none !important;
}

body.light-mode #visualizerCanvas,
body.light-mode .visualizer-item{
    opacity:.78 !important;
    filter:grayscale(1) brightness(.62) contrast(1.38) !important;
    mix-blend-mode:multiply !important;
}

body.light-mode .rt-eq,
body.light-mode .rt-eq *{
    filter:grayscale(1) brightness(.72) contrast(1.25) !important;
}

body.light-mode .header-player::before,
body.light-mode .header-player::after,
body.light-mode .top-nav::before,
body.light-mode .top-nav::after{
    visibility:visible !important;
}

/* ==========================================================
   AJUSTE FINAL MODO CLARO - HEADER TRANSPARENTE
   Solo afecta al menú header en modo claro.
   ========================================================== */
body.light-mode .top-nav{
  background:transparent !important;
  background-color:transparent !important;
  overflow:visible !important;
  isolation:auto !important;
}
body.light-mode .top-nav::before,
body.light-mode .top-nav::after{
  content:none !important;
  display:none !important;
  background:none !important;
  opacity:0 !important;
}




/* === PROGRAM ALARMS - Campana + Google Calendar === */
.program-card{position:relative;}
.program-alarm-btn{position:absolute;top:10px;right:10px;width:34px;height:34px;border-radius:999px;border:1px solid rgba(255,255,255,.22);background:rgba(0,0,0,.62);color:#fff;display:flex;align-items:center;justify-content:center;font-size:16px;line-height:1;cursor:pointer;z-index:8;box-shadow:0 8px 22px rgba(0,0,0,.24);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);transition:transform .22s ease,background .22s ease,box-shadow .22s ease;}
.program-alarm-btn:hover{transform:translateY(-2px) scale(1.05);background:rgba(193,16,7,.92);box-shadow:0 10px 28px rgba(193,16,7,.34);}
.program-alarm-pop{position:absolute;top:50px;right:10px;z-index:9;padding:7px 10px;border-radius:10px;background:rgba(0,0,0,.84);color:#fff;font-size:12px;font-weight:800;white-space:nowrap;pointer-events:none;opacity:0;transform:translateY(-6px);transition:opacity .2s ease,transform .2s ease;}
.program-alarm-btn:hover + .program-alarm-pop,.program-alarm-btn:focus + .program-alarm-pop{opacity:1;transform:translateY(0);}



/* Corrección puntual: sidebars sin título/cerrar y eventos rectangulares */
.station-drawer .drawer-head{display:none !important;}
.events-drawer .events-sidebar-list{display:flex;flex-direction:column;gap:14px;margin-top:8px;align-items:center;}
.events-drawer .event-link{width:230px !important;height:130px !important;flex:none;margin:0 auto;border-radius:18px;background:#222;overflow:hidden;box-shadow:0 12px 26px rgba(0,0,0,.28);transition:transform .22s ease,box-shadow .22s ease;}
.events-drawer .event-link img{width:230px !important;height:130px !important;object-fit:cover;border-radius:18px;border:2px solid transparent;background:#222;transition:transform .22s ease,border-color .22s ease;}
.events-drawer .event-link:hover{transform:translateY(-2px);box-shadow:0 18px 34px rgba(0,0,0,.36);}
.events-drawer .event-link:hover img{transform:scale(1.05);border-color:var(--cover-main-color,#C11007);}

/* === PWA INSTALL POPUP - Premium visual replica === */

.rt-pwa-premium-overlay{position:fixed;inset:0;z-index:1000005;display:none;align-items:center;justify-content:center;padding:22px;background:rgba(0,0,0,.68);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);}
.rt-pwa-premium-overlay.is-visible{display:flex;}
.rt-pwa-premium-box{width:min(580px,94vw);position:relative;text-align:center;color:#fff;border-radius:16px;padding:34px 34px 32px;background:radial-gradient(circle at 18% 15%, rgba(255,255,255,.18), transparent 28%),radial-gradient(circle at 78% 82%, rgba(255,255,255,.12), transparent 30%),rgba(68,68,68,.82);border:1px solid rgba(255,255,255,.12);box-shadow:0 24px 80px rgba(0,0,0,.54);backdrop-filter:blur(22px) saturate(1.18);-webkit-backdrop-filter:blur(22px) saturate(1.18);transform:translateY(14px) scale(.98);opacity:0;animation:rtPwaPremiumIn .28s ease forwards;}
@keyframes rtPwaPremiumIn{to{opacity:1;transform:translateY(0) scale(1)}}
.rt-pwa-premium-close{position:absolute;top:-9px;right:-9px;width:40px;height:40px;border:0;border-radius:999px;color:#fff;background:rgba(255,255,255,.18);font-size:30px;line-height:38px;font-weight:300;cursor:pointer;box-shadow:0 10px 26px rgba(0,0,0,.24);transition:transform .18s ease,background .18s ease;}
.rt-pwa-premium-close:hover{transform:scale(1.06);background:rgba(255,255,255,.26);}
.rt-pwa-premium-title{margin:0 0 12px;font-size:22px;line-height:1.16;font-weight:900;letter-spacing:-.02em;}
.rt-pwa-premium-text{max-width:520px;margin:0 auto 20px;color:rgba(255,255,255,.88);font-size:17px;line-height:1.42;font-weight:500;}
.rt-pwa-premium-btn{min-height:48px;display:inline-flex;align-items:center;justify-content:center;gap:11px;padding:0 21px;border:0;border-radius:999px;background:#fff;color:#090909;font-size:14px;font-weight:950;letter-spacing:.01em;cursor:pointer;box-shadow:0 14px 30px rgba(0,0,0,.22);transition:transform .2s ease,box-shadow .2s ease;}
.rt-pwa-premium-btn:hover{transform:translateY(-1px) scale(1.025);box-shadow:0 18px 36px rgba(0,0,0,.30);}
.rt-pwa-premium-btn:active{transform:translateY(0) scale(.98);}
.rt-pwa-windows-icon{width:18px;height:18px;display:inline-grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:2px;flex:none;}
.rt-pwa-windows-icon span{display:block;background:#070707;}
.rt-pwa-premium-hint{display:none;max-width:500px;margin:14px auto 0;color:rgba(255,255,255,.78);font-size:13px;line-height:1.45;}
.rt-pwa-premium-overlay.show-hint .rt-pwa-premium-hint{display:block;}
@media(max-width:560px){.rt-pwa-premium-box{padding:30px 22px 28px;border-radius:16px}.rt-pwa-premium-title{font-size:21px}.rt-pwa-premium-text{font-size:15.5px}.rt-pwa-premium-btn{min-height:46px;font-size:13px;padding:0 18px}}




/* Ajuste localizado: modo claro igual que modo oscuro solo en Programación y EN VIVO */
body.light-mode .program-tabs,
body.light .program-tabs{
    background:linear-gradient(90deg,#262626 0%, #333 100%) !important;
    border-radius:24px !important;
    overflow:hidden !important;
}
body.light-mode .program-tab,
body.light .program-tab{
    background:transparent !important;
    color:#fff !important;
    border:none !important;
    box-shadow:none !important;
}
body.light-mode .program-tab.active,
body.light-mode .program-tab.is-active,
body.light .program-tab.active,
body.light .program-tab.is-active{
    background:var(--accent) !important;
    color:#fff !important;
}
body.light-mode .rt-live,
body.light-mode .rt-live strong,
body.light .rt-live,
body.light .rt-live strong{
    color:#fff !important;
}
body.light-mode .rt-live span,
body.light-mode #liveStatusBadge,
body.light .rt-live span,
body.light #liveStatusBadge{
    background:#ff5a12 !important;
    color:#fff !important;
    border-radius:7px !important;
    box-shadow:0 0 18px rgba(255,90,18,.45) !important;
}



.rt-scroll-top{position:fixed;right:18px;bottom:86px;width:46px;height:46px;border:0;border-radius:999px;color:#fff;background:radial-gradient(circle at 35% 25%, rgba(255,255,255,.32), transparent 38%),linear-gradient(135deg, color-mix(in srgb, var(--cover-main-color, #C11007) 78%, #ffffff 8%), color-mix(in srgb, var(--cover-main-color, #C11007) 86%, #000000 18%));box-shadow:0 12px 34px color-mix(in srgb, var(--cover-main-color, #C11007) 48%, transparent),0 6px 22px rgba(0,0,0,.34),inset 0 0 0 1px rgba(255,255,255,.22);backdrop-filter:blur(16px) saturate(1.25);-webkit-backdrop-filter:blur(16px) saturate(1.25);display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:1000000;opacity:0;pointer-events:none;transform:translateY(18px) scale(.88);transition:opacity .24s ease, transform .34s cubic-bezier(.2,.9,.2,1), box-shadow .24s ease, background .24s ease;}
.rt-scroll-top.show{opacity:1;pointer-events:auto;transform:translateY(0) scale(1);}
.rt-scroll-top svg{width:22px;height:22px;position:relative;z-index:2;filter:drop-shadow(0 2px 6px rgba(0,0,0,.28));transition:transform .2s ease;}
.rt-scroll-top-ring{position:absolute;inset:-5px;border-radius:inherit;background:radial-gradient(circle, color-mix(in srgb, var(--cover-main-color, #C11007) 34%, transparent), transparent 66%);opacity:.52;transform:scale(.82);transition:opacity .24s ease, transform .24s ease;}
.rt-scroll-top:hover{transform:translateY(-2px) scale(1.04);box-shadow:0 16px 42px color-mix(in srgb, var(--cover-main-color, #C11007) 62%, transparent),0 8px 26px rgba(0,0,0,.4),inset 0 0 0 1px rgba(255,255,255,.3);}
.rt-scroll-top:hover svg{transform:translateY(-2px);}
.rt-scroll-top:hover .rt-scroll-top-ring{opacity:.78;transform:scale(1);}
.rt-scroll-top:active{transform:translateY(0) scale(.94);}
body.light-mode .rt-scroll-top,body.light .rt-scroll-top{color:#111;background:radial-gradient(circle at 35% 25%, rgba(255,255,255,.72), transparent 42%),linear-gradient(135deg, color-mix(in srgb, var(--cover-main-color, #C11007) 32%, #ffffff 68%), color-mix(in srgb, var(--cover-main-color, #C11007) 55%, #ffffff 45%));box-shadow:0 12px 30px color-mix(in srgb, var(--cover-main-color, #C11007) 28%, transparent),0 6px 18px rgba(0,0,0,.16),inset 0 0 0 1px rgba(255,255,255,.55);}
body.light-mode .rt-scroll-top:hover,body.light .rt-scroll-top:hover{color:#fff;}
@media(max-width:700px){.rt-scroll-top{right:14px;bottom:88px;width:44px;height:44px;}}
@supports not (background: color-mix(in srgb, red 50%, white)){.rt-scroll-top{background:var(--cover-main-color, #C11007);}}



.rt-pwa-premium-overlay{
  position:fixed !important;
  inset:0 !important;
  width:100vw !important;
  height:100vh !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  background:rgba(0,0,0,.58) !important;
  backdrop-filter:blur(6px);
  -webkit-backdrop-filter:blur(6px);
  z-index:999999 !important;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .25s ease, visibility .25s ease;
}

.rt-pwa-premium-overlay.is-visible{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
}

.rt-pwa-premium-box{
  position:relative !important;
  inset:auto !important;
  top:auto !important;
  right:auto !important;
  bottom:auto !important;
  left:auto !important;
  transform:scale(.92);
  width:min(580px, calc(100vw - 32px));
  max-height:calc(100vh - 32px);
  overflow:auto;
  margin:auto !important;
  padding:34px 28px 32px;
  border-radius:16px;
  text-align:center;
  color:#fff;
  background:rgba(80,80,80,.72);
  backdrop-filter:blur(22px);
  -webkit-backdrop-filter:blur(22px);
  border:1px solid rgba(255,255,255,.14);
  box-shadow:0 30px 90px rgba(0,0,0,.48);
  opacity:0;
  transition:transform .28s cubic-bezier(.2,.8,.2,1), opacity .22s ease;
}

.rt-pwa-premium-overlay.is-visible .rt-pwa-premium-box{
  transform:scale(1);
  opacity:1;
}

.rt-pwa-premium-close{
  position:absolute;
  top:-8px;
  right:-8px;
  width:42px;
  height:42px;
  border-radius:999px;
  border:0;
  background:rgba(255,255,255,.22);
  color:#fff;
  font-size:30px;
  line-height:42px;
  cursor:pointer;
}

.rt-pwa-premium-title{
  margin:0 0 14px;
  font-size:24px;
  font-weight:900;
}

.rt-pwa-premium-text{
  margin:0 auto 22px;
  max-width:520px;
  font-size:17px;
  line-height:1.45;
  color:rgba(255,255,255,.9);
}

.rt-pwa-premium-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  min-height:50px;
  padding:0 24px;
  border:0;
  border-radius:999px;
  background:#fff;
  color:#000;
  font-weight:900;
  cursor:pointer;
}

.rt-pwa-premium-hint{
  display:none;
  margin-top:14px;
  font-size:13px;
  color:rgba(255,255,255,.78);
}

.rt-pwa-premium-overlay.show-hint .rt-pwa-premium-hint{
  display:block;
}

.rt-pwa-windows-icon{
  width:18px;
  height:18px;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:2px;
}

.rt-pwa-windows-icon span{
  background:#000;
  display:block;
}

/* === Radio Tarsus: Desde el Inicio + Identificar canción === */
.rt-catchup-btn{
    border:0;
    min-height:44px;
    border-radius:999px;
    padding:0 18px 0 12px;
    display:inline-flex;
    align-items:center;
    gap:9px;
    cursor:pointer;
    background:rgba(255,255,255,.16);
    color:#fff;
    font-weight:900;
    text-transform:uppercase;
    transition:transform .22s ease, background .22s ease, box-shadow .22s ease;
}
.rt-catchup-btn:hover{
    transform:translateY(-2px);
    background:rgba(255,255,255,.24);
    box-shadow:0 12px 28px rgba(0,0,0,.28);
}
.rt-catchup-icon{
    width:30px;
    height:30px;
    border-radius:50%;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    background:rgba(255,255,255,.18);
    color:#fff;
}
.rt-catchup-icon svg{width:18px;height:18px}
body.catchup-mode .rt-catchup-btn{
    background:#ef4444;
    box-shadow:0 12px 28px rgba(239,68,68,.28);
}
.rt-identify-btn{
    width:44px;
    height:44px;
    min-width:44px;
    border:0;
    border-radius:50%;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    cursor:pointer;
    background:#171717;
    color:#fff;
    box-shadow:0 10px 24px rgba(0,0,0,.28);
    transition:transform .22s ease, box-shadow .22s ease, background .22s ease;
}
.rt-identify-btn:hover{
    transform:scale(1.08);
    background:#000;
    box-shadow:0 14px 30px rgba(0,0,0,.42);
}
.rt-identify-btn svg{width:24px;height:24px}
body.light-mode .rt-catchup-btn{
    background:rgba(0,0,0,.10) !important;
    color:#111 !important;
}
body.light-mode.catchup-mode .rt-catchup-btn{
    background:#ef4444 !important;
    color:#fff !important;
}
body.light-mode .rt-identify-btn{
    background:#111 !important;
    color:#fff !important;
}
@media(max-width:900px){
    .rt-actions{gap:12px !important; justify-content:center !important;}
    .rt-catchup-btn{padding:0 14px 0 10px; font-size:13px;}
}


/* === FIX VISUAL PREMIUM: Desde el Inicio + Identificar Canción === */
.rt-actions{
    gap:10px !important;
    align-items:center !important;
    flex-wrap:wrap !important;
}
.rt-catchup-btn{
    min-height:46px !important;
    height:46px !important;
    border:0 !important;
    border-radius:999px !important;
    padding:0 18px 0 11px !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:9px !important;
    cursor:pointer !important;
    background:rgba(255,255,255,.18) !important;
    color:#fff !important;
    font-weight:900 !important;
    text-transform:uppercase !important;
    letter-spacing:.01em !important;
    box-shadow:0 10px 24px rgba(0,0,0,.20) !important;
    backdrop-filter:blur(8px) !important;
    -webkit-backdrop-filter:blur(8px) !important;
    transition:transform .18s ease, background .18s ease, box-shadow .18s ease !important;
}
.rt-catchup-btn:hover{
    transform:translateY(-2px) !important;
    background:rgba(255,255,255,.26) !important;
    box-shadow:0 14px 30px rgba(0,0,0,.30) !important;
}
.rt-catchup-btn:disabled{
    opacity:.65 !important;
    cursor:wait !important;
    transform:none !important;
}
.rt-catchup-icon{
    width:34px !important;
    height:34px !important;
    min-width:34px !important;
    border-radius:50% !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    background:rgba(255,255,255,.18) !important;
    color:#fff !important;
}
.rt-catchup-icon svg{
    width:21px !important;
    height:21px !important;
    display:block !important;
}
.rt-catchup-btn b{
    font-size:15px !important;
    line-height:1 !important;
    color:#fff !important;
    white-space:nowrap !important;
}
body.catchup-mode .rt-catchup-btn{
    background:#ef4444 !important;
    color:#fff !important;
    box-shadow:0 12px 32px rgba(239,68,68,.35) !important;
}
body.catchup-mode .rt-catchup-icon{
    background:rgba(255,255,255,.20) !important;
}
.rt-identify-btn{
    width:46px !important;
    height:46px !important;
    min-width:46px !important;
    border:0 !important;
    border-radius:50% !important;
    padding:0 !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    cursor:pointer !important;
    background:rgba(255,255,255,.18) !important;
    color:#fff !important;
    box-shadow:0 10px 24px rgba(0,0,0,.22) !important;
    backdrop-filter:blur(8px) !important;
    -webkit-backdrop-filter:blur(8px) !important;
    transition:transform .18s ease, background .18s ease, box-shadow .18s ease !important;
}
.rt-identify-btn:hover{
    transform:translateY(-2px) scale(1.06) !important;
    background:#111 !important;
    box-shadow:0 14px 30px rgba(0,0,0,.35) !important;
}
.rt-identify-btn svg{
    width:25px !important;
    height:25px !important;
    display:block !important;
    fill:currentColor !important;
}
.rt-mecenas-btn,
.rt-accessibility,
.rt-icon-btn{
    width:46px !important;
    height:46px !important;
    min-width:46px !important;
}
body.light-mode .rt-catchup-btn{
    background:rgba(0,0,0,.16) !important;
    color:#111 !important;
}
body.light-mode .rt-catchup-btn b,
body.light-mode .rt-catchup-icon{
    color:#111 !important;
}
body.light-mode.catchup-mode .rt-catchup-btn,
body.light-mode.catchup-mode .rt-catchup-btn b,
body.light-mode.catchup-mode .rt-catchup-icon{
    background:#ef4444 !important;
    color:#fff !important;
}
body.light-mode .rt-identify-btn{
    background:rgba(0,0,0,.18) !important;
    color:#111 !important;
}
body.light-mode .rt-identify-btn:hover{
    background:#111 !important;
    color:#fff !important;
}
@media(max-width:900px){
    .rt-actions{gap:9px !important;justify-content:center !important;}
    .rt-catchup-btn{height:44px !important;min-height:44px !important;padding:0 13px 0 9px !important;}
    .rt-catchup-btn b{font-size:13px !important;}
    .rt-identify-btn,.rt-mecenas-btn,.rt-accessibility,.rt-icon-btn{width:44px !important;height:44px !important;min-width:44px !important;}
}

/* === Radio Tarsus V3: botones compactos Desde el Inicio + Identificar === */
.rt-actions{
    display:flex !important;
    align-items:center !important;
    gap:10px !important;
    flex-wrap:wrap !important;
}
.rt-catchup-btn{
    width:auto !important;
    height:44px !important;
    min-height:44px !important;
    max-height:44px !important;
    padding:0 18px 0 14px !important;
    border:0 !important;
    border-radius:999px !important;
    background:rgba(255,255,255,.22) !important;
    color:#fff !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:9px !important;
    font-size:14px !important;
    font-weight:900 !important;
    line-height:1 !important;
    text-transform:uppercase !important;
    white-space:nowrap !important;
    cursor:pointer !important;
    box-shadow:none !important;
    backdrop-filter:blur(8px) !important;
    -webkit-backdrop-filter:blur(8px) !important;
    transition:transform .18s ease, background .18s ease, box-shadow .18s ease !important;
}
.rt-catchup-btn:hover{
    transform:translateY(-1px) !important;
    background:rgba(255,255,255,.31) !important;
    box-shadow:0 10px 24px rgba(0,0,0,.22) !important;
}
.rt-catchup-btn:disabled{
    opacity:.65 !important;
    cursor:wait !important;
    transform:none !important;
}
.rt-catchup-icon{
    width:22px !important;
    height:22px !important;
    min-width:22px !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    color:#fff !important;
    background:transparent !important;
    border:0 !important;
    border-radius:0 !important;
}
.rt-catchup-icon svg{
    width:22px !important;
    height:22px !important;
    display:block !important;
}
.rt-catchup-icon svg path{
    fill:currentColor !important;
}
.rt-catchup-btn b,
#catchupText{
    color:#fff !important;
    font-size:14px !important;
    font-weight:900 !important;
    line-height:1 !important;
    display:inline-block !important;
    text-transform:uppercase !important;
}
body.catchup-mode .rt-catchup-btn{
    background:rgba(0,0,0,.62) !important;
    color:#fff !important;
}
body.catchup-mode .rt-catchup-btn:hover{
    background:rgba(0,0,0,.78) !important;
}
.rt-identify-btn,
.rt-mecenas-btn,
#shareNow.rt-icon-btn,
.rt-accessibility{
    width:44px !important;
    height:44px !important;
    min-width:44px !important;
    max-width:44px !important;
    min-height:44px !important;
    max-height:44px !important;
    padding:0 !important;
    border:0 !important;
    border-radius:50% !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    overflow:hidden !important;
    line-height:1 !important;
    box-shadow:none !important;
    cursor:pointer !important;
    transition:transform .18s ease, background .18s ease, box-shadow .18s ease !important;
}
.rt-identify-btn{
    background:rgba(255,255,255,.22) !important;
    color:#fff !important;
    backdrop-filter:blur(8px) !important;
    -webkit-backdrop-filter:blur(8px) !important;
}
.rt-identify-btn:hover{
    transform:translateY(-1px) scale(1.04) !important;
    background:rgba(0,0,0,.72) !important;
    box-shadow:0 10px 24px rgba(0,0,0,.24) !important;
}
.rt-identify-btn svg{
    width:23px !important;
    height:23px !important;
    display:block !important;
}
.rt-identify-btn svg path{
    fill:currentColor !important;
}
.rt-mecenas-btn svg,
#shareNow.rt-icon-btn svg,
.rt-accessibility svg{
    width:23px !important;
    height:23px !important;
    display:block !important;
}
body.light-mode .rt-catchup-btn,
body.light-mode .rt-catchup-btn b,
body.light-mode #catchupText,
body.light-mode .rt-catchup-icon,
body.light-mode .rt-identify-btn{
    color:#fff !important;
}
body.light-mode .rt-catchup-btn,
body.light-mode .rt-identify-btn{
    background:rgba(0,0,0,.35) !important;
}
body.light-mode.catchup-mode .rt-catchup-btn{
    background:rgba(0,0,0,.72) !important;
}
.rt-catchup-status{
    width:100%;
    margin-top:7px;
    color:rgba(255,255,255,.78);
    font-size:13px;
    font-weight:500;
}
@media(max-width:700px){
    .rt-actions{gap:8px !important;}
    .rt-catchup-btn{height:42px !important;min-height:42px !important;padding:0 13px 0 11px !important;}
    .rt-catchup-btn b,#catchupText{font-size:12px !important;}
    .rt-identify-btn,.rt-mecenas-btn,#shareNow.rt-icon-btn,.rt-accessibility{width:42px !important;height:42px !important;min-width:42px !important;}
}

#rtRealtimeBox {
  margin-top: 14px !important;
  display: flex !important;
  opacity: 1 !important;
  visibility: visible !important;
  position: relative !important;
  z-index: 20 !important;
}

#rtProgressWrapPro {
  display: block !important;
  width: min(420px, 100%) !important;
  height: 7px !important;
  margin-top: 8px !important;
  background: rgba(255,255,255,.22) !important;
}

#rtProgressFillPro {
  display: block !important;
  height: 100% !important;
  min-width: 4px;
}

#rtProgressTimePro {
  display: flex !important;
  width: min(420px, 100%) !important;
}

/* =========================================================
   RADIO TARSUS - COVER PLAYER CUADRADO FORZADO
========================================================= */

.rt-cover {
    width: 290px !important;
    height: 290px !important;
    aspect-ratio: 1 / 1 !important;
    overflow: hidden !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: #111 !important;
    border-radius: 18px !important;
}

/* Imagen real del cover */
.rt-cover img#playerCover,
#playerCover {
    width: 100% !important;
    height: 100% !important;
    max-width: 100% !important;
    max-height: 100% !important;
    object-fit: contain !important;
    object-position: center center !important;
    display: block !important;
    transform: none !important;
}