/* KinoCraft 0.6.1 — Cinema Editorial. Original visual preset available in Design Studio.
   All colors derive from buyer-configurable CSS variables. All posters from media library. */
body.kc-visual-editorial{font-family:var(--kc-body-font,system-ui,sans-serif);font-size:15px;line-height:1.58;letter-spacing:-.009em;background:var(--bg)}
body.kc-visual-editorial h1,body.kc-visual-editorial h2,body.kc-visual-editorial h3,
body.kc-visual-editorial .kc-brand-name,body.kc-visual-editorial .kc-film-details h3,
body.kc-visual-editorial .kc-season-summary-copy strong{font-family:var(--kc-heading-font,system-ui,sans-serif);letter-spacing:-.037em}
body.kc-visual-editorial button,body.kc-visual-editorial input,body.kc-visual-editorial select{font-family:var(--kc-body-font,system-ui,sans-serif)}
body.kc-visual-editorial .kc-container{max-width:var(--wide)}
body.kc-visual-editorial .kc-header{background:color-mix(in srgb,var(--bg) 95%,transparent);border-bottom:1px solid var(--border);box-shadow:0 4px 22px rgba(0,0,0,.08)}
body.kc-visual-editorial .kc-header-inner{height:76px;gap:40px}
body.kc-visual-editorial .kc-brand-symbol{width:44px;height:44px;border-radius:12px;background:var(--accent);color:var(--cta);font-size:26px;box-shadow:0 5px 22px color-mix(in srgb,var(--accent) 25%,transparent)}
body.kc-visual-editorial .kc-brand-name{font-weight:870;font-size:23px;letter-spacing:-.053em}
body.kc-visual-editorial .kc-brand-name small{letter-spacing:.18em;font-size:9px;font-weight:700;margin-top:7px}
body.kc-visual-editorial .kc-nav-list{gap:27px}
body.kc-visual-editorial .kc-nav-list a{font-weight:700;font-size:13px;color:var(--text);opacity:.74;position:relative;transition:opacity .2s ease}
body.kc-visual-editorial .kc-nav-list a:hover,body.kc-visual-editorial .kc-nav-list .current-menu-item a{color:var(--text);opacity:1}
body.kc-visual-editorial .kc-nav-list .current-menu-item a:after{content:"";position:absolute;bottom:-29px;left:0;right:0;height:3px;border-radius:5px;background:var(--accent)}
body.kc-visual-editorial .kc-icon-button{border-radius:50%;width:39px;height:39px;background:var(--surface2);border:1px solid var(--border)}
body.kc-visual-editorial .kc-button{border-radius:9px;font-size:13px;font-weight:800;letter-spacing:0;min-height:46px;padding:13px 21px;transition:transform .17s,background .17s}
body.kc-visual-editorial .kc-button-primary:hover{background:var(--accent);filter:brightness(1.09);transform:translateY(-2px);color:var(--cta)}
body.kc-visual-editorial .kc-eyebrow{font-size:11px;font-weight:800;letter-spacing:.11em}
body.kc-visual-editorial .kc-heading-dot{color:var(--accent)}
/* Leaner hero: readable editorial copy + dynamically selected movie poster. */
body.kc-visual-editorial .kc-hero{background:radial-gradient(ellipse 42% 80% at 83% 47%,color-mix(in srgb,var(--accent) 10%,transparent),transparent 95%),linear-gradient(135deg,var(--bg),var(--hero));border-bottom:1px solid var(--border)}
body.kc-visual-editorial .kc-hero:after{display:none}
body.kc-visual-editorial .kc-hero-layout{min-height:506px;align-items:center}
body.kc-visual-editorial .kc-hero-copy{width:57%;padding:70px 0 65px}
body.kc-visual-editorial .kc-hero-tag{border:0;padding:0;background:transparent;color:var(--accent);font-size:11px;letter-spacing:.15em;font-weight:780}
body.kc-visual-editorial .kc-hero h1{font-size:clamp(45px,5.1vw,76px);font-weight:850;letter-spacing:-.064em;line-height:1.075;margin:22px 0 18px;max-width:810px}
body.kc-visual-editorial .kc-hero-copy>p{font-size:16px;line-height:1.65;max-width:580px;color:var(--muted)}
body.kc-visual-editorial .kc-hero-actions{margin-top:27px}
body.kc-visual-editorial .kc-hero-micro{gap:16px;margin-top:38px;font-size:11px;color:var(--muted)}
body.kc-visual-editorial .kc-hero-micro span{padding:7px 12px;background:var(--surface);border:1px solid var(--border);border-radius:6px}
body.kc-visual-editorial .kc-hero-art{inset:35px -20px 35px 54%;transform:scale(.85)}
body.kc-visual-editorial .kc-hero-featured{width:340px;flex:none;position:absolute;right:clamp(10px,4vw,75px);top:24px;bottom:24px;display:flex;flex-direction:column;align-items:stretch;justify-content:center;z-index:2;gap:13px}
body.kc-visual-editorial .kc-hero-featured-caption{font-size:11px;letter-spacing:.16em;font-weight:850;color:var(--muted);display:flex;align-items:center;gap:10px}
body.kc-visual-editorial .kc-hero-featured-icon{background:var(--accent);color:var(--cta);font-size:10px;width:27px;height:27px;border-radius:50%;display:grid;place-items:center;padding-left:2px}
body.kc-visual-editorial .kc-hero-featured-poster{display:block;width:min(100%,285px);height:338px;position:relative;background:var(--surface2);border-radius:16px;overflow:hidden;border:1px solid var(--border);box-shadow:18px 22px 55px rgba(0,0,0,.34);transition:transform .25s ease}
body.kc-visual-editorial .kc-hero-featured-poster:hover{transform:translateY(-5px)}
body.kc-visual-editorial .kc-hero-featured-poster .kc-poster-fallback,body.kc-visual-editorial .kc-hero-featured-poster .kc-cover-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
body.kc-visual-editorial .kc-hero-featured-overlay{position:absolute;inset:48% 0 0;background:linear-gradient(transparent,#000a);z-index:2}
body.kc-visual-editorial .kc-hero-featured-score{position:absolute;left:13px;bottom:13px;z-index:3;background:var(--accent);color:var(--cta);font-size:18px;line-height:1.1;font-weight:900;border-radius:7px;padding:9px 11px;display:flex;align-items:center;gap:8px}
body.kc-visual-editorial .kc-hero-featured-score small{font-size:9px;text-transform:uppercase;letter-spacing:.025em;font-weight:750;max-width:80px;line-height:1.25}
body.kc-visual-editorial .kc-hero-featured-info{display:grid;gap:4px}
body.kc-visual-editorial .kc-hero-featured-info strong{font:800 20px/1.23 var(--kc-heading-font,system-ui,sans-serif);letter-spacing:-.03em}
body.kc-visual-editorial .kc-hero-featured-info span{font-size:12px;color:var(--muted)}
/* Index: tighter editorial rhythm, stronger poster cards. */
body.kc-visual-editorial .kc-main-flow{padding-top:50px;padding-bottom:76px}
body.kc-visual-editorial .kc-section{margin-bottom:64px}
body.kc-visual-editorial .kc-section-top{margin-bottom:21px;align-items:end}
body.kc-visual-editorial .kc-section-top h2{font-size:clamp(28px,3.1vw,42px);font-weight:850;letter-spacing:-.055em;line-height:1.13;margin-top:6px}
body.kc-visual-editorial .kc-section-desc{font-size:13px;margin-top:8px;line-height:1.55}
body.kc-visual-editorial .kc-section-link{font-weight:780;color:var(--accent);border:0;padding:0}
body.kc-visual-editorial .kc-film-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:22px 17px}
body.kc-density-compact.kc-visual-editorial .kc-film-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:18px 13px}
body.kc-density-spacious.kc-visual-editorial .kc-film-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:25px}
body.kc-visual-editorial .kc-film-poster{aspect-ratio:2/2.92;border-radius:11px;border-color:var(--border);box-shadow:0 8px 25px rgba(0,0,0,.14)}
body.kc-visual-editorial .kc-film-poster:hover{transform:translateY(-4px);box-shadow:0 22px 40px rgba(0,0,0,.31);border-color:color-mix(in srgb,var(--accent) 55%,transparent)}
body.kc-visual-editorial .kc-film-poster:focus-visible{outline-offset:3px}
body.kc-visual-editorial .kc-poster-type{top:9px;left:9px;right:auto;bottom:auto;font-size:9px;font-weight:850;letter-spacing:.08em;padding:6px 9px;border-radius:6px;background:rgba(11,15,23,.76);border:1px solid rgba(255,255,255,.16);color:#fff;backdrop-filter:blur(6px)}
body.kc-visual-editorial .kc-rating{top:9px;right:9px;left:auto;bottom:auto;display:flex;gap:4px;align-items:center;font-family:var(--kc-heading-font,system-ui,sans-serif);background:var(--accent);color:var(--cta);border-radius:6px;padding:5px 8px;font-size:15px;line-height:1.1;font-weight:870;box-shadow:0 5px 15px #0004}
body.kc-visual-editorial .kc-rating span{color:var(--cta);font-size:11px}
body.kc-visual-editorial.kc-rating-outline .kc-rating{background:#0e1525dc;color:#fff;border:1px solid var(--accent)}
body.kc-visual-editorial.kc-rating-outline .kc-rating span{color:var(--accent)}
body.kc-visual-editorial.kc-rating-minimal .kc-rating{background:rgba(12,18,27,.76);color:#fff;box-shadow:none}
body.kc-visual-editorial.kc-rating-minimal .kc-rating span{color:var(--accent)}
body.kc-visual-editorial .kc-film-details{padding-top:13px}
body.kc-visual-editorial .kc-film-details h3{font-size:16px;font-weight:820;line-height:1.25;letter-spacing:-.033em;margin:0 0 7px;overflow-wrap:break-word}
body.kc-visual-editorial .kc-film-details p{color:var(--muted);font-size:12px;line-height:1.3}
body.kc-visual-editorial .kc-news-card,body.kc-visual-editorial .kc-collection-card{border-radius:12px;transition:transform .2s,border-color .2s}
body.kc-visual-editorial .kc-news-card:hover,body.kc-visual-editorial .kc-collection-card:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--accent) 40%,transparent)}
body.kc-visual-editorial .kc-news-card h3{font-weight:790;letter-spacing:-.035em}
body.kc-visual-editorial .kc-news-visual{border-radius:10px}
body.kc-visual-editorial .kc-feature-banner{border-radius:14px}
body.kc-visual-editorial .kc-spotlight{border-radius:14px;min-height:380px}
body.kc-visual-editorial .kc-spotlight-content h2{font-size:clamp(40px,4.5vw,70px);font-weight:850}
/* Film page + series: keep cinematic artwork, but improve typographic hierarchy. */
body.kc-visual-editorial .kc-cinema-intro h1{font-size:clamp(38px,5vw,70px);font-weight:870;line-height:1.04;letter-spacing:-.065em}
body.kc-visual-editorial .kc-cinema-hero{background-color:var(--bg)}
body.kc-visual-editorial .kc-cinema-hero-content{position:relative}
body.kc-visual-editorial .kc-cinema-poster{border-radius:13px;box-shadow:0 18px 70px #0007}
body.kc-visual-editorial .kc-cinema-fact{border-radius:11px}
body.kc-visual-editorial .kc-cinema-credits,body.kc-visual-editorial .kc-cinema-gallery,body.kc-visual-editorial .kc-episode-row{border-radius:12px}
body.kc-visual-editorial .kc-cinema-intro .kc-detail-score{font-size:16px;background:var(--accent);color:var(--cta);padding:9px 12px;border-radius:7px}
body.kc-visual-editorial .kc-cinema-intro .kc-detail-score small{color:var(--cta);opacity:.85}
/* Archive and filters, closer to media catalog than admin dashboard. */
body.kc-visual-editorial .kc-page-head{background:linear-gradient(105deg,var(--surface),var(--bg))}
body.kc-visual-editorial .kc-page-head h1{font-weight:880;font-size:clamp(36px,4.8vw,62px);letter-spacing:-.065em}
body.kc-visual-editorial .kc-discovery-form,body.kc-visual-editorial .kc-filter{border-radius:13px}
body.kc-visual-editorial .kc-discovery-panel{border-radius:14px;background:linear-gradient(125deg,var(--surface),var(--surface2))}
body.kc-visual-editorial .kc-top-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:22px 17px}
body.kc-visual-editorial .kc-top-entry .kc-top-rank{background:var(--accent);color:var(--cta);border:0;border-radius:8px;width:35px;height:35px;font-size:14px;top:10px;left:10px}
body.kc-visual-editorial .kc-top-entry .kc-film-poster .kc-poster-type{top:9px;left:52px}
body.kc-visual-editorial .kc-hero-featured-poster img{object-position:50% 35%}
/* Contrast for light mode (the original preset also supported light mode). */
:root[data-mode="light"] body.kc-visual-editorial .kc-hero-micro span{background:var(--surface);color:var(--text)}
:root[data-mode="light"] body.kc-visual-editorial .kc-hero{background:radial-gradient(ellipse at 82% 40%,color-mix(in srgb,var(--accent) 11%,transparent),transparent 70%),var(--bg)}
:root[data-mode="light"] body.kc-visual-editorial .kc-hero-featured-score{background:var(--accent);color:#fff}
:root[data-mode="light"] body.kc-visual-editorial .kc-hero-featured-score small{color:#fff}
:root[data-mode="light"] body.kc-visual-editorial .kc-rating{background:var(--accent);color:#fff}
:root[data-mode="light"] body.kc-visual-editorial .kc-rating span{color:#fff}
:root[data-mode="light"] body.kc-visual-editorial .kc-hero-featured-icon{color:#fff}
/* Responsive behavior */
@media(max-width:1180px){body.kc-visual-editorial .kc-film-grid,body.kc-visual-editorial .kc-top-grid{grid-template-columns:repeat(4,minmax(0,1fr))}body.kc-density-compact.kc-visual-editorial .kc-film-grid{grid-template-columns:repeat(5,minmax(0,1fr))}body.kc-visual-editorial .kc-hero-featured{right:0;width:265px}body.kc-visual-editorial .kc-hero-copy{width:64%}body.kc-visual-editorial .kc-nav-list{gap:18px}}
@media(max-width:990px){body.kc-visual-editorial .kc-hero-featured{width:235px;right:5px}body.kc-visual-editorial .kc-hero-featured-poster{height:275px}body.kc-visual-editorial .kc-hero-copy{width:60%}body.kc-visual-editorial .kc-hero h1{font-size:clamp(42px,5.5vw,60px)}body.kc-visual-editorial .kc-film-grid,body.kc-visual-editorial .kc-top-grid{grid-template-columns:repeat(3,minmax(0,1fr))}body.kc-density-compact.kc-visual-editorial .kc-film-grid{grid-template-columns:repeat(4,minmax(0,1fr))}body.kc-density-spacious.kc-visual-editorial .kc-film-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){body.kc-visual-editorial .kc-header-inner{height:66px;gap:12px}body.kc-visual-editorial .kc-brand-name{font-size:19px}body.kc-visual-editorial .kc-hero-layout{min-height:0;display:block;padding-bottom:34px}body.kc-visual-editorial .kc-hero-copy{width:100%;padding:45px 0 22px}body.kc-visual-editorial .kc-hero h1{font-size:clamp(37px,8vw,53px);max-width:650px}body.kc-visual-editorial .kc-hero-micro{margin-top:25px;gap:8px}body.kc-visual-editorial .kc-hero-featured{position:static;width:100%;max-width:none;display:grid;grid-template-columns:90px 1fr;grid-template-rows:auto auto;gap:6px 15px;margin-top:13px;align-items:center}body.kc-visual-editorial .kc-hero-featured-caption{grid-column:2;grid-row:1;align-self:end}body.kc-visual-editorial .kc-hero-featured-poster{grid-column:1;grid-row:1/span 2;width:90px;height:133px;border-radius:8px;box-shadow:0 12px 25px #0004}body.kc-visual-editorial .kc-hero-featured-info{grid-column:2;grid-row:2;align-self:start}body.kc-visual-editorial .kc-hero-featured-info strong{font-size:18px}body.kc-visual-editorial .kc-hero-featured-score{bottom:5px;left:5px;padding:4px;font-size:12px;gap:2px}body.kc-visual-editorial .kc-hero-featured-score small{display:none}body.kc-visual-editorial .kc-hero-art{display:none}body.kc-visual-editorial .kc-main-flow{padding-top:38px}body.kc-visual-editorial .kc-section{margin-bottom:50px}body.kc-visual-editorial .kc-section-top h2{font-size:clamp(25px,6vw,35px)}body.kc-visual-editorial .kc-film-grid,body.kc-visual-editorial .kc-top-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px 12px}body.kc-density-spacious.kc-visual-editorial .kc-film-grid{grid-template-columns:repeat(2,minmax(0,1fr))}body.kc-visual-editorial .kc-film-details h3{font-size:14px}}
@media(max-width:540px){body.kc-visual-editorial .kc-container{width:min(calc(100% - 32px),var(--wide))}body.kc-visual-editorial .kc-hero-copy{padding-top:37px}body.kc-visual-editorial .kc-hero h1{font-size:clamp(35px,9.2vw,45px)}body.kc-visual-editorial .kc-hero-copy>p{font-size:14px}body.kc-visual-editorial .kc-hero-actions{gap:8px;flex-wrap:wrap}body.kc-visual-editorial .kc-hero-actions .kc-button{padding:12px 14px;font-size:12px;min-height:42px}body.kc-visual-editorial .kc-hero-micro span{font-size:10px}body.kc-visual-editorial .kc-film-grid,body.kc-visual-editorial .kc-top-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:19px 12px}body.kc-density-compact.kc-visual-editorial .kc-film-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:13px 8px}body.kc-density-compact.kc-visual-editorial .kc-film-details h3{font-size:12px}body.kc-visual-editorial .kc-film-details h3{font-size:15px}body.kc-visual-editorial .kc-rating{font-size:13px;padding:4px 6px}body.kc-visual-editorial .kc-rating span{font-size:9px}body.kc-visual-editorial .kc-poster-type{font-size:8px;padding:4px 6px}body.kc-visual-editorial .kc-section-top{align-items:start}body.kc-visual-editorial .kc-section-link{font-size:11px}body.kc-visual-editorial .kc-cinema-intro h1{font-size:clamp(27px,7vw,40px)}body.kc-visual-editorial .kc-hero-featured-info span{font-size:11px}}
@media(prefers-reduced-motion:reduce){body.kc-visual-editorial .kc-film-poster,body.kc-visual-editorial .kc-hero-featured-poster,body.kc-visual-editorial .kc-button{transition:none}}
@media(max-width:540px){body.kc-density-compact.kc-visual-editorial .kc-rating{top:auto;bottom:8px;right:8px}body.kc-density-compact.kc-visual-editorial .kc-poster-type{top:8px;left:8px}}
body.kc-visual-editorial .kc-footer{background:var(--surface);color:var(--muted);border-top:1px solid var(--border)}
