/* =====================================================================
   LUDARIOS · La Marquesina — sistema visual del portal
   ===================================================================== */
@font-face{font-family:"Baloo 2";font-style:normal;font-weight:700;font-display:swap;src:url(../assets/fonts/baloo-2-latin-700-normal.woff2) format("woff2")}
@font-face{font-family:"Baloo 2";font-style:normal;font-weight:800;font-display:swap;src:url(../assets/fonts/baloo-2-latin-800-normal.woff2) format("woff2")}
@font-face{font-family:"Figtree";font-style:normal;font-weight:400;font-display:swap;src:url(../assets/fonts/figtree-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"Figtree";font-style:normal;font-weight:600;font-display:swap;src:url(../assets/fonts/figtree-latin-600-normal.woff2) format("woff2")}
@font-face{font-family:"Figtree";font-style:normal;font-weight:700;font-display:swap;src:url(../assets/fonts/figtree-latin-700-normal.woff2) format("woff2")}
:root{
  --uva:#140a2e;          /* fondo */
  --uva-2:#1e1242;        /* superficies */
  --uva-3:#2a1a5c;        /* superficies elevadas, bordes */
  --crema:#fff6e8;        /* texto */
  --lavanda:#c3b4ee;      /* texto secundario (8.9:1 sobre --uva) */
  --oro:#ffc23d;          /* acción principal */
  --oro-sombra:#c98700;
  --chicle:#ff4fa3;       /* apoyo */
  --acc:#ff4fa3;          /* acento del mundo activo, lo cambia JS */
  --radio-l:28px; --radio-m:18px; --radio-s:12px;
  --display:"Baloo 2",system-ui,sans-serif;
  --texto:"Figtree",system-ui,sans-serif;
  --max:1240px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--uva);color:var(--crema);font:400 17px/1.55 var(--texto);overflow-x:hidden}
