/* ASTRA 01 · The three worlds share the existing CMS, brand and music player. */
.themed-page{--theme-glow:#bb7ce2;background:#070610;isolation:isolate}
.themed-page[data-theme="harry-potter"]{--theme-glow:#dcb767}
.themed-page[data-theme="halloween"]{--theme-glow:#ed9954}
.themed-page[data-theme="navidad"]{--theme-glow:#a4dfe9}
.themed-page .ambiente{display:none}
.themed-page .cabecera,.themed-page .menu-capa{z-index:40}
.themed-scenery{position:fixed;inset:0;z-index:0;overflow:hidden;pointer-events:none;contain:strict}
#themed-universe,.themed-sky{position:absolute;inset:0;width:100%;height:100%;display:block;pointer-events:none}
#themed-foreground{position:fixed;inset:0;width:100%;height:100%;display:block;z-index:15;pointer-events:none;contain:strict}
.theme-sprite-field{position:absolute;inset:0;overflow:hidden;pointer-events:none;contain:strict}
.theme-sprite{position:absolute;left:0;top:0;transform-origin:0 0;will-change:transform,opacity;pointer-events:none;user-select:none}
.theme-sprite-media,.theme-sprite-puff{position:absolute;inset:0;width:100%;height:100%;display:block;object-fit:contain;pointer-events:none;user-select:none;-webkit-user-drag:none}
.theme-sprite-puff{opacity:0;transform-origin:center;mix-blend-mode:screen}
.themed-sprite-ready #themed-universe{display:none!important}
.themed-sky{background:radial-gradient(ellipse at 50% 25%,color-mix(in srgb,var(--theme-glow) 12%,transparent),transparent 65%),linear-gradient(180deg,transparent 40%,#04061099);opacity:.9}
.themed-page .pagina-fondo{z-index:-1}
.themed-page .themed-content{position:relative;z-index:1;width:min(1120px,calc(100% - 44px));margin-inline:auto;padding-top:0}
.themed-page .pagina-hero{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;min-height:max(660px,calc(100svh - 145px));padding:20svh 22px 48px;background:transparent;border:0;box-shadow:none;backdrop-filter:none;text-align:center;margin-top:0;overflow:visible}
.themed-page .pagina-hero:before,.themed-page .pagina-hero:after{display:none}
.themed-page .pagina-hero h1{font-size:clamp(42px,6.5vw,84px);line-height:1.2;color:#fff;text-shadow:0 3px 32px #000b;margin:0 0 18px;max-width:950px;text-wrap:balance}
.themed-page .pagina-hero .pagina-sub{max-width:720px;font-size:clamp(17px,2.2vw,23px);color:#f5edf6;text-shadow:0 2px 18px #000}
.themed-page .pagina-hero .pagina-intro{max-width:670px;color:#e1dce5;font-size:15px;line-height:1.8;text-shadow:0 2px 18px #000}
.themed-page .pagina-hero-img{width:min(340px,85%);height:auto;max-height:220px;object-fit:contain;margin:0 0 26px;border-radius:24px}
.themed-page .hero-cta{margin-top:20px}
.themed-page .constructor-pagina{position:relative;margin-top:12svh}
.themed-page .constructor-sec{margin-block:32px;border-color:#ffffff21;background:linear-gradient(140deg,#161425d9,#080912e8);backdrop-filter:blur(16px);box-shadow:0 18px 60px #0003}
.themed-page .constructor-sec h2,.themed-page .constructor-sec h3{color:#fff}
.themed-page .constructor-texto,.themed-page .constructor-subtitulo{color:#d9d2e2}
.themed-page .constructor-chips li{color:#eee9f6;border-color:#ffffff24;background:#ffffff09}
.themed-page .constructor-sec-interior{position:relative}
.themed-page .mensaje{margin-top:14svh;background:#0a0b15d9;border-color:#ffffff20;backdrop-filter:blur(16px);border-radius:28px;padding:36px 28px}
.themed-page .mensaje .frase{color:#eee9f5}
.themed-page .pie{position:relative;z-index:1;background:#05060bdb}
.theme-motion{position:fixed;z-index:115;right:20px;top:110px;border:1px solid #ffffff35;border-radius:24px;background:#080912cc;color:#f5f0fa;padding:10px 16px;min-height:44px;font:500 11px "Playpen Sans",sans-serif;backdrop-filter:blur(12px);cursor:pointer}
.theme-motion[hidden]{display:none!important}.theme-motion:hover{background:#272135}.theme-motion:focus-visible{outline:3px solid var(--theme-glow);outline-offset:4px}
/* Existing thematic cards keep every image, description and destination. */
.theme-hub .pagina-hero{background:linear-gradient(140deg,#21142ddb,#0b1020e0);border-color:#b790df36;box-shadow:0 25px 80px #0004}
.theme-hub .pagina-hero h1,.theme-hub .constructor-sec h2{color:#fff}
.theme-hub .constructor-item[data-theme-card],.themed-page .constructor-item[data-theme-card]{position:relative;isolation:isolate;overflow:hidden;min-height:355px;border-radius:26px;border:1px solid #ffffff27;background:linear-gradient(150deg,#35211e,#10101b);box-shadow:0 16px 34px #0004}
.theme-hub .constructor-item[data-theme-card="harry-potter"],.themed-page .constructor-item[data-theme-card="harry-potter"]{background:radial-gradient(ellipse at 50% 0,#ae805633,transparent 70%),linear-gradient(155deg,#1c1824,#080b17);border-color:#d4ac5c50}
.theme-hub .constructor-item[data-theme-card="halloween"],.themed-page .constructor-item[data-theme-card="halloween"]{background:radial-gradient(ellipse at 80% 0,#b5353760,transparent 70%),linear-gradient(155deg,#291028,#0c0713);border-color:#ef985250}
.theme-hub .constructor-item[data-theme-card="navidad"],.themed-page .constructor-item[data-theme-card="navidad"]{background:radial-gradient(ellipse at 40% 0,#9ee5ff35,transparent 70%),linear-gradient(155deg,#133346,#080f1e);border-color:#b3e5e755}
.theme-hub .constructor-item[data-theme-card] h3,.themed-page .constructor-item[data-theme-card] h3{color:#fff;font-size:23px;line-height:1.4}
.theme-hub .constructor-item[data-theme-card] p,.themed-page .constructor-item[data-theme-card] p{color:#e1dae9;line-height:1.8}
.theme-hub .constructor-item[data-theme-card] img,.themed-page .constructor-item[data-theme-card] img{height:220px;object-fit:contain;background:radial-gradient(ellipse at 50% 50%,#ffffff08,transparent 75%);padding:14px}
.theme-hub .constructor-item[data-theme-card]:hover,.themed-page .constructor-item[data-theme-card]:hover{border-color:#fff8;box-shadow:0 20px 55px #0006,inset 0 1px 0 #ffffff26}
@media(max-width:700px){.themed-page .themed-content{width:calc(100% - 28px)}.themed-page .pagina-hero{min-height:max(640px,calc(100svh - 95px));padding:22svh 8px 38px}.themed-page .pagina-hero h1{font-size:clamp(37px,10.5vw,57px)}.themed-page .pagina-hero .pagina-sub{font-size:18px}.themed-page .pagina-hero .pagina-intro{font-size:14px}.themed-page .constructor-pagina{margin-top:7svh}.themed-page .constructor-sec{margin-block:23px;backdrop-filter:blur(10px)}.themed-page .mensaje{padding:28px 18px;margin-top:9svh}.theme-motion{top:90px;right:14px;font-size:10px;padding:9px 13px}}
@media(prefers-reduced-motion:reduce){.themed-page .constructor-sec,.themed-page .pagina-hero{animation:none!important;transition:none!important}}
@media print{.themed-scenery,#themed-foreground,.theme-motion{display:none!important}.themed-page .pagina-hero{min-height:0;padding:20px 0}.themed-page .constructor-pagina{margin-top:0}}
