/* ============================================================
   KinoMix24 — новый дизайн «Вечерний кинозал» (v2)
   Подключается после styles.css. Всё, что относится к раскладке,
   задаётся здесь; механика компонентов (окно входа, выпадающие
   списки, комментарии) берётся из styles.css и перекрашивается
   через переменные.
   ============================================================ */

/* ---------- 1. Токены ---------- */
:root{
  /* палитра (тема «Кинозал»; остальные темы — в themes.css) */
  --hall-rgb:18,11,13; --screen-rgb:244,236,230; --seat-rgb:198,48,63; --brass-rgb:216,178,110;
  --spill-rgb:244,214,190; --fav-rgb:255,138,149; --fav:#FF8A95;
  --on-seat:#FFF6F1; --on-brass:#1A0E10; --bg-bright:.5; --vignette:rgba(0,0,0,.45);
  --hall:#120B0D;          /* зал — фон */
  --velvet:#1D1215;        /* бархат — панели */
  --velvet-2:#2A1A1F;      /* бархат светлее — поля, наведение */
  --velvet-3:#37242A;
  --seat:#C6303F;          /* кресло — главная кнопка «Смотреть» */
  --seat-hi:#D93F4E;
  --brass:#D8B26E;         /* латунь — рейтинги, активные элементы */
  --brass-hi:#E9CB91;
  --brass-dim:#9C7C45;
  --screen:#F4ECE6;        /* свет экрана — текст */
  --screen-2:#BFAFA9;      /* второстепенный текст */
  --screen-3:#8A7774;      /* подписи */
  --hair:rgba(var(--screen-rgb),.09);
  --hair-2:rgba(var(--screen-rgb),.16);

  /* шрифты */
  --f-display:'Cormorant Garamond','Cormorant',Georgia,'Times New Roman',serif;
  --f-ui:'Onest',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;

  /* сетка */
  --wrap:1320px;
  --gutter:32px;
  --hdr-h:64px;
  --r-s:8px;
  --r-m:12px;
  --r-l:18px;

  /* переназначаем переменные старой темы — так перекрашиваются окно входа,
     выпадающие списки, комментарии и прочие компоненты из styles.css */
  --bg:var(--hall); --bg-2:var(--hall); --panel:var(--velvet);
  --surface:var(--velvet); --surface-2:var(--velvet-2); --surface-3:var(--velvet-3);
  --line:var(--hair); --line-2:var(--hair-2); --line-cool:var(--hair);
  --text:var(--screen); --text-2:var(--screen-2); --muted:var(--screen-3);
  --gold:var(--brass); --gold-2:var(--brass-hi); --gold-deep:var(--brass-dim); --gold-soft:rgba(var(--brass-rgb),.14);
  --ember:var(--seat); --danger:#E5584A; --danger-dim:#4A1C1A; --danger-soft:rgba(229,88,74,.14);
  --success:#6FBF8E;
  --radius-sm:var(--r-s); --radius:var(--r-m); --radius-md:var(--r-m); --radius-lg:var(--r-l); --radius-xl:22px;
  --shadow:0 18px 50px rgba(0,0,0,.5); --shadow-2:0 30px 80px rgba(0,0,0,.6); --glow:none;
  --topbar-h:var(--hdr-h);
}

/* ---------- 2. Основа ---------- */
body.v2{
  background:var(--hall);color:var(--screen);
  font-family:var(--f-ui);font-size:15px;line-height:1.55;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
}
body.v2::before{
  background:
    radial-gradient(90% 60% at 50% -12%, rgba(var(--seat-rgb),.10), transparent 60%),
    radial-gradient(120% 120% at 50% 50%, transparent 65%, var(--vignette) 100%);
}
body.v2::after{opacity:.03}
/* фон-виньетка — под содержимым, чтобы основной блок не создавал свой слой
   (иначе всплывающие окна внутри него оказываются под затемнением) */
body.v2::before,body.v2::after{z-index:-1}
.v2 ::selection{background:var(--brass);color:var(--hall)}
.v2 :focus-visible{outline:2px solid var(--brass);outline-offset:3px;border-radius:6px}
.v2 button{font-family:inherit}
.v2 .accent{color:inherit}
.v2.no-scroll{overflow:hidden}

/* кнопки старых компонентов — плоская латунь вместо золотых градиентов */
.v2 .btn-solid,.v2 .auth-submit,.v2 .submit-comment-btn,.v2 .ms-done,.v2 .gp-done{
  background:var(--brass);color:var(--on-brass);box-shadow:none;border:none;font-weight:600;
}
.v2 .btn-solid:hover,.v2 .auth-submit:hover,.v2 .submit-comment-btn:hover,.v2 .ms-done:hover,.v2 .gp-done:hover{
  background:var(--brass-hi);filter:none;transform:none;
}
.v2 .btn-ghost{border-color:var(--hair-2);color:var(--screen)}
.v2 .btn-ghost:hover{border-color:var(--brass);background:transparent;color:var(--brass-hi)}
.v2 .auth-tabs button.active{background:var(--velvet-3);color:var(--screen)}
.v2 .auth-field label{text-transform:none;letter-spacing:0;font-size:13px;font-weight:500;color:var(--screen-2)}
.v2 .auth-modal{background:var(--velvet);border-color:var(--hair-2)}

/* общие кнопки нового дизайна */
.x-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  height:50px;padding:0 26px;border-radius:999px;border:1px solid transparent;
  font:600 15.5px/1 var(--f-ui);letter-spacing:.005em;cursor:pointer;white-space:nowrap;
  transition:background-color .18s,border-color .18s,color .18s;
}
.x-btn svg{width:18px;height:18px;flex:none}
.x-btn--play{background:var(--seat);color:var(--on-seat)}
.x-btn--play svg{fill:currentColor;margin-left:-4px}
.x-btn--play:hover{background:var(--seat-hi)}
.x-btn--ghost{background:rgba(var(--screen-rgb),.06);border-color:var(--hair-2);color:var(--screen)}
.x-btn--ghost:hover{border-color:var(--brass);color:var(--brass-hi)}
.x-btn--ghost.fav-active{color:var(--fav);border-color:rgba(var(--fav-rgb),.45)}
.x-btn--ghost.fav-active svg{fill:currentColor}

.x-icon-btn{
  width:40px;height:40px;flex:none;display:inline-flex;align-items:center;justify-content:center;
  border-radius:50%;border:1px solid transparent;background:transparent;color:var(--screen);cursor:pointer;
}
.x-icon-btn svg{width:22px;height:22px}
.x-icon-btn:hover{background:var(--velvet-2)}

.x-h2{
  font:600 32px/1.1 var(--f-display);letter-spacing:.005em;color:var(--screen);
  margin:0 0 22px;padding:0;border:none;display:block;
}

/* ---------- 3. Шапка ---------- */
.v2 .x-header.topbar{
  position:sticky;top:0;z-index:300;
  background:rgba(var(--hall-rgb),.84);backdrop-filter:saturate(1.2) blur(16px);-webkit-backdrop-filter:saturate(1.2) blur(16px);
  border-bottom:1px solid var(--hair);
  transition:transform .28s ease;
}
.v2 .x-header.topbar::after{display:none}
.v2.topbar-hidden .x-header.topbar{transform:none}   /* шапку не прячем при прокрутке */
.x-header-in{
  max-width:calc(var(--wrap) + 2 * var(--gutter));margin:0 auto;height:var(--hdr-h);
  padding:0 var(--gutter);display:flex;align-items:center;gap:28px;
}