img{display:block;max-width:100%}
a{color:inherit}
:focus-visible{outline:3px solid var(--oro);outline-offset:3px;border-radius:8px}
.envoltura{max-width:var(--max);margin:0 auto;padding:0 20px}
.solo-lector{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ---------- Botones ---------- */
.boton{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 26px;border-radius:16px;font:800 19px/1 var(--display);text-decoration:none;cursor:pointer;border:0;transition:transform .12s ease,box-shadow .12s ease,background-color .2s}
.boton-jugar{background:var(--oro);color:#2a1300;box-shadow:0 6px 0 var(--oro-sombra),0 14px 30px rgba(255,194,61,.25)}
.boton-jugar:hover{background:#ffcf5e}
.boton-jugar:active{transform:translateY(5px);box-shadow:0 1px 0 var(--oro-sombra)}
.boton-borde{background:transparent;color:var(--crema);box-shadow:inset 0 0 0 2px rgba(255,246,232,.55)}
.boton-borde:hover{box-shadow:inset 0 0 0 2px var(--crema);background:rgba(255,246,232,.06)}
.icono-play{width:18px;height:18px;flex:0 0 auto}

/* ---------- Encabezado ---------- */
.cabecera{position:sticky;top:0;z-index:50;background:rgba(20,10,46,.78);backdrop-filter:blur(14px) saturate(140%);-webkit-backdrop-filter:blur(14px) saturate(140%);border-bottom:1px solid rgba(195,180,238,.12)}
.cabecera .envoltura{display:flex;align-items:center;gap:28px;min-height:68px}
.marca img{height:40px;width:auto}
.nav-principal{display:flex;gap:6px;margin-right:auto}
.nav-principal a{padding:10px 14px;border-radius:12px;text-decoration:none;font-weight:600;color:var(--lavanda)}
.nav-principal a:hover,.nav-principal a[aria-current="page"]{color:var(--crema);background:rgba(255,246,232,.07)}
.cabecera .boton{min-height:44px;font-size:17px;padding:0 18px;box-shadow:0 4px 0 var(--oro-sombra)}
.boton-menu{display:none;margin-left:auto;background:none;border:0;color:var(--crema);width:44px;height:44px;border-radius:12px;cursor:pointer}
.boton-menu svg{width:26px;height:26px}

/* ---------- Cartelera: carrusel automático con tráileres ---------- */
.cartelera{--acc:#ff4fa3;position:relative;isolation:isolate;height:min(880px,calc(100svh - 68px));min-height:640px;overflow:hidden;background:var(--uva)}
.cartelera-pista{position:absolute;inset:0;display:flex;transition:transform .85s cubic-bezier(.65,0,.35,1);will-change:transform;touch-action:pan-y}
.cartelera.arrastrando .cartelera-pista{transition:none}
.diapo{--acc:#ff4fa3;position:relative;flex:0 0 100%;height:100%;isolation:isolate;overflow:hidden}
.diapo-fondo{position:absolute;inset:0;z-index:-2;background:radial-gradient(90% 90% at 70% 40%,color-mix(in srgb,var(--acc) 55%,var(--uva)) 0%,var(--uva) 75%)}
.diapo-fondo img,.diapo-fondo video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.diapo-fondo img{transform:scale(1.1);transition:transform 9s linear}
.diapo.activa .diapo-fondo img{transform:scale(1)}
.diapo-fondo video{opacity:0;transition:opacity .9s ease}
.diapo.con-video .diapo-fondo video{opacity:1}
.diapo-fondo[data-sigla]:not([data-sigla=""])::before{content:attr(data-sigla);position:absolute;right:8%;top:16%;font:800 clamp(160px,22vw,320px)/1 var(--display);color:color-mix(in srgb,var(--acc) 60%,transparent)}
.diapo::before{content:"";position:absolute;inset:0;z-index:-1;
  background:
    linear-gradient(90deg,rgba(20,10,46,.92) 0%,rgba(20,10,46,.66) 36%,rgba(20,10,46,.1) 66%,rgba(20,10,46,.25) 100%),
    linear-gradient(180deg,rgba(20,10,46,.35) 0%,rgba(20,10,46,0) 30%,rgba(20,10,46,.55) 66%,var(--uva) 96%)}
.diapo-texto{position:relative;padding-top:clamp(44px,9vh,108px)}
.diapo-texto>*{max-width:600px}
.diapo-personaje{display:inline-flex;align-items:center;gap:10px;margin:0 0 16px;padding:6px 14px 6px 10px;border-radius:999px;background:rgba(20,10,46,.6);box-shadow:inset 0 0 0 1.5px var(--acc);font-weight:700;font-size:15px}
.diapo-personaje i{width:10px;height:10px;border-radius:50%;background:var(--acc);box-shadow:0 0 12px var(--acc)}
.diapo-titulo{margin:0;max-width:none!important;font:800 clamp(52px,7.6vw,116px)/.88 var(--display);letter-spacing:-.015em;color:var(--crema);text-shadow:0 3px 0 #3d1f86,0 6px 0 #2b1563,0 18px 34px rgba(0,0,0,.55)}
.diapo-meta{display:flex;flex-wrap:wrap;align-items:center;gap:10px 12px;margin:18px 0 0;font-weight:700;color:#efe6ff}
.diapo-bajada{margin:12px 0 28px;font-size:clamp(17px,1.5vw,20px);line-height:1.5;color:#efe6ff}
.acciones{display:flex;flex-wrap:wrap;gap:14px}
.acciones .boton svg:not(.icono-play){width:20px;height:20px}
/* el texto de la diapositiva entra cuando se vuelve activa */
.diapo .diapo-texto>*{opacity:0;transform:translateY(18px);transition:opacity .5s ease,transform .6s cubic-bezier(.2,.8,.2,1)}
.diapo.activa .diapo-texto>*{opacity:1;transform:none}
.diapo.activa .diapo-texto>:nth-child(2){transition-delay:.08s}
.diapo.activa .diapo-texto>:nth-child(3){transition-delay:.16s}
.diapo.activa .diapo-texto>:nth-child(4){transition-delay:.22s}
.diapo.activa .diapo-texto>:nth-child(5){transition-delay:.28s}
.cartelera-flechas{position:absolute;right:max(20px,calc((100% - var(--max)) / 2 + 20px));top:clamp(48px,9vh,108px);display:flex;gap:10px;z-index:3}
.cartelera-flechas .flecha{background:rgba(20,10,46,.55);backdrop-filter:blur(6px)}

/* Reparto: los personajes son los indicadores del carrusel */
.reparto{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:40px 0 22px}
.reparto::before{content:"";position:absolute;left:50%;bottom:6px;width:min(1180px,96vw);height:120px;transform:translateX(-50%);
  background:radial-gradient(ellipse at center,color-mix(in srgb,var(--acc) 55%,transparent) 0%,rgba(20,10,46,0) 65%);filter:blur(6px);transition:background .6s;z-index:-1}
.reparto-lista{list-style:none;margin:0 auto;padding:0 20px;max-width:var(--max);display:flex;align-items:flex-end;justify-content:space-between;gap:4px}
.reparto-lista li{flex:1 1 0;display:flex;justify-content:center;min-width:0}
.actor{position:relative;display:flex;flex-direction:column;align-items:center;background:none;border:0;padding:0 2px 14px;cursor:pointer;color:var(--crema);font:inherit;
  opacity:0;transform:translateY(40px) scale(.9);animation:entrada .7s cubic-bezier(.2,.9,.25,1.25) forwards;animation-delay:calc(var(--i) * 70ms + 150ms)}
.actor img{height:clamp(84px,11.5vw,160px);width:auto;max-width:100%;object-fit:contain;filter:drop-shadow(0 10px 14px rgba(0,0,0,.45)) saturate(.8) brightness(.78);transform-origin:50% 100%;transition:transform .35s cubic-bezier(.2,.9,.25,1.3),filter .35s}
.actor:hover img{filter:drop-shadow(0 10px 14px rgba(0,0,0,.45)) saturate(1) brightness(1);transform:translateY(-6px)}
.actor[aria-pressed="true"] img{transform:scale(1.3) translateY(-4px);filter:drop-shadow(0 0 22px color-mix(in srgb,var(--acc) 70%,transparent)) drop-shadow(0 12px 16px rgba(0,0,0,.5)) saturate(1.08) brightness(1.05)}
.actor-nombre{position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%,6px);white-space:nowrap;padding:6px 12px;border-radius:999px;background:var(--crema);color:var(--uva);font:800 15px/1 var(--display);opacity:0;pointer-events:none;transition:opacity .25s,transform .25s}
.actor[aria-pressed="true"] .actor-nombre{opacity:1;transform:translate(-50%,-40px)}
.actor:hover .actor-nombre,.actor:focus-visible .actor-nombre{opacity:1}
.actor-progreso{position:absolute;left:18%;right:18%;bottom:0;height:4px;border-radius:999px;background:rgba(255,246,232,.18);overflow:hidden}
.actor-progreso b{display:block;height:100%;width:0;background:var(--oro);border-radius:inherit}
.actor[aria-pressed="true"] .actor-progreso b{animation:progreso var(--dur,8s) linear forwards}
.cartelera.pausada .actor-progreso b{animation-play-state:paused}
.cartelera.quieta .actor-progreso{visibility:hidden}
@keyframes progreso{to{width:100%}}
@keyframes entrada{to{opacity:1;transform:none}}

/* ---------- Secciones ---------- */
.seccion{padding:clamp(64px,9vw,112px) 0 0}
.seccion-cabeza{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:16px 32px;margin-bottom:32px}
.seccion-cabeza h2{margin:0;font:800 clamp(34px,4.4vw,56px)/1 var(--display);letter-spacing:-.01em}
.seccion-cabeza p{margin:8px 0 0;color:var(--lavanda);max-width:40em}

/* Filtros */
.filtros{display:flex;flex-wrap:wrap;gap:8px}
.filtro{min-height:44px;padding:0 18px;border-radius:999px;border:0;background:var(--uva-2);color:var(--lavanda);font:700 16px var(--texto);cursor:pointer;box-shadow:inset 0 0 0 1.5px var(--uva-3)}
.filtro:hover{color:var(--crema)}
.filtro[aria-pressed="true"]{background:var(--crema);color:var(--uva);box-shadow:none}

/* Tarjetas de juego */
.mundos{display:grid;grid-template-columns:repeat(auto-fill,minmax(276px,1fr));gap:56px 22px;padding-top:40px}
.mundo{--acc:#ff4fa3;position:relative;display:flex;flex-direction:column;text-decoration:none;border-radius:var(--radio-l);background:var(--uva-2);box-shadow:inset 0 0 0 1.5px var(--uva-3);transition:transform .25s ease,box-shadow .25s ease}
.mundo[hidden]{display:none}
.mundo:hover,.mundo:focus-visible{transform:translateY(-4px);box-shadow:inset 0 0 0 2px var(--acc),0 22px 50px -18px color-mix(in srgb,var(--acc) 60%,transparent)}
.mundo-escena{position:relative;aspect-ratio:16/10;border-radius:var(--radio-l) var(--radio-l) var(--radio-m) var(--radio-m);overflow:hidden;background:linear-gradient(160deg,color-mix(in srgb,var(--acc) 45%,var(--uva-2)),var(--uva-2))}
.mundo-escena img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.mundo:hover .mundo-escena img{transform:scale(1.05)}
.mundo-escena::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,10,46,0) 45%,rgba(20,10,46,.7) 100%)}
.mundo-arte{position:relative}
.mundo-figura{position:absolute;right:12px;bottom:8px;top:-40px;width:58%;display:flex;align-items:flex-end;justify-content:flex-end;z-index:2;pointer-events:none}
.mundo-figura img{max-height:100%;max-width:100%;width:auto;height:auto;object-fit:contain;filter:drop-shadow(0 12px 16px rgba(0,0,0,.5));transform-origin:50% 100%;transition:transform .35s cubic-bezier(.2,.9,.25,1.3)}
.mundo:hover .mundo-figura img{transform:translateY(-8px) scale(1.05)}
.mundo-info{padding:18px 22px 22px;display:flex;flex-direction:column;gap:6px;flex:1}
.mundo-titulo{display:flex;align-items:center;justify-content:space-between;gap:12px}
.mundo-titulo h3{margin:0;font:800 27px/1.05 var(--display)}
.estado{flex:0 0 auto;padding:5px 10px;border-radius:999px;font:700 13px/1 var(--texto);background:color-mix(in srgb,var(--acc) 22%,transparent);color:var(--crema);box-shadow:inset 0 0 0 1.5px color-mix(in srgb,var(--acc) 70%,transparent)}
.mundo-info p{margin:0;color:var(--lavanda);font-size:16px;line-height:1.45}
.mundo-genero{color:var(--crema);font-weight:700;font-size:15px}
.mundo-jugar{margin-top:auto;padding-top:14px;display:flex;align-items:center;gap:8px;font:800 18px var(--display);color:var(--oro)}
.mundo-jugar svg{width:20px;height:20px;transition:transform .2s}
.mundo:hover .mundo-jugar svg{transform:translateX(4px)}
@media (min-width:920px){
  .mundo--grande{grid-column:span 2}
  .mundo--grande .mundo-escena{aspect-ratio:16/8.2}
  .mundo--grande .mundo-figura{top:-56px;width:46%}
  .mundo--grande .mundo-titulo h3{font-size:38px}
}

/* ---------- Personajes ---------- */
.elenco{position:relative}
.elenco-pista{display:grid;grid-auto-flow:column;grid-auto-columns:192px;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;padding:8px 20px 24px;margin:0 -20px;scrollbar-width:none;overscroll-behavior-x:contain}
.elenco-pista::-webkit-scrollbar{display:none}
.ficha{--acc:#ff4fa3;scroll-snap-align:start;position:relative;display:flex;flex-direction:column;justify-content:flex-end;height:268px;padding:16px;border-radius:24px;text-decoration:none;overflow:hidden;
  background:radial-gradient(120% 80% at 50% 30%,color-mix(in srgb,var(--acc) 58%,var(--uva-2)) 0%,var(--uva-2) 72%);box-shadow:inset 0 0 0 1.5px color-mix(in srgb,var(--acc) 40%,var(--uva-3));transition:transform .25s}
.ficha img{position:absolute;left:50%;top:18px;height:170px;width:auto;max-width:86%;object-fit:contain;transform:translateX(-50%);filter:drop-shadow(0 10px 12px rgba(0,0,0,.45));transition:transform .35s cubic-bezier(.2,.9,.25,1.3)}
.ficha:hover{transform:translateY(-4px)}
.ficha:hover img{transform:translateX(-50%) scale(1.07) rotate(-2deg)}
.ficha strong{position:relative;font:800 22px/1.1 var(--display)}
.ficha span{position:relative;font-size:14px;color:var(--lavanda);font-weight:600}
.elenco-controles{display:flex;gap:10px}
.flecha{width:48px;height:48px;border-radius:50%;border:0;background:var(--uva-2);color:var(--crema);box-shadow:inset 0 0 0 1.5px var(--uva-3);cursor:pointer;display:grid;place-items:center}
.flecha:hover{background:var(--uva-3)}
.flecha svg{width:22px;height:22px}

/* ---------- Destacado ---------- */
.destacado{position:relative;isolation:isolate;border-radius:36px;overflow:hidden;min-height:440px;display:flex;align-items:center;padding:48px clamp(24px,5vw,64px)}
.destacado>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.destacado::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(20,10,46,.95) 0%,rgba(20,10,46,.8) 42%,rgba(20,10,46,.05) 78%)}
.destacado-texto{max-width:470px}
.destacado h2{margin:0 0 14px;font:800 clamp(38px,5vw,64px)/.95 var(--display);text-shadow:0 3px 0 #6b1446,0 14px 24px rgba(0,0,0,.45)}
.destacado p{margin:0 0 26px;color:#f4e9ff;font-size:18px}
.gomitas{display:flex;gap:10px;margin:0 0 22px}
.gomitas img{width:64px;height:auto;filter:drop-shadow(0 6px 8px rgba(0,0,0,.4))}

/* ---------- En camino ---------- */
.camino{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:22px}
.obra{--acc:#38bdf8;display:grid;grid-template-columns:132px 1fr;gap:20px;align-items:center;padding:22px;border-radius:var(--radio-l);background:var(--uva-2);box-shadow:inset 0 0 0 1.5px var(--uva-3);text-decoration:none}
.obra img{width:132px;height:150px;object-fit:contain;filter:drop-shadow(0 10px 12px rgba(0,0,0,.4))}
.obra h3{margin:0 0 6px;font:800 28px/1 var(--display)}
.obra p{margin:0 0 16px;color:var(--lavanda);font-size:16px}
.etapas{list-style:none;margin:0;padding:0;display:flex;gap:6px}
.etapas li{flex:1;display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:700;color:var(--lavanda)}
.etapas li::before{content:"";height:8px;border-radius:999px;background:var(--uva-3)}
.etapas li.hecha::before{background:var(--acc)}
.etapas li.actual{color:var(--crema)}
.etapas li.actual::before{background:linear-gradient(90deg,var(--acc) 55%,var(--uva-3) 55%)}

/* ---------- Pie ---------- */
.pie{margin-top:clamp(72px,10vw,120px);padding:56px 0 40px;background:#0f0723;border-top:1px solid rgba(195,180,238,.1)}
.pie-rejilla{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:32px}
.pie p{color:var(--lavanda);margin:14px 0 0;max-width:24em}
.pie h2{margin:0 0 12px;font:800 18px var(--display);color:var(--crema)}
.pie ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.pie a{color:var(--lavanda);text-decoration:none}
.pie a:hover{color:var(--crema);text-decoration:underline}
.pie .boton-enlace{background:none;border:0;padding:0;color:var(--lavanda);font:inherit;cursor:pointer;text-align:left}
.pie .boton-enlace:hover{color:var(--crema);text-decoration:underline}
.pie-legal{margin-top:40px;padding-top:24px;border-top:1px solid rgba(195,180,238,.1);color:var(--lavanda);font-size:14px}

/* ---------- Página interna de juegos ---------- */
.cabeza-pagina{padding:clamp(48px,7vw,88px) 0 0}
.cabeza-pagina h1{margin:0;font:800 clamp(44px,6vw,80px)/.92 var(--display);text-shadow:0 3px 0 #3d1f86,0 6px 0 #2b1563,0 18px 30px rgba(0,0,0,.5)}
.cabeza-pagina p{margin:18px 0 0;color:#efe6ff;font-size:19px;max-width:38em}
.nota-estados{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px}
.nota-estados div{padding:22px;border-radius:var(--radio-m);background:var(--uva-2);box-shadow:inset 0 0 0 1.5px var(--uva-3)}
.nota-estados h3{margin:0 0 6px;font:800 22px var(--display)}
.nota-estados p{margin:0;color:var(--lavanda);font-size:16px}

/* ---------- Aviso de cookies ---------- */
.cookie-banner{position:fixed;left:16px;right:16px;bottom:16px;z-index:80;max-width:760px;margin:0 auto;display:flex;flex-wrap:wrap;align-items:center;gap:16px 24px;padding:18px 20px;border-radius:22px;background:rgba(30,18,66,.96);backdrop-filter:blur(12px);box-shadow:inset 0 0 0 1.5px var(--uva-3),0 20px 50px rgba(0,0,0,.5)}
.cookie-banner[hidden]{display:none}
.cookie-banner>div:first-child{flex:1 1 320px}
.cookie-banner strong{font:800 18px var(--display)}
.cookie-banner p{margin:4px 0;color:var(--lavanda);font-size:14px;line-height:1.45}
.cookie-banner a{color:var(--oro);font-size:14px}
.cookie-actions{display:flex;flex-wrap:wrap;gap:10px}
.cookie-actions .btn{min-height:44px;padding:0 18px;border-radius:14px;border:0;font:700 15px var(--texto);cursor:pointer;background:var(--oro);color:#2a1300}
.cookie-actions .btn.ghost{background:transparent;color:var(--crema);box-shadow:inset 0 0 0 1.5px rgba(255,246,232,.5)}

/* ---------- Responsivo ---------- */
@media (max-width:860px){
  .nav-principal{display:none;position:absolute;top:68px;left:0;right:0;flex-direction:column;gap:2px;padding:10px 16px 16px;background:rgba(20,10,46,.98);border-bottom:1px solid var(--uva-3)}
  .nav-principal.abierta{display:flex}
  .nav-principal a{padding:14px}
  .boton-menu{display:grid;place-items:center}
  .cabecera .boton{display:none}
  .pie-rejilla{grid-template-columns:1fr 1fr}
  .pie-rejilla>div:first-child{grid-column:1/-1}
}
@media (max-width:700px){
  .cartelera{height:calc(100svh - 68px);min-height:660px;max-height:820px}
  .diapo::before{background:linear-gradient(180deg,rgba(20,10,46,.45) 0%,rgba(20,10,46,.78) 42%,rgba(20,10,46,.9) 70%,var(--uva) 100%)}
  .diapo-texto{padding-top:28px}
  .diapo-titulo{font-size:clamp(42px,12vw,60px)}
  .diapo-bajada{margin:10px 0 20px;font-size:16px}
  .acciones .boton{flex:1 1 100%}
  .cartelera-flechas{display:none}
  .reparto{padding:0 0 12px}
  .reparto-lista{overflow-x:auto;justify-content:flex-start;gap:6px;padding-top:58px;padding-bottom:10px;scroll-snap-type:x mandatory;scrollbar-width:none}
  .reparto-lista::-webkit-scrollbar{display:none}
  .reparto-lista li{flex:0 0 86px;scroll-snap-align:center}
  .actor img{height:92px}
  .actor[aria-pressed="true"] img{transform:scale(1.18)}
  .actor[aria-pressed="true"] .actor-nombre{transform:translate(-50%,-22px)}
  .mundos{gap:52px 16px}
  .obra{grid-template-columns:96px 1fr}
  .obra img{width:96px;height:120px}
  .destacado{min-height:0;padding:200px 22px 28px;align-items:flex-end}
  .destacado::before{background:linear-gradient(180deg,rgba(20,10,46,0) 0%,rgba(20,10,46,.85) 55%,rgba(20,10,46,.97) 100%)}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  .actor{opacity:1;transform:none}
}

/* Respaldo cuando un juego aún no tiene imagen de escena */
.mundo-escena[data-sigla]:not([data-sigla=""])::before{content:attr(data-sigla);position:absolute;inset:0;display:grid;place-items:center;font:800 clamp(72px,9vw,120px)/1 var(--display);color:color-mix(in srgb,var(--acc) 70%,var(--crema));text-shadow:0 6px 0 rgba(0,0,0,.25)}
.mundo-escena img{position:relative;z-index:1}
.mundo-escena::after{z-index:2}

/* ---------- Páginas internas (novedades, ayuda, legales, contacto, 404) ---------- */
.info-shell{max-width:820px;margin:0 auto;padding:0 20px}
.info-hero{padding:clamp(48px,7vw,88px) 0 8px}
.info-hero .eyebrow{display:none}
.info-hero h1{margin:0;font:800 clamp(40px,5.6vw,72px)/.95 var(--display);text-shadow:0 3px 0 #3d1f86,0 6px 0 #2b1563,0 18px 30px rgba(0,0,0,.5)}
.info-hero p{margin:16px 0 0;font-size:19px;color:#efe6ff;max-width:36em}
.info-panel{margin-top:36px;padding:clamp(24px,4vw,44px);border-radius:var(--radio-l);background:var(--uva-2);box-shadow:inset 0 0 0 1.5px var(--uva-3)}
.info-panel h2{margin:32px 0 10px;font:800 28px/1.15 var(--display)}
.info-panel h2:first-child{margin-top:0}
.info-panel h3{margin:24px 0 8px;font:800 22px/1.2 var(--display)}
.info-panel p,.info-panel li{color:#e6dcff;line-height:1.65}
.info-panel ul,.info-panel ol{padding-left:22px}
.info-panel a{color:var(--oro)}
.info-panel strong{color:var(--crema)}
.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin-bottom:12px}
.info-card{padding:20px;border-radius:var(--radio-m);background:var(--uva);box-shadow:inset 0 0 0 1.5px var(--uva-3)}
.info-card h2{margin:0 0 6px;font-size:22px}
.info-card p{margin:0 0 10px;color:var(--lavanda);font-size:15px}
.info-card a{font-weight:700;word-break:break-word}
.article-real{padding:20px 0;border-bottom:1px solid var(--uva-3)}
.article-real:last-child{border-bottom:0}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px}
.hero-actions .btn{display:inline-flex;align-items:center;min-height:48px;padding:0 20px;border-radius:14px;text-decoration:none;font:800 17px var(--display);background:var(--oro);color:#2a1300}
.hero-actions .btn.secondary,.hero-actions .btn.ghost{background:transparent;color:var(--crema);box-shadow:inset 0 0 0 2px rgba(255,246,232,.5)}
.info-panel .btn{display:inline-flex;align-items:center;min-height:44px;padding:0 18px;border-radius:14px;border:0;font:700 15px var(--texto);cursor:pointer;background:var(--oro);color:#2a1300;text-decoration:none}

/* ---------- Tarjetas: acciones, tráiler al pasar el cursor, estrellas ---------- */
.mundo{cursor:pointer}
.mundo-abrir{position:absolute;inset:0;z-index:1;background:none;border:0;border-radius:inherit;cursor:pointer}
.mundo-arte,.mundo-info{position:relative}
.mundo-info{z-index:2;pointer-events:none}
.mundo-acciones,.mundo-acciones *{pointer-events:auto}
.mundo-figura{z-index:3}
.mundo-escena video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:1;opacity:0;transition:opacity .5s ease}
.mundo-escena.reproduciendo video{opacity:1}
.mundo-escena.reproduciendo~.mundo-figura img{transform:translateY(12px) scale(.9);opacity:.0;transition:transform .35s,opacity .35s}
.mundo-acciones{margin-top:auto;padding-top:14px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.mundo-jugar{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 18px;border-radius:14px;background:var(--oro);color:#2a1300;font:800 18px var(--display);text-decoration:none;box-shadow:0 4px 0 var(--oro-sombra)}
.mundo-jugar:hover{background:#ffcf5e}
.mundo-jugar svg{width:18px;height:18px;transition:transform .2s}
.mundo-jugar:hover svg{transform:translateX(3px)}
.mundo-ficha{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 12px;border:0;border-radius:14px;background:transparent;color:var(--lavanda);font:700 15px var(--texto);cursor:pointer}
.mundo-ficha:hover{color:var(--crema);background:rgba(255,246,232,.06)}
.mundo-ficha svg{width:20px;height:20px}
.valor-chip{display:inline-flex;align-items:center;gap:4px;margin-left:8px;padding:2px 8px;border-radius:999px;background:rgba(255,194,61,.14);color:var(--oro);font:700 13px/1.4 var(--texto);vertical-align:1px}
.valor-chip[hidden]{display:none}
.diapo-meta .valor-chip{margin-left:0;font-size:15px;padding:4px 10px}
button.ficha{border:0;font:inherit;color:inherit;cursor:pointer;text-align:left}

/* ---------- Ficha del juego (ventana) ---------- */
.ficha-juego{width:min(900px,calc(100% - 24px));max-height:calc(100dvh - 24px);padding:0;border:0;border-radius:30px;background:var(--uva-2);color:var(--crema);overflow:auto;overscroll-behavior:contain;box-shadow:0 30px 80px rgba(0,0,0,.6),inset 0 0 0 1.5px var(--uva-3)}
.ficha-juego::backdrop{background:rgba(10,4,24,.78);backdrop-filter:blur(6px)}
.ficha-juego[open]{animation:fichaEntra .35s cubic-bezier(.2,.9,.25,1.1)}
@keyframes fichaEntra{from{opacity:0;transform:translateY(24px) scale(.97)}}
.ficha-medio{position:relative;aspect-ratio:16/9;background:radial-gradient(90% 90% at 60% 40%,color-mix(in srgb,var(--acc) 50%,var(--uva)) 0%,var(--uva) 80%)}
.ficha-medio img,.ficha-medio video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ficha-medio video{opacity:0;transition:opacity .6s}
.ficha-medio.con-video video{opacity:1}
.ficha-medio::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(30,18,66,0) 55%,var(--uva-2) 100%);pointer-events:none}
.ficha-cerrar{position:absolute;top:14px;right:14px;z-index:2;width:46px;height:46px;border-radius:50%;border:0;background:rgba(20,10,46,.75);color:var(--crema);cursor:pointer;display:grid;place-items:center}
.ficha-cerrar svg{width:22px;height:22px}
.ficha-cuerpo{padding:0 clamp(20px,4vw,40px) 36px;margin-top:-40px;position:relative}
.ficha-cabeza{display:flex;flex-wrap:wrap;align-items:center;gap:12px}
.ficha-cabeza h2{margin:0;font:800 clamp(36px,5vw,56px)/.95 var(--display);text-shadow:0 3px 0 #3d1f86,0 12px 24px rgba(0,0,0,.45)}
.ficha-genero{margin:10px 0 0;font-weight:700;color:var(--crema)}
.ficha-texto{margin:8px 0 22px;color:#e6dcff;max-width:40em}
.ficha-acciones{display:flex;flex-wrap:wrap;gap:12px}
.ficha-acciones .boton svg:not(.icono-play){width:20px;height:20px}
.compartir-panel{margin-top:14px;display:flex;flex-wrap:wrap;gap:8px}
.compartir-panel[hidden]{display:none}
.ficha-juego h3{margin:34px 0 14px;font:800 26px var(--display)}
.ficha-elenco-lista{display:flex;gap:12px;overflow-x:auto;padding-bottom:6px;scrollbar-width:thin}
.ficha-elenco-lista figure{margin:0;flex:0 0 132px;padding:10px 10px 12px;border-radius:18px;text-align:center;background:radial-gradient(110% 80% at 50% 30%,color-mix(in srgb,var(--acc) 50%,var(--uva)) 0%,var(--uva) 80%)}
.ficha-elenco-lista img{height:110px;width:auto;max-width:100%;margin:0 auto 8px;object-fit:contain;filter:drop-shadow(0 8px 10px rgba(0,0,0,.4))}
.ficha-elenco-lista figcaption{font:800 16px/1.15 var(--display)}

/* Valoraciones */
.valor-resumen{display:grid;grid-template-columns:auto 1fr;gap:12px 28px;align-items:center;padding:20px;border-radius:20px;background:var(--uva);box-shadow:inset 0 0 0 1.5px var(--uva-3)}
.valor-grande{font:800 64px/1 var(--display);color:var(--crema)}
.valor-grande small{display:block;margin-top:6px;font:600 14px var(--texto);color:var(--lavanda)}
.valor-estrellas-fijas{color:var(--oro);font-size:20px;letter-spacing:2px}
.valor-barras{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.valor-barras li{display:grid;grid-template-columns:28px 1fr 34px;gap:10px;align-items:center;font-size:14px;color:var(--lavanda)}
.valor-barras span{height:8px;border-radius:999px;background:var(--uva-3);overflow:hidden}
.valor-barras b{display:block;height:100%;background:var(--oro);border-radius:inherit}
.valor-vacio{grid-column:1/-1;margin:0;color:var(--lavanda)}
.valor-form{margin-top:18px;display:grid;gap:14px;padding:20px;border-radius:20px;background:var(--uva);box-shadow:inset 0 0 0 1.5px var(--uva-3)}
.valor-estrellas{display:inline-flex;flex-direction:row-reverse;justify-content:flex-end;gap:2px;border:0;margin:0;padding:0}
.valor-estrellas legend{float:left;width:100%;margin-bottom:6px;font-weight:700}
.valor-estrellas input{position:absolute;opacity:0;width:1px;height:1px}
.valor-estrellas label{cursor:pointer;padding:2px}
.valor-estrellas label::before{content:"★";display:block;font-size:38px;line-height:1;color:var(--uva-3);transition:color .15s,transform .15s}
.valor-estrellas input:checked~label::before,.valor-estrellas label:hover::before,.valor-estrellas label:hover~label::before{color:var(--oro)}
.valor-estrellas label:hover::before{transform:scale(1.15)}
.valor-estrellas input:focus-visible+label{outline:3px solid var(--oro);outline-offset:2px;border-radius:8px}
.campo{display:grid;gap:6px;font-weight:600;font-size:15px}
.campo input,.campo textarea{width:100%;min-height:46px;padding:10px 14px;border-radius:14px;border:0;background:var(--uva-2);color:var(--crema);font:400 16px var(--texto);box-shadow:inset 0 0 0 1.5px var(--uva-3)}
.campo textarea{resize:vertical;min-height:90px}
.campo input:focus,.campo textarea:focus{outline:none;box-shadow:inset 0 0 0 2px var(--oro)}
.campo-trampa{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.valor-nota{margin:0;font-size:13px;color:var(--lavanda)}
.valor-enviar{display:flex;flex-wrap:wrap;align-items:center;gap:14px}
.valor-estado{font-weight:700;font-size:15px}
.valor-estado.ok{color:#7dffa8}.valor-estado.error{color:#ff9aa8}
.resenas{list-style:none;margin:18px 0 0;padding:0;display:grid;gap:12px}
.resenas li{padding:16px 18px;border-radius:18px;background:var(--uva);box-shadow:inset 0 0 0 1.5px var(--uva-3)}
.resenas .quien{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;font-weight:700}
.resenas .quien span{color:var(--oro);letter-spacing:1px}
.resenas time{color:var(--lavanda);font-weight:400;font-size:13px}
.resenas p{margin:6px 0 0;color:#e6dcff;overflow-wrap:anywhere}

/* ---------- Redes y compartir ---------- */
.red{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 16px;border-radius:14px;border:0;font:700 15px var(--texto);cursor:pointer;background:var(--uva-3);color:var(--crema);text-decoration:none}
.red svg{width:20px;height:20px}
.red:hover{filter:brightness(1.15)}
.red-whatsapp{background:#1faa53;color:#fff}
.red-facebook{background:#1877f2;color:#fff}
.red-x{background:#000;color:#fff;box-shadow:inset 0 0 0 1.5px #3a3a3a}
.red-telegram{background:#229ed9;color:#fff}
.retar{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px 40px;align-items:center;padding:clamp(28px,4vw,48px);border-radius:32px;background:var(--uva-2);box-shadow:inset 0 0 0 1.5px var(--uva-3);overflow:hidden}
.retar h2{margin:0 0 8px;font:800 clamp(32px,4vw,48px)/1 var(--display)}
.retar p{margin:0;color:var(--lavanda);max-width:30em}
.retar-botones{grid-column:1;display:flex;flex-wrap:wrap;gap:10px}
.retar-personajes{grid-column:2;grid-row:1/span 2;display:flex;align-items:flex-end}
.retar-personajes img{height:150px;width:auto;margin-left:-26px;filter:drop-shadow(0 10px 12px rgba(0,0,0,.45))}
.retar-personajes img:first-child{margin-left:0}
.redes-oficiales{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.redes-oficiales a{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;background:var(--uva-2);color:var(--crema);box-shadow:inset 0 0 0 1.5px var(--uva-3)}
.redes-oficiales a:hover{background:var(--uva-3)}
.redes-oficiales svg{width:22px;height:22px}
.aviso-copiado{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);z-index:90;padding:12px 18px;border-radius:14px;background:var(--crema);color:var(--uva);font-weight:700;box-shadow:0 12px 30px rgba(0,0,0,.4)}

@media (max-width:700px){
  .retar{grid-template-columns:1fr}
  .retar-personajes{grid-column:1;grid-row:auto;justify-content:center}
  .retar-personajes img{height:110px}
  .valor-resumen{grid-template-columns:1fr}
  .ficha-juego{width:100%;max-height:100dvh;border-radius:24px 24px 0 0;margin-bottom:0}
  .mundo-acciones{flex-wrap:wrap}
}
@media (hover:none){.mundo-escena video{display:none}}
.valor-pregunta{margin:0 0 -8px;font-weight:700}

/* =====================================================================
   AJUSTES DE DISPOSITIVOS (celulares chicos, acostados, laptops bajas,
   pantallas con muesca, Safari antiguo, pantallas táctiles)
   ===================================================================== */
.valor-estrellas{position:relative}
.valor-estrellas legend.solo-lector{left:0;top:0}
.ficha-juego{overflow-x:hidden}

/* Pantallas con muesca / isla (iPhone, Android): respetar las zonas seguras */
.envoltura{padding-left:max(20px,env(safe-area-inset-left));padding-right:max(20px,env(safe-area-inset-right))}
.reparto-lista{padding-left:max(20px,env(safe-area-inset-left));padding-right:max(20px,env(safe-area-inset-right))}
.cookie-banner{bottom:calc(16px + env(safe-area-inset-bottom))}
.pie{padding-bottom:calc(40px + env(safe-area-inset-bottom))}

/* Safari: desenfoques con prefijo */
.ficha-juego::backdrop{-webkit-backdrop-filter:blur(6px)}
.cookie-banner{-webkit-backdrop-filter:blur(12px)}
.cartelera-flechas .flecha{-webkit-backdrop-filter:blur(6px)}

/* Pantallas táctiles: sin efectos "pegados" de hover */
@media (hover:none){
  .mundo:hover,.mundo:focus-visible{transform:none}
  .mundo:hover .mundo-escena img{transform:none}
  .mundo:hover .mundo-figura img{transform:none}
  .ficha:hover{transform:none}
  .ficha:hover img{transform:translateX(-50%)}
  .mundo:active{transform:scale(.985)}
}

/* Laptops y monitores bajos (1280×720, 1366×768…): el texto y el reparto no se tocan */
@media (min-width:701px) and (max-height:820px){
  .cartelera{min-height:560px}
  .diapo-texto{padding-top:clamp(24px,5vh,56px)}
  .diapo-titulo{font-size:clamp(48px,min(6.4vw,10vh),92px)}
  .diapo-personaje{margin-bottom:10px}
  .diapo-meta{margin-top:12px}
  .diapo-bajada{margin:8px 0 18px}
  .reparto{padding:26px 0 16px}
  .actor img{height:clamp(64px,15vh,124px)}
  .actor[aria-pressed="true"] img{transform:scale(1.22) translateY(-2px)}
  .actor[aria-pressed="true"] .actor-nombre{transform:translate(-50%,-28px)}
  .cartelera-flechas{top:clamp(24px,5vh,56px)}
}

/* Celulares en vertical */
@media (max-width:700px){
  .cabecera .envoltura{min-height:60px}
  .marca img{height:34px}
  .nav-principal{top:60px}
  .cartelera{height:calc(100vh - 60px);height:calc(100svh - 60px);min-height:540px;max-height:800px}
  .diapo-texto{padding-top:clamp(16px,3.5vh,32px)}
  .diapo-personaje{margin-bottom:10px;font-size:14px}
  .diapo-titulo{font-size:clamp(38px,11.5vw,58px)}
  .diapo-meta{margin-top:10px;font-size:15px}
  .diapo-bajada{margin:8px 0 16px;font-size:15.5px;line-height:1.45}
  .acciones{gap:10px}
  .acciones .boton{min-height:48px;font-size:18px}
  .reparto{padding:0 0 10px}
  .reparto-lista{padding-top:52px}
  .actor img{height:clamp(70px,12vh,96px)}
  .actor[aria-pressed="true"] img{transform:scale(1.16)}
  .actor[aria-pressed="true"] .actor-nombre{transform:translate(-50%,-20px)}
  .reparto-lista li{flex:0 0 clamp(74px,22vw,92px)}
  /* Ficha como hoja que sube desde abajo, a todo el ancho */
  .ficha-juego{width:100%;max-width:100%;max-height:calc(100dvh - 24px);margin:auto 0 0;border-radius:24px 24px 0 0;padding-bottom:env(safe-area-inset-bottom)}
  .ficha-juego[open]{animation:hojaSube .35s cubic-bezier(.2,.9,.25,1)}
  .ficha-cuerpo{margin-top:-28px;padding-left:max(18px,env(safe-area-inset-left));padding-right:max(18px,env(safe-area-inset-right))}
  .ficha-cabeza h2{font-size:clamp(32px,10vw,44px)}
  .ficha-acciones .boton{flex:1 1 100%}
  .mundo-titulo h3{font-size:24px}
  .mundo-figura{top:-28px;width:52%}
  .mundo--grande .mundo-figura{top:-36px;width:50%}
}
@keyframes hojaSube{from{transform:translateY(40px);opacity:0}}

/* Celulares muy chicos o bajos (iPhone SE, 320–375 de ancho, 568–667 de alto) */
@media (max-width:700px) and (max-height:700px){
  .cartelera{min-height:500px}
  .diapo-bajada{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  .acciones{flex-wrap:nowrap}
  .acciones .boton{flex:1 1 0;min-width:0;padding:0 12px;font-size:16px}
  .acciones .boton .icono-play,.acciones .boton svg{width:16px;height:16px}
  .reparto-lista{padding-top:44px}
  .actor img{height:68px}
}
@media (max-width:360px){
  .diapo-titulo{font-size:36px}
  .filtro{padding:0 14px;font-size:15px}
  .retar-botones .red{flex:1 1 calc(50% - 10px);justify-content:center}
}

/* Celulares y tabletas chicas acostados (alto menor a 520px) */
@media (orientation:landscape) and (max-height:520px){
  .cabecera .envoltura{min-height:52px}
  .marca img{height:30px}
  .nav-principal{top:52px}
  .cartelera{height:calc(100vh - 52px);height:calc(100svh - 52px);min-height:330px;max-height:none}
  .diapo::before{background:linear-gradient(90deg,rgba(20,10,46,.94) 0%,rgba(20,10,46,.72) 45%,rgba(20,10,46,.2) 75%),linear-gradient(180deg,rgba(20,10,46,0) 55%,var(--uva) 100%)}
  .diapo-texto{padding-top:14px}
  .diapo-texto>*{max-width:min(520px,60vw)}
  .diapo-personaje{display:none}
  .diapo-titulo{font-size:clamp(32px,7.5vw,48px)}
  .diapo-meta{margin-top:6px;font-size:14px}
  .diapo-bajada{display:none}
  .acciones{margin-top:12px;flex-wrap:nowrap}
  .acciones .boton{flex:0 1 auto;min-height:44px;font-size:16px;padding:0 16px}
  .cartelera-flechas{display:flex;top:14px}
  .reparto{padding:0 0 6px}
  .reparto-lista{padding-top:34px;overflow-x:auto;justify-content:flex-start;scrollbar-width:none}
  .reparto-lista li{flex:0 0 78px}
  .actor img{height:clamp(52px,17vh,76px)}
  .actor[aria-pressed="true"] img{transform:scale(1.14)}
  .actor[aria-pressed="true"] .actor-nombre{transform:translate(-50%,-14px);font-size:13px;padding:4px 10px}
  /* ficha: imagen más baja para que se vea el contenido */
  .ficha-juego{width:min(760px,calc(100% - 24px));max-height:calc(100dvh - 16px);border-radius:22px;margin:auto}
  .ficha-medio{aspect-ratio:auto;height:46vh}
  .ficha-cuerpo{margin-top:-20px}
  .ficha-acciones .boton{flex:0 1 auto}
}

/* Tabletas en vertical: aprovechar el alto */
@media (min-width:701px) and (max-width:1100px) and (orientation:portrait){
  .diapo-texto{padding-top:clamp(40px,7vh,90px)}
  .diapo-texto>*{max-width:560px}
  .actor img{height:clamp(96px,13vw,150px)}
}

/* Monitores muy anchos: el texto no se va al extremo */
@media (min-width:1800px){
  :root{--max:1400px}
  .diapo-titulo{font-size:clamp(96px,5.4vw,132px)}
  .diapo-texto>*{max-width:680px}
  .actor img{height:clamp(150px,8.5vw,190px)}
}

/* Respaldo para navegadores sin <dialog> y bloqueo del fondo al abrir la ficha */
html:has(dialog[open]){overflow:hidden}
html.sin-modal{overflow:hidden}
html.sin-modal::after{content:"";position:fixed;inset:0;z-index:99;background:rgba(10,4,24,.82)}
html.sin-modal .ficha-juego[open]{display:block;position:fixed;inset:0;z-index:100;margin:auto;height:fit-content}
@media (max-width:700px){html.sin-modal .ficha-juego[open]{top:auto;bottom:0}}
.marca{display:inline-flex;align-items:center;min-height:44px}
.actor{min-width:60px}
.btxt{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
@media (max-width:700px) and (max-height:700px){
  .acciones .boton-jugar{flex:1 1 auto}
  .acciones .boton-borde{flex:0 0 52px;width:52px;padding:0}
  .acciones .boton-borde .btxt{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  .acciones .boton-borde svg{width:24px;height:24px}
}
@media (max-width:480px){
  .cookie-banner{left:10px;right:10px;bottom:calc(10px + env(safe-area-inset-bottom));padding:14px 16px;gap:10px;border-radius:18px}
  .cookie-banner>div:first-child{flex-basis:100%}
  .cookie-banner strong{font-size:16px}
  .cookie-banner p{font-size:12.5px;line-height:1.4;margin:2px 0}
  .cookie-actions{width:100%;flex-wrap:nowrap}
  .cookie-actions .btn{flex:1 1 0;padding:0 10px;font-size:14px}
}
.cookie-actions .btn{white-space:nowrap}

/* =====================================================================
   Reseñas, guías y tráileres (octubre 2026)
   Ficha con pestañas · páginas de cada juego · enlaces de guías
   ===================================================================== */

/* ---------- Enlaces de título en las tarjetas ---------- */
.mundo-titulo h3 a{color:inherit;text-decoration:none;pointer-events:auto;border-radius:8px}
.mundo-titulo h3 a:hover{text-decoration:underline;text-decoration-thickness:3px;text-underline-offset:5px;text-decoration-color:var(--acc)}

/* ---------- Ficha: botón y reproductor del tráiler ---------- */
.ficha-ver-trailer{position:absolute;right:clamp(20px,4vw,40px);bottom:64px;z-index:2;display:flex;align-items:center;gap:14px;padding:10px 24px 10px 10px;border:0;border-radius:999px;background:rgba(20,10,46,.72);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);color:var(--crema);font:800 20px/1 var(--display);cursor:pointer;box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--acc) 70%,transparent),0 18px 40px rgba(0,0,0,.45);transition:transform .2s ease,background-color .2s}
.ficha-ver-trailer:hover{transform:scale(1.05);background:rgba(20,10,46,.88)}
.ficha-ver-trailer .circulo{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:var(--oro);color:#2a1300;box-shadow:0 4px 0 var(--oro-sombra)}
.ficha-ver-trailer .circulo .icono-play{width:22px;height:22px;margin-left:3px}
.ficha-ver-trailer .txt{padding-top:2px;white-space:nowrap}
.ficha-ver-trailer small{font:700 15px var(--texto);color:var(--lavanda)}
.ficha-ver-trailer[hidden]{display:none}
.ficha-medio .ficha-trailer{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:#000;opacity:1;z-index:1}
.ficha-medio.viendo-trailer .ficha-poster,.ficha-medio.viendo-trailer .ficha-video,.ficha-medio.viendo-trailer .ficha-ver-trailer{visibility:hidden}
.ficha-medio.viendo-trailer::after{display:none}
.ficha-juego.trailer-activo .ficha-cuerpo{margin-top:22px}
.ficha-juego.trailer-activo .ficha-cerrar{z-index:3}

/* ---------- Ficha: pestañas ---------- */
.ficha-pestanas{position:sticky;top:0;z-index:4;display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;margin:30px calc(-1 * clamp(20px,4vw,40px)) 0;padding:12px clamp(20px,4vw,40px);background:color-mix(in srgb,var(--uva-2) 94%,transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--uva-3)}
.ficha-pestanas::-webkit-scrollbar{display:none}
.ficha-pestanas [role="tab"]{flex:0 0 auto;min-height:44px;padding:0 18px;border:0;border-radius:14px;background:transparent;color:var(--lavanda);font:700 16px var(--texto);cursor:pointer;transition:background-color .2s,color .2s}
.ficha-pestanas [role="tab"]:hover{color:var(--crema);background:rgba(255,246,232,.06)}
.ficha-pestanas [role="tab"][aria-selected="true"]{color:var(--crema);background:color-mix(in srgb,var(--acc) 26%,transparent);box-shadow:inset 0 0 0 1.5px color-mix(in srgb,var(--acc) 75%,transparent)}
.ficha-panel{padding-top:22px}
.ficha-panel:focus-visible{outline-offset:6px}
.ficha-panel[hidden]{display:none}
.ficha-prosa p{margin:0 0 14px;color:#e6dcff;line-height:1.65;max-width:44em}
.ficha-cargando{color:var(--lavanda)!important}
.ficha-datos{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;margin:18px 0 0}
.ficha-datos div{padding:12px 16px;border-radius:16px;background:var(--uva);box-shadow:inset 0 0 0 1.5px var(--uva-3)}
.ficha-datos dt{font:700 13px var(--texto);color:var(--lavanda);text-transform:uppercase;letter-spacing:.06em}
.ficha-datos dd{margin:2px 0 0;font-weight:700;color:var(--crema)}
.ficha-datos:empty{display:none}
.ficha-juego .ficha-panel>h3:first-child{margin-top:0}
.ficha-elenco-lista figure small{display:block;margin-top:6px;font:400 13px/1.35 var(--texto);color:#e6dcff}
.ficha-elenco-lista figure{flex-basis:168px}
.faq h4{margin:18px 0 4px;font:800 19px/1.25 var(--display);color:var(--crema)}
.faq p{margin:0;color:#e6dcff;line-height:1.6}
.ficha-guia{display:inline-flex;align-items:center;gap:10px;margin-top:30px;padding:14px 20px;border-radius:16px;background:var(--uva);box-shadow:inset 0 0 0 1.5px var(--uva-3);color:var(--oro);font:800 18px var(--display);text-decoration:none}
.ficha-guia svg{width:20px;height:20px;transition:transform .2s}
.ficha-guia:hover{box-shadow:inset 0 0 0 2px var(--oro)}
.ficha-guia:hover svg{transform:translateX(4px)}
.ficha-juego .valoraciones .valor-resumen{margin-top:0}

/* ---------- Listas de guía (ficha y páginas) ---------- */
.pasos{list-style:none;margin:0;padding:0;display:grid;gap:12px;counter-reset:paso}
.pasos li{position:relative;padding:14px 18px 14px 64px;border-radius:18px;background:var(--uva);box-shadow:inset 0 0 0 1.5px var(--uva-3);color:#e6dcff;line-height:1.55;counter-increment:paso}
.pasos li::before{content:counter(paso);position:absolute;left:14px;top:12px;display:grid;place-items:center;width:36px;height:36px;border-radius:12px;background:var(--acc);color:#140a2e;font:800 19px/1 var(--display)}
.consejos{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.consejos li{position:relative;padding:4px 0 4px 38px;color:#e6dcff;line-height:1.6}
.consejos li::before{content:"";position:absolute;left:4px;top:8px;width:22px;height:22px;border-radius:50%;background:color-mix(in srgb,var(--acc) 28%,transparent) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff6e8' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12.5l4 4 8-9'/%3E%3C/svg%3E") center/14px no-repeat;box-shadow:inset 0 0 0 1.5px var(--acc)}
.tabla-envoltura{overflow-x:auto;border-radius:18px;box-shadow:inset 0 0 0 1.5px var(--uva-3)}
.tabla-controles{width:100%;border-collapse:collapse;font-size:16px}
.tabla-controles th,.tabla-controles td{padding:14px 16px;text-align:left;vertical-align:top;line-height:1.45}
.tabla-controles thead th{font:700 13px var(--texto);text-transform:uppercase;letter-spacing:.06em;color:var(--lavanda);background:var(--uva);border-bottom:1px solid var(--uva-3)}
.tabla-controles tbody th{font-weight:700;color:var(--crema);width:30%}
.tabla-controles tbody td{color:#e6dcff}
.tabla-controles tbody tr+tr th,.tabla-controles tbody tr+tr td{border-top:1px solid var(--uva-3)}
@media (max-width:620px){
  .tabla-envoltura{box-shadow:none;border-radius:0}
  .tabla-controles thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  .tabla-controles,.tabla-controles tbody,.tabla-controles tr,.tabla-controles th,.tabla-controles td{display:block;width:100%}
  .tabla-controles tbody{display:grid;gap:10px}
  .tabla-controles tr{padding:14px 16px;border-radius:16px;background:var(--uva);box-shadow:inset 0 0 0 1.5px var(--uva-3)}
  .tabla-controles tbody th,.tabla-controles tbody td{padding:0;border:0!important}
  .tabla-controles tbody th{width:auto;margin-bottom:6px;font:800 18px var(--display)}
  .tabla-controles tbody td{font-size:15px}
  .tabla-controles tbody td+td{margin-top:4px}
  .tabla-controles tbody td::before{content:attr(data-tit) ": ";font-weight:700;color:var(--lavanda)}
}

/* ---------- Bloque «Aprende a jugar» ---------- */
.guias-lista{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px}
.guia{--acc:#ff4fa3;display:flex;align-items:center;gap:14px;height:100%;padding:12px 16px 12px 12px;border-radius:20px;background:var(--uva-2);box-shadow:inset 0 0 0 1.5px var(--uva-3);text-decoration:none;transition:transform .2s ease,box-shadow .2s ease}
.guia:hover{transform:translateY(-3px);box-shadow:inset 0 0 0 2px var(--acc),0 16px 34px -16px color-mix(in srgb,var(--acc) 70%,transparent)}
.guia img,.guia .guia-sigla{flex:0 0 64px;width:64px;height:64px;object-fit:contain;border-radius:16px;background:radial-gradient(circle at 50% 40%,color-mix(in srgb,var(--acc) 55%,var(--uva)) 0%,var(--uva) 85%);padding:4px;filter:drop-shadow(0 6px 8px rgba(0,0,0,.3))}
.guia .guia-sigla{display:grid;place-items:center;font:800 26px/1 var(--display);color:var(--crema);filter:none}
.guia-txt{display:flex;flex-direction:column;gap:2px;min-width:0}
.guia-txt strong{font:800 21px/1.1 var(--display);color:var(--crema)}
.guia-txt small{font-size:14px;color:var(--lavanda);font-weight:600}
.guia-txt em{font-style:normal;font-size:14px;font-weight:700;color:var(--oro)}
.guia-txt p{margin:6px 0 4px;color:#e6dcff;font-size:15px;line-height:1.45}
.guias-lista--rica{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}
.guias-lista--rica .guia{align-items:flex-start;padding:16px}
.guias-lista--rica .guia img,.guias-lista--rica .guia .guia-sigla{flex-basis:80px;width:80px;height:80px}

/* ---------- Pie con las guías ---------- */
.pie .pie-juegos{display:block;columns:2;column-gap:20px}
.pie-juegos li{break-inside:avoid;margin-bottom:8px}
.pie .pie-todos{margin:6px 0 0}
.pie .pie-todos a{color:var(--oro);font-weight:700}

/* ---------- Página de cada juego ---------- */
.migas{padding-top:22px}
.migas ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px;font-size:15px;color:var(--lavanda)}
.migas li+li::before{content:"›";margin-right:6px;color:var(--uva-3)}
.migas a{color:var(--lavanda);text-decoration:none}
.migas a:hover{color:var(--crema);text-decoration:underline}
.migas [aria-current]{color:var(--crema);font-weight:700}
.juego-hero{position:relative;padding:clamp(24px,4vw,48px) 0 clamp(28px,4vw,52px);isolation:isolate}
.juego-hero::before{content:"";position:absolute;inset:-120px 0 0;z-index:-1;background:radial-gradient(60% 70% at 78% 40%,color-mix(in srgb,var(--acc) 34%,transparent) 0%,transparent 70%);pointer-events:none}
.juego-hero-rejilla{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(28px,4vw,56px);align-items:center}
.juego-chips{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:0 0 16px}
.juego-genero{display:inline-flex;align-items:center;gap:8px;padding:6px 14px 6px 10px;border-radius:999px;background:rgba(20,10,46,.6);box-shadow:inset 0 0 0 1.5px var(--acc);font-weight:700;font-size:15px}
.juego-genero::before{content:"";width:10px;height:10px;border-radius:50%;background:var(--acc);box-shadow:0 0 12px var(--acc)}
.juego-chips .valor-chip{margin-left:0;font-size:15px;padding:4px 10px}
.juego-hero h1{margin:0;font:800 clamp(48px,7vw,92px)/.9 var(--display);text-shadow:0 3px 0 #3d1f86,0 6px 0 #2b1563,0 18px 30px rgba(0,0,0,.5);overflow-wrap:anywhere}
.juego-bajada{margin:18px 0 26px;font-size:20px;line-height:1.5;color:#efe6ff;max-width:30em}
.juego-hero .acciones{display:flex;flex-wrap:wrap;gap:12px}
.juego-trailer{margin:0}
.juego-trailer video{display:block;width:100%;height:auto;aspect-ratio:16/9;border-radius:24px;background:#000;box-shadow:0 0 0 1.5px color-mix(in srgb,var(--acc) 50%,var(--uva-3)),0 30px 60px -20px rgba(0,0,0,.7)}
.juego-trailer figcaption{margin-top:10px;font-size:14px;color:var(--lavanda);text-align:right}
.juego-cuerpo{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:clamp(24px,3vw,40px);align-items:start}
.juego-articulo{min-width:0;padding:clamp(24px,4vw,44px);border-radius:var(--radio-l);background:var(--uva-2);box-shadow:inset 0 0 0 1.5px var(--uva-3)}
.juego-articulo>section{scroll-margin-top:90px}
.juego-articulo>section+section{margin-top:44px}
.juego-articulo h2{margin:0 0 16px;font:800 clamp(28px,3vw,36px)/1.1 var(--display)}
.juego-articulo p{margin:0 0 14px;color:#e6dcff;line-height:1.7}
.juego-articulo .faq h3{margin:22px 0 6px;font:800 20px/1.25 var(--display);color:var(--crema)}
.juego-articulo .faq h3+p{margin:0}
.firma{font-size:14px;color:var(--lavanda)!important;margin-bottom:18px!important}
.juego-indice{margin:0 0 36px;padding:14px;border-radius:18px;background:var(--uva)}
.juego-indice ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.juego-indice a{display:inline-flex;align-items:center;min-height:40px;padding:0 14px;border-radius:12px;color:var(--lavanda);font-weight:700;font-size:15px;text-decoration:none}
.juego-indice a:hover{color:var(--crema);background:rgba(255,246,232,.07)}
.personajes{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:14px}
.personajes figure{margin:0;padding:16px;border-radius:20px;text-align:center;background:radial-gradient(110% 80% at 50% 25%,color-mix(in srgb,var(--acc) 48%,var(--uva)) 0%,var(--uva) 78%)}
.personajes img{height:140px;width:auto;max-width:100%;margin:0 auto 10px;object-fit:contain;filter:drop-shadow(0 10px 12px rgba(0,0,0,.4))}
.personajes strong{display:block;font:800 20px/1.15 var(--display)}
.personajes span{display:block;margin-top:6px;font-size:14px;line-height:1.45;color:#e6dcff}
.juego-cta{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:18px;padding:24px;border-radius:22px;background:radial-gradient(120% 140% at 0% 0%,color-mix(in srgb,var(--acc) 30%,var(--uva)) 0%,var(--uva) 70%);box-shadow:inset 0 0 0 1.5px color-mix(in srgb,var(--acc) 50%,var(--uva-3))}
.juego-cta h2{margin:0 0 4px!important;font-size:28px!important}
.juego-cta p{margin:0!important}
.juego-cta .acciones{display:flex;flex-wrap:wrap;gap:12px}
.juego-ficha{position:sticky;top:88px;padding:24px;border-radius:var(--radio-l);background:var(--uva-2);box-shadow:inset 0 0 0 1.5px var(--uva-3)}
.juego-ficha h2{margin:0 0 14px;font:800 24px var(--display)}
.juego-ficha dl{margin:0 0 20px;display:grid;gap:0}
.juego-ficha dl div{padding:10px 0;border-top:1px solid var(--uva-3)}
.juego-ficha dt{font:700 13px var(--texto);color:var(--lavanda);text-transform:uppercase;letter-spacing:.06em}
.juego-ficha dd{margin:2px 0 0;font-weight:600;color:var(--crema)}
.juego-ficha .boton{width:100%}
.otros{margin-top:clamp(56px,7vw,88px)}
.otros h2{margin:0 0 22px;font:800 clamp(30px,3.4vw,42px)/1 var(--display)}
.otros-rejilla{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px}
.otro{--acc:#ff4fa3;display:flex;flex-direction:column;gap:4px;height:100%;padding-bottom:14px;border-radius:20px;background:var(--uva-2);box-shadow:inset 0 0 0 1.5px var(--uva-3);text-decoration:none;overflow:hidden;transition:transform .2s ease,box-shadow .2s ease}
.otro:hover{transform:translateY(-3px);box-shadow:inset 0 0 0 2px var(--acc)}
.otro-img{display:block;aspect-ratio:16/10;margin-bottom:8px;background:linear-gradient(160deg,color-mix(in srgb,var(--acc) 45%,var(--uva-2)),var(--uva-2));overflow:hidden}
.otro-img img{width:100%;height:100%;object-fit:cover}
.otro strong{padding:0 16px;font:800 20px/1.1 var(--display);color:var(--crema)}
.otro small{padding:0 16px;font-size:14px;color:var(--lavanda);font-weight:600}
@media (max-width:980px){
  .juego-hero-rejilla{grid-template-columns:1fr}
  .juego-cuerpo{grid-template-columns:1fr}
  .juego-ficha{position:static}
}
@media (max-width:700px){
  .juego-hero .acciones .boton,.juego-cta .acciones .boton{flex:1 1 100%}
  .juego-bajada{font-size:18px}
  .pasos li{padding-left:58px}
  .pie-juegos{columns:1}
  .ficha-ver-trailer{right:auto;bottom:auto;left:max(14px,env(safe-area-inset-left));top:14px;gap:10px;padding:6px 16px 6px 6px;font-size:17px}
  .ficha-ver-trailer .circulo{width:38px;height:38px}
  .ficha-ver-trailer .circulo .icono-play{width:17px;height:17px}
  .otros-rejilla,.personajes{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .otro strong{font-size:17px;padding:0 12px}.otro small{font-size:13px;padding:0 12px}
  .personajes figure{padding:12px}.personajes img{height:110px}
  .guias-lista{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .guia{flex-direction:column;align-items:flex-start;gap:10px;padding:12px}
  .guias-lista--rica{grid-template-columns:1fr}
  .guias-lista--rica .guia{flex-direction:row}
  .ficha-pestanas{margin-top:24px}
  .ficha-pestanas [role="tab"]{padding:0 14px;font-size:15px}
}
@media (orientation:landscape) and (max-height:520px){
  .ficha-ver-trailer{bottom:auto;top:14px;right:auto;left:14px}
}
