/* ===========================================================
   Radiomex — Estilos del sitio público
   Basado en disenos/home-radiomex/home-radiomex.dc.html
   --brand y --accent se inyectan desde Ajustes (brand_css_vars()).
   =========================================================== */
:root{
  --brand:#4A1C8C;
  --brand-soft:rgba(74,28,140,.14);
  --accent:#FC5C03;
  --ink:#241A3D;          /* azul marino del logo */
  --ink-2:#4E4462;
  --muted:#6B5F80;
  --bg:#FBF9FE;
  --surface:#FFFFFF;
  --tint:#F4F0FB;
  --line:#ECE6F5;
  --line-2:#D6CCE6;
  --on-brand:#E4D9F7;
  --live:#C4260A;
  --pulse:#FF5A3C;
  --grad:linear-gradient(180deg,#FC5C03 0%,#B63046 50%,#6F0389 100%);
  /* tokens que cambian con el tema */
  color-scheme:light;
  --link:var(--brand);             /* morado como texto (enlaces, títulos pequeños) */
  --ring:var(--brand);             /* borde del programa al aire */
  --ring-soft:var(--brand-soft);
  --hero-bg:var(--brand);
  --footer-bg:var(--brand);
  --night:#241A3D;                 /* fondo de chart, anúnciate y reproductor */
  --on-accent:#241A3D;             /* texto sobre el naranja */
  --field:#FFFFFF;
  --chip:#FFFFFF;
  --tag-ink:#3D2370;
  --media-bg:#E9E1F7;
  --ok:#1E7A46;
  --shadow:42,15,85;               /* rgb de las sombras */
  --font-display:'Bricolage Grotesque',system-ui,sans-serif;
  --font-body:'Figtree',system-ui,sans-serif;
  --wrap:1240px;
  --pad:24px;
  --player-h:72px;
}

/* ---------- tema oscuro ---------- */
html[data-theme="dark"]{
  color-scheme:dark;
  --ink:#F2EDFB;
  --ink-2:#CEC4E2;
  --muted:#A297BB;
  --bg:#0E0A18;
  --surface:#1D1630;
  --tint:#161026;
  --line:#2C2444;
  --line-2:#40355E;
  --link:var(--brand-light,#B79BEA);
  --ring:var(--brand-light,#B79BEA);
  --ring-soft:var(--brand-light-soft,rgba(183,155,234,.2));
  --hero-bg:var(--brand-deep,#2E1458);
  --footer-bg:var(--brand-deep,#2E1458);
  --night:#1A1330;
  --field:#130E21;
  --chip:#1D1630;
  --tag-ink:#E4D9F7;
  --media-bg:#241B39;
  --ok:#4ADE80;
  --shadow:0,0,0;
}
/* las fotos de programas/locutores son tarjetas blancas: en oscuro se atenúan un poco */
html[data-theme="dark"] .rm-show-media img,html[data-theme="dark"] .rm-slide-media img,
html[data-theme="dark"] .rm-host-photo img,html[data-theme="dark"] .rm-prog-media img{filter:brightness(.9)}
/* transición suave al cambiar de tema (no al cargar) */
html.rm-theme-anim body,html.rm-theme-anim body *{transition:background-color .3s ease,border-color .3s ease,color .3s ease!important}

/* Tipografías propias (subconjunto latino: español completo). Licencia SIL Open Font License. */
@font-face{font-family:'Bricolage Grotesque';font-style:normal;font-weight:200 800;font-display:swap;
  src:url(../fonts/bricolage-grotesque-latin.woff2) format('woff2')}
@font-face{font-family:'Figtree';font-style:normal;font-weight:300 900;font-display:swap;
  src:url(../fonts/figtree-latin.woff2) format('woff2')}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:84px}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font-body);font-size:16px;line-height:1.5;
  -webkit-font-smoothing:antialiased;padding-bottom:var(--player-h);overflow-x:clip}
img{max-width:100%;display:block}
picture{display:contents}
a{color:var(--link)}
a:hover{color:var(--ink)}
button{font:inherit}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:-9999px;top:8px;z-index:1000;background:var(--night);color:#fff;padding:10px 16px;border-radius:8px}
.skip:focus{left:8px}
:focus-visible{outline:3px solid var(--accent);outline-offset:2px}

.rm-wrap{max-width:var(--wrap);margin:0 auto;padding:0 var(--pad)}
.rm-wrap-wide{max-width:1400px}
.rm-muted{color:var(--muted);margin:0}

/* ---------- banner del constructor de programas ----------
   El fondo cubre el contenedor; el escenario conserva 16:10 (centrado, "cover")
   y las imágenes van en % de ese escenario, así escala igual en cualquier tamaño. */
.rm-bnr{position:absolute;inset:0;display:block;overflow:hidden;container-type:size;background:#241A3D}
.rm-bnr-bg,.rm-bnr-bg img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.rm-bnr-stage{position:absolute;left:50%;top:50%;width:max(100cqw,160cqh);aspect-ratio:16 / 10;transform:translate(-50%,-50%)}
@supports not (width:1cqw){.rm-bnr-stage{width:100%}}
.rm-bnr-layer{position:absolute;display:block}
/* las reglas generales de cada sección (img al 100% de alto, contain, zoom…) no aplican aquí */
.rm-bnr .rm-bnr-layer img{position:static!important;display:block;width:100%!important;height:auto!important;max-width:none;object-fit:fill!important;transform:none!important;transition:none!important}
.rm-bnr .rm-bnr-bg img{object-fit:cover!important;transform:none!important}
.rm-bnr{transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.rm-slide-media:hover .rm-bnr,.rm-card:hover .rm-bnr{transform:scale(1.05)}

/* ---------- botones ---------- */
.rm-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:44px;padding:0 20px;border:0;
  border-radius:999px;font-weight:700;font-size:15px;text-decoration:none;cursor:pointer;white-space:nowrap;
  transition:transform .15s ease,filter .15s ease,background .15s ease}
.rm-btn:hover{filter:brightness(1.08)}
.rm-btn:active{transform:scale(.98)}
.rm-btn-lg{min-height:52px;padding:0 26px;font-size:17px}
.rm-btn[data-play-toggle] .ic-pause{display:none}
.rm-btn[data-play-toggle][aria-pressed="true"] .ic-play{display:none}
.rm-btn[data-play-toggle][aria-pressed="true"] .ic-pause{display:inline}
.rm-btn-brand{background:var(--brand);color:#fff}
.rm-btn-brand:hover{color:#fff}
.rm-btn-accent{background:var(--accent);color:var(--on-accent)}
.rm-btn-accent:hover{color:var(--on-accent)}
.rm-btn-outline{background:transparent;color:#fff;border:2px solid rgba(255,255,255,.5)}
.rm-btn-outline:hover{color:#fff;border-color:#fff}
.rm-btn-glass{background:rgba(255,255,255,.16);color:#fff;font-size:14px;padding:0 18px}
.rm-circle{width:48px;height:48px;border-radius:50%;border:1px solid rgba(255,255,255,.4);background:transparent;color:#fff;
  display:grid;place-items:center;cursor:pointer}
.rm-circle:hover{background:rgba(255,255,255,.12)}

.rm-dot{width:8px;height:8px;border-radius:50%;background:var(--pulse);flex-shrink:0;display:inline-block}
@keyframes rmPulse{0%{box-shadow:0 0 0 0 rgba(255,90,60,.65)}100%{box-shadow:0 0 0 10px rgba(255,90,60,0)}}
.rm-pulse{animation:rmPulse 1.4s ease-out infinite}

/* ---------- header ---------- */
.rm-header{position:sticky;top:0;z-index:50;background:var(--surface);border-bottom:1px solid var(--line)}
.rm-header-in{display:flex;align-items:center;gap:24px;padding-top:14px;padding-bottom:14px}
.rm-logo{display:block;flex-shrink:0}
.rm-logo img{height:44px;width:auto}
.rm-nav{display:flex;align-items:center;gap:28px;margin-left:auto}
.rm-nav a{text-decoration:none;font-weight:600;color:var(--ink)}
.rm-nav a:hover{color:var(--link)}
.rm-live-btn.is-playing .rm-dot{background:#fff}
.rm-theme{width:44px;height:44px;flex-shrink:0;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--ink);cursor:pointer;display:grid;place-items:center}
.rm-theme:hover{border-color:var(--link);color:var(--link)}
.rm-theme svg{grid-area:1/1;transition:transform .4s ease,opacity .3s ease}
.rm-theme .ic-moon{opacity:0;transform:rotate(-60deg) scale(.6)}
html[data-theme="dark"] .rm-theme .ic-sun{opacity:0;transform:rotate(60deg) scale(.6)}
html[data-theme="dark"] .rm-theme .ic-moon{opacity:1;transform:none}
.rm-logo-d{display:none}
html[data-theme="dark"] .rm-logo-l{display:none}
html[data-theme="dark"] .rm-logo-d{display:contents}
.rm-logo-l{display:contents}
.rm-menu{display:none;width:44px;height:44px;border:0;border-radius:12px;background:var(--tint);color:var(--ink);cursor:pointer;place-items:center}

/* ---------- hero / slider ---------- */
.rm-hero{position:relative;background:var(--hero-bg);color:#fff}
.rm-hero > .rm-wrap{position:relative;z-index:1}
/* modo oscuro: espacio profundo con nebulosas de la marca + estrellas animadas (canvas) */
html[data-theme="dark"] .rm-hero{background:
  radial-gradient(60% 80% at 12% 0%,rgba(111,3,137,.42) 0%,rgba(111,3,137,0) 70%),
  radial-gradient(50% 70% at 92% 100%,rgba(252,92,3,.16) 0%,rgba(252,92,3,0) 70%),
  radial-gradient(40% 60% at 60% 40%,rgba(74,28,140,.28) 0%,rgba(74,28,140,0) 70%),
  linear-gradient(180deg,#0A0616 0%,#120A26 55%,#0C0719 100%)}
.rm-hero-stars{position:absolute;inset:0;width:100%;height:100%;z-index:0;pointer-events:none;opacity:0;transition:opacity .8s ease}
.rm-hero-stars.is-on{opacity:1}
html:not([data-theme="dark"]) .rm-hero-stars{display:none}
.rm-hero-in{padding-top:56px;padding-bottom:36px;display:flex;flex-direction:column;gap:32px}
.rm-hero{--bleed:var(--pad)}
/* espacio extra alrededor para que la sombra de la tarjeta no se corte */
/* recorta de lado (las diapositivas ocultas no deben ensanchar la página) pero deja ver
   la sombra arriba y abajo; navegadores viejos sin "clip" usan hidden (sombra recortada) */
.rm-hero-view{margin:0 calc(var(--bleed) * -1);overflow-x:hidden;overflow-y:hidden;overflow-x:clip;overflow-y:visible;overflow-clip-margin:0}
.rm-track{display:flex;transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.rm-slide{flex:0 0 100%;min-width:0;display:flex;flex-wrap:wrap;gap:48px;align-items:center;padding:4px var(--bleed)}
/* sólo la diapositiva visible proyecta sombra (las vecinas se asomaban por el borde) */
.rm-slide[inert] .rm-slide-media{box-shadow:none;animation:none}
@media (min-width:1380px){.rm-hero{--bleed:72px}}
.rm-slide-copy{flex:1 1 440px;display:flex;flex-direction:column;gap:20px;min-width:0}
.rm-badge{align-self:flex-start;display:inline-flex;align-items:center;gap:10px;padding:8px 16px;border-radius:999px;
  font-size:13px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;background:rgba(255,255,255,.14);color:#fff}
.rm-badge .rm-dot{width:9px;height:9px;background:var(--on-brand)}
.rm-slide.is-live .rm-badge{background:#fff;color:#B5260C}
.rm-slide.is-live .rm-badge .rm-dot{background:var(--pulse)}
.rm-slide-title{margin:0;font-family:var(--font-display);font-weight:800;font-size:clamp(44px,6vw,72px);line-height:.98;letter-spacing:-.03em}
.rm-slide-sub{margin:0;font-size:22px;color:#EDE6F9;font-weight:500}
.rm-chips{display:flex;gap:10px;flex-wrap:wrap;font-size:15px;font-weight:700}
.rm-chips span{padding:6px 14px;border-radius:999px;background:rgba(255,255,255,.14)}
.rm-progress{display:flex;flex-direction:column;gap:8px;max-width:460px}
.rm-progress-bar{height:6px;border-radius:3px;background:rgba(255,255,255,.2);overflow:hidden}
.rm-progress-bar div{height:6px;background:var(--accent);transition:width .6s ease}
.rm-progress span{font-size:14px;color:var(--on-brand)}
.rm-hero-ctas{display:flex;gap:12px;flex-wrap:wrap}
.rm-slide:not(.is-live) [data-live-only]{display:none}
.rm-slide-media{flex:1 1 460px;min-width:0;position:relative;aspect-ratio:16/10;border-radius:28px;overflow:hidden;isolation:isolate;
  box-shadow:0 30px 60px rgba(20,6,45,.35);transition:box-shadow .5s ease,transform .5s ease}
.rm-slide-media img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.2,1)}
/* sombra interna degradada: oscurece la base para que se lea el conductor */
.rm-slide-media::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;border-radius:inherit;
  background:linear-gradient(to top,rgba(27,14,52,.86) 0%,rgba(27,14,52,.45) 26%,rgba(27,14,52,0) 52%),
             radial-gradient(130% 100% at 50% 35%,rgba(var(--shadow),0) 62%,rgba(var(--shadow),.22) 100%);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.08),inset 0 -50px 70px -40px rgba(111,3,137,.55)}
/* destello que cruza la imagen al pasar el mouse */
.rm-slide-media::before{content:"";position:absolute;top:0;bottom:0;left:-60%;width:45%;z-index:2;pointer-events:none;opacity:0;
  background:linear-gradient(100deg,rgba(255,255,255,0) 0%,rgba(255,255,255,.28) 50%,rgba(255,255,255,0) 100%);transform:skewX(-14deg)}
.rm-slide-host{position:absolute;left:24px;right:24px;bottom:20px;z-index:3;display:flex;flex-direction:column;gap:2px;color:#fff;text-shadow:0 2px 12px rgba(20,6,45,.55)}
.rm-slide-host span{font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#FFB59A}
.rm-slide-host b{font-family:var(--font-display);font-weight:800;font-size:clamp(20px,2.2vw,28px);line-height:1.1}
.rm-slide-media .rm-live-tag{z-index:3}
@keyframes rmOrbit{
  0%  {box-shadow:0 30px 60px rgba(20,6,45,.35),-18px 18px 52px rgba(252,92,3,.50),18px -12px 52px rgba(111,3,137,.55)}
  25% {box-shadow:0 30px 60px rgba(20,6,45,.35),18px 18px 52px rgba(252,92,3,.50),-18px -12px 52px rgba(111,3,137,.55)}
  50% {box-shadow:0 30px 60px rgba(20,6,45,.35),18px -12px 52px rgba(252,92,3,.50),-18px 18px 52px rgba(111,3,137,.55)}
  75% {box-shadow:0 30px 60px rgba(20,6,45,.35),-18px -12px 52px rgba(252,92,3,.50),18px 18px 52px rgba(111,3,137,.55)}
  100%{box-shadow:0 30px 60px rgba(20,6,45,.35),-18px 18px 52px rgba(252,92,3,.50),18px -12px 52px rgba(111,3,137,.55)}
}
@keyframes rmSheen{0%{left:-60%;opacity:0}15%{opacity:1}60%{left:120%;opacity:1}61%,100%{left:120%;opacity:0}}
@media (hover:hover){
  .rm-slide-media:hover{transform:translateY(-4px);animation:rmOrbit 3.2s linear infinite}
  .rm-slide-media:hover img{transform:scale(1.05)}
  .rm-slide-media:hover::before{animation:rmSheen 2.4s ease-in-out infinite}
}
.rm-live-tag{position:absolute;top:20px;left:20px;display:flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;
  background:var(--live);color:#fff;font-size:13px;font-weight:800;letter-spacing:.12em}
.rm-live-tag .rm-dot{background:#fff}
.rm-hero-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.rm-hero-clock{font-size:14px;font-weight:700;color:var(--on-brand);letter-spacing:.08em;text-transform:uppercase}
.rm-hero-nav{display:flex;align-items:center;gap:14px}
.rm-dots{display:flex;gap:8px;align-items:center}
.rm-dots{gap:0}
/* área táctil de 24 px; el punto visible se dibuja con ::before */
.rm-dots button{position:relative;width:24px;height:24px;border:0;padding:0;background:transparent;cursor:pointer;display:grid;place-items:center;transition:width .25s ease}
.rm-dots button::before{content:"";width:10px;height:10px;border-radius:5px;background:rgba(255,255,255,.4);transition:width .25s ease,background .25s ease}
.rm-dots button[aria-current="true"]{width:36px}
.rm-dots button[aria-current="true"]::before{width:28px;background:var(--accent)}
.rm-hero-empty{padding:24px 0}

/* placeholders sin foto */
.rm-ph{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:var(--tag-ink);font-weight:700;font-size:14px;text-align:center;padding:12px}
.rm-ph svg{width:32px;height:32px}
.rm-ph-lg svg{width:64px;height:64px}
.rm-ph-lg{font-size:18px}

/* ---------- secciones ---------- */
.rm-section{padding:72px 0 40px}
.rm-section-tight{padding:40px 0}
.rm-section-tint{background:var(--tint);margin-top:40px;padding-bottom:72px}
.rm-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;margin-bottom:28px}
.rm-kicker{font-size:13px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--link)}
.rm-kicker-accent{color:var(--accent)}
.rm-h2{margin:6px 0 0;font-family:var(--font-display);font-weight:800;font-size:clamp(34px,4vw,48px);letter-spacing:-.02em;line-height:1.05}
.rm-h3{margin:6px 0 8px;font-family:var(--font-display);font-weight:800;font-size:clamp(30px,3.4vw,40px);line-height:1.05}
.rm-legend{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:600;color:var(--ink-2)}
.rm-legend .rm-dot{width:10px;height:10px}

/* ---------- programación semanal ---------- */
.rm-daytabs{display:flex;gap:8px;margin:0 0 28px;padding:6px;background:var(--tint);border-radius:18px;overflow-x:auto;scrollbar-width:none}
.rm-daytabs::-webkit-scrollbar{display:none}
.rm-daytabs button{flex:1 0 auto;display:flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 18px;border:0;border-radius:13px;
  background:transparent;color:var(--ink-2);font-weight:700;font-size:15px;cursor:pointer;transition:background .2s ease,color .2s ease}
.rm-daytabs button:hover{background:var(--surface);color:var(--ink)}
.rm-daytabs button[aria-selected="true"]{background:var(--brand);color:#fff;box-shadow:0 8px 18px rgba(var(--shadow),.18)}
.rm-tab-short{display:none}
.rm-tab-today{font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;padding:2px 7px;border-radius:999px;background:var(--accent);color:var(--on-accent)}
.rm-day[hidden]{display:none}
.rm-day-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:18px}
.rm-day-head h3{margin:0;font-family:var(--font-display);font-weight:800;font-size:26px;display:flex;align-items:center;gap:10px}
.rm-today{font-family:var(--font-body);font-size:11px;padding:3px 9px;border-radius:999px;background:var(--brand);color:#fff;letter-spacing:.1em}
.rm-day-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:24px}
.rm-day-empty{font-size:15px;padding:24px 0}
.rm-card{transition:transform .25s ease,box-shadow .25s ease}
.rm-card:hover,.rm-card:focus-visible{transform:translateY(-6px);box-shadow:0 18px 36px rgba(var(--shadow),.18)}
.rm-img{transition:transform .45s ease}
.rm-card:hover .rm-img,.rm-card:focus-visible .rm-img{transform:scale(1.08)}
.rm-show{display:flex;flex-direction:column;gap:14px;border-radius:22px;text-decoration:none;color:var(--ink);background:var(--surface);
  padding:12px;border:1px solid var(--line)}
.rm-show:hover{color:var(--ink)}
.rm-show.is-live{padding:10px;border:3px solid var(--ring);box-shadow:0 0 0 5px var(--ring-soft),0 16px 32px rgba(var(--shadow),.16)}
.rm-show-media{position:relative;aspect-ratio:16/10;border-radius:14px;overflow:hidden}
.rm-show-body{display:flex;flex-direction:column;gap:6px;padding:0 6px 6px}
.rm-show-meta{display:flex;align-items:center;justify-content:space-between;gap:8px}
.rm-show-media img{width:100%;height:100%;object-fit:cover}
.rm-live-sm{top:12px;left:12px;gap:6px;padding:6px 11px;font-size:12px;letter-spacing:.1em}
.rm-live-sm .rm-dot{width:6px;height:6px}
.rm-show:not(.is-live) .rm-live-tag{display:none}
.rm-show-time{font-size:15px;font-weight:800;font-variant-numeric:tabular-nums;color:var(--link)}
.rm-show-name{font-family:var(--font-display);font-weight:700;font-size:21px;line-height:1.15}
.rm-show-sub{font-size:14px;color:var(--muted)}
.rm-tag{flex-shrink:0;padding:3px 10px;border-radius:999px;background:var(--tint);color:var(--tag-ink);font-size:12px;font-weight:700}

/* ---------- chart ---------- */
.rm-chart{background:var(--night);color:#fff;border-radius:24px;padding:32px;display:grid;grid-template-columns:minmax(220px,1fr) 2fr;gap:24px 48px;align-items:center}
.rm-chart .rm-h3{margin-bottom:0}
.rm-chart-list{list-style:none;margin:0;padding:0}
.rm-chart-list li{display:flex;align-items:center;gap:18px;padding:14px 0;border-top:1px solid rgba(255,255,255,.14)}
.rm-chart-list li:first-child{border-top:0}
.rm-chart-n{font-family:var(--font-display);font-weight:800;font-size:40px;width:40px;color:var(--accent);line-height:1}
.rm-chart-t{display:flex;flex-direction:column;min-width:0}
.rm-chart-t b{font-size:17px}
.rm-chart-t span{color:#C9BEDD;font-size:14px}

/* ---------- notas ---------- */
.rm-news{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
/* tarjeta vertical: foto de fondo, degradado como el del slider y texto encima */
.rm-news-card{position:relative;display:block;aspect-ratio:3/4;border-radius:22px;overflow:hidden;isolation:isolate;text-decoration:none;color:#fff;
  background:#2A1A4A;box-shadow:0 14px 30px rgba(var(--shadow),.16);transition:transform .35s ease,box-shadow .35s ease}
.rm-news-card:hover,.rm-news-card:focus-visible{color:#fff;transform:translateY(-6px);box-shadow:0 24px 44px rgba(var(--shadow),.28)}
.rm-news-media{position:absolute;inset:0;background:var(--media-bg)}
.rm-news-media img{width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,.7,.2,1)}
.rm-news-card:hover .rm-news-media img,.rm-news-card:focus-visible .rm-news-media img{transform:scale(1.07)}
.rm-news-media .rm-ph{background:var(--grad)}
.rm-news-media .rm-ph img{opacity:.9;border-radius:12px;width:72px;height:72px;object-fit:contain}
.rm-news-card::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(to top,rgba(27,14,52,.97) 0%,rgba(27,14,52,.86) 32%,rgba(27,14,52,.4) 56%,rgba(27,14,52,0) 74%),
             linear-gradient(to bottom,rgba(27,14,52,.35) 0%,rgba(27,14,52,0) 22%);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.06),inset 0 -60px 80px -50px rgba(111,3,137,.6);transition:opacity .35s ease}
.rm-news-cat{position:absolute;top:14px;left:14px;z-index:2;max-width:calc(100% - 28px);padding:6px 12px;border-radius:999px;background:var(--accent);color:var(--on-accent);
  font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rm-news-over{position:absolute;left:0;right:0;bottom:0;z-index:2;display:flex;flex-direction:column;gap:8px;padding:20px 20px 22px}
.rm-news-meta{font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#E4D9F7}
.rm-news-title{font-family:var(--font-display);font-weight:700;font-size:19px;line-height:1.22;text-shadow:0 2px 10px rgba(20,6,45,.45);
  display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden}

/* ---------- spotify ---------- */
.rm-spotify{display:grid;grid-template-columns:minmax(220px,1fr) 2fr;gap:24px 48px;align-items:center;background:var(--night);color:#fff;border-radius:24px;padding:32px;
  box-shadow:0 18px 40px rgba(var(--shadow),.18)}
.rm-spotify-copy{display:flex;flex-direction:column;align-items:flex-start;gap:12px}
.rm-spotify .rm-h3{margin:0 0 8px}
.rm-spotify-player{min-width:0;border-radius:14px;overflow:hidden;background:rgba(255,255,255,.06)}
.rm-spotify-player iframe{display:block;border:0;border-radius:14px}

/* ---------- locutores ---------- */
.rm-hosts-nav{display:flex;gap:10px}
.rm-circle-dark{border-color:var(--line-2);color:var(--ink);background:var(--surface)}
.rm-circle-dark:hover{background:var(--brand);border-color:var(--brand);color:#fff}
/* contenedor con scroll (se puede arrastrar/deslizar) que el JS avanza solo */
.rm-hosts-view{overflow-x:auto;overflow-y:hidden;scrollbar-width:none;-webkit-overflow-scrolling:touch;padding:28px 0 32px;margin:-20px 0 -16px;cursor:grab;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent);mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent)}
.rm-hosts-view::-webkit-scrollbar{display:none}
.rm-hosts-view.is-dragging{cursor:grabbing;user-select:none}
.rm-hosts-view img{-webkit-user-drag:none;user-select:none}
.rm-hosts-view:focus-visible{outline-offset:-3px}
.rm-hosts-track{display:flex;width:max-content}
.rm-hosts-view{position:relative}   /* las tarjetas miden su posición respecto al carrusel */
.rm-hosts-dots{display:none}
.rm-hosts-group{display:flex;gap:24px;padding-right:24px}
.rm-host{flex:0 0 auto;width:280px}   /* ancho fijo: Safari no calcula bien la tira con flex-basis */
.rm-host-photo{position:relative;aspect-ratio:3/4;border-radius:22px;overflow:hidden;isolation:isolate;background:var(--grad);display:grid;place-items:center;
  box-shadow:0 12px 26px rgba(var(--shadow),.2);transition:box-shadow .5s ease,transform .5s ease}
.rm-host-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 30%;transition:transform .8s cubic-bezier(.2,.7,.2,1)}
/* mismo tratamiento que la imagen del slider: sombra interna degradada + destello */
.rm-host-photo::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;border-radius:inherit;
  background:linear-gradient(to top,rgba(27,14,52,.94) 0%,rgba(27,14,52,.7) 24%,rgba(27,14,52,.15) 46%,rgba(27,14,52,0) 60%),
             radial-gradient(130% 100% at 50% 35%,rgba(42,15,85,0) 62%,rgba(42,15,85,.2) 100%);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.08),inset 0 -50px 70px -40px rgba(111,3,137,.6)}
.rm-host-photo::before{content:"";position:absolute;top:0;bottom:0;left:-60%;width:45%;z-index:2;pointer-events:none;opacity:0;
  background:linear-gradient(100deg,rgba(255,255,255,0) 0%,rgba(255,255,255,.3) 50%,rgba(255,255,255,0) 100%);transform:skewX(-14deg)}
@keyframes rmOrbitSm{
  0%  {box-shadow:0 12px 24px rgba(var(--shadow),.25),-10px 10px 28px rgba(252,92,3,.5),10px -8px 28px rgba(111,3,137,.55)}
  25% {box-shadow:0 12px 24px rgba(var(--shadow),.25),10px 10px 28px rgba(252,92,3,.5),-10px -8px 28px rgba(111,3,137,.55)}
  50% {box-shadow:0 12px 24px rgba(var(--shadow),.25),10px -8px 28px rgba(252,92,3,.5),-10px 10px 28px rgba(111,3,137,.55)}
  75% {box-shadow:0 12px 24px rgba(var(--shadow),.25),-10px -8px 28px rgba(252,92,3,.5),10px 10px 28px rgba(111,3,137,.55)}
  100%{box-shadow:0 12px 24px rgba(var(--shadow),.25),-10px 10px 28px rgba(252,92,3,.5),10px -8px 28px rgba(111,3,137,.55)}
}
@media (hover:hover){
  .rm-host:hover .rm-host-photo{transform:translateY(-3px);animation:rmOrbitSm 3.2s linear infinite}
  .rm-host:hover .rm-host-photo img{transform:scale(1.06)}
  .rm-host:hover .rm-host-photo::before{animation:rmSheen 2.4s ease-in-out infinite}
}
.rm-host-initial{font-family:var(--font-display);font-weight:800;font-size:96px;color:#fff;position:relative;z-index:0}
.rm-host-over{position:absolute;left:0;right:0;bottom:0;z-index:3;display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:18px 18px 18px;color:#fff}
.rm-host-over h3{margin:0;font-family:var(--font-display);font-weight:800;font-size:22px;line-height:1.1;text-shadow:0 2px 12px rgba(20,6,45,.5)}
.rm-host-role{font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#FFB59A}
.rm-host-more{margin-top:10px;display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:0 14px;border-radius:999px;border:1px solid rgba(255,255,255,.45);
  background:rgba(255,255,255,.14);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:#fff;font-weight:700;font-size:13px;cursor:pointer;transition:background .2s ease,border-color .2s ease,color .2s ease}
.rm-host-more:hover,.rm-host-more:focus-visible{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}

/* tarjeta flotante con el detalle del locutor */
.rm-host-dialog{padding:0;border:0;background:transparent;max-width:min(880px,calc(100vw - 32px));width:100%;max-height:calc(100dvh - 48px);color:var(--ink);overflow:visible}
/* respaldo sin <dialog> nativo */
.rm-host-dialog.is-fallback{position:fixed;inset:0;margin:auto;z-index:1000;height:fit-content}
html.rm-dlg-open body::after{content:"";position:fixed;inset:0;z-index:999;background:rgba(14,8,30,.66)}
.rm-host-dialog::backdrop{background:rgba(14,8,30,.66);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.rm-host-dialog[open]{animation:rmDlgIn .35s cubic-bezier(.2,.7,.2,1)}
.rm-host-dialog[open]::backdrop{animation:rmFadeIn .3s ease}
@keyframes rmDlgIn{from{opacity:0;transform:translateY(18px) scale(.97)}to{opacity:1;transform:none}}
@keyframes rmFadeIn{from{opacity:0}to{opacity:1}}
.rm-hd-card{position:relative;background:var(--surface);border:1px solid var(--line);border-radius:28px;overflow:hidden;box-shadow:0 40px 90px rgba(10,4,26,.45)}
.rm-hd-content{display:grid;grid-template-columns:minmax(0,380px) minmax(0,1fr);max-height:calc(100dvh - 48px)}
.rm-hd-photo{position:relative;background:var(--grad);display:grid;place-items:center;min-height:100%}
.rm-hd-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 25%}
.rm-hd-photo{min-height:420px}
.rm-hd-photo::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(to top,rgba(27,14,52,.35),rgba(27,14,52,0) 40%)}
.rm-hd-body{padding:40px 36px 36px;overflow-y:auto;display:flex;flex-direction:column;gap:8px}
.rm-hd-name{margin:2px 0 0;font-family:var(--font-display);font-weight:800;font-size:clamp(28px,3.4vw,38px);line-height:1.05;letter-spacing:-.01em}
.rm-hd-role{font-size:13px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--link)}
.rm-hd-bio{margin-top:12px;font-size:16px;line-height:1.7;color:var(--ink-2)}
.rm-hd-bio p{margin:0 0 1em}
.rm-hd-socials{display:flex;gap:10px;flex-wrap:wrap;margin-top:auto;padding-top:12px}
.rm-hd-socials a{padding:8px 14px;border-radius:999px;border:1px solid var(--line-2);font-weight:700;font-size:14px;text-decoration:none}
.rm-hd-socials a:hover{border-color:var(--link)}
.rm-hd-close{position:absolute;top:14px;right:14px;z-index:2;width:42px;height:42px;border-radius:50%;border:0;background:var(--night);color:#fff;display:grid;place-items:center;cursor:pointer;box-shadow:0 6px 16px rgba(0,0,0,.3)}
.rm-hd-close:hover{background:var(--accent);color:var(--on-accent)}

/* ---------- app móvil ---------- */
.rm-app{position:relative;overflow:hidden;color:#fff;background:
  radial-gradient(50% 70% at 85% 30%,rgba(111,3,137,.45) 0%,rgba(111,3,137,0) 70%),
  radial-gradient(40% 60% at 70% 90%,rgba(252,92,3,.18) 0%,rgba(252,92,3,0) 70%),var(--night)}
.rm-app-in{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:48px;align-items:center;padding-top:88px;padding-bottom:88px}
.rm-app-kicker{display:flex;align-items:center;gap:14px;font-size:13px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:#C9BEDD}
.rm-app-kicker::before{content:"";width:40px;height:2px;border-radius:2px;background:linear-gradient(90deg,#FC5C03,#B63046,#6F0389)}
.rm-app-title{margin:18px 0 0;font-family:var(--font-display);font-weight:800;font-size:clamp(40px,5.4vw,72px);line-height:1;letter-spacing:-.03em}
.rm-app-text{margin:22px 0 0;max-width:560px;font-size:19px;line-height:1.55;color:#C9BEDD}
.rm-app-feats{list-style:none;margin:30px 0 0;padding:0;display:flex;flex-direction:column;gap:14px}
.rm-app-feats li{display:flex;align-items:center;gap:16px;font-size:17px;font-weight:500}
.rm-app-ic{flex:none;width:48px;height:48px;border-radius:14px;display:grid;place-items:center;color:#FF8A5C;
  background:linear-gradient(135deg,rgba(252,92,3,.18),rgba(111,3,137,.28));border:1px solid rgba(255,255,255,.1)}
.rm-stores{display:flex;gap:14px;flex-wrap:wrap;margin-top:34px}
.rm-store{display:flex;align-items:center;gap:14px;min-width:220px;padding:12px 22px;border-radius:16px;background:#000;color:#fff;text-decoration:none;
  border:1px solid rgba(255,255,255,.18);transition:transform .2s ease,border-color .2s ease}
a.rm-store:hover{color:#fff;transform:translateY(-2px);border-color:rgba(255,255,255,.45)}
.rm-store > span{display:flex;flex-direction:column;line-height:1.1}
.rm-store small{font-size:12px;letter-spacing:.06em;color:#D8D2E6;white-space:nowrap}
.rm-store b{font-size:22px;font-weight:700}
.rm-store.is-soon{opacity:.6;cursor:default}
.rm-app-rating{margin:22px 0 0;color:#C9BEDD;font-size:15px}
.rm-app-rating span{color:var(--accent);letter-spacing:2px}

/* celulares de muestra */
.rm-phones{position:relative;height:600px}
.rm-phone{position:absolute;width:270px;height:560px;border-radius:44px;background:#05030C;padding:10px;
  box-shadow:0 0 0 2px #2A2242,0 40px 80px rgba(0,0,0,.55),inset 0 0 0 1px rgba(255,255,255,.06)}
.rm-phone-front{right:4%;top:0;transform:rotate(3deg);z-index:2}
.rm-phone-back{right:40%;top:56px;transform:rotate(-9deg);opacity:.85;z-index:1}
.rm-phone-island{position:absolute;top:20px;left:50%;transform:translateX(-50%);width:92px;height:26px;border-radius:20px;background:#000;z-index:3}
.rm-phone-scr{position:relative;height:100%;border-radius:35px;overflow:hidden;background:#120C22;display:flex;flex-direction:column;font-size:12px}
.rm-phone-sb{display:flex;justify-content:space-between;padding:16px 24px 0;font-size:12px;font-weight:700;color:#E6E0F2}
.rm-ph-head{display:flex;align-items:center;justify-content:space-between;padding:20px 16px 10px}
.rm-ph-head img{height:22px;width:auto}
.rm-ph-bell{width:30px;height:30px;border-radius:10px;background:rgba(255,255,255,.08);display:grid;place-items:center;color:#E6E0F2}
.rm-ph-live{position:relative;margin:4px 12px 0;padding:14px;border-radius:18px;min-height:132px;display:flex;flex-direction:column;justify-content:flex-end;gap:2px;
  background:linear-gradient(135deg,#FC5C03 0%,#B63046 55%,#6F0389 100%);box-shadow:0 14px 30px rgba(111,3,137,.4)}
.rm-ph-live b{font-family:var(--font-display);font-size:15px;line-height:1.15}
.rm-ph-live small{font-size:11px;color:#FFE3D6}
.rm-ph-chip{position:absolute;top:12px;left:12px;display:inline-flex;align-items:center;gap:6px;padding:4px 9px;border-radius:999px;background:rgba(0,0,0,.35);font-size:10px;font-weight:800;letter-spacing:.12em}
.rm-ph-chip i{width:6px;height:6px;border-radius:50%;background:#fff}
.rm-ph-play{position:absolute;top:50%;left:50%;transform:translate(-50%,-70%);width:42px;height:42px;border-radius:50%;background:rgba(255,255,255,.22);display:grid;place-items:center;font-size:14px;
  border:1px solid rgba(255,255,255,.4)}
.rm-ph-sec{padding:14px 16px 6px;font-family:var(--font-display);font-weight:700;font-size:15px}
.rm-ph-row{display:flex;gap:10px;align-items:center;padding:6px 14px}
.rm-ph-th{position:relative;flex:none;width:62px;height:46px;border-radius:9px;overflow:hidden;background:#2A2242}
.rm-ph-th img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.rm-ph-cat{display:block;font-size:9px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#FF8A5C}
.rm-ph-t{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:11.5px;font-weight:600;line-height:1.3;color:#F2EDFB}
.rm-ph-tabs{margin-top:auto;display:flex;justify-content:space-around;padding:10px 6px 16px;border-top:1px solid rgba(255,255,255,.08);background:#0E0919}
.rm-ph-tabs span{display:flex;flex-direction:column;align-items:center;gap:3px;font-size:9.5px;color:#8C82A3}
.rm-ph-tabs .is-on{color:#FF8A5C}
.rm-ph-player{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;padding:30px 18px 0;position:relative}
.rm-ph-cover{position:relative;width:100%;aspect-ratio:1/1;border-radius:20px;overflow:hidden;background:var(--grad);box-shadow:0 18px 34px rgba(0,0,0,.45)}
.rm-ph-cover{background:#fff}
.rm-ph-cover img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
.rm-ph-player .rm-ph-chip{position:static;margin-top:16px;background:var(--live)}
.rm-ph-show{font-family:var(--font-display);font-size:17px;line-height:1.15}
.rm-ph-host{font-size:11px;color:#C9BEDD}
.rm-ph-bar{width:100%;height:4px;border-radius:2px;background:rgba(255,255,255,.15);margin-top:10px;overflow:hidden}
.rm-ph-bar span{display:block;width:45%;height:100%;background:var(--accent)}
.rm-ph-ctrls{display:flex;align-items:center;gap:22px;margin-top:12px;font-size:16px;color:#E6E0F2}
.rm-ph-big{width:50px;height:50px;border-radius:50%;background:var(--accent);color:#241A3D;display:grid;place-items:center;font-size:14px}

/* ---------- dedicatorias ---------- */
.rm-ded{background:var(--tint);border-radius:28px;padding:48px;display:flex;flex-wrap:wrap;gap:48px}
.rm-ded-form{flex:1 1 380px;display:flex;flex-direction:column;gap:18px;min-width:0}
.rm-field{display:flex;flex-direction:column;gap:6px;min-width:0}
.rm-field-row{display:flex;flex-wrap:wrap;gap:18px}
.rm-field-row .rm-field{flex:1 1 200px}
.rm-field label{font-weight:600;font-size:14px}
.rm-field input,.rm-field textarea{min-height:48px;padding:0 16px;border-radius:12px;border:1px solid var(--line-2);background:var(--field);font:inherit;font-size:16px;color:var(--ink);width:100%}
.rm-field textarea{padding:14px 16px;resize:vertical}
.rm-field input:focus,.rm-field textarea:focus{outline:none;border-color:var(--ring);box-shadow:0 0 0 4px var(--ring-soft)}
.rm-ded-form .rm-btn{align-self:flex-start}
.rm-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.rm-form-msg{margin:0;font-weight:600;min-height:1.5em}
.rm-form-msg.ok{color:var(--ok)}
.rm-form-msg.err{color:var(--live)}
.rm-ded-list{flex:1 1 380px;display:flex;flex-direction:column;gap:14px;min-width:0}
.rm-ded-list-title{font-weight:700;color:var(--ink-2)}
.rm-msg{background:var(--surface);border-radius:18px;padding:18px 20px;display:flex;gap:14px}
.rm-msg-av{width:44px;height:44px;flex-shrink:0;border-radius:50%;background:var(--brand);color:#fff;display:grid;place-items:center;font-weight:700}
.rm-msg p{margin:2px 0 0;color:var(--ink-2);overflow-wrap:anywhere}

/* ---------- anúnciate ---------- */
.rm-ads{background:var(--night);color:#fff;margin-top:48px}
/* si la sección de la app queda justo antes, se unen sin franja clara en medio */
.rm-app + .rm-ads{margin-top:0;border-top:1px solid rgba(255,255,255,.08)}
.rm-ads-in{padding-top:64px;padding-bottom:64px;display:flex;align-items:center;justify-content:space-between;gap:32px;flex-wrap:wrap}
.rm-ads-in > div:first-child{max-width:640px}
.rm-ads .rm-h3{margin-top:0}
.rm-ads p{margin:0;color:#C9BEDD;font-size:18px}
.rm-ads-ctas{display:flex;gap:12px;flex-wrap:wrap}

/* ---------- footer ---------- */
.rm-footer{background:var(--footer-bg);color:#fff}
.rm-footer .rm-wrap{padding-top:48px;padding-bottom:32px;display:flex;flex-direction:column;gap:32px}
.rm-footer-top{display:flex;justify-content:space-between;align-items:center;gap:32px;flex-wrap:wrap}
.rm-footer-brand{display:flex;flex-direction:column;gap:8px}
.rm-footer-brand img{height:48px;width:auto}
.rm-footer-brand span{color:var(--on-brand)}
.rm-footer-nav{display:flex;gap:24px;flex-wrap:wrap}
.rm-footer-nav a{color:#fff;text-decoration:none;font-weight:600}
.rm-footer-nav a:hover{color:var(--on-brand)}
.rm-socials{display:flex;gap:10px}
.rm-social{width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.4);display:grid;place-items:center;color:#fff}
.rm-social:hover{background:rgba(255,255,255,.14);color:#fff}
.rm-footer-bottom{border-top:1px solid rgba(255,255,255,.2);padding-top:20px;font-size:14px;color:var(--on-brand);display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}
.rm-footer-bottom a{color:var(--on-brand)}
.rm-form-legal{margin:-6px 0 0;font-size:13px;color:var(--muted)}

/* ---------- reproductor fijo ---------- */
.rm-player{position:fixed;left:0;right:0;bottom:0;z-index:60;height:var(--player-h);background:var(--night);color:#fff;
  box-shadow:0 -8px 30px rgba(20,6,45,.25)}
.rm-player::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:linear-gradient(90deg,#FC5C03,#B63046,#6F0389)}
.rm-player-in{position:relative;z-index:1;height:100%;display:flex;align-items:center;gap:16px}
/* ondas que reaccionan a la música (canvas detrás del contenido) */
.rm-player{overflow:hidden}
.rm-player::before{z-index:2}
.rm-player-waves{position:absolute;inset:0;width:100%;height:100%;z-index:0;pointer-events:none;opacity:.9}
.rm-player-now,.rm-player-tag{text-shadow:0 1px 8px rgba(10,6,22,.85)}
.rm-player-play{position:relative;width:48px;height:48px;border-radius:50%;border:0;background:var(--accent);color:var(--on-accent);display:grid;place-items:center;cursor:pointer;flex-shrink:0}
.rm-player-play svg{grid-area:1/1}
.rm-player-play .ic-pause,.rm-player-play .rm-spin{display:none}
.rm-player.is-playing .ic-play{display:none}
.rm-player.is-playing .ic-pause{display:block}
.rm-player.is-loading .ic-play,.rm-player.is-loading .ic-pause{display:none}
.rm-player.is-loading .rm-spin{display:block;grid-area:1/1;width:22px;height:22px;border-radius:50%;border:3px solid rgba(36,26,61,.25);border-top-color:var(--on-accent);animation:rmSpin .8s linear infinite}
@keyframes rmSpin{to{transform:rotate(360deg)}}
.rm-player-info{display:flex;flex-direction:column;min-width:0;flex:1}
.rm-player-tag{display:flex;align-items:center;gap:8px;font-size:11px;font-weight:800;letter-spacing:.14em;color:#FFB59A}
.rm-player:not(.is-playing) .rm-player-tag .rm-dot{animation:none;background:#8C82A3}
.rm-player-now{font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rm-player-vol{display:flex;align-items:center;gap:10px;color:#C9BEDD}
.rm-player-vol input{width:120px;accent-color:var(--accent)}
.rm-player.has-error .rm-player-now{color:#FFB59A}

/* ---------- nota ---------- */
.rm-post{max-width:800px;padding-top:48px;padding-bottom:72px}
.rm-post-back{font-weight:700;text-decoration:none;font-size:14px}
.rm-post-title{font-family:var(--font-display);font-weight:800;font-size:clamp(32px,5vw,52px);line-height:1.05;letter-spacing:-.02em;margin:18px 0 0}
.rm-post-meta{margin-top:14px;font-size:14px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}
.rm-post-hero{margin:28px 0;border-radius:24px;overflow:hidden;aspect-ratio:16/9;background:var(--media-bg)}
.rm-post-hero img{width:100%;height:100%;object-fit:cover}
.rm-post-lead{font-size:20px;font-weight:500;margin:24px 0 0}
.rm-post-body{font-size:17px;line-height:1.75;color:var(--ink-2);margin-top:20px}
.rm-post-share{display:flex;align-items:center;gap:10px;margin-top:40px;padding-top:22px;border-top:1px solid var(--line)}
.rm-post-share > span{font-weight:700;color:var(--muted);margin-right:4px}
.rm-post-share a,.rm-post-share button{width:42px;height:42px;border-radius:12px;border:1px solid var(--line-2);background:var(--chip);color:var(--ink);display:grid;place-items:center;cursor:pointer}
.rm-post-share a:hover,.rm-post-share button:hover{background:var(--brand);border-color:var(--brand);color:#fff}
.rm-copy.copied{background:#1E7A46;border-color:#1E7A46;color:#fff}

/* ---------- archivo de notas ---------- */
.rm-more{font-weight:700;text-decoration:none}
.rm-btn-ghost{background:transparent;color:var(--ink);border:2px solid var(--line-2)}
.rm-btn-ghost:hover{color:var(--link);border-color:var(--link)}
.rm-chips-nav{display:flex;gap:8px;flex-wrap:wrap;margin:-8px 0 32px}
.rm-chips-nav a{padding:8px 16px;border-radius:999px;background:var(--chip);border:1px solid var(--line);color:var(--ink);font-weight:700;font-size:14px;text-decoration:none}
.rm-chips-nav a:hover{border-color:var(--link);color:var(--link)}
.rm-chips-nav a[aria-current="page"]{background:var(--brand);border-color:var(--brand);color:#fff}
.rm-pager{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;margin-top:48px}
.rm-pager a{min-width:44px;height:44px;padding:0 14px;border-radius:12px;border:1px solid var(--line);background:var(--chip);display:grid;place-items:center;text-decoration:none;font-weight:700;color:var(--ink)}
.rm-pager a:hover{border-color:var(--link);color:var(--link)}
.rm-pager a[aria-current="page"]{background:var(--brand);border-color:var(--brand);color:#fff}
.rm-related{margin-top:56px;padding-top:32px;border-top:1px solid var(--line)}
.rm-related .rm-h3{margin-bottom:24px}
.rm-related .rm-news{gap:16px}
.rm-related .rm-news-title{font-size:16px;-webkit-line-clamp:4}
.rm-related .rm-news-over{padding:14px 14px 16px}

/* ---------- contenido HTML de las notas ---------- */
.rm-post-meta a{color:var(--link);text-decoration:underline;text-underline-offset:3px}
.rm-post-body > *:first-child{margin-top:0}
.rm-post-body p{margin:0 0 1.1em}
.rm-post-body h2,.rm-post-body h3,.rm-post-body h4{font-family:var(--font-display);color:var(--ink);line-height:1.2;margin:1.6em 0 .6em}
.rm-post-body h2{font-size:28px}
.rm-post-body h3{font-size:23px}
.rm-post-body h4{font-size:19px}
.rm-post-body strong,.rm-post-body b{color:var(--ink)}
.rm-post-body a{color:var(--link);text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}
.rm-post-body ul,.rm-post-body ol{padding-left:1.4em;margin:0 0 1.1em}
.rm-post-body li{margin:.3em 0}
.rm-post-body figure{margin:1.6em 0}
.rm-post-body img{height:auto;border-radius:16px;margin:0 auto}
.rm-post-body figure + figure{margin-top:-.6em}
.rm-post-body figcaption{font-size:14px;color:var(--muted);text-align:center;margin-top:8px}
.rm-post-body blockquote{margin:1.6em 0;padding:4px 0 4px 20px;border-left:4px solid var(--accent);font-size:19px;color:var(--ink)}
.rm-post-body hr{border:0;border-top:1px solid var(--line);margin:2em 0}
.rm-post-body iframe{display:block;width:100%;max-width:100%;aspect-ratio:16/9;height:auto;border:0;border-radius:16px;margin:1.6em 0}
.rm-post-body iframe[src*="spotify"]{aspect-ratio:auto;height:352px}

/* ---------- página de programa ---------- */
.rm-prog-hero .rm-wrap{padding-top:48px;padding-bottom:56px}
.rm-prog-back{color:var(--on-brand);text-decoration:none;font-weight:700;font-size:14px}
.rm-prog-back:hover{color:#fff}
.rm-prog-media{background:#fff}
.rm-prog-media img{object-fit:contain}
.rm-prog-body{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:48px;align-items:start}
.rm-prog-body.no-desc{grid-template-columns:minmax(0,560px)}
.rm-prog-body.no-desc > div:first-child{display:none}
.rm-prog-slots{background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:24px}
.rm-prog-slots .rm-h3{font-size:26px;margin-top:0}
.rm-prog-slots ul{list-style:none;margin:0 0 12px;padding:0}
.rm-prog-slots li{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-top:1px solid var(--line);font-variant-numeric:tabular-nums}
.rm-prog-slots li:first-child{border-top:0}
.rm-prog-slots li.is-today{color:var(--link);font-weight:700}
.rm-prog-slots .rm-muted{font-size:13px}
.rm-prog-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(150px,100%),1fr));gap:16px;margin-top:24px}
.rm-show-name,.rm-show-sub{overflow-wrap:anywhere}

/* ---------- banners (popup / deslizante) ---------- */
.tvbanner{position:fixed;z-index:900;opacity:0;visibility:hidden;transition:opacity .45s ease,transform .45s ease}
.tvbanner.show{opacity:1;visibility:visible}
.tvbanner[data-preview]{z-index:1001}
.tvbanner-close{position:absolute;top:-13px;right:-13px;width:32px;height:32px;border-radius:50%;border:0;
  background:var(--night);color:#fff;font-size:20px;line-height:1;cursor:pointer;display:grid;place-items:center;
  box-shadow:0 6px 18px rgba(0,0,0,.4);z-index:3}
.tvbanner-close:hover{background:var(--brand)}
.tvbanner img{border-radius:14px;display:block;height:auto}
.tvbanner-overlay{inset:0;display:grid;place-items:center;padding:20px;background:rgba(20,10,40,.6);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}
.tvbanner-overlay .tvbanner-box{position:relative;max-width:92vw}
.tvbanner-overlay .tvbanner-box img{max-width:92vw;max-height:80vh;width:100%;object-fit:contain;box-shadow:0 30px 90px rgba(0,0,0,.5)}
.tvbanner-slide{bottom:calc(var(--player-h) + 18px);max-width:92vw}
.tvbanner-slide.pos-br{right:22px;transform:translateX(130%)}
.tvbanner-slide.pos-bl{left:22px;transform:translateX(-130%)}
.tvbanner-slide.show{transform:translateX(0)}
.tvbanner-slide img{box-shadow:0 18px 46px rgba(0,0,0,.35)}
.tvbanner-badge{position:fixed;top:0;left:0;right:0;z-index:1002;background:var(--brand);color:#fff;text-align:center;padding:9px;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}

/* ---------- responsive ---------- */
@media (max-width:1100px){
  .rm-news{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:1080px){
  .rm-nav{gap:20px}
}
@media (max-width:1024px){
  .rm-slide-media{max-width:720px}
}
@media (max-width:920px){
  .rm-menu{display:grid}
  .rm-header-in{gap:12px}
  .rm-theme{margin-left:auto}
  .rm-nav{position:absolute;top:100%;left:0;right:0;margin:0;flex-direction:column;align-items:stretch;gap:0;background:var(--surface);
    border-bottom:1px solid var(--line);box-shadow:0 18px 30px rgba(var(--shadow),.12);display:none}
  .rm-nav.open{display:flex}
  .rm-nav a{padding:16px var(--pad);border-top:1px solid var(--line)}
  .rm-chart{grid-template-columns:1fr}
  .rm-spotify{grid-template-columns:1fr}
  .rm-prog-body{grid-template-columns:1fr}
  .rm-app-in{grid-template-columns:1fr;padding-top:64px;padding-bottom:40px}
  .rm-phones{height:540px;max-width:520px;width:100%;margin:0 auto}
  .rm-phone-front{right:6%}
  .rm-phone-back{right:auto;left:4%}
}
@media (max-width:720px){
  :root{--pad:16px;--player-h:68px}
  /* carrusel de locutores: una tarjeta al centro, completa; las vecinas se asoman */
  .rm-host{width:74vw;max-width:300px;scroll-snap-align:center;transition:transform .4s cubic-bezier(.2,.7,.2,1),opacity .4s ease}
  .rm-host-photo{aspect-ratio:4/5}
  .rm-hosts-view{scroll-snap-type:x mandatory;cursor:auto;
    -webkit-mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent)}
  .rm-hosts-view.is-anim{scroll-snap-type:none}
  .rm-hosts-view.is-snap .rm-host:not(.is-center){transform:scale(.9);opacity:.6}
  .rm-hosts-dots{display:flex;justify-content:center;flex-wrap:wrap;gap:2px;margin:4px auto 0;padding:0 var(--pad);max-width:100%}
  .rm-hosts-dots button{position:relative;width:22px;height:24px;padding:0;border:0;background:none;cursor:pointer}
  .rm-hosts-dots button::after{content:"";position:absolute;left:50%;top:50%;width:7px;height:7px;border-radius:999px;transform:translate(-50%,-50%);
    background:var(--line-2);transition:width .3s ease,background .3s ease}
  .rm-hosts-dots button[aria-current="true"]::after{width:20px;background:var(--accent)}
  .rm-host-over{padding:14px}
  .rm-host-over h3{font-size:19px}
  .rm-host-role{font-size:10.5px}
  .rm-host-dialog{max-height:calc(100dvh - 24px);max-width:calc(100vw - 24px)}
  .rm-hd-content{grid-template-columns:1fr;max-height:calc(100dvh - 24px);overflow-y:auto}
  .rm-hd-photo{aspect-ratio:4/3;min-height:0}
  .rm-hd-photo img{object-position:center 20%}
  .rm-hd-body{padding:22px 20px 24px;overflow:visible}
  .rm-hd-card{border-radius:22px}
  .rm-hosts-group{gap:12px;padding-right:12px}
  .rm-hosts-nav{display:none}
  html{scroll-padding-top:72px}
  .rm-logo img{height:34px}
  .rm-header-in{gap:8px}
  .rm-theme,.rm-menu{width:40px;height:40px}
  .rm-live-btn{padding:0 14px;font-size:14px}
  .rm-live-btn [data-play-label]{display:none}
  .rm-live-btn::after{content:"En vivo"}
  .rm-live-btn.is-playing::after{content:"Pausar"}
  .rm-hero-in{padding-top:32px;gap:24px}
  .rm-slide{gap:24px}
  .rm-slide-copy,.rm-slide-media{flex-basis:100%}
  .rm-slide-media{order:-1;border-radius:20px}
  .rm-slide-host{left:16px;bottom:14px}
  .rm-slide-host span{font-size:10px}
  .rm-slide-sub{font-size:18px}
  .rm-hero-nav{width:100%;justify-content:space-between;gap:8px}
  .rm-hero-nav .rm-btn-glass{display:none}
  .rm-section{padding:48px 0 24px}
  .rm-news{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
  .rm-chips-nav{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin-left:calc(var(--pad) * -1);margin-right:calc(var(--pad) * -1);padding:0 var(--pad) 4px}
  .rm-chips-nav::-webkit-scrollbar{display:none}
  .rm-chips-nav a{flex:none}
  .rm-news-card{border-radius:18px}
  .rm-news-cat{top:10px;left:10px;padding:5px 9px;font-size:9.5px}
  .rm-news-over{padding:12px 12px 14px;gap:5px}
  .rm-news-meta{font-size:10px}
  .rm-news-title{font-size:15px;-webkit-line-clamp:4}
  .rm-daytabs{gap:4px;padding:4px;margin-bottom:20px}
  .rm-daytabs button{flex:1 1 0;min-width:0;padding:0 4px;min-height:44px;font-size:14px}
  .rm-tab-long{display:none}
  .rm-tab-short{display:inline}
  .rm-tab-today{display:none}
  .rm-daytabs button.is-today:not([aria-selected="true"]){box-shadow:inset 0 -3px 0 var(--accent)}
  .rm-day-head h3{font-size:22px}
  .rm-day-grid{grid-template-columns:1fr;gap:16px}
  .rm-show{flex-direction:row;align-items:center;gap:14px;padding:10px}
  .rm-show.is-live{padding:8px}
  .rm-show-media{flex:0 0 42%;aspect-ratio:4/3}
  .rm-show-body{padding:0;min-width:0}
  .rm-show-meta{flex-wrap:wrap;justify-content:flex-start}
  .rm-show-name{font-size:18px}
  .rm-live-sm{top:6px;left:6px;padding:4px 8px;font-size:10px}
  .rm-prog-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .rm-prog-grid .rm-show{flex-direction:column;align-items:stretch}
  .rm-prog-grid .rm-show-media{flex:none;aspect-ratio:16/10}
  .rm-prog-grid .rm-show-name{font-size:16px}
  .rm-ded{padding:24px;border-radius:22px}
  .rm-chart{padding:24px}
  .rm-spotify{padding:20px;border-radius:20px}
  .rm-ads-in{padding-top:48px;padding-bottom:48px}
  .rm-app-text{font-size:17px}
  .rm-app-feats li{font-size:15px}
  .rm-store{min-width:0;flex:1 1 150px;padding:10px 14px;gap:10px}
  .rm-store b{font-size:18px}
  .rm-store small{font-size:10.5px;letter-spacing:.03em}
  .rm-phones{height:500px}
  .rm-phone{width:240px;height:500px}
  .rm-phone-front{right:50%;transform:translateX(50%) rotate(2deg)}
  .rm-phone-back{display:none}
  .rm-player-vol{display:none}
  .rm-footer-top{flex-direction:column;align-items:flex-start}
  .tvbanner-slide{left:12px;right:12px;width:auto!important}
  .tvbanner-slide.pos-br,.tvbanner-slide.pos-bl{transform:translateY(140%)}
  .tvbanner-slide.show{transform:translateY(0)}
}

@media (max-width:420px){
  /* no cabe todo en el encabezado: el reproductor de abajo ya tiene play */
  .rm-live-btn{display:none}
  .rm-logo img{height:30px}
}

@media (prefers-reduced-motion:reduce){
  .rm-host,.rm-hosts-dots button::after{transition:none}
  html{scroll-behavior:auto}
  .rm-track,.rm-card,.rm-img,.rm-progress-bar div,.rm-news-media img,.rm-news-card{transition:none}
  .rm-news-card:hover{transform:none}
  .rm-news-card:hover .rm-news-media img{transform:none}
  .rm-pulse{animation:none}
  .rm-card:hover{transform:none}
  .rm-slide-media,.rm-slide-media img{transition:none}
  .rm-slide-media:hover{animation:none;transform:none}
  .rm-slide-media:hover img{transform:none}
  .rm-slide-media:hover::before{animation:none}
  .rm-host-photo,.rm-host-photo img{transition:none}
  .rm-host:hover .rm-host-photo{animation:none;transform:none}
  .rm-host:hover .rm-host-photo img{transform:none}
  .rm-host:hover .rm-host-photo::before{animation:none}
  .rm-host-dialog[open],.rm-host-dialog[open]::backdrop{animation:none}
}