.x-brand{display:inline-flex;align-items:center;gap:10px;flex:none;text-decoration:none;color:var(--screen)}
/* значок — кинобилет с линией отрыва и буквой «К»; цвета берутся из темы */
.x-brand-mark{width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;flex:none}
.x-brand-mark svg{width:34px;height:34px;display:block;transform:rotate(-8deg)}
.x-brand-mark .xt-body{fill:var(--seat)}
.x-brand-mark .xt-cut{fill:none;stroke:var(--hall);stroke-width:1.5;stroke-dasharray:1.6 1.8;stroke-linecap:round}
.x-brand-mark .xt-k{fill:none;stroke:var(--on-seat);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.x-brand:hover .x-brand-mark svg{transform:rotate(-2deg);transition:transform .25s}
.x-brand-word{font:700 25px/1 var(--f-display);letter-spacing:.01em}
.x-brand-word b{font:700 12px/1 var(--f-ui);color:var(--brass);margin-left:3px;vertical-align:9px;letter-spacing:.02em}

.x-nav{display:flex;align-items:center;gap:4px}
.v2 .x-nav .sidebar-btn{
  position:relative;display:inline-flex;align-items:center;height:40px;padding:0 12px;
  border:none;border-radius:8px;background:none;box-shadow:none;
  color:var(--screen-2);font:500 14.5px/1 var(--f-ui);letter-spacing:0;cursor:pointer;white-space:nowrap;
}
.v2 .x-nav .sidebar-btn:hover{color:var(--screen);background:none}
.v2 .x-nav .sidebar-btn.active{color:var(--screen);background:none}
.v2 .x-nav .sidebar-btn.active::after{
  content:"";position:absolute;left:12px;right:12px;bottom:2px;height:2px;border-radius:2px;background:var(--brass);
}

.v2 .x-search{position:relative;flex:0 1 300px;max-width:none;margin:0 0 0 auto}
.v2 .x-search .search-icon{left:14px;width:18px;height:18px;color:var(--screen-3)}
.v2 #searchInput{
  height:40px;padding:0 40px 0 42px;border-radius:999px;
  background:var(--velvet);border:1px solid var(--hair);color:var(--screen);
  font:400 14.5px/1 var(--f-ui);-webkit-appearance:none;appearance:none;
  transition:border-color .18s,background-color .18s;
}
.v2 #searchInput::-webkit-search-cancel-button{display:none}
.v2 #searchInput::placeholder{color:var(--screen-3)}
.v2 #searchInput:focus{border-color:var(--brass-dim);background:var(--velvet-2);box-shadow:none}
.v2 .search-clear{right:6px;width:28px;height:28px;background:transparent;color:var(--screen-3)}
.v2 .search-clear:hover{background:var(--velvet-3);color:var(--screen)}
.v2 .search-suggestions{
  top:calc(100% + 8px);background:var(--velvet);border:1px solid var(--hair-2);border-radius:var(--r-m);
  box-shadow:0 24px 60px rgba(0,0,0,.55);overflow:hidden;
}
.v2 .suggestion-item{padding:11px 16px;font-size:14.5px;border-bottom:1px solid var(--hair)}
.v2 .suggestion-item:hover,.v2 .suggestion-item.is-active{background:var(--velvet-2)}
.v2 .suggestion-year{color:var(--screen-3);font-variant-numeric:tabular-nums}

.x-search-toggle{display:none}
.x-header-extra:empty{display:none}
.v2 .x-header .auth-area{flex:none;gap:8px}
.v2 .x-header .btn-ghost,.v2 .x-header .btn-solid{height:38px;padding:0 16px;font-size:14px}
.v2 .user-chip{background:transparent;border-color:var(--hair);padding:4px 10px 4px 4px}
.v2 .user-chip:hover{border-color:var(--hair-2);background:var(--velvet)}
.v2 .user-avatar{background:var(--velvet-3);color:var(--brass-hi)}
.v2 .user-chip-name .role-tag{text-transform:none;letter-spacing:0;font-size:11px;font-weight:600}
.v2 .user-dropdown{background:var(--velvet);border-color:var(--hair-2);box-shadow:0 24px 60px rgba(0,0,0,.6)}
.v2 .dropdown-item{font-size:14px;color:var(--screen-2)}
.v2 .dropdown-item:hover{background:var(--velvet-2);color:var(--screen)}
.v2 .hdr-badge,.v2 .menu-badge{background:var(--seat)}

/* выдвижное меню (телефон) */
.v2 .mnav-burger{display:none}
.v2 .mnav-edge{display:none}
.v2 .mnav-backdrop{
  position:fixed;inset:0;z-index:900;background:rgba(6,3,4,.6);backdrop-filter:blur(3px);
  opacity:0;visibility:hidden;transition:opacity .22s,visibility .22s;
}
.v2 .mnav-backdrop.open{opacity:1;visibility:visible}
.v2 .mnav-drawer{
  position:fixed;top:0;bottom:0;left:0;z-index:901;width:min(84vw,330px);
  background:var(--velvet);border-right:1px solid var(--hair);
  display:flex;flex-direction:column;padding:18px 14px calc(18px + env(safe-area-inset-bottom));
  transform:translateX(-102%);transition:transform .28s cubic-bezier(.2,.8,.2,1);
}
.v2 .mnav-drawer.open{transform:none;box-shadow:30px 0 80px rgba(0,0,0,.5)}
.v2 .mnav-head{display:flex;align-items:center;justify-content:space-between;padding:0 6px 18px;border-bottom:1px solid var(--hair);margin-bottom:10px}
.v2 .mnav-close{width:40px;height:40px;border-radius:50%;border:none;background:var(--velvet-2);color:var(--screen);display:inline-flex;align-items:center;justify-content:center;cursor:pointer}
.v2 .mnav-close svg{width:20px;height:20px}
.v2 .mnav-list{display:flex;flex-direction:column;gap:2px}
.v2 .mnav-item{
  display:flex;align-items:center;width:100%;min-height:50px;padding:0 14px;border:none;border-radius:10px;
  background:none;color:var(--screen-2);font:500 17px/1.2 var(--f-ui);text-align:left;text-decoration:none;cursor:pointer;
}
.v2 .mnav-item:hover{background:var(--velvet-2);color:var(--screen)}
.v2 .mnav-item.active{color:var(--screen);background:var(--velvet-2);box-shadow:inset 3px 0 0 var(--brass)}

