/* KAIRO 27.12 FASE A — capa UX aditiva, preserva el hero cinematográfico aprobado */
.k12-home-discover{position:relative;z-index:2;border-top:1px solid #294b65;border-bottom:1px solid #254159;background:linear-gradient(100deg,#091523 0%,#12243b 55%,#091522 100%);box-shadow:0 9px 27px #0005}
.k12-discover-inner{max-width:1260px;width:calc(100% - 52px);margin:auto;display:flex;align-items:center;gap:25px;padding:15px 0 16px;min-width:0}
.k12-discover-label{flex:0 0 188px;display:flex;flex-direction:column;gap:3px}
.k12-label-overline{font:700 10px/1.4 var(--k-mono,monospace);letter-spacing:.13em;color:#7dbce1}
.k12-discover-label strong{font:900 18px/1.2 var(--display,Arial);letter-spacing:.035em;color:#fff}
.k12-category-strip,.k12-catalog-genres{display:flex;gap:8px;overflow-x:auto;scrollbar-width:thin;scrollbar-color:#365571 transparent;padding:4px 1px 7px;scroll-snap-type:x proximity}
.k12-category-strip button,.k12-catalog-genres button{scroll-snap-align:start;flex-shrink:0;border:1px solid #36597a;background:linear-gradient(180deg,#1d344f,#12243a);border-radius:8px;color:#dcefff;font:700 12px var(--body,Arial);padding:11px 15px;min-height:43px;cursor:pointer;white-space:nowrap;transition:background .18s,border-color .18s,transform .18s}
.k12-category-strip button:first-child{border-color:#bc9557;color:#ffe3b9;background:linear-gradient(130deg,#35291d,#282d3a)}
.k12-category-strip button:hover,.k12-catalog-genres button:hover,.k12-catalog-genres button[aria-pressed="true"]{border-color:#d4aa68;background:#253d59;color:#fff}
.k12-category-strip button:focus-visible,.k12-catalog-genres button:focus-visible{outline:3px solid #ffbe62;outline-offset:2px}
.k12-catalog-genres{margin:4px 0 14px;gap:7px}
.k12-catalog-genres button{font-size:12px;padding:9px 13px;min-height:40px}
#catalogo .filterbar.k-catalog-search{position:relative}
.k12-suggestions{position:absolute;z-index:40;top:calc(100% + 5px);left:12px;width:min(560px,calc(100% - 24px));max-height:340px;overflow-y:auto;border:1px solid #578bb1;background:#101e2e;box-shadow:0 20px 35px #000b;border-radius:11px;padding:7px}
.k12-suggestions[hidden]{display:none!important}
.k12-suggestions button{display:flex;gap:12px;align-items:center;text-align:left;background:transparent;border:0;width:100%;color:#f0f7ff;padding:10px;border-radius:8px;cursor:pointer}
.k12-suggestions button:hover,.k12-suggestions button:focus-visible{background:#203950;outline:0}
.k12-suggestions img,.k12-suggestion-placeholder{width:38px;height:55px;object-fit:cover;flex-shrink:0;border-radius:3px;background:#273d53}
.k12-suggestion-placeholder{display:grid;place-items:center;font-size:20px;color:#8abbe3}
.k12-suggestions strong{font-size:13px;display:block;line-height:1.3}.k12-suggestions small{font-size:11px;color:#a4bad1;line-height:1.3}
.k12-recovery{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin:15px 0 25px}
.k12-recovery[hidden]{display:none}.k12-recovery button{border:1px solid #5186aa;border-radius:7px;background:#132a42;color:#daefff;padding:10px 13px;cursor:pointer;font-weight:700}
/* Heart action is a clean pictogram, not a boxed button. */
.movie-actions .save,.movie-actions .save:hover,.movie-actions .save.is-saved{background:transparent!important;border:0!important;box-shadow:none!important;color:#cbe4fb!important;min-width:44px;min-height:42px;padding:4px!important}
.movie-actions .save.is-saved{color:#ffbd72!important}
.movie-actions .save:focus-visible,dialog#film-dialog .dialog-actions .k-fav-heart:focus-visible{outline:2px solid #f9cb78!important;outline-offset:2px!important}
dialog#film-dialog .dialog-actions .k-fav-heart,dialog#film-dialog .dialog-actions .k-fav-heart:hover,dialog#film-dialog .dialog-actions .k-fav-heart.is-saved{border:none!important;background:transparent!important;box-shadow:none!important;backdrop-filter:none!important;border-radius:0!important}
/* VIP: cinematic marquee, self-contained, never imitates a production membership. */
.k12-vip-dialog{max-width:min(640px,calc(100vw - 28px));width:640px;max-height:calc(100dvh - 40px);overflow-y:auto;box-sizing:border-box;position:relative;isolation:isolate;background:radial-gradient(ellipse at 50% 7%,#244769 0%,#101f31 41%,#070d18 88%);border:1px solid #b99052;border-radius:18px;color:#f3f7ff;text-align:center;padding:48px 33px 38px;box-shadow:inset 0 0 0 1px #fbc57832,0 26px 80px #000c,0 0 40px #dba85d2b}
.k12-vip-dialog::backdrop,.k12-shelf-dialog::backdrop{background:rgba(0,4,12,.79);backdrop-filter:blur(7px)}
.k12-vip-shine{position:absolute;pointer-events:none;inset:15px;border:1px solid #d6ab5840;border-radius:10px;background:repeating-linear-gradient(90deg,transparent 0 27px,#28405814 28px 29px)}
.k12-dialog-close{position:absolute;top:14px;right:15px;width:39px;height:39px;border:1px solid #55748b;background:#12243a;color:#fff;border-radius:8px;font-size:26px;line-height:1;cursor:pointer;z-index:2}
.k12-vip-overline{position:relative;font:700 11px var(--k-mono,monospace);letter-spacing:.22em;color:#f6c983}
.k12-vip-neon{position:relative;font:900 clamp(54px,11vw,95px)/1.1 var(--display,Arial);letter-spacing:.09em;color:#e5f8ff;text-shadow:0 0 4px #fff,0 0 15px #1d91ff,0 0 33px #0758d0;margin:10px 0 28px}
.k12-vip-neon span{color:#ffd78c;text-shadow:0 0 5px #ffd296,0 0 16px #ecad42,0 0 31px #b85f0a}
.k12-vip-coming{position:relative;font:900 clamp(25px,5vw,39px)/1.2 var(--display,Arial);letter-spacing:.06em;margin:0}.k12-vip-coming strong{font-size:1.24em;color:#ffd99c;text-shadow:0 2px 20px #dc983851}
.k12-vip-caption{position:relative;max-width:410px;margin:17px auto 29px;color:#bacde0;font-size:14px;line-height:1.6}
.k12-vip-action{position:relative;background:linear-gradient(135deg,#cd9d58,#f1c27b);border:1px solid #ffd292;border-radius:9px;min-height:49px;padding:10px 24px;color:#17100d;font-weight:900;cursor:pointer}
/* Mi estante: no login gate, no fabricated persistence across devices. */
.k12-shelf-dialog{margin:0 0 0 auto;position:fixed;inset:0 0 0 auto;width:min(480px,100vw);max-width:100vw;height:100dvh;max-height:100dvh;box-sizing:border-box;background:#0c1929;border:0;border-left:1px solid #5f7691;color:#ecf6ff;padding:0;box-shadow:-20px 0 55px #0009}
.k12-shelf-top{position:relative;padding:25px 65px 18px 24px;border-bottom:1px solid #38516b;background:linear-gradient(140deg,#1b334d,#0d192a)}
.k12-shelf-top small{font:700 10px var(--k-mono,monospace);letter-spacing:.18em;color:#8dccfa}
.k12-shelf-top h2{font:900 29px var(--display,Arial);margin:6px 0 2px;color:#fff}
.k12-shelf-top p{color:#b3c7dc;font-size:12px;margin:0}
.k12-shelf-body{max-height:calc(100dvh - 218px);overflow-y:auto;padding:20px 21px}
.k12-shelf-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 14px}
.k12-shelf-grid .movie h3{font-size:13px}
.k12-shelf-empty{padding:45px 14px 25px;text-align:center;color:#c8d7e7}
.k12-shelf-empty .icon{display:block;font-size:57px;color:#ffc880;margin-bottom:8px}
.k12-shelf-empty strong{font-size:19px;display:block;color:#fff}.k12-shelf-empty p{font-size:13px;line-height:1.5}
.k12-shelf-bottom{position:absolute;bottom:0;left:0;right:0;padding:15px 20px 23px;border-top:1px solid #34516a;background:#0c1929}.k12-shelf-bottom .btn{width:100%}
.k12-mobile-nav{display:none}
@media(max-width:650px){
 .k12-discover-inner{width:100%;display:block;padding:12px 15px 14px}
 .k12-discover-label{flex:auto;display:flex;flex-direction:row;justify-content:space-between;align-items:baseline;gap:6px;padding-bottom:9px}
 .k12-discover-label strong{font-size:17px}.k12-label-overline{font-size:8px;max-width:145px;text-align:right}
 .k12-category-strip{gap:7px;margin-right:-15px;padding-right:15px}
 .k12-category-strip button{min-height:42px;padding:9px 13px;font-size:12px}
 .k12-catalog-genres{margin-top:0}
 .k12-suggestions{top:55px;left:10px;width:calc(100% - 20px)}
 .k12-mobile-nav{position:fixed;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));bottom:0;left:0;right:0;z-index:52;min-height:62px;padding:5px 5px calc(5px + env(safe-area-inset-bottom));background:linear-gradient(180deg,#13253bfa,#06111efc);border-top:1px solid #4b7291;box-shadow:0 -8px 20px #0009}
 .k12-mobile-nav button{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:0;gap:0;border:none;border-radius:7px;background:transparent;color:#cee0f0;padding:2px;cursor:pointer}
 .k12-mobile-nav button[aria-current="page"]{color:#ffc985;background:#284058}
 .k12-mobile-nav span{font-size:24px;line-height:1.15}.k12-mobile-nav small{font-size:10px;line-height:1.4;font-weight:750}
 body{padding-bottom:calc(68px + env(safe-area-inset-bottom))}
 body:has(#trastienda.active) .k12-mobile-nav{display:none}
 body:has(#k12-vip[open]) .k12-mobile-nav,body:has(#k12-shelf[open]) .k12-mobile-nav,body:has(#film-dialog[open]) .k12-mobile-nav{display:none}
 .k12-vip-dialog{padding:46px 19px 25px}.k12-vip-neon{letter-spacing:.045em;margin:18px 0 23px}
 .k12-shelf-body{max-height:calc(100dvh - 204px)}
}
@media(prefers-reduced-motion:reduce){.k12-category-strip button,.k12-catalog-genres button{transition:none}}

@media(max-width:650px){aside[style*="z-index:9996"]{bottom:calc(79px + env(safe-area-inset-bottom))!important;right:8px!important;font-size:9px!important;padding:4px 8px!important;opacity:.94}}
@media(max-width:650px){.k12-vip-overline{max-width:calc(100% - 32px);font-size:9px;letter-spacing:.12em;line-height:1.5;margin:auto}}

/* KAIRO 27.15: categorías con título completo en una sola línea. */
.k12-discover-inner{gap:17px}
.k12-discover-label{flex:0 0 auto;min-width:max-content;gap:2px}
.k12-discover-label strong{font-size:16px;white-space:nowrap;line-height:1.2}
.k12-category-strip{min-width:0;flex:1}
@media(max-width:650px){
 .k12-discover-label{min-width:0;display:flex;flex-direction:row;align-items:center;justify-content:space-between;flex-wrap:nowrap;gap:10px;padding:0 0 10px}
 .k12-discover-label strong{font-size:clamp(13px,4vw,17px);white-space:nowrap;letter-spacing:0}
 .k12-discover-label .k12-label-overline{display:none}
 .k12-discover-label .k14-visits{order:0;margin:0;flex:0 0 auto}
 .k12-category-strip{display:flex;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:thin}
}

/* KAIRO 27.35 — filtros activos siempre comprensibles. */
#kairo-active-filters[hidden]{display:none!important}
.kairo-active-filters{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;margin:5px 0 12px;padding:9px 13px;border:1px solid #47718b;border-radius:9px;background:#0e2434;color:#d4e8f6;font:600 12px/1.4 'Manrope',system-ui,sans-serif}
.kairo-active-filters strong{color:#ffda9e}
.kairo-active-filters button{cursor:pointer;border:1px solid #a78960;border-radius:8px;background:#26364b;color:#ffe3b5;padding:7px 11px;font-weight:800;min-height:40px}
.kairo-active-filters button:focus-visible{outline:3px solid #9cd8ff;outline-offset:3px}
@media(max-width:650px){.kairo-active-filters{margin:4px 0 12px}}
/* Reservar espacio y presentar estado de poster no disponible sin deformar el Top Loader. */
.k-premium-toploader.k-poster-error::after{content:'PORTADA NO DISPONIBLE';position:absolute;left:18.72%;top:15.05%;width:61.15%;height:69.61%;z-index:2;display:grid;place-items:center;text-align:center;background:#0b1b2b;color:#c7d9e6;font:800 10px/1.35 'Manrope',system-ui,sans-serif;padding:5px;box-sizing:border-box}
