/* ==========================================================================
   CULTURATV.CL — Portal de Noticias de Cultura
   Sistema de diseño "Festival Austral"
   ========================================================================== */

/* 1. TOKENS ================================================================ */
:root {
  --noche-900:#120E2E; --noche-800:#191343; --noche-700:#241A5C;
  --noche-600:#322478; --noche-500:#4A3699;

  --magenta:#FF3D8B; --magenta-600:#E01B6E;
  --cyan:#26B8F3;    --cyan-600:#0E93CC;
  --amarillo:#FFC42E;--amarillo-600:#E5A400;
  --rojo:#F04350;    --rojo-600:#C92733;
  --verde:#33C57E;   --verde-600:#1E9E5F;
  --naranja:#FF7A3D; --violeta:#9B6BFF; --turquesa:#2ED9C3;

  --crema:#FFF7EA; --crema-2:#FFEED6; --blanco:#FFFFFF;
  --tinta:#14102F; --tinta-suave:#4A4368;

  --bg:var(--noche-900); --bg-alt:var(--noche-800);
  --superficie:#1E1750; --superficie-2:#2A1F66;
  --borde:rgba(255,255,255,.12); --borde-fuerte:rgba(255,255,255,.26);
  --texto:#F4F1FF; --texto-tenue:#B9B2DE; --acento:var(--magenta);

  --fuente-display:"Anton","Archivo Black","Impact","Haettenschweiler",sans-serif;
  --fuente-texto:"Outfit","Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
  --fuente-mano:"Caveat","Bradley Hand",cursive;

  --t-xs:.75rem; --t-sm:.875rem;
  --t-base:clamp(.95rem,.9rem + .2vw,1.05rem);
  --t-lg:clamp(1.05rem,1rem + .3vw,1.25rem);
  --t-xl:clamp(1.3rem,1.1rem + .8vw,1.75rem);
  --t-2xl:clamp(1.6rem,1.2rem + 1.6vw,2.5rem);
  --t-3xl:clamp(2rem,1.3rem + 2.8vw,3.6rem);
  --t-4xl:clamp(2.6rem,1.4rem + 5vw,6rem);

  --e-1:.25rem; --e-2:.5rem; --e-3:.75rem; --e-4:1rem;
  --e-5:1.5rem; --e-6:2rem; --e-7:3rem; --e-8:4rem;
  --seccion:clamp(2.5rem,1.5rem + 4vw,5rem);

  --r-sm:8px; --r-md:14px; --r-lg:22px; --r-xl:32px; --r-full:999px;
  --sombra-1:0 2px 10px rgba(6,3,26,.35);
  --sombra-2:0 14px 40px rgba(6,3,26,.5);
  --sombra-3:0 26px 70px rgba(6,3,26,.62);

  --ancho:1320px; --ancho-angosto:780px; --header-h:74px;
  --transicion:240ms cubic-bezier(.22,.61,.36,1);
}

/* 2. RESET ================================================================= */
*,*::before,*::after{box-sizing:border-box;}
*{margin:0;padding:0;}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;}
body{
  font-family:var(--fuente-texto);font-size:var(--t-base);line-height:1.62;
  color:var(--texto);background:var(--bg);
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
}
img,svg,video{display:block;max-width:100%;}
img{height:auto;}
a{color:inherit;text-decoration:none;}
button,input,select,textarea{font:inherit;color:inherit;}
button{background:none;border:0;cursor:pointer;}
ul,ol{list-style:none;}
:focus-visible{outline:3px solid var(--amarillo);outline-offset:3px;border-radius:4px;}
::selection{background:var(--magenta);color:#fff;}
::-webkit-scrollbar{width:12px;height:12px;}
::-webkit-scrollbar-track{background:var(--noche-800);}
::-webkit-scrollbar-thumb{background:linear-gradient(var(--magenta),var(--violeta));border-radius:99px;border:3px solid var(--noche-800);}

/* 3. TIPOGRAFÍA ============================================================ */
h1,h2,h3,h4,h5{
  font-family:var(--fuente-display);font-weight:400;line-height:.96;
  letter-spacing:.005em;text-transform:uppercase;text-wrap:balance;
}
h1{font-size:var(--t-4xl);} h2{font-size:var(--t-3xl);}
h3{font-size:var(--t-xl);line-height:1.05;} h4{font-size:var(--t-lg);line-height:1.15;}
p{text-wrap:pretty;} strong{font-weight:700;}
.t-mano{font-family:var(--fuente-mano);text-transform:none;letter-spacing:0;}
.t-balance{text-wrap:balance;}

/* 4. PRIMITIVAS ============================================================ */
.contenedor{width:100%;max-width:var(--ancho);margin-inline:auto;padding-inline:clamp(1rem,4vw,2.5rem);}
.contenedor--angosto{max-width:var(--ancho-angosto);}
.pila > * + *{margin-top:var(--e-4);}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;}
.skip-link{
  position:absolute;left:50%;top:-100px;transform:translateX(-50%);z-index:999;
  background:var(--amarillo);color:var(--tinta);padding:.8rem 1.6rem;
  border-radius:0 0 var(--r-md) var(--r-md);font-weight:700;transition:top var(--transicion);
}
.skip-link:focus{top:0;}

.kicker{
  display:inline-flex;align-items:center;gap:.5rem;font-size:var(--t-xs);font-weight:800;
  letter-spacing:.16em;text-transform:uppercase;color:var(--amarillo);
}
.kicker::before{content:"";width:22px;height:3px;border-radius:2px;background:currentColor;}
.kicker--magenta{color:var(--magenta);} .kicker--cyan{color:var(--cyan);}
.kicker--verde{color:var(--verde);} .kicker--violeta{color:var(--violeta);}
.kicker--naranja{color:var(--naranja);} .kicker--rojo{color:var(--rojo);}
.kicker--sin-linea::before{display:none;}