/* ---------- 4. Главная: афиша первого места ---------- */
.v2 .page.x-main{max-width:none;padding:0}
.x-hero{position:relative;overflow:hidden;isolation:isolate;border-bottom:1px solid var(--hair)}
.x-hero-bg{position:absolute;inset:-8%;z-index:-1}
.x-hero-bg img{width:100%;height:100%;object-fit:cover;object-position:center 25%;filter:blur(42px) saturate(1.15) brightness(var(--bg-bright,.5));transform:scale(1.1)}
.x-hero::after{
  content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:
    linear-gradient(90deg, rgba(var(--hall-rgb),.92) 0%, rgba(var(--hall-rgb),.55) 55%, rgba(var(--hall-rgb),.25) 100%),
    linear-gradient(0deg, var(--hall) 0%, transparent 45%);
}
.x-hero-in{
  max-width:calc(var(--wrap) + 2 * var(--gutter));margin:0 auto;padding:56px var(--gutter) 60px;
  display:grid;grid-template-columns:220px minmax(0,1fr);gap:44px;align-items:end;
}
.x-hero-poster{display:block;aspect-ratio:2/3;border-radius:var(--r-m);overflow:hidden;box-shadow:0 30px 70px rgba(0,0,0,.6),0 0 0 1px var(--hair)}
.x-hero-poster img{width:100%;height:100%;object-fit:cover;display:block}
.x-hero-body{max-width:720px;padding-bottom:6px}
.x-hero-kicker{margin:0 0 14px;font:500 14px/1.3 var(--f-ui);color:var(--brass)}
.x-hero-title{margin:0 0 16px;font:600 clamp(42px,5.4vw,72px)/.98 var(--f-display);letter-spacing:-.005em;text-wrap:balance}
.x-hero-title a{text-decoration:none}
.x-hero-title a:hover{color:var(--brass-hi)}
.x-hero-desc{margin:18px 0 0;max-width:60ch;color:var(--screen-2);font-size:16px;line-height:1.65}
.x-hero-actions{display:flex;align-items:center;gap:22px;margin-top:28px;flex-wrap:wrap}
.x-hero-score{font-size:14px;color:var(--screen-2)}
.x-hero-score b{font:600 26px/1 var(--f-ui);color:var(--brass);margin-right:6px;font-variant-numeric:tabular-nums;vertical-align:-3px}

/* строка фактов (год, тип, жанр, страна…) — разделители тонкими чертами */
/* черта слева у каждого пункта; у первого в строке она уходит за край и скрывается */
.x-meta{list-style:none;margin:0 0 0 -14px;padding:0;display:flex;flex-wrap:wrap;align-items:center;row-gap:8px;overflow:hidden;color:var(--screen-2);font-size:15px}
.x-meta li{display:inline-flex;align-items:center;margin-left:-1px;padding:0 14px;border-left:1px solid var(--hair-2);line-height:1.15}
.x-meta li.x-age{margin-left:14px}
.x-meta li.x-age{font-size:13px;padding:3px 7px;border:1px solid var(--hair-2);border-radius:6px}

/* один-единственный момент анимации — появление афиши */
@media (prefers-reduced-motion:no-preference){
  .x-hero-poster,.x-film-poster .poster-wrap{animation:xRise .7s cubic-bezier(.2,.8,.2,1) both}
  .x-hero-body,.x-film-body{animation:xRise .7s .08s cubic-bezier(.2,.8,.2,1) both}
}
@keyframes xRise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}

/* ---------- 5. Каталог ---------- */
.v2 .page-layout.x-layout{
  display:block;max-width:calc(var(--wrap) + 2 * var(--gutter));margin:0 auto;padding:0 var(--gutter) 72px;
}
.v2 .catalog{padding-top:40px}
.v2 .catalog-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px 24px;flex-wrap:wrap;margin-bottom:22px}
.v2 #pageTitle{font:600 44px/1.05 var(--f-display);letter-spacing:0;color:var(--screen);margin:0}
.v2 #pageTitle .accent{color:inherit}
.v2 #pageTitle .title-genre{font:500 18px/1 var(--f-ui);color:var(--screen-2);margin-left:6px;letter-spacing:0}
.v2 .stats-bar{gap:16px;font-size:14px;color:var(--screen-3)}
.v2 .stats-item strong{color:var(--screen-2);font-weight:600;font-variant-numeric:tabular-nums;margin-right:4px}
.v2 #filteredInfo strong{margin:0 0 0 4px}

.x-tools{display:flex;align-items:flex-end;gap:14px;margin-bottom:34px;flex-wrap:wrap}
.v2 .mobile-tools{display:flex;gap:10px}
.v2 .filters-toggle{
  height:44px;display:inline-flex;align-items:center;gap:10px;padding:0 18px;
  border-radius:999px;border:1px solid var(--hair-2);background:var(--velvet);color:var(--screen);
  font:500 14.5px/1 var(--f-ui);cursor:pointer;white-space:nowrap;max-width:320px;
}
.v2 .filters-toggle span{overflow:hidden;text-overflow:ellipsis}
.v2 .filters-toggle svg{width:18px;height:18px;flex:none;color:var(--screen-2)}
.v2 .filters-toggle:hover{border-color:var(--brass-dim)}
.v2 .genres-open.has-value,.v2 .filters-toggle.open{border-color:var(--brass);color:var(--brass-hi)}
.v2 .x-filters-btn{display:none}

.v2 .filters-bar{
  display:flex;align-items:flex-end;gap:14px;flex:1 1 auto;flex-wrap:wrap;
  margin:0;padding:0;background:none;border:none;border-radius:0;
}
.v2 .filter-field{gap:7px;min-width:0}
.v2 .filter-field>label{font:500 13px/1.2 var(--f-ui);text-transform:none;letter-spacing:0;color:var(--screen-3)}
.v2 .filter-country{flex:0 1 260px}
.v2 .filter-year{flex:0 1 300px}
.v2 .year-out{font-size:13px;color:var(--screen-2)}
.v2 .year-out b{color:var(--screen);font-weight:600;font-variant-numeric:tabular-nums}
.v2 .ms-trigger{height:44px;padding:0 16px;border-radius:999px;background:var(--velvet);border-color:var(--hair-2);font-size:14.5px}
.v2 .ms.open .ms-trigger,.v2 .ms.has-value .ms-trigger{border-color:var(--brass)}
.v2 .ms.has-value .ms-label{color:var(--brass-hi)}
.v2 .ms-count{background:var(--brass);color:var(--on-brass)}
.v2 .ms-panel{background:var(--velvet);border-color:var(--hair-2);border-radius:var(--r-m)}
.v2 .ms-option.checked .ms-check{background:var(--brass);border-color:var(--brass)}
.v2 .range-slider{height:44px}
.v2 .range-track{height:3px;background:var(--velvet-3)}
.v2 .range-fill{background:var(--brass)}
.v2 .range-slider input[type=range]::-webkit-slider-thumb{width:20px;height:20px;margin-top:-8.5px;background:var(--screen);border:5px solid var(--brass);box-shadow:0 2px 8px rgba(0,0,0,.5)}
.v2 .range-slider input[type=range]::-moz-range-thumb{width:12px;height:12px;background:var(--screen);border:5px solid var(--brass)}
.v2 .filters-reset{
  height:44px;padding:0 6px;border:none;background:none;color:var(--screen-3);
  font:500 14px/1 var(--f-ui);text-decoration:underline;text-underline-offset:4px;text-decoration-color:var(--hair-2);
}
.v2 .filters-reset:hover{color:var(--screen);background:none;text-decoration-color:var(--brass)}

/* панель жанров — всплывающее окно (ПК) / шторка снизу (телефон) */
.v2 .genre-panel,.v2 .genre-panel.collapsed{
  position:fixed;z-index:950;left:50%;top:50%;transform:translate(-50%,-48%);
  width:min(780px,calc(100vw - 48px));max-height:min(78vh,640px);margin:0;flex:none;
  display:flex;flex-direction:column;cursor:default;
  background:var(--velvet);border:1px solid var(--hair-2);border-radius:var(--r-l);
  box-shadow:0 40px 120px rgba(0,0,0,.7);
  opacity:0;visibility:hidden;transition:opacity .2s,transform .2s,visibility .2s;
}
.v2 .genre-panel.open{opacity:1;visibility:visible;transform:translate(-50%,-50%)}
.v2 .genre-backdrop{display:block;position:fixed;inset:0;z-index:940;background:rgba(6,3,4,.62);backdrop-filter:blur(3px);opacity:0;visibility:hidden;transition:opacity .2s,visibility .2s}
.v2 .genre-backdrop.open{opacity:1;visibility:visible}
.v2 .genre-panel .gp-head,.v2 .genre-panel.collapsed .gp-head{flex-direction:row;padding:20px 22px 14px;border-bottom:none;gap:12px}
.v2 .gp-title,.v2 .genre-panel.collapsed .gp-title{writing-mode:horizontal-tb;transform:none;font:600 30px/1 var(--f-display);letter-spacing:0;color:var(--screen);order:0}
.v2 .gp-toggle{display:none!important}
.v2 .gp-close{display:inline-flex;margin-left:auto;width:40px;height:40px;background:var(--velvet-2);border:none;color:var(--screen)}
.v2 .gp-close svg{width:20px;height:20px}
.v2 .gp-list,.v2 .genre-panel.collapsed .gp-list{
  display:flex;flex-direction:row;flex-wrap:wrap;gap:8px;padding:4px 22px 18px;overflow-y:auto;
}
.v2 .genre-item{
  width:auto;display:inline-flex;align-items:center;gap:8px;height:40px;padding:0 16px;
  border-radius:999px;border:1px solid var(--hair-2);background:transparent;
  color:var(--screen-2);font:500 14.5px/1 var(--f-ui);text-decoration:none;cursor:pointer;
}
.v2 .genre-item .gi-mark{display:none}
.v2 .genre-item:hover{border-color:var(--brass-dim);color:var(--screen);background:transparent}
.v2 .genre-item.active{background:var(--brass);border-color:var(--brass);color:var(--on-brass);font-weight:600}
.v2 .gp-foot,.v2 .genre-panel.collapsed .gp-foot{display:flex;padding:14px 22px 18px;border-top:1px solid var(--hair);gap:12px;font-size:13.5px;color:var(--screen-3)}
.v2 .gp-foot.has-value .gp-count{color:var(--brass-hi)}
.v2 .gp-clear{height:40px;padding:0 16px;font-size:14px}
.v2 .gp-done{display:inline-flex;align-items:center;height:40px;padding:0 22px;border-radius:999px;font-size:14.5px}

/* сетка карточек */
.v2 .movies-grid{grid-template-columns:repeat(auto-fill,minmax(172px,1fr));gap:34px 22px}
.v2 .movie-card{animation:none}
.v2 .movie-poster-wrap{border-radius:var(--r-s);border:none;box-shadow:0 1px 0 rgba(255,255,255,.03),0 14px 30px -12px rgba(0,0,0,.6);transition:box-shadow .18s}
.v2 .movie-poster-wrap::after{display:none}
.v2 .movie-card:hover .movie-poster-wrap{transform:none;border:none;box-shadow:0 0 0 2px var(--brass),0 18px 36px -12px rgba(0,0,0,.7)}
.v2 .movie-card:hover .movie-poster{transform:none}
.v2 .movie-poster{transition:none}
.v2 .rating-badge,
.v2 .movie-poster-wrap:has(.rating-badge) .rating-badge{
  top:auto;right:auto;bottom:8px;left:8px;min-width:0;padding:4px 7px;border-radius:6px;border:none;
  background:rgba(var(--hall-rgb),.82);backdrop-filter:blur(6px);box-shadow:none;
  font:600 13px/1 var(--f-ui);color:var(--screen);font-variant-numeric:tabular-nums;
}
.v2 .rating-badge.good{color:var(--brass-hi)}
.v2 .rating-badge.low{color:var(--screen-3)}
.v2 .seasons-badge,.v2 .movie-poster-wrap:has(.rating-badge) .seasons-badge{
  top:8px;bottom:auto;left:8px;padding:4px 7px;border-radius:6px;background:rgba(var(--hall-rgb),.82);
  color:var(--screen);font:600 11.5px/1 var(--f-ui);letter-spacing:0;
}
.v2 .fav-btn,.v2 .movie-poster-wrap:has(.rating-badge) .fav-btn{
  top:8px;right:8px;left:auto;width:34px;height:34px;border:none;background:rgba(var(--hall-rgb),.78);
  color:var(--screen);font-size:0;
}
.v2 .fav-btn::before{
  content:"";width:16px;height:16px;background:currentColor;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linejoin='round'%3E%3Cpath d='M12 20s-7-4.4-7-10a4 4 0 017-2.6A4 4 0 0119 10c0 5.6-7 10-7 10z'/%3E%3C/svg%3E") center/contain no-repeat;
          mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linejoin='round'%3E%3Cpath d='M12 20s-7-4.4-7-10a4 4 0 017-2.6A4 4 0 0119 10c0 5.6-7 10-7 10z'/%3E%3C/svg%3E") center/contain no-repeat;
}
.v2 .fav-btn:hover{transform:none;color:var(--fav);background:rgba(var(--hall-rgb),.92)}
.v2 .fav-btn.favorite-active{color:var(--fav)!important;border:none!important}
.v2 .fav-btn.favorite-active::before{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 20s-7-4.4-7-10a4 4 0 017-2.6A4 4 0 0119 10c0 5.6-7 10-7 10z'/%3E%3C/svg%3E");
          mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 20s-7-4.4-7-10a4 4 0 017-2.6A4 4 0 0119 10c0 5.6-7 10-7 10z'/%3E%3C/svg%3E");
}
.v2 .movie-info{padding:12px 1px 0}
.v2 .movie-title{font:600 14.5px/1.32 var(--f-ui);color:var(--screen)}
.v2 .movie-card:hover .movie-title{color:var(--brass-hi)}
.v2 .movie-title .year{color:var(--screen-3);font-weight:400}
.v2 .movie-meta{margin-top:4px;font-size:13px;color:var(--screen-3)}
.v2 .movie-meta .mm-dot{opacity:.6}

.v2 .loading-more{padding:40px 0 8px}
.v2 .dot-spin{border-color:var(--hair-2);border-top-color:var(--brass)}
.v2 .load-more-btn{height:50px;padding:0 34px;background:transparent;border:1px solid var(--hair-2);color:var(--screen);font:600 15px/1 var(--f-ui);margin-top:40px}
.v2 .load-more-btn:hover{border-color:var(--brass);color:var(--brass-hi)}
.v2 .end-note{font-size:14px;color:var(--screen-3);padding-top:40px}
.v2 .empty-message{font:500 22px/1.4 var(--f-display);color:var(--screen-2)}

/* нижние SEO-блоки: номера страниц, текст, перелинковка */
.v2 .seo-text{margin-top:64px;padding:32px 0 0;border:none;border-top:1px solid var(--hair);color:var(--screen-2);font-size:14.5px;line-height:1.7;background:none;border-radius:0}
.v2 .seo-text p{max-width:78ch}
.v2 .seo-crumbs{font-size:13.5px;color:var(--screen-3)}
.v2 .seo-crumbs a{color:var(--screen-2);text-decoration:none}
.v2 .seo-crumbs a:hover{color:var(--brass-hi)}
.v2 .seo-crumbs span{color:var(--screen-3)}