.chip{
  display:inline-flex;align-items:center;gap:.45rem;padding:.38rem .85rem;
  font-size:var(--t-xs);font-weight:700;letter-spacing:.02em;border-radius:var(--r-full);
  background:rgba(255,255,255,.09);border:1px solid var(--borde);color:var(--texto);
  transition:var(--transicion);white-space:nowrap;
}
.chip:hover{background:rgba(255,255,255,.2);transform:translateY(-2px);}
.chip[aria-selected="true"],.chip.is-activo{background:var(--amarillo);color:var(--tinta);border-color:transparent;font-weight:800;}
.chip--magenta{background:rgba(255,61,139,.18);border-color:rgba(255,61,139,.45);color:#FFC2DB;}
.chip--cyan{background:rgba(38,184,243,.18);border-color:rgba(38,184,243,.45);color:#BEE9FF;}
.chip--verde{background:rgba(51,197,126,.18);border-color:rgba(51,197,126,.45);color:#B6F0D3;}
.chip--rojo{background:rgba(240,67,80,.18);border-color:rgba(240,67,80,.45);color:#FFC4C8;}
.chip--violeta{background:rgba(155,107,255,.2);border-color:rgba(155,107,255,.5);color:#DDD0FF;}
.chip--naranja{background:rgba(255,122,61,.18);border-color:rgba(255,122,61,.45);color:#FFD3B8;}

.btn{
  --btn-bg:var(--magenta); --btn-fg:#fff;
  display:inline-flex;align-items:center;justify-content:center;gap:.6rem;
  padding:.85rem 1.6rem;background:var(--btn-bg);color:var(--btn-fg);
  font-weight:800;font-size:var(--t-sm);letter-spacing:.06em;text-transform:uppercase;
  border-radius:var(--r-full);border:2px solid transparent;transition:var(--transicion);
  cursor:pointer;position:relative;overflow:hidden;
}
.btn::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(120deg,transparent 30%,rgba(255,255,255,.5),transparent 70%);
  transform:translateX(-120%);transition:transform 600ms ease;
}
.btn:hover{transform:translateY(-3px) scale(1.02);box-shadow:var(--sombra-2);}
.btn:hover::after{transform:translateX(120%);}
.btn:active{transform:translateY(-1px);}
.btn--amarillo{--btn-bg:var(--amarillo);--btn-fg:var(--tinta);}
.btn--cyan{--btn-bg:var(--cyan);--btn-fg:#04222F;}
.btn--verde{--btn-bg:var(--verde);--btn-fg:#04271A;}
.btn--rojo{--btn-bg:var(--rojo);--btn-fg:#fff;}
.btn--violeta{--btn-bg:var(--violeta);--btn-fg:#fff;}
.btn--blanco{--btn-bg:var(--crema);--btn-fg:var(--tinta);}
.btn--fantasma{--btn-bg:transparent;--btn-fg:var(--texto);border-color:var(--borde-fuerte);backdrop-filter:blur(6px);}
.btn--fantasma:hover{background:rgba(255,255,255,.12);}
.btn--grande{padding:1.1rem 2.2rem;font-size:var(--t-base);}
.btn--chico{padding:.55rem 1.1rem;font-size:var(--t-xs);}
.btn--bloque{width:100%;}

/* 5. DECORACIONES ========================================================== */
.fondo-aurora{
  position:fixed;inset:0;z-index:-2;pointer-events:none;
  background:
    radial-gradient(60rem 40rem at 12% -10%,rgba(255,61,139,.22),transparent 65%),
    radial-gradient(50rem 36rem at 92% 6%,rgba(38,184,243,.2),transparent 62%),
    radial-gradient(46rem 34rem at 68% 96%,rgba(155,107,255,.2),transparent 60%),
    radial-gradient(38rem 30rem at 4% 82%,rgba(51,197,126,.16),transparent 60%),
    var(--noche-900);
}
.fondo-aurora::after{
  content:"";position:absolute;inset:0;opacity:.5;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)' opacity='.35'/%3E%3C/svg%3E");
  mix-blend-mode:overlay;
}
.confeti{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0;}
.confeti span{position:absolute;display:block;border-radius:2px;animation:flotar 9s ease-in-out infinite;}
@keyframes flotar{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-18px) rotate(12deg)}}
@keyframes girar{to{transform:rotate(360deg)}}
@keyframes latir{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.35);opacity:.55}}
@keyframes desplazar{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes brillar{0%,100%{opacity:.45;transform:scale(.8) rotate(0)}50%{opacity:1;transform:scale(1.1) rotate(25deg)}}
@keyframes subir{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:translateY(0)}}
@keyframes correr{to{background-position:300% 0}}
@keyframes onda-audio{0%,100%{transform:scaleY(.45)}50%{transform:scaleY(1)}}
@keyframes latir-suave{
  0%,100%{box-shadow:var(--sombra-2),0 0 0 0 rgba(255,196,46,.55);}
  50%{box-shadow:var(--sombra-2),0 0 0 22px rgba(255,196,46,0);}
}

.destello{position:absolute;width:28px;height:28px;pointer-events:none;color:var(--crema);animation:brillar 4.5s ease-in-out infinite;}
.destello svg{width:100%;height:100%;}

.bandas{position:absolute;pointer-events:none;display:flex;gap:8px;transform:rotate(-14deg);z-index:0;}
.bandas i{display:block;width:20px;border-radius:4px;}
.bandas i:nth-child(1){height:80px;background:var(--cyan);}
.bandas i:nth-child(2){height:130px;background:var(--rojo);}
.bandas i:nth-child(3){height:60px;background:var(--magenta);}
.bandas i:nth-child(4){height:110px;background:var(--amarillo);}
.bandas i:nth-child(5){height:75px;background:var(--verde);}
.bandas i:nth-child(6){height:120px;background:var(--violeta);}

.onda{position:absolute;color:var(--cyan);opacity:.6;animation:girar 24s linear infinite;}
.rasgado{
  height:26px;width:100%;background:var(--crema);
  clip-path:polygon(0 40%,4% 62%,9% 34%,15% 66%,21% 38%,27% 70%,33% 36%,39% 64%,45% 32%,51% 68%,57% 38%,63% 66%,69% 34%,75% 62%,81% 36%,87% 68%,93% 40%,100% 60%,100% 100%,0 100%);
}

/* 6. HEADER ================================================================ */
.topbar{background:var(--noche-900);border-bottom:1px solid var(--borde);font-size:var(--t-xs);color:var(--texto-tenue);position:relative;z-index:60;}
.topbar__interno{display:flex;align-items:center;gap:var(--e-4);min-height:40px;flex-wrap:wrap;padding-block:.35rem;}
.topbar__fecha{font-weight:600;letter-spacing:.04em;text-transform:uppercase;}
.topbar__sep{width:1px;height:14px;background:var(--borde-fuerte);}
.topbar__der{margin-left:auto;display:flex;align-items:center;gap:var(--e-4);flex-wrap:wrap;}
.topbar__redes{display:flex;gap:.35rem;}
.topbar__redes a{width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:rgba(255,255,255,.07);transition:var(--transicion);}
.topbar__redes a:hover{background:var(--magenta);color:#fff;transform:translateY(-2px);}
.topbar__redes svg{width:15px;height:15px;}

.en-vivo{
  display:inline-flex;align-items:center;gap:.5rem;padding:.28rem .8rem .28rem .6rem;
  border-radius:var(--r-full);background:rgba(240,67,80,.16);border:1px solid rgba(240,67,80,.5);
  color:#FFD2D6;font-weight:800;letter-spacing:.12em;text-transform:uppercase;
}
.en-vivo__punto{width:9px;height:9px;border-radius:50%;background:var(--rojo);box-shadow:0 0 0 0 rgba(240,67,80,.8);animation:latir 1.6s ease-in-out infinite;}
.en-vivo--grande{font-size:var(--t-sm);padding:.45rem 1.1rem .45rem .85rem;}

.site-header{
  position:sticky;top:0;z-index:50;background:rgba(18,14,46,.82);
  backdrop-filter:blur(18px) saturate(1.4);border-bottom:1px solid var(--borde);transition:var(--transicion);
}
.site-header.is-compacto{box-shadow:var(--sombra-2);}
.site-header__interno{display:flex;align-items:center;gap:var(--e-4);min-height:var(--header-h);}
/* Logotipo horizontal: marca a la izquierda, nombre y bajada a la derecha */
.marca{display:flex;align-items:center;gap:.72rem;flex-shrink:0;}
.marca__logo{height:46px;width:auto;flex-shrink:0;display:block;}
.marca__texto{display:flex;flex-direction:column;line-height:1;}
.marca__nombre{
  font-family:"Poppins",var(--fuente-texto);font-weight:700;
  font-size:1.3rem;letter-spacing:-.01em;line-height:1;white-space:nowrap;
  color:#fff;
}
.marca__nombre em{font-style:normal;color:#F58220;}
.marca__bajada{
  font-family:"Poppins",var(--fuente-texto);font-weight:600;
  font-size:.48rem;letter-spacing:.18em;text-transform:uppercase;
  color:#9AA6BC;margin-top:5px;white-space:nowrap;
}

.mainnav{margin-left:auto;}
.mainnav__lista{display:flex;align-items:center;gap:.1rem;}
.mainnav__enlace{
  display:inline-flex;align-items:center;gap:.35rem;padding:.6rem .78rem;
  font-size:var(--t-sm);font-weight:700;border-radius:var(--r-sm);color:var(--texto);
  position:relative;transition:var(--transicion);white-space:nowrap;
}
.mainnav__enlace::before{
  content:"";position:absolute;left:.78rem;right:.78rem;bottom:.35rem;height:3px;border-radius:2px;
  background:var(--amarillo);transform:scaleX(0);transform-origin:left;transition:transform var(--transicion);
}
.mainnav__enlace:hover::before,.mainnav__enlace[aria-expanded="true"]::before{transform:scaleX(1);}
.mainnav__enlace[aria-expanded="true"]{color:var(--amarillo);}
.mainnav__enlace svg{width:11px;height:11px;transition:transform var(--transicion);}
.mainnav__enlace[aria-expanded="true"] svg{transform:rotate(180deg);}

.mega{
  position:absolute;left:0;right:0;top:100%;
  background:linear-gradient(180deg,var(--noche-800),var(--noche-700));
  border-top:3px solid var(--amarillo);border-bottom:1px solid var(--borde);
  box-shadow:var(--sombra-3);padding:var(--e-6) 0 var(--e-7);
  opacity:0;visibility:hidden;transform:translateY(-12px);
  transition:opacity var(--transicion),transform var(--transicion),visibility var(--transicion);
  max-height:calc(100vh - var(--header-h));overflow-y:auto;
}
.mega.is-abierto{opacity:1;visibility:visible;transform:translateY(0);}
.mega__grid{display:grid;grid-template-columns:260px 1fr;gap:var(--e-7);}
.mega__intro h3{font-size:var(--t-2xl);margin-bottom:var(--e-2);}
.mega__intro p{color:var(--texto-tenue);font-size:var(--t-sm);}
.mega__columnas{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:var(--e-5) var(--e-6);}
.mega__grupo h4{
  font-family:var(--fuente-texto);font-size:var(--t-xs);letter-spacing:.16em;text-transform:uppercase;
  color:var(--amarillo);margin-bottom:var(--e-3);padding-bottom:.5rem;border-bottom:1px solid var(--borde);font-weight:800;
}
.mega__grupo li + li{margin-top:.1rem;}
.mega__grupo a{
  display:flex;align-items:center;gap:.5rem;padding:.38rem .5rem;margin-left:-.5rem;
  font-size:var(--t-sm);border-radius:var(--r-sm);color:var(--texto-tenue);transition:var(--transicion);
}
.mega__grupo a:hover{color:var(--texto);background:rgba(255,255,255,.08);transform:translateX(5px);}
.mega__punto{width:6px;height:6px;border-radius:50%;flex-shrink:0;}
.mega__badge{margin-left:auto;font-size:.6rem;font-weight:800;padding:.1rem .4rem;border-radius:var(--r-full);background:var(--verde);color:#04271A;}
.mega__destacado{
  margin-top:var(--e-5);padding:var(--e-4);border-radius:var(--r-md);
  background:linear-gradient(135deg,rgba(255,61,139,.22),rgba(38,184,243,.18));border:1px solid var(--borde);
}
.mega__destacado p{font-size:var(--t-xs);color:var(--texto-tenue);}

.header-tools{display:flex;align-items:center;gap:.5rem;}
.icono-btn{
  width:40px;height:40px;display:grid;place-items:center;border-radius:50%;
  border:1px solid var(--borde);background:rgba(255,255,255,.05);color:var(--texto);
  transition:var(--transicion);flex-shrink:0;
}
.icono-btn:hover{background:var(--magenta);border-color:transparent;transform:translateY(-2px);}
.icono-btn svg{width:18px;height:18px;}
.icono-btn--senas{background:linear-gradient(135deg,var(--cyan),var(--violeta));border:0;color:#05212E;}
/* Acceso directo a la radio en ventana sin barra (assets/js/radio-popup.js). */
.icono-btn--radio{background:linear-gradient(135deg,var(--magenta),var(--violeta));border:0;color:#fff;}
.icono-btn--radio:hover{background:linear-gradient(135deg,var(--violeta),var(--magenta));color:#fff;}
.hamburguesa{display:none;}
.hamburguesa span{display:block;width:20px;height:2.5px;border-radius:2px;background:currentColor;margin:3.5px 0;transition:var(--transicion);}

.buscador{position:absolute;left:0;right:0;top:100%;background:var(--noche-800);border-bottom:1px solid var(--borde);padding:var(--e-5) 0;box-shadow:var(--sombra-2);display:none;}
.buscador.is-abierto{display:block;animation:subir 260ms ease;}
.buscador__form{display:flex;gap:var(--e-3);}
.buscador__input{flex:1;padding:1rem 1.4rem;border-radius:var(--r-full);background:rgba(255,255,255,.07);border:2px solid var(--borde-fuerte);font-size:var(--t-lg);color:var(--texto);}
.buscador__input::placeholder{color:var(--texto-tenue);}
.buscador__input:focus{outline:none;border-color:var(--amarillo);background:rgba(255,255,255,.11);}
.buscador__sug{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:var(--e-3);}

/* 7. HUINCHA ROTATIVA ====================================================== */
.huincha{
  --huincha-bg:var(--crema); --huincha-fg:var(--tinta);
  position:relative;z-index:40;background:var(--huincha-bg);color:var(--huincha-fg);
  display:flex;align-items:stretch;overflow:hidden;border-bottom:3px solid var(--tinta);
}
.huincha__sello{
  display:flex;align-items:center;gap:.5rem;background:linear-gradient(100deg,var(--rojo),var(--magenta));
  color:#fff;padding:0 1.1rem;flex-shrink:0;font-weight:800;font-size:var(--t-xs);
  letter-spacing:.14em;text-transform:uppercase;position:relative;z-index:2;
  clip-path:polygon(0 0,100% 0,calc(100% - 14px) 100%,0 100%);padding-right:1.8rem;
}
.huincha__sello svg{width:15px;height:15px;animation:latir 1.8s ease-in-out infinite;}
.huincha__pista{flex:1;overflow:hidden;display:flex;align-items:center;}
.huincha__flujo{display:flex;align-items:center;gap:0;white-space:nowrap;animation:desplazar 70s linear infinite;will-change:transform;}
.huincha:hover .huincha__flujo,.huincha__flujo.is-pausado{animation-play-state:paused;}
.huincha__item{display:inline-flex;align-items:center;gap:.7rem;padding:.62rem 1.2rem;font-size:var(--t-sm);font-weight:600;transition:var(--transicion);}
.huincha__item:hover{color:var(--magenta-600);}
.huincha__item::after{content:"";width:7px;height:7px;margin-left:1.2rem;background:var(--magenta);transform:rotate(45deg);flex-shrink:0;}
.huincha__hora{font-weight:800;color:var(--rojo-600);font-size:var(--t-xs);}
.huincha__tag{font-size:.62rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;padding:.12rem .45rem;border-radius:3px;background:var(--tinta);color:var(--crema);}
.huincha__ctrl{display:flex;align-items:center;gap:.2rem;padding-inline:.6rem;background:var(--crema);border-left:1px solid rgba(0,0,0,.14);position:relative;z-index:2;flex-shrink:0;}
.huincha__ctrl button{width:28px;height:28px;display:grid;place-items:center;border-radius:50%;color:var(--tinta);transition:var(--transicion);}
.huincha__ctrl button:hover{background:var(--tinta);color:var(--crema);}
.huincha__ctrl svg{width:14px;height:14px;}

/* 8. HERO + REPRODUCTOR ==================================================== */
.hero{position:relative;padding-block:clamp(2rem,5vw,4rem);overflow:hidden;}
.hero__grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.55fr) minmax(300px,.95fr);gap:clamp(1.5rem,3vw,3rem);align-items:start;}
.escenario{
  position:relative;border-radius:var(--r-xl);overflow:hidden;
  background:linear-gradient(150deg,var(--noche-700),var(--noche-900));
  border:1px solid var(--borde-fuerte);box-shadow:var(--sombra-3);
}
.escenario__barra{display:flex;align-items:center;gap:var(--e-3);padding:.75rem 1.1rem;background:rgba(0,0,0,.35);border-bottom:1px solid var(--borde);flex-wrap:wrap;}
.escenario__canal{font-weight:800;font-size:var(--t-sm);letter-spacing:.04em;}
.escenario__der{margin-left:auto;display:flex;gap:.4rem;align-items:center;}
.reproductor{
  position:relative;aspect-ratio:16/9;display:grid;place-items:center;overflow:hidden;cursor:pointer;
  background:
    radial-gradient(circle at 30% 35%,rgba(255,61,139,.5),transparent 55%),
    radial-gradient(circle at 78% 70%,rgba(38,184,243,.45),transparent 55%),
    linear-gradient(140deg,#1B1350,#0C0824);
}
.reproductor__artes{position:absolute;inset:0;opacity:.95;}
.reproductor__artes svg{width:100%;height:100%;}
.reproductor__velo{position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,6,30,.1) 0%,rgba(10,6,30,.35) 55%,rgba(10,6,30,.86) 100%);}
.reproductor__play{
  position:relative;z-index:2;width:clamp(74px,12vw,104px);aspect-ratio:1;border-radius:50%;
  display:grid;place-items:center;background:linear-gradient(140deg,var(--amarillo),var(--naranja));
  color:var(--tinta);box-shadow:var(--sombra-2);transition:var(--transicion);
  animation:latir-suave 2.6s ease-in-out infinite;
}
.reproductor:hover .reproductor__play{transform:scale(1.09);}
.reproductor__play svg{width:40%;height:40%;margin-left:6%;}
.reproductor__pie{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:clamp(1rem,2.5vw,1.8rem);display:flex;align-items:flex-end;gap:var(--e-4);flex-wrap:wrap;}
.reproductor__pie h2{font-size:clamp(1.4rem,1rem + 2.2vw,2.6rem);max-width:22ch;text-shadow:0 4px 22px rgba(0,0,0,.6);}
.reproductor__meta{margin-left:auto;display:flex;gap:.4rem;flex-wrap:wrap;}

.parrilla{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));border-top:1px solid var(--borde);background:rgba(0,0,0,.28);}
.parrilla__item{padding:.9rem 1.1rem;display:flex;gap:.7rem;align-items:center;border-right:1px solid var(--borde);transition:var(--transicion);}
.parrilla__item:last-child{border-right:0;}
.parrilla__item:hover{background:rgba(255,255,255,.07);}
.parrilla__item.is-ahora{background:linear-gradient(90deg,rgba(240,67,80,.22),transparent);}
.parrilla__hora{font-family:var(--fuente-display);font-size:1.05rem;color:var(--amarillo);line-height:1;flex-shrink:0;}
.parrilla__txt{font-size:var(--t-xs);color:var(--texto-tenue);line-height:1.3;}
.parrilla__txt b{display:block;color:var(--texto);font-size:var(--t-sm);}

.accesos{display:grid;gap:var(--e-4);}
.acceso{
  display:flex;align-items:center;gap:var(--e-4);padding:var(--e-4);border-radius:var(--r-lg);
  background:var(--superficie);border:1px solid var(--borde);transition:var(--transicion);
  position:relative;overflow:hidden;
}
.acceso::before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:var(--acento,var(--magenta));}
.acceso:hover{transform:translateX(6px);border-color:var(--borde-fuerte);box-shadow:var(--sombra-2);}
.acceso__icono{
  width:50px;height:50px;flex-shrink:0;border-radius:var(--r-md);display:grid;place-items:center;
  background:color-mix(in srgb,var(--acento,var(--magenta)) 22%,transparent);
  color:var(--acento,var(--magenta));
  border:1px solid color-mix(in srgb,var(--acento,var(--magenta)) 45%,transparent);
}
.acceso__icono svg{width:24px;height:24px;}
.acceso h4{font-family:var(--fuente-texto);font-weight:800;font-size:var(--t-base);text-transform:none;letter-spacing:0;}
.acceso p{font-size:var(--t-xs);color:var(--texto-tenue);line-height:1.4;}
.acceso__flecha{margin-left:auto;color:var(--texto-tenue);transition:var(--transicion);flex-shrink:0;}
.acceso:hover .acceso__flecha{color:var(--acento,var(--magenta));transform:translateX(4px);}

/* 9. SECCIONES Y COMPONENTES =============================================== */
.seccion{position:relative;padding-block:var(--seccion);}
.seccion--alt{background:linear-gradient(180deg,transparent,rgba(255,255,255,.028) 12%,rgba(255,255,255,.028) 88%,transparent);}
.seccion--crema{background:var(--crema);color:var(--tinta);--texto:var(--tinta);--texto-tenue:var(--tinta-suave);--superficie:#fff;--borde:rgba(20,16,47,.12);--borde-fuerte:rgba(20,16,47,.24);}
.seccion--crema .kicker{color:var(--magenta-600);}
.seccion--crema .chip{background:rgba(20,16,47,.06);border-color:rgba(20,16,47,.14);color:var(--tinta);}
.seccion--crema .chip[aria-selected="true"]{background:var(--tinta);color:var(--crema);}
.seccion__cab{display:flex;align-items:flex-end;gap:var(--e-5);margin-bottom:var(--e-6);flex-wrap:wrap;position:relative;z-index:1;}
.seccion__titulo-grupo{max-width:62ch;}
.seccion__cab h2{margin-top:.35rem;}
.seccion__cab h2 em{font-style:normal;color:var(--amarillo);}
.seccion--crema .seccion__cab h2 em{color:var(--magenta);}
.seccion__cab p{color:var(--texto-tenue);margin-top:.6rem;font-size:var(--t-sm);max-width:62ch;}
.seccion__acciones{margin-left:auto;display:flex;gap:.5rem;flex-wrap:wrap;}
.regla{height:6px;border-radius:99px;margin-top:var(--e-4);background:linear-gradient(90deg,var(--magenta),var(--amarillo),var(--cyan),var(--verde),var(--violeta));background-size:300% 100%;animation:correr 8s linear infinite;}

.grid{display:grid;gap:var(--e-5);}
.grid--2{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));}
.grid--3{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));}
.grid--4{grid-template-columns:repeat(auto-fit,minmax(215px,1fr));}

.tarjeta{
  position:relative;display:flex;flex-direction:column;border-radius:var(--r-lg);overflow:hidden;
  background:var(--superficie);border:1px solid var(--borde);
  transition:transform var(--transicion),box-shadow var(--transicion),border-color var(--transicion);isolation:isolate;
}
.tarjeta:hover{transform:translateY(-8px);box-shadow:var(--sombra-2);border-color:var(--borde-fuerte);}
.tarjeta__media{position:relative;aspect-ratio:16/10;overflow:hidden;background:linear-gradient(140deg,var(--noche-600),var(--noche-900));}
.tarjeta__media--alta{aspect-ratio:3/4;}
.tarjeta__media--cuadrada{aspect-ratio:1;}
.tarjeta__media svg,.tarjeta__media img{width:100%;height:100%;object-fit:cover;transition:transform 600ms ease;}
.tarjeta:hover .tarjeta__media svg,.tarjeta:hover .tarjeta__media img{transform:scale(1.06);}
.tarjeta__cuerpo{padding:var(--e-4) var(--e-4) var(--e-5);display:flex;flex-direction:column;gap:.6rem;flex:1;}
.tarjeta__titulo{font-size:var(--t-lg);line-height:1.04;}
.tarjeta__titulo a{transition:color var(--transicion);}
.tarjeta__titulo a:hover{color:var(--amarillo);}
.tarjeta__bajada{font-size:var(--t-sm);color:var(--texto-tenue);}
.tarjeta__pie{margin-top:auto;display:flex;align-items:center;gap:.6rem;font-size:var(--t-xs);color:var(--texto-tenue);padding-top:.4rem;}
.tarjeta__pie .punto{width:4px;height:4px;border-radius:50%;background:currentColor;}
.tarjeta__insignia{
  position:absolute;top:.8rem;left:.8rem;z-index:3;padding:.3rem .7rem;border-radius:var(--r-full);
  font-size:.66rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;
  background:var(--amarillo);color:var(--tinta);box-shadow:var(--sombra-1);
}
.tarjeta__insignia--magenta{background:var(--magenta);color:#fff;}
.tarjeta__insignia--cyan{background:var(--cyan);color:#04222F;}
.tarjeta__insignia--verde{background:var(--verde);color:#04271A;}
.tarjeta__insignia--rojo{background:var(--rojo);color:#fff;}
.tarjeta__insignia--violeta{background:var(--violeta);color:#fff;}
.tarjeta__insignia--naranja{background:var(--naranja);color:#2B0F00;}
.tarjeta__insignia--der{left:auto;right:.8rem;}
.tarjeta__duracion{position:absolute;bottom:.7rem;right:.7rem;z-index:3;padding:.22rem .55rem;border-radius:5px;background:rgba(6,3,26,.82);color:#fff;font-size:.68rem;font-weight:700;letter-spacing:.04em;}
.tarjeta__overlay{position:absolute;inset:0;z-index:2;background:linear-gradient(180deg,transparent 45%,rgba(6,3,26,.75));opacity:0;transition:var(--transicion);}
.tarjeta:hover .tarjeta__overlay{opacity:1;}
.tarjeta--hero{grid-row:span 2;}
/* El destacado ocupa la fila entera: no fuerza columnas implícitas en móvil */
.grid--2 > .tarjeta--hero{grid-column:1/-1;grid-row:auto;}
.tarjeta--hero .tarjeta__media{aspect-ratio:16/9;}
.tarjeta--hero .tarjeta__titulo{font-size:var(--t-2xl);}
.tarjeta--hero .tarjeta__cuerpo{padding:var(--e-5);}
.tarjeta--fila{flex-direction:row;align-items:stretch;}
.tarjeta--fila .tarjeta__media{flex:0 0 38%;aspect-ratio:auto;min-height:108px;}
.tarjeta--fila .tarjeta__cuerpo{padding:var(--e-3) var(--e-4);}
.tarjeta--fila .tarjeta__titulo{font-size:var(--t-base);}
.tarjeta--cubierta{position:relative;min-height:300px;justify-content:flex-end;border:0;}
.tarjeta--cubierta .tarjeta__media{position:absolute;inset:0;aspect-ratio:auto;}
.tarjeta--cubierta .tarjeta__cuerpo{position:relative;z-index:2;padding:var(--e-5);background:linear-gradient(180deg,transparent,rgba(6,3,26,.92) 62%);color:#fff;margin-top:auto;}
.tarjeta--cubierta .tarjeta__bajada{color:rgba(255,255,255,.78);}
.tarjeta--cubierta .tarjeta__titulo{font-size:var(--t-xl);}

.fecha-bloque{position:absolute;top:.8rem;left:.8rem;z-index:3;width:58px;border-radius:var(--r-md);overflow:hidden;text-align:center;background:var(--crema);color:var(--tinta);box-shadow:var(--sombra-1);}
.fecha-bloque__mes{font-size:.62rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;background:var(--magenta);color:#fff;padding:.15rem 0;}
.fecha-bloque__dia{font-family:var(--fuente-display);font-size:1.5rem;line-height:1.1;padding:.15rem 0;}

.taller__datos{display:grid;gap:.4rem;font-size:var(--t-xs);color:var(--texto-tenue);}
.taller__dato{display:flex;align-items:center;gap:.45rem;}
.taller__dato svg{width:14px;height:14px;color:var(--cyan);flex-shrink:0;}
.cupos{margin-top:.5rem;}
.cupos__barra{height:7px;border-radius:99px;background:rgba(255,255,255,.14);overflow:hidden;}
.seccion--crema .cupos__barra{background:rgba(20,16,47,.12);}
.cupos__relleno{height:100%;border-radius:99px;background:linear-gradient(90deg,var(--verde),var(--amarillo));}
.cupos__txt{display:flex;justify-content:space-between;font-size:.68rem;margin-top:.3rem;color:var(--texto-tenue);}

.audio-tarjeta{
  display:flex;gap:var(--e-4);align-items:center;padding:var(--e-4);border-radius:var(--r-lg);
  background:linear-gradient(120deg,var(--superficie),var(--superficie-2));border:1px solid var(--borde);transition:var(--transicion);
}
.audio-tarjeta:hover{transform:translateY(-5px);box-shadow:var(--sombra-2);}
.audio-tarjeta__portada{
  width:84px;height:84px;border-radius:var(--r-md);flex-shrink:0;display:grid;place-items:center;color:#fff;
  background:linear-gradient(140deg,var(--violeta),var(--magenta));position:relative;overflow:hidden;
}
.audio-tarjeta__portada svg{width:32px;height:32px;}
.audio-tarjeta__play{
  position:absolute;inset:0;margin:auto;width:46px;height:46px;border-radius:50%;
  background:rgba(6,3,26,.55);backdrop-filter:blur(4px);display:grid;place-items:center;color:#fff;opacity:0;transition:var(--transicion);
}
.audio-tarjeta:hover .audio-tarjeta__play{opacity:1;}
.audio-tarjeta__play svg{width:18px;height:18px;}
.audio-tarjeta__info{min-width:0;}
.audio-tarjeta__info h4{font-size:var(--t-base);font-family:var(--fuente-texto);font-weight:800;text-transform:none;letter-spacing:0;}
.audio-tarjeta__info p{font-size:var(--t-xs);color:var(--texto-tenue);}
.waveform{display:flex;align-items:flex-end;gap:2px;height:22px;margin-top:.5rem;}
.waveform i{width:3px;background:var(--cyan);border-radius:2px;display:block;animation:onda-audio 1.2s ease-in-out infinite;}

.mito{position:relative;padding:var(--e-5);border-radius:var(--r-lg);background:linear-gradient(150deg,rgba(155,107,255,.24),rgba(38,184,243,.14));border:1px solid rgba(155,107,255,.4);overflow:hidden;}
.mito__comilla{font-family:var(--fuente-display);font-size:5rem;line-height:.7;color:rgba(255,255,255,.16);position:absolute;top:.6rem;right:1rem;}
.mito h4{font-size:var(--t-lg);margin-bottom:.5rem;}
.mito p{font-size:var(--t-sm);color:var(--texto-tenue);font-style:italic;}
.mito__origen{margin-top:var(--e-4);font-size:var(--t-xs);letter-spacing:.1em;text-transform:uppercase;color:var(--amarillo);font-weight:800;}

.galeria{position:relative;}
.galeria__visor{display:flex;gap:var(--e-5);overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:var(--e-4);scrollbar-width:thin;scroll-behavior:smooth;}
.galeria__visor::-webkit-scrollbar{height:8px;}
.galeria__visor::-webkit-scrollbar-thumb{background:linear-gradient(90deg,var(--magenta),var(--violeta));border:0;}
.obra{flex:0 0 clamp(240px,32vw,340px);scroll-snap-align:start;border-radius:var(--r-lg);overflow:hidden;background:var(--superficie);border:1px solid var(--borde);transition:var(--transicion);position:relative;text-align:left;}
.obra:hover{transform:translateY(-8px) rotate(-.6deg);box-shadow:var(--sombra-2);}
.obra__lienzo{aspect-ratio:4/5;position:relative;overflow:hidden;background:#0E0A26;}
.obra__lienzo svg,.obra__lienzo img{width:100%;height:100%;object-fit:cover;}
.obra__marco{position:absolute;inset:0;pointer-events:none;border:10px solid rgba(255,255,255,.1);border-radius:2px;}
.obra__info{padding:var(--e-4);}
.obra__info h4{font-size:var(--t-base);font-family:var(--fuente-texto);font-weight:800;text-transform:none;letter-spacing:0;}
.obra__info p{font-size:var(--t-xs);color:var(--texto-tenue);}
.obra__tecnica{margin-top:.35rem;font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:var(--amarillo);font-weight:700;}
.galeria__ctrl{display:flex;gap:.5rem;}
.galeria__btn{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;border:2px solid var(--borde-fuerte);color:var(--texto);transition:var(--transicion);}
.galeria__btn:hover{background:var(--amarillo);color:var(--tinta);border-color:transparent;}
.galeria__btn svg{width:18px;height:18px;}
.galeria__progreso{height:4px;border-radius:99px;background:rgba(255,255,255,.14);margin-top:var(--e-4);overflow:hidden;}
.galeria__progreso i{display:block;height:100%;width:25%;background:linear-gradient(90deg,var(--amarillo),var(--magenta));border-radius:99px;transition:width 200ms;}

.diccionario{border-radius:var(--r-xl);overflow:hidden;background:linear-gradient(150deg,#123A33,#0C2622 55%,#101A38);border:1px solid rgba(46,217,195,.35);position:relative;}
.diccionario__cab{padding:var(--e-5);display:flex;gap:var(--e-4);align-items:center;flex-wrap:wrap;border-bottom:1px solid rgba(46,217,195,.22);background:rgba(0,0,0,.2);}
.diccionario__cab h3{font-size:var(--t-xl);}
.diccionario__cab p{font-size:var(--t-xs);color:#9EE6DA;}
.diccionario__cuerpo{padding:var(--e-5);}
.dic-campo{display:flex;gap:.5rem;margin-bottom:var(--e-5);}
.dic-campo input{flex:1;padding:.85rem 1.2rem;border-radius:var(--r-full);background:rgba(255,255,255,.08);border:2px solid rgba(46,217,195,.3);color:#EAFBF8;}
.dic-campo input::placeholder{color:rgba(234,251,248,.5);}
.dic-campo input:focus{outline:none;border-color:var(--turquesa);}
.dic-lista{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(186px,1fr));
  gap:var(--e-3);max-height:470px;overflow-y:auto;padding:2px .4rem 46px 2px;
  mask-image:linear-gradient(180deg,#000 0,#000 calc(100% - 46px),transparent 100%);
  -webkit-mask-image:linear-gradient(180deg,#000 0,#000 calc(100% - 46px),transparent 100%);}
/* Ficha en tarjeta, al estilo del muestrario de números */
.dic-item{
  display:flex;flex-direction:column;gap:.3rem;
  padding:var(--e-4);border-radius:var(--r-md);
  background:linear-gradient(160deg,rgba(255,255,255,.075),rgba(255,255,255,.03));
  border:1px solid rgba(46,217,195,.24);
  transition:var(--transicion);
}
.dic-item:hover{
  background:linear-gradient(160deg,rgba(46,217,195,.2),rgba(46,217,195,.07));
  border-color:rgba(46,217,195,.55);transform:translateY(-4px);
  box-shadow:0 12px 30px rgba(0,0,0,.35);
}
.dic-item__cab{display:flex;align-items:center;gap:.5rem;justify-content:space-between;}
.dic-item__num{
  font-family:var(--fuente-display);font-size:.92rem;line-height:1;
  color:rgba(234,251,248,.5);font-variant-numeric:tabular-nums;
}
.dic-item__cat{
  font-size:.58rem;letter-spacing:.12em;text-transform:uppercase;
  color:#79C9BC;font-weight:800;text-align:right;
}
.dic-item__map{
  font-family:var(--fuente-display);font-weight:400;text-transform:none;
  font-size:clamp(1.35rem,1.15rem + .5vw,1.75rem);line-height:1.05;
  color:var(--turquesa);letter-spacing:.01em;margin-top:.15rem;
}
.dic-item__esp{font-size:var(--t-sm);color:#D7F5F0;line-height:1.4;flex:1;}
.dic-item__pie{
  display:flex;align-items:center;gap:.5rem;justify-content:space-between;
  margin-top:.55rem;padding-top:.5rem;border-top:1px dashed rgba(46,217,195,.22);
}
.dic-item__pron{font-size:.68rem;color:#8FD8CC;font-style:italic;}
.dic-oir{
  display:inline-flex;align-items:center;gap:.3rem;
  font-size:.6rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;
  color:#04231F;background:var(--turquesa);border-radius:var(--r-full);
  padding:.28rem .6rem;transition:var(--transicion);white-space:nowrap;
}
.dic-oir:hover{background:#EAFBF8;transform:translateY(-1px);}
.dic-oir svg{width:12px;height:12px;}
.dic-vacio{text-align:center;padding:var(--e-5);color:#8FD8CC;font-size:var(--t-sm);}
.dic-abecedario{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:var(--e-4);}
.dic-abecedario button{padding:.3rem .65rem;border-radius:var(--r-sm);font-size:var(--t-xs);font-weight:800;background:rgba(255,255,255,.07);border:1px solid rgba(46,217,195,.25);color:#C9F2EA;transition:var(--transicion);}
.dic-abecedario button:hover,.dic-abecedario button.is-activo{background:var(--turquesa);color:#04231F;border-color:transparent;}

.masleido{padding:var(--e-5);border-radius:var(--r-xl);background:linear-gradient(160deg,var(--superficie),var(--noche-900));border:1px solid var(--borde);position:relative;overflow:hidden;}
.masleido__cab{display:flex;align-items:center;gap:.6rem;margin-bottom:var(--e-4);}
.masleido__cab svg{width:22px;height:22px;color:var(--naranja);}
.masleido__lista{display:grid;gap:.1rem;}
.masleido__item{display:flex;gap:var(--e-4);align-items:flex-start;padding:.85rem .6rem;border-radius:var(--r-md);border-bottom:1px dashed var(--borde);transition:var(--transicion);}
.masleido__item:last-child{border-bottom:0;}
.masleido__item:hover{background:rgba(255,255,255,.06);transform:translateX(4px);}
.masleido__num{font-family:var(--fuente-display);font-size:1.9rem;line-height:1;color:transparent;-webkit-text-stroke:1.5px var(--amarillo);flex-shrink:0;width:38px;}
.masleido__item:nth-child(1) .masleido__num{-webkit-text-stroke:0;color:var(--amarillo);}
.masleido__item:nth-child(2) .masleido__num{-webkit-text-stroke:0;color:var(--cyan);}
.masleido__item:nth-child(3) .masleido__num{-webkit-text-stroke:0;color:var(--magenta);}
.masleido__txt h4{font-family:var(--fuente-texto);font-size:var(--t-sm);font-weight:700;text-transform:none;letter-spacing:0;line-height:1.35;}
.masleido__txt span{font-size:.68rem;color:var(--texto-tenue);}
.masleido__vistas{margin-left:auto;font-size:.68rem;color:var(--verde);font-weight:800;white-space:nowrap;flex-shrink:0;}

.bloque-especial{position:relative;overflow:hidden;border-radius:var(--r-xl);padding:clamp(1.6rem,4vw,3.2rem);border:1px solid var(--borde);}
.bloque-especial--mujeres{background:radial-gradient(circle at 88% 12%,rgba(255,61,139,.4),transparent 55%),linear-gradient(120deg,#3A0F33,#1B0B3A 60%,#2A0F4A);}
.bloque-especial--senas{background:radial-gradient(circle at 10% 90%,rgba(38,184,243,.35),transparent 55%),linear-gradient(120deg,#062B3C,#0B1B45 60%,#221054);}
.bloque-especial__grid{position:relative;z-index:1;display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--e-6);align-items:center;}
.bloque-especial h2{font-size:clamp(1.8rem,1.2rem + 3vw,3.4rem);}
.bloque-especial p{color:var(--texto-tenue);margin-top:var(--e-3);max-width:55ch;}
.bloque-especial__acciones{display:flex;gap:.6rem;flex-wrap:wrap;margin-top:var(--e-5);}

.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:var(--e-4);}
.stat{text-align:center;padding:var(--e-4);border-radius:var(--r-md);background:rgba(255,255,255,.07);border:1px solid var(--borde);}
.stat__num{font-family:var(--fuente-display);font-size:clamp(1.6rem,1.2rem + 1.6vw,2.4rem);line-height:1;color:var(--amarillo);}
.stat__txt{font-size:var(--t-xs);color:var(--texto-tenue);margin-top:.3rem;letter-spacing:.04em;}

.pastillas{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--e-4);}
.pastilla{
  position:relative;overflow:hidden;padding:var(--e-5) var(--e-4);border-radius:var(--r-lg);
  background:var(--superficie);border:1px solid var(--borde);transition:var(--transicion);isolation:isolate;
  min-height:160px;display:flex;flex-direction:column;justify-content:flex-end;
}
.pastilla::before{content:"";position:absolute;inset:0;z-index:-1;opacity:.14;background:var(--tinte,var(--magenta));transition:opacity var(--transicion);}
.pastilla:hover{transform:translateY(-6px);border-color:var(--tinte,var(--magenta));box-shadow:var(--sombra-2);}
.pastilla:hover::before{opacity:.32;}
.pastilla__icono{width:46px;height:46px;border-radius:var(--r-md);display:grid;place-items:center;background:var(--tinte,var(--magenta));color:#fff;margin-bottom:auto;box-shadow:var(--sombra-1);}
.pastilla__icono svg{width:24px;height:24px;}
.pastilla h4{font-size:var(--t-lg);margin-top:var(--e-4);}
.pastilla p{font-size:var(--t-xs);color:var(--texto-tenue);}

.tabs{display:flex;gap:.4rem;flex-wrap:wrap;margin-bottom:var(--e-5);}
.panel[hidden]{display:none;}
.panel{animation:subir 360ms ease;}
.layout-2col{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:clamp(1.5rem,3vw,2.6rem);align-items:start;}
.sticky{position:sticky;top:calc(var(--header-h) + 1rem);display:grid;gap:var(--e-5);}

/* 10. FOOTER / MODAL / FLOTANTE ============================================ */
.footer{
  position:relative;overflow:hidden;background:linear-gradient(180deg,var(--noche-800),#0A0720);
  border-top:4px solid transparent;border-image:linear-gradient(90deg,var(--magenta),var(--amarillo),var(--cyan),var(--verde)) 1;padding-top:var(--e-7);
}
.footer__grid{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:var(--e-6) var(--e-5);padding-bottom:var(--e-7);position:relative;z-index:1;}
.footer h4{font-family:var(--fuente-texto);font-size:var(--t-xs);font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--amarillo);margin-bottom:var(--e-4);}
.footer li + li{margin-top:.4rem;}
.footer a{font-size:var(--t-sm);color:var(--texto-tenue);transition:var(--transicion);}
.footer a:hover{color:var(--texto);padding-left:6px;}
.footer__marca p{color:var(--texto-tenue);font-size:var(--t-sm);margin-top:var(--e-4);max-width:42ch;}
.footer__boletin{display:flex;gap:.4rem;margin-top:var(--e-4);flex-wrap:wrap;}
.footer__boletin input{flex:1;min-width:170px;padding:.7rem 1.1rem;border-radius:var(--r-full);background:rgba(255,255,255,.07);border:1px solid var(--borde-fuerte);color:var(--texto);}
.footer__legal{border-top:1px solid var(--borde);padding-block:var(--e-4);display:flex;gap:var(--e-4);align-items:center;flex-wrap:wrap;font-size:var(--t-xs);color:var(--texto-tenue);position:relative;z-index:1;}
.footer__legal nav{margin-left:auto;display:flex;gap:var(--e-4);flex-wrap:wrap;}
.footer__logos{display:flex;gap:var(--e-4);align-items:center;flex-wrap:wrap;margin-top:var(--e-4);}
.footer__logos span{padding:.4rem .8rem;border-radius:var(--r-sm);font-size:.66rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;background:rgba(255,255,255,.08);border:1px solid var(--borde);}

.barra-flotante{
  position:fixed;left:50%;bottom:1.2rem;transform:translateX(-50%) translateY(140%);z-index:70;
  display:flex;align-items:center;gap:var(--e-4);padding:.6rem .7rem .6rem 1.2rem;border-radius:var(--r-full);
  background:rgba(18,14,46,.94);backdrop-filter:blur(16px);border:1px solid var(--borde-fuerte);box-shadow:var(--sombra-3);
  transition:transform 420ms cubic-bezier(.22,.61,.36,1);max-width:calc(100vw - 2rem);
}
.barra-flotante.is-visible{transform:translateX(-50%) translateY(0);}
.barra-flotante__txt{font-size:var(--t-sm);font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}

.modal{position:fixed;inset:0;z-index:200;display:none;place-items:center;padding:var(--e-4);background:rgba(6,3,22,.86);backdrop-filter:blur(8px);}
.modal.is-abierto{display:grid;animation:subir 260ms ease;}
.modal__caja{width:min(1000px,100%);border-radius:var(--r-lg);overflow:hidden;background:var(--noche-800);border:1px solid var(--borde-fuerte);box-shadow:var(--sombra-3);}
.modal__cab{display:flex;align-items:center;gap:var(--e-4);padding:var(--e-4) var(--e-5);border-bottom:1px solid var(--borde);}
.modal__cab h3{font-size:var(--t-lg);}
.modal__cerrar{margin-left:auto;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.09);transition:var(--transicion);}
.modal__cerrar:hover{background:var(--rojo);}
.modal__cerrar svg{width:18px;height:18px;}
.modal__video{aspect-ratio:16/9;position:relative;background:#000;display:grid;place-items:center;}
.modal__video .reproductor__play{position:relative;}

/* RESPONSIVE =============================================================== */
@media (max-width:1140px){
  .hero__grid{grid-template-columns:1fr;}
  .layout-2col{grid-template-columns:1fr;}
  .sticky{position:static;}
  .footer__grid{grid-template-columns:repeat(2,1fr);}
  .mega__grid{grid-template-columns:1fr;gap:var(--e-5);}
}
@media (max-width:960px){
  .mainnav{display:none;}
  .hamburguesa{display:grid;place-items:center;}
  .mainnav.is-abierto{display:block;position:absolute;left:0;right:0;top:100%;background:var(--noche-800);border-bottom:1px solid var(--borde);padding:var(--e-4);max-height:76vh;overflow-y:auto;box-shadow:var(--sombra-3);}
  .mainnav.is-abierto .mainnav__lista{flex-direction:column;align-items:stretch;gap:.1rem;}
  .mainnav.is-abierto .mainnav__enlace{justify-content:space-between;padding:.9rem 1rem;font-size:var(--t-base);}
  .mainnav.is-abierto .mega{position:static;opacity:1;visibility:visible;transform:none;max-height:0;overflow:hidden;padding:0;border:0;box-shadow:none;transition:max-height 340ms ease;}
  .mainnav.is-abierto .mega.is-abierto{max-height:1600px;padding:var(--e-4) 0;background:rgba(0,0,0,.28);}
  .tarjeta--hero{grid-row:auto;}
  .tarjeta--fila .tarjeta__media{flex-basis:34%;}


  /* En pantallas angostas la cabecera solo conserva las acciones
     principales: la radio y el acceso en lengua de señas. */
  .header-tools .icono-btn:not(.icono-btn--senas):not(.icono-btn--radio){display:none;}
}
/* El logotipo cede la bajada antes que el menú */
@media (max-width:1120px){
  .marca__bajada{display:none;}
}
@media (max-width:720px){
  :root{--header-h:64px;}
  .topbar__fecha,.topbar__sep{display:none;}
  .huincha__ctrl{display:none;}
  .footer__grid{grid-template-columns:1fr;}
  .bandas{display:none;}
  .marca__nombre{font-size:1.1rem;}
  .marca__bajada{display:none;}
  .marca__logo{height:40px;}
  .seccion__acciones{margin-left:0;width:100%;}
  .barra-flotante__txt{display:none;}
  .seccion__cab{gap:var(--e-3);}
}
@media (max-width:420px){
  .tarjeta--fila{flex-direction:column;}
  .tarjeta--fila .tarjeta__media{flex-basis:auto;aspect-ratio:16/10;}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms !important;animation-iteration-count:1 !important;transition-duration:.001ms !important;scroll-behavior:auto !important;}
  .huincha__flujo{animation:none;}
}
body.tema-claro{--bg:#FBF7F0;--bg-alt:#F3EDE3;--superficie:#FFFFFF;--superficie-2:#FFF3E2;--texto:#171234;--texto-tenue:#5B5379;--borde:rgba(20,16,47,.13);--borde-fuerte:rgba(20,16,47,.28);}
body.tema-claro .fondo-aurora{opacity:.35;}
body.tema-claro .site-header{background:rgba(251,247,240,.9);}
@media print{
  .huincha,.barra-flotante,.site-header,.topbar,.footer{display:none;}
  body{background:#fff;color:#000;}
}

/* ===== PÁGINAS INTERNAS =====
   Estilos exclusivos de pages/nota.html, pages/galeria.html,
   pages/mapudungun.html y pages/envivo.html.
   Usan los tokens y componentes ya definidos más arriba.
   ========================================================================== */

/* Anclas: deja espacio para la cabecera fija al saltar a una sección */
:target,section[id],article[id],div[id],form[id],aside[id],h2[id],h3[id]{scroll-margin-top:calc(var(--header-h) + 1.2rem);}

/* --- Migas de pan -------------------------------------------------------- */
.migas{margin-bottom:var(--e-5);}
.migas__lista{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;font-size:var(--t-xs);color:var(--texto-tenue);}
.migas__lista li{display:flex;align-items:center;gap:.4rem;}
.migas__lista li + li::before{content:"›";color:var(--amarillo);font-weight:800;}
.migas__lista a{text-decoration:underline;text-underline-offset:3px;transition:var(--transicion);}
.migas__lista a:hover{color:var(--amarillo);}
.migas__lista [aria-current="page"]{color:var(--texto);font-weight:700;}

/* --- Cabecera de página interna ------------------------------------------ */
.pagina-cab{position:relative;overflow:hidden;padding-block:clamp(1.8rem,4vw,3rem) clamp(1.2rem,3vw,2rem);}
.pagina-cab__interno{position:relative;z-index:1;}
.pagina-cab h1{margin-block:.7rem .8rem;}
.pagina-cab__bajada{color:var(--texto-tenue);max-width:68ch;font-size:var(--t-lg);}
.pagina-cab__meta{display:flex;flex-wrap:wrap;align-items:center;gap:var(--e-4);margin-top:var(--e-5);}

/* --- Nota / artículo ----------------------------------------------------- */
.nota-cab h1{font-size:clamp(2.1rem,1.3rem + 3.6vw,4.2rem);max-width:24ch;}
.nota-cab__bajada{font-size:var(--t-xl);color:var(--texto-tenue);max-width:64ch;margin-top:var(--e-4);line-height:1.4;}
.firma{display:flex;align-items:center;gap:var(--e-3);flex-wrap:wrap;padding-block:var(--e-4);border-block:1px solid var(--borde);margin-top:var(--e-5);}
.firma__avatar{
  width:48px;height:48px;border-radius:50%;flex-shrink:0;display:grid;place-items:center;
  font-family:var(--fuente-display);font-size:1.15rem;color:var(--tinta);
  background:linear-gradient(140deg,var(--amarillo),var(--naranja));box-shadow:var(--sombra-1);
}
.firma__datos{display:flex;flex-direction:column;line-height:1.35;}
.firma__datos strong{font-weight:800;}
.firma__datos span{font-size:var(--t-xs);color:var(--texto-tenue);}
.firma__acciones{margin-left:auto;display:flex;gap:.4rem;flex-wrap:wrap;}

.figura{margin-top:var(--e-5);}
.figura__marco{position:relative;border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--borde-fuerte);background:#0E0A26;aspect-ratio:16/9;}
.figura__marco > [data-arte]{position:absolute;inset:0;}
.figura__marco svg{width:100%;height:100%;}
.figura__bajada{margin-top:.7rem;font-size:var(--t-sm);color:var(--texto-tenue);padding-left:var(--e-4);border-left:3px solid var(--magenta);}
.figura__bajada b{color:var(--texto);}
.figura--retrato .figura__marco{aspect-ratio:4/3;}

.nota__cuerpo{font-size:clamp(1.03rem,.98rem + .25vw,1.18rem);line-height:1.8;}
.nota__cuerpo > p + p{margin-top:var(--e-4);}
.nota__cuerpo h2{font-size:var(--t-2xl);margin-block:var(--e-6) var(--e-3);}
.nota__cuerpo h2::after{content:"";display:block;width:62px;height:5px;border-radius:99px;margin-top:.6rem;background:linear-gradient(90deg,var(--magenta),var(--amarillo),var(--cyan));}
.nota__cuerpo > p:first-of-type::first-letter{
  float:left;font-family:var(--fuente-display);font-size:3.6rem;line-height:.82;
  padding:.1rem .6rem 0 0;color:var(--amarillo);
}
.cita{margin-block:var(--e-6);padding:var(--e-5) var(--e-5) var(--e-5) var(--e-6);border-radius:var(--r-lg);position:relative;overflow:hidden;
  background:linear-gradient(135deg,rgba(255,61,139,.2),rgba(38,184,243,.14));border:1px solid rgba(255,61,139,.4);}
.cita p{font-size:var(--t-xl);font-family:var(--fuente-texto);font-weight:600;line-height:1.45;font-style:italic;}
.cita footer{margin-top:var(--e-4);font-size:var(--t-xs);font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--amarillo);}
.cita::before{content:"“";position:absolute;top:-.5rem;right:1rem;font-family:var(--fuente-display);font-size:7rem;line-height:1;color:rgba(255,255,255,.12);}
.lista-marca{display:grid;gap:.7rem;margin-block:var(--e-5);}
.lista-marca li{position:relative;padding-left:2.1rem;font-size:1.02rem;}
.lista-marca li::before{content:"";position:absolute;left:0;top:.62em;width:12px;height:12px;border-radius:3px;background:linear-gradient(140deg,var(--amarillo),var(--naranja));transform:rotate(45deg);}
.dato-caja{margin-block:var(--e-5);padding:var(--e-5);border-radius:var(--r-lg);background:var(--superficie);border:1px solid var(--borde);border-left:6px solid var(--cyan);}
.dato-caja dl{display:grid;grid-template-columns:auto 1fr;gap:.5rem var(--e-4);font-size:var(--t-sm);}
.dato-caja dt{color:var(--amarillo);font-weight:800;text-transform:uppercase;letter-spacing:.08em;font-size:var(--t-xs);align-self:center;}
.dato-caja dd{color:var(--texto-tenue);}
.etiquetas{display:flex;flex-wrap:wrap;gap:.4rem;}
.mini-lista{display:grid;gap:.65rem;}
.mini-lista a{display:block;padding:.6rem .8rem;border-radius:var(--r-md);background:rgba(255,255,255,.05);border-left:3px solid var(--violeta);font-size:var(--t-sm);font-weight:600;transition:var(--transicion);}
.mini-lista a:hover{background:rgba(155,107,255,.2);transform:translateX(4px);}
.mini-lista span{display:block;font-size:.68rem;color:var(--texto-tenue);font-weight:400;text-transform:uppercase;letter-spacing:.08em;margin-top:.15rem;}
.paginacion-nav{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:var(--e-4);margin-top:var(--e-6);}
.paginacion-nav a{
  display:block;padding:var(--e-5);border-radius:var(--r-lg);background:var(--superficie);
  border:1px solid var(--borde);transition:var(--transicion);
}
.paginacion-nav a:hover{border-color:var(--amarillo);transform:translateY(-5px);box-shadow:var(--sombra-2);}
.paginacion-nav a:last-child{text-align:right;}
.paginacion-nav span{display:block;font-size:var(--t-xs);letter-spacing:.14em;text-transform:uppercase;color:var(--amarillo);font-weight:800;}
.paginacion-nav strong{display:block;font-family:var(--fuente-display);font-weight:400;text-transform:uppercase;font-size:var(--t-lg);line-height:1.1;margin-top:.4rem;}

/* --- Galería virtual ----------------------------------------------------- */
.galeria-pagina__cab{display:flex;align-items:center;gap:var(--e-4);flex-wrap:wrap;margin-bottom:var(--e-5);}
.galeria-pagina__titulo{font-size:var(--t-xl);}
.galeria-pagina__contador{
  margin-left:auto;display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1.1rem;border-radius:var(--r-full);
  background:rgba(255,255,255,.07);border:1px solid var(--borde-fuerte);font-size:var(--t-sm);font-weight:700;
}
.galeria-pagina__contador b{font-family:var(--fuente-display);font-size:1.35rem;color:var(--amarillo);font-weight:400;}
.filtros{
  display:grid;gap:var(--e-4);padding:var(--e-5);border-radius:var(--r-lg);
  background:linear-gradient(140deg,var(--superficie),var(--noche-900));border:1px solid var(--borde);
}
.filtros__fila{display:flex;align-items:center;gap:var(--e-3);flex-wrap:wrap;}
.filtros__etiqueta{font-size:var(--t-xs);font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--texto-tenue);min-width:82px;}
.chip--filtro{background:rgba(255,255,255,.05);}
.chip--filtro.is-activo{background:var(--amarillo);color:var(--tinta);border-color:transparent;font-weight:800;}
.galeria-pagina__grid .obra{flex:none;width:100%;}
.galeria-pagina__grid .obra__lienzo{aspect-ratio:4/5;}
.galeria-pagina__grid .obra__lienzo{cursor:zoom-in;}
.obra__zoom{
  position:absolute;right:.7rem;bottom:.7rem;z-index:3;width:38px;height:38px;border-radius:50%;
  display:grid;place-items:center;background:rgba(6,3,26,.72);color:#fff;opacity:0;transform:translateY(6px);
  transition:var(--transicion);border:1px solid var(--borde-fuerte);
}
.obra__zoom svg{width:17px;height:17px;}
.obra:hover .obra__zoom,.obra:focus-visible .obra__zoom{opacity:1;transform:translateY(0);}
.galeria-pagina__vacio{text-align:center;padding:var(--e-7);color:var(--texto-tenue);border:1px dashed var(--borde-fuerte);border-radius:var(--r-lg);}
.modal--visor .modal__caja{width:min(1180px,100%);}
.modal__cuerpo{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(290px,.85fr);}
.visor__lienzo{position:relative;aspect-ratio:4/5;background:#0E0A26;overflow:hidden;}
.visor__lienzo > [data-arte]{position:absolute;inset:0;}
.visor__lienzo svg{width:100%;height:100%;}
.visor__lienzo .obra__marco{border-width:14px;}
.visor__datos{padding:var(--e-5);display:flex;flex-direction:column;gap:.7rem;max-height:min(76vh,720px);overflow-y:auto;}
.visor__datos h3{font-size:var(--t-2xl);}
.visor__artista{font-size:var(--t-lg);font-weight:700;color:var(--amarillo);}
.visor__ficha{display:grid;gap:.3rem;font-size:var(--t-sm);color:var(--texto-tenue);padding-block:var(--e-3);border-block:1px solid var(--borde);}
.visor__ficha b{color:var(--texto);font-weight:700;}
.visor__curaduria{font-size:var(--t-sm);line-height:1.7;}
.visor__pie{margin-top:auto;display:flex;align-items:center;gap:.5rem;padding-top:var(--e-3);}

/* --- Mapudungun ---------------------------------------------------------- */
.pronunciacion{display:grid;grid-template-columns:repeat(auto-fit,minmax(215px,1fr));gap:var(--e-4);}
.pronunciacion__item{padding:var(--e-4);border-radius:var(--r-md);background:rgba(46,217,195,.09);border:1px solid rgba(46,217,195,.3);}
.pronunciacion__item b{display:block;font-family:var(--fuente-display);font-size:1.55rem;color:var(--turquesa);font-weight:400;line-height:1;}
.pronunciacion__item p{font-size:var(--t-sm);color:#CFF5EE;margin-top:.4rem;}
.pronunciacion__item em{display:block;font-size:var(--t-xs);color:#8FD8CC;margin-top:.3rem;}
.gramatica{display:grid;grid-template-columns:repeat(auto-fit,minmax(215px,1fr));gap:var(--e-4);}
.gramatica__caja{padding:var(--e-5);border-radius:var(--r-lg);background:linear-gradient(150deg,rgba(46,217,195,.14),rgba(38,184,243,.08));border:1px solid rgba(46,217,195,.3);}
.gramatica__caja h3{font-size:var(--t-lg);color:var(--turquesa);margin-bottom:var(--e-3);}
.gramatica__caja td{padding:.35rem 0;font-size:var(--t-sm);vertical-align:top;}
.gramatica__caja td:first-child{color:var(--turquesa);font-weight:800;white-space:nowrap;padding-right:var(--e-4);}
.gramatica__caja td:last-child{color:#D7F5F0;}
.numeros{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:var(--e-3);}
.numeros__item{
  text-align:center;padding:var(--e-4) var(--e-2);border-radius:var(--r-md);
  background:rgba(255,255,255,.055);border:1px solid rgba(46,217,195,.26);
}
.numeros__item span{font-size:.66rem;letter-spacing:.16em;color:#8FD8CC;font-weight:800;}
.numeros__item b{display:block;font-family:var(--fuente-display);font-size:1.7rem;font-weight:400;color:var(--turquesa);line-height:1.1;margin-top:.2rem;}
.numeros__item i{display:block;font-style:normal;font-size:var(--t-xs);color:#D7F5F0;}
.audio-lista{display:grid;gap:.6rem;}
.audio-fila{display:flex;align-items:center;gap:var(--e-4);padding:.75rem 1rem;border-radius:var(--r-md);background:rgba(255,255,255,.055);border-left:4px solid var(--turquesa);}
.audio-fila--saludo{border-left-color:var(--amarillo);}
.audio-fila--numero{border-left-color:var(--cyan);}
.audio-fila__txt{min-width:0;flex:1;}
.audio-fila__txt b{display:block;font-size:var(--t-lg);color:#EAFBF8;font-weight:800;line-height:1.2;}
.audio-fila__txt span{font-size:var(--t-sm);color:#B7E9E0;}
.audio-fila__txt em{font-size:.7rem;color:#8FD8CC;font-style:italic;}
.audio-acciones{display:flex;gap:.4rem;flex-wrap:wrap;margin-top:var(--e-4);}
.form-aporte{display:grid;gap:var(--e-3);}
.form-aporte label{display:grid;gap:.3rem;font-size:var(--t-xs);font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--amarillo);}
.form-aporte input,.form-aporte select{padding:.75rem 1.1rem;border-radius:var(--r-md);background:rgba(255,255,255,.07);border:1px solid var(--borde-fuerte);color:var(--texto);font-size:var(--t-sm);}
.form-aporte input:focus,.form-aporte select:focus{outline:none;border-color:var(--turquesa);}
.nota-respeto{
  margin-top:var(--e-5);padding:var(--e-4) var(--e-5);border-radius:var(--r-md);
  background:linear-gradient(120deg,rgba(255,196,46,.16),rgba(255,122,61,.1));
  border:1px solid rgba(255,196,46,.42);border-left:6px solid var(--amarillo);
}
.nota-respeto h2,.nota-respeto h3{font-size:var(--t-lg);color:var(--amarillo);margin-bottom:.4rem;}
.nota-respeto p{font-size:var(--t-sm);color:var(--texto-tenue);}
.nota-respeto p + p{margin-top:.5rem;}

/* --- En vivo ------------------------------------------------------------- */
.ahora-bloque{border-top:1px solid var(--borde);background:rgba(0,0,0,.3);padding:var(--e-5);display:flex;gap:var(--e-5);flex-wrap:wrap;align-items:flex-start;}
.ahora-bloque__info{flex:1;min-width:240px;}
.ahora-bloque__info h3{font-size:var(--t-xl);margin-top:.5rem;}
.ahora-bloque__info p{font-size:var(--t-sm);color:var(--texto-tenue);margin-top:.35rem;}
.ahora-bloque__datos{display:flex;gap:var(--e-4);flex-wrap:wrap;align-items:center;}
.rotulo-vivo{display:inline-flex;align-items:center;gap:.5rem;padding:.3rem .8rem;border-radius:var(--r-full);background:rgba(240,67,80,.18);border:1px solid rgba(240,67,80,.5);color:#FFD2D6;font-weight:800;letter-spacing:.14em;text-transform:uppercase;font-size:.68rem;}
.parrilla-hoy{display:grid;gap:.35rem;}
.parrilla-hoy__fila{display:grid;grid-template-columns:82px minmax(0,1fr) auto;gap:var(--e-4);align-items:center;padding:.8rem 1.1rem;border-radius:var(--r-md);background:rgba(255,255,255,.045);border:1px solid transparent;transition:var(--transicion);}
.parrilla-hoy__fila:hover{background:rgba(255,255,255,.1);transform:translateX(4px);}
.parrilla-hoy__hora{font-family:var(--fuente-display);font-size:1.35rem;color:var(--amarillo);line-height:1;}
.parrilla-hoy__txt b{font-size:var(--t-base);font-weight:700;}
.parrilla-hoy__txt span{display:block;font-size:var(--t-xs);color:var(--texto-tenue);}
.parrilla-hoy__fila.is-ahora{background:linear-gradient(90deg,rgba(240,67,80,.28),rgba(240,67,80,.05));border-color:rgba(240,67,80,.45);}
.parrilla-hoy__fila.is-ahora .parrilla-hoy__hora{color:var(--rojo);}
.espectadores{display:flex;align-items:center;gap:.4rem;font-size:var(--t-xs);color:var(--texto-tenue);white-space:nowrap;}
.espectadores svg{width:14px;height:14px;color:var(--verde);}
.canales{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--e-4);}
.canal-caja{display:flex;gap:var(--e-4);align-items:flex-start;padding:var(--e-4);border-radius:var(--r-lg);background:var(--superficie);border:1px solid var(--borde);transition:var(--transicion);}
.canal-caja:hover{border-color:var(--amarillo);transform:translateY(-5px);box-shadow:var(--sombra-2);}
.canal-caja__icono{width:44px;height:44px;flex-shrink:0;border-radius:var(--r-md);display:grid;place-items:center;background:color-mix(in srgb,var(--tinte,var(--amarillo)) 24%,transparent);color:var(--tinte,var(--amarillo));border:1px solid color-mix(in srgb,var(--tinte,var(--amarillo)) 45%,transparent);}
.canal-caja__icono svg{width:22px;height:22px;}
.canal-caja h3{font-size:var(--t-base);font-family:var(--fuente-texto);font-weight:800;text-transform:none;letter-spacing:0;}
.canal-caja p{font-size:var(--t-xs);color:var(--texto-tenue);margin-top:.2rem;}
.canal-caja strong{display:block;font-size:var(--t-sm);color:var(--texto);margin-top:.3rem;}

/* Legibilidad de los párrafos de introducción y de las notas de respeto */
.pagina-cab__bajada,.pila > p,.nota-respeto p{color:var(--texto);opacity:.9;}

/* --- Responsive de páginas internas -------------------------------------- */
@media (max-width:960px){
  .modal__cuerpo{grid-template-columns:1fr;}
  .visor__lienzo{aspect-ratio:16/10;}
  .visor__datos{max-height:none;}
}
@media (max-width:720px){
  .firma__acciones{margin-left:0;width:100%;}
  .paginacion-nav a:last-child{text-align:left;}
  .galeria-pagina__contador{margin-left:0;}
  .parrilla-hoy__fila{grid-template-columns:70px minmax(0,1fr);}
  .parrilla-hoy__fila .espectadores{grid-column:2;}
  .dato-caja dl{grid-template-columns:1fr;gap:.15rem;}
  .dato-caja dt{margin-top:.4rem;}
}
@media (max-width:420px){
  .filtros__etiqueta{min-width:100%;}
  .nota__cuerpo > p:first-of-type::first-letter{font-size:2.8rem;}
}


/* ==========================================================================
   12. REVISIÓN CLIENTE · EN VIVO A TODO EL ANCHO + FONDOS FOTOGRÁFICOS
   ========================================================================== */

/* --- Sección en vivo: 100% del ancho, sin columnas laterales ------------- */
.envivo-full{
  position:relative;isolation:isolate;overflow:clip;
  padding-block:clamp(1.2rem,3vw,2.4rem) clamp(1.6rem,4vw,3rem);
  background:var(--noche-900);
}
.envivo-full__foto{
  position:absolute;inset:0;z-index:-3;
  background-size:cover;background-position:center 34%;
  opacity:.7;filter:saturate(1.15);
}
.envivo-full__velo{
  position:absolute;inset:0;z-index:-2;
  background:
    radial-gradient(70rem 40rem at 50% 0%,rgba(240,67,80,.30),transparent 62%),
    linear-gradient(180deg,var(--noche-900) 0%,rgba(18,14,46,.42) 24%,rgba(18,14,46,.34) 58%,var(--noche-900) 100%);
}
.envivo-full__grano{
  position:absolute;inset:0;z-index:-1;opacity:.4;pointer-events:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)' opacity='.35'/%3E%3C/svg%3E");
  mix-blend-mode:overlay;
}
.envivo-full__cab{
  display:flex;align-items:flex-end;gap:var(--e-5);flex-wrap:wrap;
  margin-bottom:var(--e-5);position:relative;z-index:2;
}
/* Sin tope de ancho: el titular usa toda su columna y sólo baja a dos
   líneas cuando de verdad no cabe. */
.envivo-full__titulo{font-size:clamp(1.25rem,.88rem + 1.85vw,2.4rem);max-width:none;line-height:1.06;text-wrap:balance;}
.kicker--alto{color:var(--rojo);letter-spacing:.2em;}
/* El nombre del programa al aire, dentro del propio rótulo. Va en blanco para
   separarlo del rojo del estado: «Al aire ahora · Escenario Austral». */
.kicker__sep{margin:0 .45em;opacity:.45;font-weight:400;}
.kicker__programa{color:var(--texto);font-weight:800;letter-spacing:.12em;}
.kicker--alto::before{display:none;}
.envivo-full__meta{display:flex;gap:.4rem;flex-wrap:wrap;margin-top:var(--e-4);}
.envivo-full__cab p{color:var(--texto-tenue);max-width:52ch;margin-top:.5rem;}
.envivo-full__acciones{margin-left:auto;display:flex;gap:.5rem;flex-wrap:wrap;}

/* Marco del reproductor: de borde a borde de la ventana */
.envivo-marco{position:relative;z-index:2;}


.envivo-marco__pie{
  display:flex;align-items:center;gap:var(--e-4);flex-wrap:wrap;
  padding:var(--e-4) clamp(1rem,4vw,2.5rem);
  background:rgba(6,3,26,.78);
  border-top:1px solid var(--borde);
}
.envivo-marco__pie h3{font-size:clamp(1.1rem,1rem + .9vw,1.9rem);}
.envivo-marco__pie .meta{display:flex;gap:.4rem;flex-wrap:wrap;margin-left:auto;}

/* Parrilla a todo el ancho */
.parrilla--full{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));background:rgba(6,3,26,.86);border-top:1px solid rgba(255,255,255,.16);}
.parrilla--full .parrilla__item{padding:1rem clamp(1rem,4vw,2.5rem);}

/* Franja de indicadores bajo el reproductor */
.envivo-full__datos{position:relative;z-index:2;margin-top:var(--e-5);}
.envivo-full__datos .stats{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));}
.envivo-full__datos .stat{
  background:linear-gradient(160deg,rgba(14,10,38,.82),rgba(10,7,30,.9));
  backdrop-filter:blur(14px);border-color:rgba(255,255,255,.16);
}
.envivo-full__datos .stat__num{text-shadow:0 2px 12px rgba(0,0,0,.6);}
.envivo-full__datos .stat__txt{color:#CFC8EC;}

/* --- Accesos rápidos a todo el ancho ------------------------------------- */
.grid--5{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));}
.acceso--tarjeta{
  flex-direction:column;align-items:flex-start;gap:var(--e-3);
  padding:var(--e-5) var(--e-4);min-height:186px;
}
.acceso--tarjeta .acceso__icono{width:54px;height:54px;}
.acceso--tarjeta h4{font-size:var(--t-lg);font-family:var(--fuente-display);text-transform:uppercase;letter-spacing:0;}
.acceso--tarjeta .acceso__flecha{margin-left:0;margin-top:auto;}

/* --- Lo más leído a todo el ancho ---------------------------------------- */

/* --- Fondos fotográficos por sección ------------------------------------- */
.seccion--foto{position:relative;isolation:isolate;overflow:clip;}
.seccion--foto .foto-fondo{
  position:absolute;inset:0;z-index:-3;
  background-size:cover;background-position:center;
  opacity:.34;filter:saturate(1.08) contrast(1.02);
}
.seccion--foto .foto-velo{
  position:absolute;inset:0;z-index:-2;
  background:
    radial-gradient(56rem 34rem at 12% 4%,color-mix(in srgb,var(--tinte,var(--magenta)) 42%,transparent),transparent 62%),
    radial-gradient(48rem 30rem at 92% 96%,color-mix(in srgb,var(--tinte-2,var(--cyan)) 34%,transparent),transparent 60%),
    linear-gradient(180deg,var(--noche-900) 0%,rgba(18,14,46,.78) 14%,rgba(18,14,46,.78) 86%,var(--noche-900) 100%);
}
.seccion--foto .foto-grano{
  position:absolute;inset:0;z-index:-1;opacity:.32;pointer-events:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)' opacity='.35'/%3E%3C/svg%3E");
  mix-blend-mode:overlay;
}
.seccion--foto > .contenedor{position:relative;z-index:1;}

/* --- Imágenes normales en las tarjetas ----------------------------------- */
.tarjeta__media img{width:100%;height:100%;object-fit:cover;display:block;}
.tarjeta__media--foto::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(180deg,rgba(6,3,26,.05) 0%,transparent 35%,rgba(6,3,26,.5) 100%);
}
.obra__lienzo img{width:100%;height:100%;object-fit:cover;}
.audio-tarjeta__portada img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.audio-tarjeta__portada::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(140deg,rgba(155,107,255,.55),rgba(255,61,139,.4));
}
.audio-tarjeta__portada > *{position:relative;z-index:1;}

/* ==========================================================================
   13. CARRUSEL "ÚLTIMAS ACTUALIZACIONES Y ESTRENOS" (estilo referencia)
   ========================================================================== */
.estrenos{
  position:relative;isolation:isolate;overflow:clip;
  background:#0C0A14;
  padding-block:clamp(2.5rem,6vw,5rem);
}
.estrenos__foto{position:absolute;inset:0;z-index:-3;background-size:cover;background-position:center;opacity:.16;}
.estrenos__velo{
  position:absolute;inset:0;z-index:-2;
  background:linear-gradient(180deg,#0C0A14 0%,rgba(12,10,20,.86) 30%,rgba(12,10,20,.9) 70%,#0C0A14 100%);
}
.estrenos__cab{text-align:center;margin-bottom:clamp(1.6rem,4vw,3rem);position:relative;z-index:2;}
.estrenos__cab h2{
  font-size:clamp(1.9rem,1.1rem + 3.6vw,4.2rem);
  line-height:.98;max-width:27ch;margin-inline:auto;
}
.estrenos__cab .kicker{justify-content:center;}
.estrenos__cab .kicker::before{display:none;}
.estrenos__cab p{color:var(--texto-tenue);margin-top:var(--e-3);max-width:56ch;margin-inline:auto;}

.estrenos__pista{
  display:flex;gap:clamp(1rem,2.4vw,2rem);
  overflow-x:auto;scroll-snap-type:x mandatory;
  padding:0 clamp(1rem,4vw,2.5rem) var(--e-5);
  scrollbar-width:none;
}
.estrenos__pista::-webkit-scrollbar{display:none;}
.estreno{
  flex:0 0 clamp(230px,26vw,330px);scroll-snap-align:center;
  display:flex;flex-direction:column;
  transition:transform var(--transicion);
}
/* Escalona alterna: imita el ritmo de la referencia del cliente */
.estreno:nth-child(even){margin-top:clamp(28px,5vw,86px);}
.estreno:hover{transform:translateY(-6px);}
.estreno__media{
  position:relative;aspect-ratio:4/3;border-radius:3px;overflow:hidden;
  background:#17141F;
}
.estreno__media img{width:100%;height:100%;object-fit:cover;transition:transform 600ms ease;}
.estreno:hover .estreno__media img{transform:scale(1.05);}
.estreno__cat{
  margin-top:var(--e-4);
  font-size:.68rem;font-weight:800;letter-spacing:.2em;text-transform:uppercase;
  color:var(--texto-tenue);
}
.estreno__titulo{
  margin-top:.5rem;
  font-family:var(--fuente-display);font-size:clamp(1rem,.94rem + .35vw,1.3rem);
  line-height:1.08;text-transform:uppercase;letter-spacing:.01em;
}
.estreno__titulo a{transition:color var(--transicion);}
.estreno:hover .estreno__titulo a{color:var(--amarillo);}
.estreno__meta{
  margin-top:auto;padding-top:var(--e-3);
  font-size:.74rem;color:var(--texto-tenue);
  display:flex;align-items:center;gap:.4rem;
}
.estreno__punto{width:3px;height:3px;border-radius:50%;background:currentColor;}
.estreno__etiqueta{
  position:absolute;top:.7rem;left:.7rem;z-index:2;
  padding:.22rem .55rem;border-radius:3px;
  font-size:.6rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;
  background:var(--rojo);color:#fff;
}

.estrenos__puntos{
  display:flex;justify-content:center;gap:.55rem;margin-top:var(--e-4);
  position:relative;z-index:2;
}
.estrenos__puntos button{
  width:9px;height:9px;border-radius:50%;background:rgba(255,255,255,.28);
  transition:var(--transicion);
}
.estrenos__puntos button:hover{background:rgba(255,255,255,.55);}
.estrenos__puntos button[aria-selected="true"]{background:var(--rojo);transform:scale(1.25);}
.estrenos__flechas{display:flex;justify-content:center;gap:.6rem;margin-top:var(--e-5);position:relative;z-index:2;}
@media (max-width:720px){
  .estreno:nth-child(even){margin-top:0;}
  .estreno{flex-basis:78vw;}
}

/* Póster fotográfico del reproductor */
.reproductor__poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(1.02);}
.reproductor__velo--foto{background:linear-gradient(180deg,rgba(6,3,26,.18) 0%,rgba(6,3,26,.35) 45%,rgba(6,3,26,.88) 100%);}

/* Alinear el carrusel de estrenos con el contenedor y no con el borde */
.estrenos__pista{
  padding-inline:max(clamp(1rem,4vw,2.5rem), calc((100vw - var(--ancho)) / 2 + clamp(1rem,4vw,2.5rem)));
}

/* Figuras de las páginas internas con fotografía real */
.figura__marco > img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}

/* Botón de cierre de la barra flotante */
.barra-flotante__cerrar{
  width:34px;height:34px;border-radius:50%;display:grid;place-items:center;flex-shrink:0;
  background:rgba(255,255,255,.1);color:var(--texto);transition:var(--transicion);
}
.barra-flotante__cerrar:hover{background:var(--rojo);color:#fff;}
.barra-flotante__cerrar svg{width:15px;height:15px;}

/* --- Icono de play dentro del bloque «Estamos transmitiendo» --- */
.envivo-play{
  position:relative;display:grid;place-items:center;align-self:center;
  flex-shrink:0;cursor:pointer;
  padding:clamp(.6rem,2vw,1rem);
  margin-right:clamp(0px,3.2vw,3rem);   /* un respiro respecto del borde derecho */
  transition:transform var(--transicion);
}
.envivo-play:hover{transform:scale(1.05);}
.envivo-play__halo{
  position:absolute;left:50%;top:50%;z-index:0;pointer-events:none;
  width:clamp(230px,24vw,330px);aspect-ratio:1;border-radius:50%;
  transform:translate(-50%,-50%);
  background:radial-gradient(circle,rgba(240,67,80,.38) 0%,rgba(255,61,139,.18) 46%,transparent 72%);
  animation:halo-latir 3.6s ease-in-out infinite;
}
@keyframes halo-latir{
  0%,100%{transform:translate(-50%,-50%) scale(1);opacity:.8;}
  50%{transform:translate(-50%,-50%) scale(1.14);opacity:1;}
}
.envivo-play .reproductor__play{position:relative;z-index:2;}
.reproductor__play--xl{width:clamp(104px,13vw,150px);}
.reproductor__play--xl svg{width:38%;height:38%;}

/* La cabecera del bloque en vivo: texto a la izquierda, play centrado a la derecha */
.envivo-full__cab{
  display:grid;grid-template-columns:minmax(0,1fr) auto;
  align-items:center;gap:clamp(1.5rem,4vw,4rem);
}
.envivo-full__texto{min-width:0;}
.envivo-full__texto .envivo-full__acciones{margin-left:0;margin-top:var(--e-5);display:flex;gap:.5rem;flex-wrap:wrap;}
@media (max-width:900px){
  .envivo-full__cab{grid-template-columns:1fr;gap:var(--e-5);justify-items:center;text-align:center;}
  .envivo-full__texto .kicker{justify-content:center;}
  .envivo-full__texto .envivo-full__acciones{justify-content:center;}
  .envivo-play{order:2;}
}
@media (max-width:520px){
  .envivo-play__halo{width:200px;}
  .reproductor__play--xl{width:96px;}
}

/* El bloque en vivo pasó a mostrar el programa al aire */
.envivo-full__texto .envivo-full__acciones{margin-top:var(--e-5);}
@media (max-width:900px){
  .envivo-full__titulo{margin-inline:auto;}
  .envivo-full__meta{justify-content:center;}
}

/* ==========================================================================
   14. FIGURAS PLANAS DE FONDO (estilo referencia del cliente)
   Personajes vectoriales anclados al borde inferior de cada sección, detrás
   del contenido. Se generan con assets/js/personas.js
   ========================================================================== */
.seccion--figura{position:relative;isolation:isolate;overflow:clip;}
.seccion--figura > .contenedor,
.envivo-full > .contenedor,
.estrenos > .contenedor{position:relative;z-index:2;}

.figura-fondo{
  position:absolute;bottom:0;z-index:0;pointer-events:none;
  width:clamp(190px,21vw,320px);display:block;
}
.figura-fondo svg{width:100%;height:auto;display:block;}
.figura-fondo--izq{left:0;}
.figura-fondo--der{right:0;}
.figura-fondo--centro{left:50%;transform:translateX(-50%);}
.figura-fondo--chica{width:clamp(150px,16vw,240px);}
.figura-fondo--grande{width:clamp(230px,27vw,410px);}
.figura-fondo--ancha{width:clamp(320px,38vw,620px);}
/* se difuminan hacia el borde inferior para que no parezcan recortadas */
.figura-fondo::after{
  content:"";position:absolute;left:-6%;right:-6%;bottom:-2px;height:22%;
  background:linear-gradient(180deg,transparent,var(--noche-900) 88%);
  pointer-events:none;
}
/* cuando el contenido es ancho, la figura pasa a ser textura de fondo */
.figura-fondo--tenue{opacity:.5;}
@media (max-width:1000px){ .figura-fondo{display:none;} }

/* ==========================================================================
   15. BANDA ILUSTRADA — elenco de figuras planas a todo el ancho
   ========================================================================== */
.banda-ilustrada{
  position:relative;isolation:isolate;overflow:clip;
  background:linear-gradient(115deg,#170F3E 0%,#241A5C 42%,#2E1F6E 70%,#1B1145 100%);
  padding-top:clamp(1.8rem,4vw,3rem);
}
.banda-ilustrada__fondo{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden;}
.banda-ilustrada__grid{
  position:relative;z-index:1;
  display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);
  align-items:end;gap:clamp(1rem,3vw,2.5rem);
}
.banda-ilustrada__texto{padding-bottom:clamp(1.6rem,4vw,3rem);max-width:34rem;}
.banda-ilustrada__texto h2{font-size:clamp(1.55rem,1rem + 2.3vw,3rem);margin-top:.5rem;}
.banda-ilustrada__texto h2 em{font-style:normal;color:var(--amarillo);}
.banda-ilustrada__texto p{color:var(--texto-tenue);margin-top:var(--e-4);max-width:44ch;}
.banda-ilustrada__acciones{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:var(--e-5);}

.banda-ilustrada__elenco{
  display:flex;align-items:flex-end;justify-content:center;
  height:clamp(215px,24vw,330px);overflow:hidden;
}
/* Cada figura ocupa una franja igual: el SVG se ajusta solo y nunca se
   desborda sobre el texto, sin importar cuántos personajes haya. */
/* Trazo de una línea: la figura se apoya en el piso, sin recortes */
.banda-ilustrada__elenco > span{
  flex:1 1 0;min-width:0;height:104%;display:block;
  transform:translateY(3%);
  margin-left:clamp(-12px,-.9vw,-4px);
}
.banda-ilustrada__elenco > span:first-child{margin-left:0;}
.banda-ilustrada__elenco > span:nth-child(2){height:96%;}
.banda-ilustrada__elenco > span:nth-child(3){height:112%;}
.banda-ilustrada__elenco > span:nth-child(4){height:99%;}
.banda-ilustrada__elenco > span:nth-child(5){height:107%;}
.banda-ilustrada__elenco svg{width:100%;height:100%;display:block;}

/* piso de color donde se apoyan */
.banda-ilustrada__piso{
  position:relative;z-index:1;height:10px;
  background:linear-gradient(90deg,var(--magenta),var(--amarillo),var(--cyan),var(--verde),var(--violeta));
  background-size:300% 100%;animation:correr 9s linear infinite;
}
@media (max-width:1000px){
  .banda-ilustrada__grid{grid-template-columns:1fr;justify-items:center;text-align:center;}
  .banda-ilustrada__texto{max-width:44ch;}
  .banda-ilustrada__acciones{justify-content:center;}
  .banda-ilustrada__elenco{height:170px;margin-top:var(--e-4);}
}

/* La presentadora se apoya detrás del icono de play */
.envivo-play{position:relative;}
.figura-fondo--play{
  left:auto;right:clamp(-52px,-3.4vw,-16px);bottom:clamp(-26px,-1.8vw,-8px);
  width:clamp(132px,14vw,220px);z-index:1;
}
@media (max-width:1000px){ .figura-fondo--play{display:none;} }

/* Figuras recortadas en los bordes de la banda de estrenos */
.figura-fondo--borde{width:clamp(150px,15vw,250px);opacity:.92;}
.estrenos .figura-fondo{z-index:1;}
.estrenos .estrenos__pista,.estrenos .estrenos__cab,.estrenos .estrenos__puntos,.estrenos .estrenos__flechas{position:relative;z-index:3;}

/* Variante de cierre: elenco a la izquierda, texto a la derecha */
.banda-ilustrada--cierre{background:linear-gradient(115deg,#1B1145 0%,#2A1F66 38%,#3A1550 72%,#170F3E 100%);}
.banda-ilustrada__grid--invertida{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);}
.banda-ilustrada__grid--invertida .banda-ilustrada__texto{justify-self:end;}
.banda-ilustrada__elenco--ancho{justify-content:flex-start;}
.banda-ilustrada__elenco--ancho > span{aspect-ratio:300/680;height:112%;}
@media (max-width:1000px){
  .banda-ilustrada__grid--invertida{grid-template-columns:1fr;}
  .banda-ilustrada__elenco--ancho{justify-content:center;}
}

/* ==========================================================================
   16. FORMAS ARTÍSTICAS DE FONDO (círculos, arcos, líneas, puntos…)
   Abstractas y de baja opacidad: pueden solaparse con el contenido sin
   estorbar la lectura, a diferencia de las figuras humanas.
   ========================================================================== */
.forma-fondo{
  position:absolute;z-index:0;pointer-events:none;
  width:clamp(190px,23vw,360px);aspect-ratio:1;opacity:.28;
}
.forma-fondo svg{width:100%;height:100%;display:block;overflow:visible;}
.forma-fondo--tl{top:-52px;left:-56px;}
.forma-fondo--tr{top:-52px;right:-56px;}
.forma-fondo--bl{bottom:-64px;left:-60px;}
.forma-fondo--br{bottom:-64px;right:-60px;}
.forma-fondo--tenue{opacity:.34;}
.forma-fondo--micro{width:clamp(120px,13vw,190px);opacity:.4;}
.forma-fondo--micro.forma-fondo--tr{top:-26px;right:-24px;}
.forma-fondo--micro.forma-fondo--br{bottom:-26px;right:-24px;}
.forma-fondo--micro.forma-fondo--bl{bottom:-26px;left:-24px;}
@media (max-width:1000px){
  .forma-fondo{opacity:.2;width:clamp(150px,34vw,230px);}
}

/* Las formas dentro de las bandas no deben competir con el titular */
.banda-ilustrada__fondo .forma-fondo{opacity:.22;}
.banda-ilustrada__fondo .forma-fondo--micro{opacity:.3;}
@media (max-width:1000px){
  .banda-ilustrada__fondo .forma-fondo{opacity:.16;}
}

/* El grupo son tres cabezas: necesita el doble de franja para leerse */
.banda-ilustrada__elenco > span[data-persona="grupo"]{flex:1.9 1 0;}
.banda-ilustrada__elenco > span[data-persona="pareja"]{flex:1.25 1 0;}

/* ==========================================================================
   17. FIGURAS DE SECCIÓN — imágenes del cliente como fondo
   Grandes, sangrando por dos bordes y recortadas por la sección.
   Marcado:  <div class="figura-seccion figura-seccion--der"
                  style="background-image:url('assets/img/figuras/xxx.png')"></div>
   Opcional: --opacidad:.5   ·   clase --tenue
   ========================================================================== */
.figura-seccion{
  position:absolute;z-index:0;pointer-events:none;
  /* La ruta se pone en línea sobre el propio elemento: dentro de una custom
     property el navegador la resolvería contra esta hoja de estilos. */
  background-repeat:no-repeat;
  background-position:center bottom;
  background-size:contain;
  opacity:var(--opacidad,.42);
}
.figura-seccion--der{right:-7vw;bottom:-6%;width:min(64vw,940px);height:min(58vw,860px);}
.figura-seccion--izq{left:-7vw;bottom:-6%;width:min(64vw,940px);height:min(58vw,860px);}
.figura-seccion--der-alto{right:-3vw;top:-8%;width:min(52vw,760px);height:min(64vw,940px);background-position:center top;}
.figura-seccion--izq-alto{left:-3vw;top:-8%;width:min(52vw,760px);height:min(64vw,940px);background-position:center top;}
.figura-seccion--centro{
  left:50%;transform:translateX(-50%);bottom:-8%;
  width:min(78vw,1180px);height:min(56vw,820px);
}
.figura-seccion--tenue{opacity:var(--opacidad,.24);}
/* Por encima de las capas de fondo de la sección (foto, velo y grano) y
   por debajo del contenido: el texto siempre gana. */
.seccion--foto > .figura-seccion,
.seccion--figura > .figura-seccion{z-index:0;}
.seccion--foto > .contenedor,
.seccion--figura > .contenedor{position:relative;z-index:2;}
@media (max-width:1000px){
  .figura-seccion{opacity:calc(var(--opacidad,.42) * .55);}
}

/* Aire extra para que la figura de sección tenga dónde respirar */
.seccion--aire{padding-bottom:clamp(5rem,12vw,12rem);}

/* Cuando la figura pasa por detrás del titular conviene que sea más sutil */
.figura-seccion{opacity:var(--opacidad,.6);}

/* La banda ahora muestra un dibujo del cliente en lugar del elenco de retratos */
.banda-ilustrada__elenco--dibujo{align-items:flex-end;justify-content:center;}
.banda-ilustrada__elenco--dibujo img{
  width:100%;height:100%;object-fit:contain;object-position:center bottom;
  opacity:.72;
}
@media (max-width:1000px){ .banda-ilustrada__elenco--dibujo img{opacity:.55;} }

/* ==========================================================================
   18. AJUSTES MÓVIL
   ========================================================================== */

/* Icono de play sobre las tarjetas de video */
.tarjeta__play{
  position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:4;
  width:clamp(46px,4.4vw,62px);aspect-ratio:1;border-radius:50%;
  display:grid;place-items:center;
  background:rgba(10,6,30,.5);backdrop-filter:blur(6px);
  border:2px solid rgba(255,255,255,.9);color:#fff;
  transition:var(--transicion);pointer-events:none;
}
.tarjeta__play svg{width:38%;height:38%;margin-left:9%;}
.tarjeta:hover .tarjeta__play,
.tarjeta:focus-visible .tarjeta__play{
  background:var(--amarillo);color:var(--tinta);border-color:transparent;
  transform:translate(-50%,-50%) scale(1.1);
}

@media (max-width:1000px){
  /* --- Noticias en móvil --- */
  .grid--2 > .tarjeta--hero{grid-column:1/-1;}
  .tarjeta--hero .tarjeta__titulo{font-size:var(--t-xl);}
  .tarjeta--hero .tarjeta__media{aspect-ratio:16/10;}
}

@media (max-width:900px){
  /* --- Artes Escénicas y Audiovisual: carrusel horizontal --- */
  #escenicas .panel .grid{
    display:flex;flex-wrap:nowrap;gap:var(--e-4);
    overflow-x:auto;scroll-snap-type:x mandatory;
    padding-bottom:var(--e-4);scrollbar-width:none;
    -webkit-overflow-scrolling:touch;
  }
  #escenicas .panel .grid::-webkit-scrollbar{display:none;}
  #escenicas .panel .grid > *{flex:0 0 70%;scroll-snap-align:start;}
  #escenicas .panel .grid > .tarjeta--fila{flex-basis:84%;}

  /* --- Accesos rápidos: compactos y en carrusel --- */
  .grid--5{
    display:flex;flex-wrap:nowrap;gap:var(--e-3);
    overflow-x:auto;scroll-snap-type:x mandatory;
    padding-bottom:var(--e-3);scrollbar-width:none;
    -webkit-overflow-scrolling:touch;
  }
  .grid--5::-webkit-scrollbar{display:none;}
  .acceso--tarjeta{
    flex:0 0 56%;min-height:0;padding:var(--e-4);gap:.45rem;
    scroll-snap-align:start;
  }
  .acceso--tarjeta .acceso__icono{width:38px;height:38px;border-radius:var(--r-sm);}
  .acceso--tarjeta .acceso__icono svg{width:19px;height:19px;}
  .acceso--tarjeta h4{font-size:var(--t-base);}
  .acceso--tarjeta p{font-size:.72rem;line-height:1.35;}
  .acceso--tarjeta .acceso__flecha{display:none;}
}

@media (max-width:720px){
  /* --- Programación en horizontal, tres horarios a la vista --- */
  .parrilla--full{
    display:flex;flex-wrap:nowrap;
    overflow-x:auto;scroll-snap-type:x mandatory;
    scrollbar-width:none;-webkit-overflow-scrolling:touch;
  }
  .parrilla--full::-webkit-scrollbar{display:none;}
  .parrilla--full .parrilla__item{
    flex:0 0 34%;min-width:0;scroll-snap-align:start;
    flex-direction:column;align-items:flex-start;gap:.1rem;
    border-right:1px solid var(--borde);border-bottom:0;
    padding:.7rem .8rem;
  }
  .parrilla__txt{font-size:.62rem;line-height:1.25;}
  .parrilla__txt b{font-size:.78rem;}

  /* --- Diccionario mapudungun: dos fichas por fila --- */
  .dic-lista{grid-template-columns:1fr 1fr;gap:.5rem;padding:2px 2px 38px;}
  .dic-item{padding:.65rem .65rem .55rem;gap:.2rem;}
  .dic-item__map{font-size:1.15rem;}
  .dic-item__esp{font-size:.72rem;line-height:1.3;}
  .dic-item__pron{font-size:.58rem;}
  .dic-item__cat{font-size:.52rem;letter-spacing:.08em;}
  .dic-item__pie{margin-top:.4rem;padding-top:.4rem;}
  .dic-oir{font-size:.52rem;padding:.22rem .45rem;letter-spacing:.06em;}
  .dic-oir svg{width:10px;height:10px;}

  /* --- Barra flotante: todo en una sola línea --- */
  .barra-flotante{
    left:.7rem;right:.7rem;max-width:none;
    transform:translateY(150%);
    justify-content:space-between;gap:.4rem;
    padding:.38rem .42rem .38rem .62rem;
  }
  .barra-flotante.is-visible{transform:translateY(0);}
  .barra-flotante .en-vivo--grande{
    font-size:.6rem;letter-spacing:.05em;padding:.26rem .55rem .26rem .45rem;
    white-space:nowrap;flex-shrink:0;
  }
  .barra-flotante .en-vivo__punto{width:7px;height:7px;}
  .barra-flotante .btn{
    padding:.48rem .75rem;font-size:.6rem;letter-spacing:.02em;
    white-space:nowrap;flex-shrink:0;gap:.3rem;
  }
  .barra-flotante .btn svg{width:12px;height:12px;}
  .barra-flotante__cerrar{width:26px;height:26px;flex-shrink:0;}
  .barra-flotante__cerrar svg{width:12px;height:12px;}
}

@media (max-width:420px){
  /* En pantallas muy angostas el play del video se achica */
  .tarjeta__play{width:42px;}
  .parrilla--full .parrilla__item{flex-basis:40%;}
}

/* El sello de «Último minuto» no debe comerse la huincha en móvil */
@media (max-width:720px){
  .huincha__sello{
    padding:0 .85rem 0 .7rem;
    font-size:.6rem;
    letter-spacing:.06em;
    gap:.35rem;
    clip-path:polygon(0 0,100% 0,calc(100% - 9px) 100%,0 100%);
  }
  .huincha__sello svg{width:12px;height:12px;flex-shrink:0;}
  .huincha__item{padding:.55rem .9rem;font-size:.8rem;}
  .huincha__item::after{margin-left:.9rem;}
}
@media (max-width:430px){
  .huincha__sello{
    padding:0 .7rem 0 .6rem;
    font-size:.55rem;
    letter-spacing:.04em;
  }
  .huincha__sello svg{width:11px;height:11px;}
  .huincha__hora{display:none;}
}

/* ==========================================================================
   19. RADIO CULTURA TV
   ========================================================================== */
.radio{
  position:relative;overflow:clip;
  background:
    radial-gradient(120% 90% at 82% 8%,rgba(155,107,255,.30),transparent 62%),
    radial-gradient(110% 80% at 8% 96%,rgba(46,217,195,.20),transparent 60%),
    linear-gradient(168deg,var(--noche-800),var(--noche-900));
  border-block:1px solid var(--borde);
  padding-block:clamp(2.6rem,6vw,5rem);
}
.radio__grid{
  display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.02fr);
  gap:clamp(1.6rem,4vw,3.4rem);align-items:center;
}
.radio__titulo{
  font-size:var(--t-3xl);
  text-wrap:balance;
}
.radio__titulo em{
  font-style:normal;
  background:linear-gradient(96deg,var(--turquesa),var(--violeta) 55%,var(--magenta));
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.radio__bajada{color:var(--texto-tenue);margin-top:var(--e-3);max-width:52ch;}
.radio__acciones{display:flex;flex-wrap:wrap;gap:var(--e-3);margin-top:var(--e-5);}
.radio__cifras{
  display:flex;flex-wrap:wrap;gap:clamp(1rem,2.6vw,2.4rem);
  margin-top:var(--e-5);padding-top:var(--e-4);
  border-top:1px dashed var(--borde);
}
.radio__cifra{display:flex;flex-direction:column;gap:.1rem;}
.radio__cifra b{
  font-family:var(--fuente-display);font-size:var(--t-xl);
  color:var(--amarillo);line-height:1;
}
.radio__cifra span{
  font-size:var(--t-xs);letter-spacing:.1em;text-transform:uppercase;
  color:var(--texto-tenue);font-weight:700;
}

/* --- el aparato --- */
.radio__aparato{
  background:linear-gradient(160deg,rgba(36,26,92,.92),rgba(18,14,46,.96));
  border:1px solid var(--borde-fuerte);
  border-radius:var(--r-lg);
  padding:clamp(1rem,2.4vw,1.5rem);
  box-shadow:0 26px 60px rgba(0,0,0,.42);
}
.radio__cab{display:flex;align-items:center;justify-content:space-between;gap:var(--e-3);margin-bottom:var(--e-4);}
.radio__dial{
  font-size:var(--t-xs);letter-spacing:.14em;text-transform:uppercase;
  color:var(--texto-tenue);font-weight:700;
}
.radio__cuerpo{display:grid;grid-template-columns:118px minmax(0,1fr);gap:var(--e-4);align-items:center;}
.radio__caratula{
  position:relative;display:block;aspect-ratio:1;border-radius:var(--r-md);
  overflow:hidden;border:1px solid var(--borde-fuerte);
}
.radio__caratula img{width:100%;height:100%;object-fit:cover;display:block;}
.radio__caratula-play{
  position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  width:40px;aspect-ratio:1;border-radius:50%;display:grid;place-items:center;
  background:var(--amarillo);color:var(--tinta);
  box-shadow:0 6px 18px rgba(0,0,0,.45);
}
.radio__caratula-play svg{width:16px;height:16px;margin-left:2px;}
.radio__emision{display:flex;flex-direction:column;gap:.3rem;min-width:0;}
.radio__programa{
  font-family:var(--fuente-display);font-size:var(--t-lg);
  text-transform:uppercase;color:var(--texto);line-height:1.05;
}
.radio__tema{
  font-size:var(--t-sm);color:var(--texto-tenue);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.radio__barra{
  height:5px;border-radius:99px;background:rgba(255,255,255,.14);
  overflow:hidden;margin-top:.45rem;
}
.radio__barra span{
  display:block;height:100%;border-radius:99px;
  background:linear-gradient(90deg,var(--turquesa),var(--amarillo));
}
.radio__tiempos{
  display:flex;justify-content:space-between;
  font-size:.66rem;font-weight:700;color:var(--texto-tenue);margin-top:.3rem;
}
.radio__parrilla{
  list-style:none;margin:var(--e-4) 0 0;padding:var(--e-4) 0 0;
  border-top:1px dashed var(--borde);
  display:flex;flex-direction:column;gap:.55rem;
}
.radio__parrilla li{display:flex;align-items:baseline;gap:.7rem;font-size:var(--t-sm);}
.radio__parrilla time{
  font-weight:800;color:var(--turquesa);font-variant-numeric:tabular-nums;
  flex-shrink:0;
}
.radio__parrilla span{color:var(--texto-tenue);}

/* --- botón flotante de WhatsApp --- */
.whatsapp-flotante{
  position:fixed;right:clamp(.9rem,2.4vw,1.6rem);
  bottom:clamp(.9rem,2.4vw,1.6rem);z-index:70;
  display:inline-flex;align-items:center;gap:.55rem;
  padding:.7rem 1.05rem .7rem .85rem;border-radius:var(--r-full);
  background:#25D366;color:#06301A;font-weight:800;font-size:var(--t-sm);
  box-shadow:0 14px 34px rgba(0,0,0,.42);
  transition:var(--transicion);
}
.whatsapp-flotante svg{width:22px;height:22px;flex-shrink:0;}
.whatsapp-flotante:hover{transform:translateY(-3px) scale(1.03);background:#1FBE5B;}
.whatsapp-flotante__txt{white-space:nowrap;}

@media (max-width:1000px){
  .radio__grid{grid-template-columns:minmax(0,1fr);}
  .radio__titulo{font-size:var(--t-2xl);}
}
@media (max-width:720px){
  .radio__cuerpo{grid-template-columns:96px minmax(0,1fr);}
  .radio__programa{font-size:var(--t-base);}
  .radio__cifras{gap:1.1rem;}
  .radio__cifra b{font-size:var(--t-lg);}
  /* WhatsApp: sólo el icono, para no tapar la barra flotante */
  .whatsapp-flotante{padding:.65rem;bottom:4.6rem;right:.8rem;}
  .whatsapp-flotante__txt{display:none;}
}

/* Correo de contacto en el pie y en la cabecera */
.footer__correo{
  display:inline-flex;align-items:center;gap:.55rem;
  margin-top:var(--e-4);
  font-weight:700;font-size:var(--t-sm);color:var(--texto);
  transition:var(--transicion);
}
.footer__correo svg{width:18px;height:18px;flex-shrink:0;color:var(--amarillo);}
.footer__correo:hover{color:var(--amarillo);}
.icono-btn--correo svg{width:19px;height:19px;}
@media (max-width:430px){
  .icono-btn--correo{display:none;}   /* en pantallas mínimas deja sitio al menú */
}

/* ==========================================================================
   20. REPRODUCTOR DE LA SEÑAL EN VIVO (HLS)
   ========================================================================== */

.reproductor__video{
  position:absolute;inset:0;width:100%;height:100%;
  display:block;background:#000;object-fit:contain;z-index:1;
}
.modal__video, .reproductor{position:relative;}

/* Mensajes sobre el video: conectando, cortes, errores. */
.reproductor__estado{
  position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  z-index:5;max-width:min(90%,460px);text-align:center;
  padding:.7rem 1.1rem;border-radius:var(--r-full);
  background:rgba(8,5,24,.82);backdrop-filter:blur(6px);
  color:var(--crema);font-size:var(--t-sm);font-weight:600;line-height:1.35;
  pointer-events:none;
}
.reproductor__estado--cargando::before{
  content:"";display:inline-block;width:12px;height:12px;margin-right:.5rem;
  border:2px solid rgba(255,255,255,.35);border-top-color:var(--amarillo);
  border-radius:50%;vertical-align:-2px;
  animation:girar-reproductor .8s linear infinite;
}
.reproductor__estado--error{
  background:rgba(240,67,80,.92);color:#fff;border-radius:var(--r-md);
}
@keyframes girar-reproductor{to{transform:rotate(360deg);}}

/* Con el video andando, la portada, los destellos y el pie estorban. */
.reproductor.is-reproduciendo .reproductor__poster,
.reproductor.is-reproduciendo .reproductor__velo,
.reproductor.is-reproduciendo .destello,
.reproductor.is-reproduciendo .reproductor__play,
.reproductor.is-reproduciendo .reproductor__pie{display:none;}

/* Lo mismo, pero para cualquier caja que se ponga a reproducir. El modal no
   usa la clase .reproductor sino .modal__video, así que el botón central se
   quedaba encima de los controles del video y parecían estar duplicados.
   El selector es por hijo directo para no tocar el botón grande de la portada. */
.is-reproduciendo > .reproductor__poster,
.is-reproduciendo > .reproductor__velo,
.is-reproduciendo > .reproductor__play{display:none;}

/* El JavaScript también marca estos elementos con el atributo hidden. Una regla
   con display (grid, en el botón) gana al atributo, así que se declara aparte. */
.reproductor__play[hidden],
.reproductor__poster[hidden],
.reproductor__velo[hidden]{display:none;}

/* La portada y el botón se ocultan con el atributo hidden del propio HTML. */
.reproductor__poster[hidden], .reproductor__play[hidden]{display:none;}

/* En la ventana emergente el video va a 16:9 y sin barras negras de más. */
.modal__video{aspect-ratio:16/9;background:#000;overflow:hidden;}
.modal__video .reproductor__video{position:absolute;inset:0;}

/* Estado de «contenido de ejemplo» del modal. */
.modal__ejemplo{
  padding:clamp(1.4rem,4vw,2.4rem);
  border-top:1px solid var(--borde);
  background:rgba(255,255,255,.03);
}
.modal__ejemplo p{
  font-size:var(--t-sm);color:var(--texto-tenue);
  max-width:60ch;margin:0 auto;text-align:center;line-height:1.6;
}
.modal__ejemplo strong{color:var(--amarillo);}
.modal__ejemplo em{color:var(--texto);font-style:normal;}

/* Tamaño de la flecha de los accesos, por si el SVG llega sin estilo en línea */
.acceso__flecha svg{width:20px;height:20px;}

/* Reproductor incrustado: cuando la dirección configurada es la página de un
   proveedor y no un manifiesto HLS, se muestra en un iframe que llena la caja.
   Los iframes no aceptan object-fit, así que se estira a las cuatro esquinas. */
/* La segunda regla es más específica que la de ventana.css (que fija
   «position:relative» para los <video>), para que el iframe se estire igual
   dentro de la ventana flotante. */
.reproductor__incrustado,
.ventana__marco iframe.reproductor__incrustado{
  position:absolute;inset:0;width:100%;height:100%;
  border:0;background:#000;z-index:3;object-fit:unset;
}