/* ---------- 6. Страница фильма ---------- */
.v2 .x-main,.v2 .page{position:relative;z-index:auto}
.x-film{position:relative;isolation:isolate;overflow:hidden}
.x-film-bg{position:absolute;inset:-6% -6% auto;height:112%;z-index:-1}
.x-film-bg img{width:100%;height:100%;object-fit:cover;object-position:center 20%;filter:blur(48px) saturate(1.2) brightness(calc(var(--bg-bright,.5) * .84));transform:scale(1.1)}
.x-film::after{
  content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:linear-gradient(0deg,var(--hall) 0%,rgba(var(--hall-rgb),.6) 40%,rgba(var(--hall-rgb),.35) 100%);
}
.x-film-in{
  max-width:calc(var(--wrap) + 2 * var(--gutter));margin:0 auto;padding:40px var(--gutter) 56px;
  display:grid;grid-template-columns:300px minmax(0,1fr);gap:56px;align-items:start;
}
.v2 .x-film-poster{width:auto}
.v2 .x-film-poster .poster-wrap{border-radius:var(--r-m);border:none;box-shadow:0 40px 90px rgba(0,0,0,.65),0 0 0 1px var(--hair)}
.v2 .poster-actions{margin-top:14px;display:flex;flex-direction:column;gap:8px}
.v2 .poster-actions .action-btn{padding:11px;font-size:13.5px;background:var(--velvet);border-color:var(--hair-2);border-radius:10px;color:var(--screen-2)}
.v2 .poster-actions .action-btn:hover{color:var(--screen);border-color:var(--brass-dim)}

.x-film-body{padding-top:6px;min-width:0}
.v2 .detail-crumbs{margin:0 0 22px;font-size:13.5px;color:var(--screen-3);display:flex;flex-wrap:wrap;gap:4px 8px}
.v2 .detail-crumbs a{color:var(--screen-2);text-decoration:none}
.v2 .detail-crumbs a:hover{color:var(--brass-hi)}
.v2 .detail-crumbs span{color:var(--screen-3)}
.x-film-title{
  margin:0;font:700 clamp(44px,6vw,86px)/.95 var(--f-display);letter-spacing:-.01em;color:var(--screen);
  text-wrap:balance;overflow-wrap:break-word;
}
.x-film-orig{margin:12px 0 0;font:italic 500 23px/1.25 var(--f-display);color:var(--screen-2)}
.x-film-meta{margin-top:22px}

.x-ratings{display:flex;flex-wrap:wrap;gap:16px 36px;margin-top:28px}
.x-rate{display:flex;align-items:center;gap:12px}
.x-rate b{font:600 38px/1 var(--f-ui);color:var(--brass);font-variant-numeric:tabular-nums;letter-spacing:-.02em}
.x-rate span{display:flex;flex-direction:column;font-size:14px;font-weight:500;line-height:1.3;color:var(--screen)}
.x-rate small{font-size:12.5px;font-weight:400;color:var(--screen-3)}
.x-rate--top b{color:var(--screen)}

.x-film-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}
.x-tagline{margin:34px 0 0;font:italic 500 23px/1.35 var(--f-display);color:var(--screen-2);max-width:46ch}
.v2 .x-desc{margin:18px 0 0;max-width:68ch;font-size:16.5px;line-height:1.72;color:var(--screen);white-space:pre-line;background:none;border:none;padding:0}
.x-tagline + .x-desc{margin-top:14px}
.x-cta-line{margin:14px 0 0;max-width:68ch;font-size:13.5px;line-height:1.6;color:var(--screen-3)}

/* плеер — «экран» в тёмном зале, от которого падает свет */
.x-screen-wrap{
  position:relative;max-width:calc(1160px + 2 * var(--gutter));margin:8px auto 88px;padding:0 var(--gutter);
  scroll-margin-top:calc(var(--hdr-h) + 20px);
}
.x-screen-wrap::after{
  content:"";position:absolute;left:8%;right:8%;bottom:-70px;height:120px;z-index:-1;pointer-events:none;
  background:radial-gradient(50% 50% at 50% 30%, rgba(var(--spill-rgb),.13), transparent 70%);
  filter:blur(8px);
}
.x-screen{
  position:relative;aspect-ratio:16/9;border-radius:var(--r-m);overflow:hidden;background:#050304;
  box-shadow:0 0 0 1px rgba(var(--screen-rgb),.10),0 0 120px -20px rgba(var(--spill-rgb),.18),0 50px 100px -40px rgba(0,0,0,.9);
}
.x-screen iframe{position:absolute;inset:0;width:100%;height:100%;border:0;display:block}
.x-screen--off{display:flex;align-items:center;justify-content:center;aspect-ratio:21/9;background:var(--velvet)}
.x-screen-msg{margin:0;padding:24px;text-align:center;color:var(--screen-2);font-size:15px}
.x-screen-msg b{display:block;margin-bottom:6px;font:600 26px/1.2 var(--f-display);color:var(--screen)}

.x-section{max-width:calc(var(--wrap) + 2 * var(--gutter));margin:0 auto 72px;padding:0 var(--gutter)}

/* актёры */
/* актёры: только полные ряды, не больше 6 в ряду (12 → 6+6, 10 → 5+5, 8 → 4+4).
   Если число не делится ровно, последние 1–2 актёра (эпизодические роли) не показываются:
   9 → 4+4, 11 → 5+5, 7 → 6 */
.x-cast-list{--cols:6;list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(var(--cols),minmax(0,156px));gap:30px 24px}
.x-cast-list:has(>:nth-child(1):last-child){--cols:1}
.x-cast-list:has(>:nth-child(2):last-child){--cols:2}
.x-cast-list:has(>:nth-child(3):last-child){--cols:3}
.x-cast-list:has(>:nth-child(4):last-child){--cols:4}
.x-cast-list:has(>:nth-child(5):last-child){--cols:5}
.x-cast-list:has(>:nth-child(6):last-child){--cols:6}
.x-cast-list:has(>:nth-child(7):last-child){--cols:6}
.x-cast-list:has(>:nth-child(8):last-child){--cols:4}
.x-cast-list:has(>:nth-child(9):last-child){--cols:4}
.x-cast-list:has(>:nth-child(10):last-child){--cols:5}
.x-cast-list:has(>:nth-child(11):last-child){--cols:5}
.x-cast-list:has(>:nth-child(12):last-child){--cols:6}
@media (min-width:769px){
  .x-cast-list:has(>:nth-child(7):last-child)>.x-person:nth-child(n+7){display:none}
  .x-cast-list:has(>:nth-child(9):last-child)>.x-person:nth-child(n+9){display:none}
  .x-cast-list:has(>:nth-child(11):last-child)>.x-person:nth-child(n+11){display:none}
}

.x-person{min-width:0}
.x-person-photo{
  position:relative;aspect-ratio:2/3;border-radius:var(--r-s);overflow:hidden;background:var(--velvet-2);
}
.x-person-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.x-person-photo.is-empty::after{
  content:attr(data-initial);position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  font:600 44px/1 var(--f-display);color:var(--screen-3);
}
.x-person-name{display:block;margin-top:10px;font-size:14px;font-weight:600;line-height:1.3;color:var(--screen)}
.x-person-en{display:block;margin-top:2px;font-size:12.5px;line-height:1.3;color:var(--screen-3)}

/* справка о фильме */
.x-facts-list{margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:56px}
.x-fact{display:grid;grid-template-columns:150px minmax(0,1fr);gap:16px;padding:14px 0;border-top:1px solid var(--hair)}
.x-fact dt{font-size:14px;color:var(--screen-3)}
.x-fact dd{margin:0;font-size:15px;line-height:1.55;color:var(--screen);overflow-wrap:anywhere}
.x-more{margin-top:0}
.x-more summary{
  list-style:none;display:inline-flex;align-items:center;gap:8px;margin-top:18px;cursor:pointer;
  color:var(--brass);font-weight:600;font-size:14.5px;
}
.x-more summary::-webkit-details-marker{display:none}
.x-more summary::after{content:"";width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translateY(-2px)}
.x-more[open] summary::after{transform:rotate(-135deg) translateY(-2px)}
.x-more summary:hover{color:var(--brass-hi)}
.x-more .x-more-close,.x-more[open] .x-more-open{display:none}
.x-more[open] .x-more-close{display:inline}
.x-more[open] summary{order:2}
.x-more[open]{display:flex;flex-direction:column}

/* сиквелы */
.v2 .related-section{display:block;width:auto;max-width:calc(var(--wrap) + 2 * var(--gutter));margin:0 auto 72px;background:none;border:none;border-radius:0;padding:0 var(--gutter)}
.v2 .related-rail{--rel-w:160px;gap:20px}
.v2 .related-poster-wrap{border-radius:var(--r-s);border:none}
.v2 .related-card:hover .related-poster-wrap{transform:none;box-shadow:0 0 0 2px var(--brass)}
.v2 .related-badge{background:rgba(var(--hall-rgb),.82);color:var(--screen);font-weight:600}
.v2 .related-name{font-size:14px;margin-top:10px}
.v2 .related-year{font-size:12.5px;color:var(--screen-3)}
.v2 .rail-prev{background:linear-gradient(90deg,var(--hall) 40%,transparent)}
.v2 .rail-next{background:linear-gradient(270deg,var(--hall) 40%,transparent)}
.v2 .rail-nav i{background:var(--velvet-2);border-color:var(--hair-2)}

/* обсуждение */
.v2 .comments-section{background:none;border:none;border-radius:0;padding:0 var(--gutter);margin:0 auto 72px;max-width:calc(var(--wrap) + 2 * var(--gutter))}
.v2 .comments-section>*{max-width:880px}
.v2 .no-comments{text-align:left}
.v2 .comments-section .x-h2{margin-bottom:24px}
.v2 .auth-gate{background:var(--velvet);border:1px solid var(--hair);border-radius:var(--r-m);text-align:left;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:22px 24px}
.v2 .auth-gate p{margin:0;font-size:15px}
.v2 .comment-input-wrapper textarea{
  width:100%;min-height:110px;padding:16px 60px 16px 18px;border-radius:var(--r-m);
  background:var(--velvet);border:1px solid var(--hair-2);color:var(--screen);font:400 15px/1.6 var(--f-ui);resize:vertical;outline:none;
}
.v2 .comment-input-wrapper textarea:focus{border-color:var(--brass-dim)}
.v2 .comment-author{color:var(--screen)}
.v2 .comment-avatar,.v2 .comment-as .mini-avatar{background:var(--velvet-3);color:var(--brass-hi)}
.v2 .comment-text{color:var(--screen-2);font-size:15px;line-height:1.6}
.v2 .no-comments{color:var(--screen-3);font-size:15px;padding:18px 0}
.v2 .emoji-btn:hover,.v2 .emoji-btn.active{background:var(--brass);color:var(--on-brass);border-color:var(--brass)}

/* ---------- 7. Подвал, кнопка «наверх», уведомления ---------- */
.x-footer{border-top:1px solid var(--hair);margin-top:24px}
.x-footer-in{
  max-width:calc(var(--wrap) + 2 * var(--gutter));margin:0 auto;padding:36px var(--gutter) calc(40px + env(safe-area-inset-bottom));
  display:grid;grid-template-columns:auto 1fr;gap:14px 40px;align-items:center;
}
.x-footer-nav{display:flex;flex-wrap:wrap;gap:6px 22px;justify-self:end}
.x-footer-nav a{color:var(--screen-2);text-decoration:none;font-size:14.5px}
.x-footer-nav a:hover{color:var(--brass-hi)}
.x-footer-note,.x-footer-legal{grid-column:1/-1;margin:0;font-size:13px;color:var(--screen-3)}
.x-footer-legal a{color:var(--screen-3);margin-left:16px}
.x-footer-legal a:hover{color:var(--screen)}
.v2 .site-footer{display:none}

.v2 .to-top-btn{
  width:48px;height:48px;right:22px;bottom:calc(22px + env(safe-area-inset-bottom));border-radius:50%;
  background:var(--velvet-2);border:1px solid var(--hair-2);color:var(--screen);box-shadow:0 12px 30px rgba(0,0,0,.5);
}
.v2 .to-top-btn svg{width:20px;height:20px}
.v2 .to-top-btn:hover{border-color:var(--brass);color:var(--brass-hi)}
.v2 .toast{border-radius:12px;font-weight:500;box-shadow:0 20px 50px rgba(0,0,0,.6)}

/* ---------- 8. Планшет ---------- */
@media (max-width:1180px){
  :root{--gutter:24px}
  .x-header-in{gap:18px}
  .v2 .x-nav .sidebar-btn{padding:0 9px;font-size:14px}
  .v2 .x-nav .sidebar-btn.active::after{left:9px;right:9px}
  .v2 .x-search{flex-basis:220px}
  .v2 .x-header .btn-solid{display:none}
  .x-film-in{grid-template-columns:240px minmax(0,1fr);gap:40px}
}
@media (max-width:980px) and (min-width:769px){
  .x-nav{display:none}
  .v2 .mnav-burger{display:inline-flex}
  .v2 .x-search{flex:1 1 auto}
  .x-facts-list{grid-template-columns:1fr}
}

/* ---------- 9. Телефон ---------- */
@media (max-width:768px){
  :root{--gutter:16px;--hdr-h:58px}
  body.v2{font-size:15px}
  .x-header-in{gap:6px;padding:0 8px 0 6px}
  .x-nav{display:none}
  .v2 .mnav-burger{display:inline-flex}
  .x-brand-word{font-size:23px}
  .x-brand-mark,.x-brand-mark svg{width:30px;height:30px}
  .v2 .x-header .x-brand{margin-right:auto}
  .x-search-toggle{display:inline-flex}
  .v2 .x-search{
    position:absolute;left:0;right:0;top:100%;margin:0;padding:10px 12px 12px;flex:none;
    background:rgba(var(--hall-rgb),.97);border-bottom:1px solid var(--hair);
    display:none;
  }
  .v2.x-search-open .x-search{display:block}
  .v2 .x-search .search-icon{left:26px;top:31px}
  .v2 .x-search .search-clear{right:18px;top:31px}
  .v2 #searchInput{height:44px;font-size:16px}
  .v2 .search-suggestions{left:12px;right:12px;top:calc(100% - 4px)}
  .v2 .x-header .btn-ghost{height:36px;padding:0 14px;font-size:14px}
  .v2 .x-header .btn-solid{display:none}
  .v2 .user-chip{padding:2px;border:none}
  .v2 .user-chip-name,.v2 .user-chip>svg{display:none}

  /* афиша */
  .x-hero-in{grid-template-columns:104px minmax(0,1fr);gap:18px;padding:22px var(--gutter) 28px;align-items:end}
  .x-hero-kicker{font-size:13px;margin-bottom:8px}
  .x-hero-title{font-size:32px;line-height:1;margin-bottom:10px}
  .x-hero .x-meta{font-size:13.5px}
  .x-hero .x-meta li+li::before{margin:0 9px;height:12px}
  .x-hero-desc{display:none}
  .x-hero-actions{grid-column:1/-1;margin-top:4px;gap:16px}
  .x-hero-actions .x-btn{flex:1 1 auto;height:48px}
  .x-hero-body{display:contents}
  .x-hero-body>.x-hero-kicker,.x-hero-body>.x-hero-title,.x-hero-body>.x-meta{grid-column:2}
  .x-hero-in{grid-template-areas:none}
  .x-hero-poster{grid-row:1 / span 3;align-self:end}

  /* каталог */
  .v2 .catalog{padding-top:24px}
  .v2 #pageTitle{font-size:34px}
  .v2 #pageTitle .title-genre{display:block;margin:6px 0 0;font-size:15px}
  .v2 .catalog-head{margin-bottom:16px}
  .x-tools{display:block;margin-bottom:22px}
  .v2 .mobile-tools{display:grid;grid-template-columns:1fr 1fr;gap:10px}
  .v2 .filters-toggle{width:100%;justify-content:center;height:46px;max-width:none}
  .v2 .x-filters-btn{display:inline-flex}
  .v2 .filters-bar{display:none;margin-top:12px;padding:16px;background:var(--velvet);border:1px solid var(--hair);border-radius:var(--r-m);gap:16px}
  .v2 .filters-bar.filters-open{display:flex;flex-direction:column;align-items:stretch}
  .v2 .filter-country,.v2 .filter-year{flex:none}
  .v2 .filters-reset{align-self:flex-start;height:auto;padding:4px 0}

  .v2 .genre-panel,.v2 .genre-panel.collapsed{
    left:0;right:0;top:auto;bottom:0;width:auto;max-height:84vh;border-radius:20px 20px 0 0;border-bottom:none;
    transform:translateY(102%);transition:transform .3s cubic-bezier(.2,.8,.2,1),visibility .3s;opacity:1;
    padding-bottom:env(safe-area-inset-bottom);
  }
  .v2 .genre-panel.open{transform:none}
  .v2 .genre-panel::before{content:"";align-self:center;width:40px;height:4px;border-radius:4px;background:var(--hair-2);margin-top:10px}
  .v2 .genre-panel .gp-head{padding:10px 16px 12px}
  .v2 .gp-title{font-size:28px}
  .v2 .gp-list{padding:2px 16px 16px}
  .v2 .genre-item{height:42px;font-size:15px}
  .v2 .gp-foot{padding:12px 16px 16px}
  .v2 .gp-done{flex:1 1 auto;justify-content:center;height:46px}

  .v2 .movies-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 12px}
  .v2 .movie-title{font-size:14.5px}
  .v2 .fav-btn{opacity:1}

  /* страница фильма */
  .x-film-bg{height:100%}
  .x-film-in{grid-template-columns:1fr;gap:22px;padding:18px var(--gutter) 30px}
  .v2 .x-film-poster{width:min(42vw,180px);justify-self:center}
  .x-film-body{text-align:center;padding:0}
  .v2 .detail-crumbs{justify-content:center;margin-bottom:14px;font-size:13px}
  .x-film-title{font-size:clamp(34px,10vw,46px);line-height:1}
  .x-film-orig{font-size:19px}
  /* на телефоне факты — отдельными плашками по центру, без черт */
  .x-film-meta{justify-content:center;gap:6px;margin:16px 0 0;overflow:visible;font-size:13.5px}
  .x-film-meta li,.x-film-meta li.x-age{margin:0;padding:5px 10px;border:none;border-radius:7px;background:rgba(var(--screen-rgb),.07)}
  .x-film-meta li.x-age{border:1px solid var(--hair-2);background:none;padding:4px 9px}
  .x-ratings{justify-content:center;gap:14px 28px;margin-top:22px}
  .x-rate b{font-size:32px}
  .x-rate span{text-align:left}
  .x-film-actions{display:grid;grid-template-columns:1fr auto;margin-top:24px}
  .x-film-actions .x-btn{height:52px}
  .x-film-actions .fav-detail-btn{width:52px;padding:0;font-size:0;gap:0}
  .x-film-actions .fav-detail-btn svg{width:22px;height:22px}
  .x-tagline{margin:26px auto 0;font-size:20px}
  .v2 .x-desc{text-align:left;font-size:16px;margin-top:16px}
  .x-cta-line{text-align:left}

  .x-screen-wrap{padding:0;margin:0 0 64px}
  .x-screen{border-radius:0;box-shadow:0 0 0 1px rgba(var(--screen-rgb),.06),0 30px 80px -30px rgba(var(--spill-rgb),.14)}
  .x-screen-wrap::after{bottom:-50px;height:80px}

  .x-section{margin-bottom:56px}
  .x-h2{font-size:28px;margin-bottom:16px}
  /* телефон: только полные ряды, не больше 4 в ряду (12 → 4+4+4, 9 → 3+3+3, 8 → 4+4, 6 → 3+3);
     лишние 1–2 последних актёра не показываются: 11 и 10 → 3+3+3, 7 → 3+3, 5 → 4 */
  .x-cast-list{--mcols:4;display:flex;flex-wrap:wrap;justify-content:center;gap:18px 10px}
  .x-cast-list:has(>:nth-child(1):last-child){--mcols:1}
  .x-cast-list:has(>:nth-child(2):last-child){--mcols:2}
  .x-cast-list:has(>:nth-child(3):last-child){--mcols:3}
  .x-cast-list:has(>:nth-child(4):last-child){--mcols:4}
  .x-cast-list:has(>:nth-child(5):last-child){--mcols:4}
  .x-cast-list:has(>:nth-child(6):last-child){--mcols:3}
  .x-cast-list:has(>:nth-child(7):last-child){--mcols:3}
  .x-cast-list:has(>:nth-child(8):last-child){--mcols:4}
  .x-cast-list:has(>:nth-child(9):last-child){--mcols:3}
  .x-cast-list:has(>:nth-child(10):last-child){--mcols:3}
  .x-cast-list:has(>:nth-child(11):last-child){--mcols:3}
  .x-cast-list:has(>:nth-child(12):last-child){--mcols:4}
  .x-cast-list:has(>:nth-child(5):last-child)>.x-person:nth-child(n+5){display:none}
  .x-cast-list:has(>:nth-child(7):last-child)>.x-person:nth-child(n+7){display:none}
  .x-cast-list:has(>:nth-child(10):last-child)>.x-person:nth-child(n+10){display:none}
  .x-cast-list:has(>:nth-child(11):last-child)>.x-person:nth-child(n+10){display:none}
  .x-person{flex:0 0 calc((100% - (var(--mcols) - 1) * 10px) / var(--mcols));min-width:0}
  .x-person-name{font-size:12.5px;margin-top:7px}
  .x-person-en{font-size:11px}
  .x-person-photo.is-empty::after{font-size:30px}
  .x-person-name{font-size:13.5px}
  .x-facts-list{grid-template-columns:1fr}
  .x-fact{grid-template-columns:118px minmax(0,1fr);gap:12px;padding:12px 0}
  .x-fact dt{font-size:13.5px}
  .x-fact dd{font-size:14.5px}
  .v2 .related-section{margin-bottom:56px}
  .v2 .related-rail{--rel-w:128px;gap:12px}
  .v2 .auth-gate{flex-direction:column;align-items:stretch;text-align:center}

  .x-footer-in{grid-template-columns:1fr;gap:16px}
  .x-footer-nav{justify-self:start}
  .x-footer-legal a{display:inline-block;margin:6px 16px 0 0}
  .x-footer-legal{display:flex;flex-wrap:wrap;align-items:baseline;column-gap:16px}
  .x-footer-legal a{margin:0}
}
@media (max-width:360px){
  .x-hero-title{font-size:28px}
  .v2 .movies-grid{gap:20px 10px}
}

@media (hover:none){
  .v2 .movie-card:hover .movie-poster-wrap{box-shadow:0 1px 0 rgba(255,255,255,.03),0 14px 30px -12px rgba(0,0,0,.6)}
  .v2 .movie-card:hover .movie-title{color:var(--screen)}
  .v2 .fav-btn{opacity:1}
}
@media (prefers-reduced-motion:reduce){
  .v2 *,.v2 *::before,.v2 *::after{transition-duration:.01ms!important;animation-duration:.01ms!important}
}

/* ---------- 10. Мелкие правки компонентов ---------- */
.v2 .google-btn{background:var(--screen);color:var(--on-brass);border:none;border-radius:var(--r-s);font-weight:600}
.v2 .google-btn:hover{background:#fff;box-shadow:none;filter:none}
.v2 .auth-or span{background:var(--velvet)}
@media (max-width:768px){
  .v2 .filters-bar.filters-open .filters-reset{align-self:flex-start;margin:0}
}
@media (max-width:768px){
  /* админские кнопки — под описанием, а не между постером и названием */
  .v2 .x-film-poster{display:contents}
  .v2 .x-film-poster .poster-wrap{width:min(42vw,180px);justify-self:center}
  .x-film-body{order:1}
  .v2 .poster-actions{order:2;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:8px}
  .v2 .poster-actions:not(:has(.action-btn:not([style*="none"]))){display:none}
  .v2 .poster-actions .action-btn{font-size:13px;padding:10px 8px}
}

/* ---------- 6б. Фон TMDB на странице фильма (если спарсен в базе TMDB) ---------- */
.v2 .x-film.x-film--bd::after{display:none}
.v2 .x-film.x-film--bd .x-film-bg{inset:0 0 auto 0;width:100%;height:min(56.25vw,100%);overflow:hidden}
.v2 .x-film.x-film--bd .x-film-bg img{filter:none;transform:none;object-position:center 25%;animation:xBdIn 1.2s ease both}
.v2 .x-film.x-film--bd .x-film-bg::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:
    linear-gradient(90deg,rgba(var(--hall-rgb),.94) 0%,rgba(var(--hall-rgb),.82) 26%,rgba(var(--hall-rgb),.5) 52%,rgba(var(--hall-rgb),.2) 78%,rgba(var(--hall-rgb),.1) 100%),
    linear-gradient(0deg,var(--hall) 0%,rgba(var(--hall-rgb),.72) 16%,rgba(var(--hall-rgb),0) 50%),
    linear-gradient(180deg,rgba(var(--hall-rgb),.6) 0%,rgba(var(--hall-rgb),0) 22%);
}
.v2 .x-film.x-film--bd .x-film-body{text-shadow:0 1px 14px rgba(var(--hall-rgb),.85),0 0 2px rgba(var(--hall-rgb),.5)}
.v2 .x-film.x-film--bd .x-film-body .x-btn{text-shadow:none}
@keyframes xBdIn{from{opacity:0;transform:scale(1.03)}}
html[data-theme="noir"] .v2 .x-film.x-film--bd .x-film-bg img{filter:grayscale(1) brightness(.85)}
/* светлая тема: кадр сильно осветлён, иначе тёмный текст на нём не читается */
html[data-theme="matinee"] .v2 .x-film.x-film--bd .x-film-bg img{filter:saturate(.85) brightness(1.15);opacity:.32}
html[data-theme="matinee"] .v2 .x-film.x-film--bd .x-film-body{text-shadow:0 1px 12px rgba(var(--hall-rgb),.9)}
/* телефон: кадр — открытой полосой сверху; маленький постер слева заходит на его край,
   рядом название; остальное — ниже, по левому краю (по центру постер закрывал фон) */
@media (max-width:768px){
  .v2 .x-film.x-film--bd .x-film-bg{height:56.25vw}
  .v2 .x-film.x-film--bd .x-film-bg img{object-position:center 30%}
  .v2 .x-film.x-film--bd .x-film-bg::after{
    background:
      linear-gradient(0deg,var(--hall) 0%,rgba(var(--hall-rgb),.6) 24%,rgba(var(--hall-rgb),0) 58%),
      linear-gradient(180deg,rgba(var(--hall-rgb),.5) 0%,rgba(var(--hall-rgb),0) 26%);
  }
  .v2 .x-film.x-film--bd .x-film-in{
    grid-template-columns:104px minmax(0,1fr);column-gap:16px;row-gap:0;align-items:start;
    padding-top:calc(56.25vw - 60px);
  }
  .v2 .x-film.x-film--bd .x-film-body{display:contents;text-align:left}
  .v2 .x-film.x-film--bd .x-film-poster .poster-wrap{grid-column:1;grid-row:1 / span 3;width:104px;justify-self:start;box-shadow:0 18px 40px rgba(0,0,0,.6),0 0 0 1px var(--hair)}
  .v2 .x-film.x-film--bd .poster-actions{grid-column:1 / -1;grid-row:10;margin-top:18px}
  .v2 .x-film.x-film--bd .detail-crumbs{grid-column:2;grid-row:1;justify-content:flex-start;margin:34px 0 8px;font-size:12px;gap:2px 6px}
  .v2 .x-film.x-film--bd .x-film-title{grid-column:2;grid-row:2;font-size:clamp(26px,7.6vw,36px);line-height:1.02}
  .v2 .x-film.x-film--bd .x-film-orig{grid-column:2;grid-row:3;margin-top:6px;font-size:16px}
  .v2 .x-film.x-film--bd .x-film-meta{grid-column:1 / -1;grid-row:4;justify-content:flex-start;margin-top:18px}
  .v2 .x-film.x-film--bd .x-ratings{grid-column:1 / -1;grid-row:5;justify-content:flex-start}
  .v2 .x-film.x-film--bd .x-film-actions{grid-column:1 / -1;grid-row:6}
  .v2 .x-film.x-film--bd .x-tagline{grid-column:1 / -1;grid-row:7;margin-left:0;margin-right:0}
  .v2 .x-film.x-film--bd .x-desc{grid-column:1 / -1;grid-row:8}
  .v2 .x-film.x-film--bd .x-cta-line{grid-column:1 / -1;grid-row:9}
}
@media (prefers-reduced-motion:reduce){.v2 .x-film.x-film--bd .x-film-bg img{animation:none}}
