/* themes.css */
/* Тёмная тема (по умолчанию) — нейтральная палитра, без фиолетового подтона
   (2026-06-09: убран фиолетовый — был заметный legacy от первой версии,
   ломал когерентность с polish-pass дизайном). */
:root{
  --bg:#080812;--bg2:#0a0a14;--bg3:#0e0e18;
  --card:#0f0f18;--card2:#13131c;
  --border:#1e1e28;--border2:#2a2a36;
  --gold:#c9a84c;--gold2:#e8c97a;
  --text:#e8e4f0;--muted:#888;--dim:#444;
  --shadow:rgba(0,0,0,0.96);
}
/* ══ СВЕТЛАЯ ТЕМА — "Crisp Paper" (v2: больше контраста между уровнями) ══ */
:root[data-theme="light"]{
  /* Фоны: 3 чёткие ступени вместо плотного диапазона #eb-#f7 */
  --bg:#ffffff;        /* Чистый белый — основной фон */
  --bg2:#f0f0f3;       /* Серая зона-разделитель (на 16 единиц темнее) */
  --bg3:#e4e4ea;       /* Глубокая зона — заметно отделяется */
  /* Карточки: легко отличимы от фона */
  --card:#ffffff;
  --card2:#f6f6f9;
  /* Границы: видимые, не прозрачные */
  --border:#d4d4d8;    /* zinc-300 — чёткая, не серо-водянистая */
  --border2:#a1a1aa;   /* zinc-400 — акцентная */
  /* Золото: насыщеннее на белом */
  --gold:#9c6f0a;      /* Более тёмный янтарь — читается на белом */
  --gold2:#b8861a;
  /* Текст: 3 уровня без растворения */
  --text:#0a0a0a;      /* Почти-чёрный */
  --muted:#52525b;     /* zinc-600 — читаемый второстепенный */
  --dim:#71717a;       /* zinc-500 — приглушённый (не #a1a1aa, был нечитаем) */
  --shadow:rgba(0,0,0,0.08);
}

/* Фоны и карточки */
:root[data-theme="light"] body{background:#ffffff;}
:root[data-theme="light"] header{
  background:rgba(255,255,255,.85);
  backdrop-filter:blur(14px) saturate(1.4);
  -webkit-backdrop-filter:blur(14px) saturate(1.4);
  border-bottom:1px solid rgba(0,0,0,0.06);
  box-shadow:0 1px 0 rgba(0,0,0,0.02);
}
:root[data-theme="light"] .sec{background:transparent;}
/* Все секции с захардкоженным тёмным inline-background — переопределяем */
:root[data-theme="light"] section[style*="background:#0b0b1a"],
:root[data-theme="light"] section[style*="background:#0b0a16"],
:root[data-theme="light"] section[style*="background:var(--bg2)"]{
  background:#f0f0f3 !important;
}
/* Hero и большие фоны — мягкое затемнение поверх постера */
:root[data-theme="light"] .fhero-bg,
:root[data-theme="light"] .ahero-bg{filter:saturate(.85) brightness(.95);}
:root[data-theme="light"] .fhero-grad,
:root[data-theme="light"] .ahero-grad{
  background:linear-gradient(180deg,rgba(247,247,248,0) 0%,rgba(247,247,248,.55) 55%,#f7f7f8 100%) !important;
}

/* Карточки — очень мягкие тени, без резкости */
:root[data-theme="light"] .mc,
:root[data-theme="light"] .ac,
:root[data-theme="light"] .fc,
:root[data-theme="light"] .shc,
:root[data-theme="light"] .alb,
:root[data-theme="light"] .si,
:root[data-theme="light"] .cc,
:root[data-theme="light"] .smc,
:root[data-theme="light"] .feat,
:root[data-theme="light"] .loc,
:root[data-theme="light"] .plan,
:root[data-theme="light"] .blog-card,
:root[data-theme="light"] .history-item,
:root[data-theme="light"] .review-item,
:root[data-theme="light"] .det{
  box-shadow:0 1px 4px rgba(40,28,10,0.05);
  border:1px solid rgba(210,200,178,0.75);
}
:root[data-theme="light"] .mc:hover,
:root[data-theme="light"] .fc:hover,
:root[data-theme="light"] .shc:hover,
:root[data-theme="light"] .alb:hover,
:root[data-theme="light"] .blog-card:hover{
  box-shadow:0 6px 20px rgba(140,106,20,0.10), 0 2px 6px rgba(40,28,10,0.06);
  transform:translateY(-4px);
}

/* Hero и заголовки */
:root[data-theme="light"] .hero-bg{background:radial-gradient(ellipse at 50% 55%,rgba(168,124,31,.16) 0%,rgba(168,124,31,.04) 40%,transparent 70%);}
:root[data-theme="light"] .hero h1{
  background:linear-gradient(135deg,#201612 0%,#a87c1f 100%);
  -webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;color:transparent;
  text-shadow:none;
}
:root[data-theme="light"] .st{
  color:#201612;
  background:linear-gradient(135deg,#201612 0%,#a87c1f 100%);
  -webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;
}
:root[data-theme="light"] .sl{color:#a87c1f;font-weight:500;}
:root[data-theme="light"] .logo{color:#201612;text-shadow:none;}
:root[data-theme="light"] .logo span{color:#a87c1f;}

/* Навигация */
:root[data-theme="light"] nav{background:transparent;}
:root[data-theme="light"] .nb{color:#6d6150;font-weight:500;}
:root[data-theme="light"] .nb:hover{background:rgba(168,124,31,.10);color:#a87c1f;}
:root[data-theme="light"] .nb.on{background:rgba(168,124,31,.15);color:#a87c1f;font-weight:600;}

/* Кнопки-фильтры */
:root[data-theme="light"] .gf,
:root[data-theme="light"] .sf{
  background:var(--card);
  border:1px solid var(--border);
  color:var(--muted);
  box-shadow:0 1px 2px rgba(60,40,10,0.04);
}
:root[data-theme="light"] .gf:hover,
:root[data-theme="light"] .sf:hover{background:var(--card2);color:var(--gold);border-color:var(--gold);}
:root[data-theme="light"] .gf.on,
:root[data-theme="light"] .sf.on{background:rgba(140,106,20,0.12);color:var(--gold);border-color:var(--gold);box-shadow:none;font-weight:600;}

/* Поиск */
:root[data-theme="light"] .hsearch input{
  background:#ffffff;
  border:1px solid var(--border);
  color:var(--text);
  box-shadow:inset 0 1px 2px rgba(60,40,10,0.04);
}
:root[data-theme="light"] .hsearch input:focus{
  border-color:var(--gold);
  box-shadow:0 0 0 3px rgba(168,124,31,0.15);
}
:root[data-theme="light"] .sdrop{
  background:#ffffff;
  box-shadow:0 12px 40px rgba(60,40,10,0.15);
  border:1px solid var(--border);
}
:root[data-theme="light"] .sri:hover{background:var(--bg2);}

/* Страница фильма */
:root[data-theme="light"] .fhero-bg,
:root[data-theme="light"] .ahero-bg{filter:brightness(1.02) saturate(1.05) opacity(0.35);}
:root[data-theme="light"] .fhero-grad,
:root[data-theme="light"] .ahero-grad{background:linear-gradient(to top,#faf7f2 0%,rgba(250,247,242,.7) 40%,rgba(250,247,242,.2) 75%,transparent 100%);}
:root[data-theme="light"] .ftitle,
:root[data-theme="light"] .an-name{color:#201612;text-shadow:none;}
:root[data-theme="light"] #fposter img,
:root[data-theme="light"] #actor-photo img{box-shadow:0 16px 48px rgba(60,40,10,0.18), 0 4px 12px rgba(60,40,10,0.08);}
:root[data-theme="light"] .f-pills span,
:root[data-theme="light"] .an-stats>div{background:var(--card);color:var(--text);border:1px solid var(--border);}
:root[data-theme="light"] .fbw,
:root[data-theme="light"] .fbt{background:var(--gold);color:#fff;border:none;box-shadow:0 3px 8px rgba(168,124,31,0.25);}
:root[data-theme="light"] .fbw:hover,
:root[data-theme="light"] .fbt:hover{background:var(--gold2);}

/* Карточки фильмов */
:root[data-theme="light"] .fc-grd{background:linear-gradient(to top,rgba(32,22,18,.78),transparent);}
:root[data-theme="light"] .fc-grd-t{color:#fff;}
:root[data-theme="light"] .fc:hover .fc-play{background:rgba(168,124,31,.9);color:#fff;text-shadow:0 0 24px rgba(168,124,31,.6);}
:root[data-theme="light"] .mc:hover img,
:root[data-theme="light"] .ac:hover img,
:root[data-theme="light"] .cc img,
:root[data-theme="light"] .ac img{filter:none;}

/* Плеер оверлей */
:root[data-theme="light"] #pov{background:rgba(32,22,18,.94);}

/* Модалки */
:root[data-theme="light"] .auth-box,
:root[data-theme="light"] .ai-box{
  box-shadow:0 24px 80px rgba(60,40,10,0.22), 0 8px 24px rgba(60,40,10,0.10);
  background:#ffffff;
}

/* Отзывы и комментарии */
:root[data-theme="light"] .review-avatar{background:var(--gold);color:#fff;}
:root[data-theme="light"] .review-form{background:var(--bg3);border:1px solid var(--border);}
:root[data-theme="light"] .review-form textarea{background:#fff;border:1px solid var(--border);color:var(--text);}
:root[data-theme="light"] .review-submit{background:var(--gold);color:#fff;box-shadow:0 3px 8px rgba(168,124,31,0.25);}

/* Блог */
:root[data-theme="light"] .blog-article p{color:#352c24;}
:root[data-theme="light"] .blog-article h1{color:var(--text);}
:root[data-theme="light"] .blog-article h2{color:var(--text);}

/* ══ СВЕТЛАЯ ТЕМА — расширенные улучшения ══ */
:root[data-theme="light"] body{
  background:#ffffff;  /* убран тёплый бежевый градиент — он не сочетался с #fff карточками */
}
:root[data-theme="light"] .sec{
  border-bottom:1px solid var(--border);  /* видимые разделители между секциями */
}
/* Hero секция */
:root[data-theme="light"] .hero{
  background:radial-gradient(ellipse at 50% 45%,rgba(168,124,31,.12) 0%,rgba(168,124,31,.03) 50%,transparent 75%);
}
:root[data-theme="light"] .hero-tag{
  color:var(--gold);
  letter-spacing:6px;
  font-weight:600;
}
/* Навигация — pill-стиль */
:root[data-theme="light"] .nb{
  border-radius:20px;
  font-weight:500;
}
:root[data-theme="light"] .nb.on{
  background:rgba(140,106,20,0.13);
  color:var(--gold);
  font-weight:700;
}
/* Кнопки */
:root[data-theme="light"] .hb1{
  background:var(--gold);
  color:#fff;
  letter-spacing:3px;
  box-shadow:0 3px 10px rgba(140,106,20,0.20);
}
:root[data-theme="light"] .hb1:hover{
  background:var(--gold2);
  box-shadow:0 5px 16px rgba(140,106,20,0.28);
  transform:translateY(-2px);
}
:root[data-theme="light"] .hb2{
  border-color:var(--border2);
  color:var(--muted);
}
:root[data-theme="light"] .hb2:hover{
  border-color:var(--gold);
  color:var(--gold);
}
/* Заголовки секций */
:root[data-theme="light"] .sl{
  letter-spacing:5px;
  font-weight:600;
}
/* Loc блоки */
:root[data-theme="light"] .loc{
  background:linear-gradient(135deg,#faf7f2 0%,#f3ede0 100%);
}
/* Sub / подписки */
:root[data-theme="light"] .sub{
  background:linear-gradient(135deg,#faf7f2 0%,#f3e8d0 100%);
}
:root[data-theme="light"] .plan.hot,
:root[data-theme="light"] .plan.featured{
  background:linear-gradient(135deg,#fff9ee 0%,#f3e5c4 100%);
  box-shadow:0 8px 28px rgba(168,124,31,0.15);
}
/* feat карточки */
:root[data-theme="light"] .feat{
  background:linear-gradient(135deg,#faf7f2 0%,#f5edd8 100%);
}
/* Блог */
:root[data-theme="light"] .blog-card{
  background:var(--card);
}
:root[data-theme="light"] .blog-title{
  color:var(--text);
}
:root[data-theme="light"] .blog-cat{
  font-weight:700;
  letter-spacing:3px;
}
/* Страница фильма */
:root[data-theme="light"] .fhero{
  background:linear-gradient(to bottom,#f5efe3,#faf7f2);
}
/* Футер */
:root[data-theme="light"] footer{
  background:linear-gradient(180deg,#f3ede0 0%,#ebe3d3 100%);
  border-top:2px solid rgba(168,124,31,0.2);
}
/* Progress bar */
:root[data-theme="light"] #bar{
  background:linear-gradient(90deg,var(--gold),var(--gold2));
  box-shadow:0 0 14px rgba(168,124,31,.5);
}
/* Toast уведомления */
:root[data-theme="light"] #eq-toast{
  background:#fff;
  box-shadow:0 8px 24px rgba(60,40,10,0.12);
  border-color:var(--gold);
}
/* Карточка музыкального альбома */
:root[data-theme="light"] .alb{
  background:var(--card);
}
:root[data-theme="light"] .alb-cover{
  background:linear-gradient(135deg,#f5ecd6 0%,#ebe0c4 100%);
}
/* Магазин */
:root[data-theme="light"] .si,
:root[data-theme="light"] .shop-card{
  background:var(--card);
}
:root[data-theme="light"] .shop-img-wrap{
  background:linear-gradient(135deg,#f5ede0 0%,#ece3d0 100%);
}
:root[data-theme="light"] .shop-buy-btn{
  box-shadow:0 2px 8px rgba(168,124,31,0.2);
}
/* Профиль */
:root[data-theme="light"] .profile-hero{
  background:linear-gradient(135deg,#fff9ee 0%,#f3e5c4 100%);
}
/* Скролл */
:root[data-theme="light"] ::-webkit-scrollbar-track{background:#e8e1d4;}
:root[data-theme="light"] ::-webkit-scrollbar-thumb{background:#b9aa90;border-radius:4px;}
:root[data-theme="light"] ::-webkit-scrollbar{width:6px;height:4px;}
/* Sort tabs */
:root[data-theme="light"] .sort-tab{background:var(--card);border-color:var(--border);color:var(--muted);}
:root[data-theme="light"] .sort-tab:hover{border-color:var(--gold);color:var(--gold);}
:root[data-theme="light"] .sort-tab.on{background:rgba(140,106,20,0.10);border-color:var(--gold);color:var(--gold);font-weight:600;}
/* Blog cat tabs */
:root[data-theme="light"] #blog-cat-tabs .sort-tab.on{background:rgba(140,106,20,0.10);color:var(--gold);border-color:var(--gold);}
/* Магазин hero */
:root[data-theme="light"] .shop-hero{background:linear-gradient(135deg,#211810 0%,#2e1e08 45%,#1c140a 100%);}
/* Progress bar — менее резкий glow */
:root[data-theme="light"] #bar{box-shadow:0 0 8px rgba(140,106,20,.35);}

/* Подписки */
:root[data-theme="light"] .plan.featured{background:linear-gradient(135deg,#fff9ee 0%,#f3e5c4 100%);border:2px solid var(--gold);}
:root[data-theme="light"] .plan-btn{background:var(--gold);color:#fff;box-shadow:0 3px 10px rgba(168,124,31,0.3);}

/* Кнопка темы */
:root[data-theme="light"] .theme-btn{background:#fff;border:1px solid var(--border);color:var(--muted);box-shadow:0 1px 3px rgba(60,40,10,0.06);}
:root[data-theme="light"] .theme-btn:hover{background:var(--bg3);color:var(--gold);border-color:var(--gold);}

/* Auth кнопка */
:root[data-theme="light"] .auth-btn{background:var(--card);border:1px solid var(--border);color:var(--muted);}
:root[data-theme="light"] .auth-btn:hover{background:var(--bg3);color:var(--gold);border-color:var(--gold);}
:root[data-theme="light"] .auth-btn.logged{background:rgba(168,124,31,.08);color:var(--gold);border-color:var(--gold);}

/* Progress bar */
:root[data-theme="light"] #bar{box-shadow:0 0 12px rgba(168,124,31,.5);}

/* ══ ТЕКСТ — всё что было белым на тёмной, делаем тёмным на светлой ══ */

/* Поиск */
:root[data-theme="light"] .sri-t{color:var(--text);}
:root[data-theme="light"] .sri-s{color:var(--muted);}

/* Auth / профиль */
:root[data-theme="light"] .auth-title{color:var(--text);}
:root[data-theme="light"] .auth-sub{color:var(--muted);}
:root[data-theme="light"] .profile-name{color:var(--text);}
:root[data-theme="light"] .profile-stat-n{color:var(--text);}
:root[data-theme="light"] .profile-stat-l{color:var(--muted);}

/* История просмотров */
:root[data-theme="light"] .hi-title{color:var(--text);}
:root[data-theme="light"] .hi-year{color:var(--muted);}

/* Карточки — названия в нижней секции (не на изображении) */
:root[data-theme="light"] .mc-ttl{color:var(--text);}
:root[data-theme="light"] .ac-n{color:var(--text);}
:root[data-theme="light"] .cc-n{color:var(--text);}
:root[data-theme="light"] .smc-t{color:var(--text);}
:root[data-theme="light"] .shc-name{color:var(--text);}
:root[data-theme="light"] .shc-year{color:var(--muted);}
:root[data-theme="light"] .si-name{color:var(--text);}

/* Features & Locations */
:root[data-theme="light"] .feat h3{color:var(--text);}
:root[data-theme="light"] .loc-city{color:var(--text);}
:root[data-theme="light"] .loc-country{color:var(--muted);}
:root[data-theme="light"] .loc-films{color:var(--muted);}

/* Подписки */
:root[data-theme="light"] .plan-name{color:var(--text);}
:root[data-theme="light"] .plan-feat li{color:var(--muted);}

/* Страница фильма — детали */
:root[data-theme="light"] .fbt-t{color:var(--text);}
:root[data-theme="light"] .det-v{color:var(--text);}
:root[data-theme="light"] .fpill{color:var(--muted);border-color:var(--border2);}

/* Музыка */
:root[data-theme="light"] .alb-title{color:var(--text);}
:root[data-theme="light"] .alb-sub{color:var(--muted);}
:root[data-theme="light"] .mus-track-title{color:var(--text);}
:root[data-theme="light"] .mus-track-dur{color:var(--muted);}

/* Фильтр-табы — hover */
:root[data-theme="light"] .sort-tab:hover{color:var(--gold);}
:root[data-theme="light"] .gf:hover{color:var(--gold);}
:root[data-theme="light"] .sf:hover{color:var(--gold);}

/* Отзывы */
:root[data-theme="light"] .review-item{color:var(--text);}
:root[data-theme="light"] .review-body{color:var(--text);}

/* Мелкий текст (#aaa/#ccc на тёмной — нечитаем на светлой) */
:root[data-theme="light"] .fsv.sm{color:var(--muted);}
:root[data-theme="light"] .asv.sm{color:var(--muted);}

/* Тема-кнопка */
:root[data-theme="light"] .theme-btn{color:var(--muted);}

/* Плавный переход при переключении темы */
body, header, .mc, .ac, .fc, .shc, .alb, .si, .feat, .loc, .plan, .cc, .smc, .det, .profile-hero, .history-item, nav, .sdrop, .sri, #pov, #poverlay, .auth-box, .shop-item, .fhero-bg, .actor-hero-bg, .ahero-bg, .blog-card, .review-item { transition: background-color .4s ease, color .4s ease, border-color .4s ease, box-shadow .3s ease; }

/* main.css */
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{background:var(--bg);color:var(--text);font-family:'Inter',sans-serif;overflow-x:hidden;min-height:100vh;}

/* ══ THEME TOGGLE BUTTON ══ */
.theme-btn{
  background:transparent;border:1px solid var(--border2);color:var(--muted);
  padding:6px 10px;cursor:pointer;font-size:14px;transition:all .2s;
  flex-shrink:0;font-family:'Inter',sans-serif;border-radius:2px;
}
.theme-btn:hover{border-color:var(--gold);color:var(--gold);}

/* ══ AI SEARCH MODAL ══ */
#ai-modal{position:fixed;inset:0;background:rgba(0,0,0,.93);z-index:3000;display:none;align-items:center;justify-content:center;padding:20px;}
#ai-modal.open{display:flex;}
.ai-box{background:var(--card2);border:1px solid var(--border2);border-top:3px solid var(--gold);width:100%;max-width:640px;max-height:90vh;overflow-y:auto;padding:34px 28px;}
.ai-box h2{font-family:'Bebas Neue',sans-serif;font-size:26px;letter-spacing:4px;color:var(--text);margin-bottom:4px;}
.ai-box .sub{font-size:12px;color:var(--muted);margin-bottom:20px;}
.ai-close{position:absolute;top:14px;right:20px;background:none;border:none;color:var(--muted);font-size:22px;cursor:pointer;}
.ai-close:hover{color:var(--gold);}
.ai-box textarea{width:100%;background:var(--bg3);border:1px solid var(--border2);color:var(--text);padding:12px;font-size:13px;font-family:'Inter',sans-serif;min-height:100px;resize:vertical;outline:none;transition:border-color .2s;}
.ai-box textarea:focus{border-color:var(--gold);}
.ai-box .ai-suggestions{display:flex;gap:6px;flex-wrap:wrap;margin:12px 0 20px;}
.ai-box .ai-sug{font-size:10px;padding:5px 11px;background:var(--bg3);border:1px solid var(--border);color:var(--muted);cursor:pointer;transition:all .2s;font-family:'Inter',sans-serif;}
.ai-box .ai-sug:hover{border-color:var(--gold);color:var(--gold);}
.ai-box .ai-submit{width:100%;padding:12px;background:var(--gold);color:#000;border:none;font-size:11px;letter-spacing:3px;text-transform:uppercase;font-weight:700;cursor:pointer;margin-top:4px;transition:background .2s;}
.ai-box .ai-submit:hover{background:var(--gold2);}
.ai-box .ai-submit:disabled{opacity:.5;cursor:not-allowed;}
.ai-results{margin-top:20px;border-top:1px solid var(--border);padding-top:20px;}
.ai-results h3{font-family:'Bebas Neue',sans-serif;font-size:16px;letter-spacing:2px;color:var(--gold);margin-bottom:12px;}
.ai-result-item{display:flex;gap:12px;padding:10px 0;border-bottom:1px solid var(--border);transition:background .15s;}
.ai-result-item:hover{background:var(--bg3);}
.ai-result-item img, .ai-result-ph{width:50px;height:72px;object-fit:cover;flex-shrink:0;background:var(--card);}
.ai-result-ph{display:flex;align-items:center;justify-content:center;font-size:20px;}
.ai-result-info{flex:1;}
.ai-result-title{font-family:'Bebas Neue',sans-serif;font-size:14px;letter-spacing:1px;color:var(--text);}
.ai-result-reason{font-size:11px;color:var(--muted);margin-top:4px;line-height:1.5;}

/* Actor search result grid */
.ai-actor-grid{display:flex;flex-wrap:wrap;gap:10px;margin-top:4px;}
.aig-card{width:104px;cursor:pointer;transition:transform .25s,border-color .25s;border:1px solid var(--border);background:var(--card);flex-shrink:0;}
.aig-card:hover{transform:translateY(-5px);border-color:var(--gold);}
.aig-card img{width:104px;height:138px;object-fit:cover;object-position:top center;display:block;transition:filter .25s;}
.aig-card:hover img{filter:brightness(1.06);}
.aig-ph-s{width:104px;height:138px;display:flex;align-items:center;justify-content:center;font-size:32px;background:var(--card2);}
.aig-name{font-family:'Bebas Neue',sans-serif;font-size:11px;letter-spacing:1.5px;color:var(--text);padding:6px 6px 2px;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.aig-sub{font-size:9px;color:var(--dim);font-style:italic;padding:0 6px 7px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
:root[data-theme="light"] .aig-card{box-shadow:0 2px 8px rgba(60,40,10,.06);border:1px solid rgba(226,217,196,.8);}
:root[data-theme="light"] .aig-card:hover{transform:translateY(-5px);box-shadow:0 8px 24px rgba(168,124,31,.14),0 4px 8px rgba(60,40,10,.08);border-color:var(--gold2);}

.ai-loader{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:13px;padding:12px 0;}
.ai-spinner{width:14px;height:14px;border:2px solid var(--border2);border-top-color:var(--gold);border-radius:50%;animation:spin 0.9s linear infinite;}
@keyframes spin{to{transform:rotate(360deg);}}

.ai-tab-switch{display:flex;gap:2px;margin-bottom:18px;flex-wrap:wrap;}
.ai-tab-switch button{flex:1;min-width:0;padding:8px 4px;background:transparent;border:1px solid var(--border);color:var(--muted);font-size:9px;letter-spacing:1px;text-transform:uppercase;cursor:pointer;transition:all .2s;font-family:'Inter',sans-serif;white-space:nowrap;}
.ai-tab-switch button.on{background:var(--gold);color:#000;border-color:var(--gold);}

/* ══ REVIEWS ══ */
.reviews-section{margin-top:36px;}
.review-form{background:var(--bg3);border:1px solid var(--border);padding:18px;margin-bottom:20px;}
.review-form textarea{width:100%;background:var(--card);border:1px solid var(--border);color:var(--text);padding:10px;font-size:13px;font-family:'Inter',sans-serif;min-height:70px;resize:vertical;outline:none;transition:border-color .2s;}
.review-form textarea:focus{border-color:var(--gold);}
.stars-input{display:flex;gap:3px;margin:10px 0;}
.stars-input button{background:none;border:none;color:var(--border2);font-size:22px;cursor:pointer;transition:color .2s;padding:0 2px;}
.stars-input button.on, .stars-input button:hover{color:var(--gold);}
.review-submit{padding:8px 20px;background:var(--gold);color:#000;border:none;font-size:10px;letter-spacing:2px;text-transform:uppercase;font-weight:700;cursor:pointer;transition:background .2s;}
.review-submit:hover{background:var(--gold2);}
.review-item{padding:14px;background:var(--card);border:1px solid var(--border);border-left:2px solid var(--gold);margin-bottom:10px;}
.review-head{display:flex;align-items:center;gap:10px;margin-bottom:8px;}
.review-avatar{width:32px;height:32px;border-radius:50%;object-fit:cover;background:var(--gold);display:flex;align-items:center;justify-content:center;color:#000;font-size:13px;font-weight:700;flex-shrink:0;}
.review-name{font-size:12px;color:var(--text);font-weight:600;}
.review-date{font-size:10px;color:var(--dim);}
.review-stars{color:var(--gold);font-size:12px;letter-spacing:1px;margin-left:auto;}
.review-text{font-size:12px;color:var(--muted);line-height:1.7;}
.review-empty{color:var(--dim);font-size:12px;font-style:italic;padding:16px 0;text-align:center;}

/* ══ BLOG ══ */
.blog-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:18px;margin-top:24px;}
.blog-grid > *:first-child{grid-column:1/-1;}
.blog-card{background:var(--card);border:1px solid var(--border);cursor:pointer;transition:border-color .3s,transform .3s,box-shadow .3s;overflow:hidden;}
.blog-card:hover{border-color:var(--gold);transform:translateY(-5px);box-shadow:0 12px 32px rgba(0,0,0,.18);}
.blog-cover{width:100%;aspect-ratio:16/10;background-size:cover;background-position:center;position:relative;}
.blog-grid > *:first-child .blog-cover{aspect-ratio:21/9;}
.blog-cover::after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.8) 0%,rgba(0,0,0,.2) 50%,transparent 100%);}
.blog-cover-label{position:absolute;bottom:12px;left:14px;z-index:2;font-size:8px;letter-spacing:3px;text-transform:uppercase;color:rgba(255,255,255,.85);background:var(--gold);padding:3px 10px;font-weight:700;}
.blog-info{padding:18px;}
.blog-cat{font-size:9px;letter-spacing:3px;color:var(--gold);margin-bottom:6px;text-transform:uppercase;font-weight:700;}
.blog-title{font-family:'Bebas Neue',sans-serif;font-size:20px;letter-spacing:1px;color:var(--text);margin-bottom:8px;line-height:1.2;}
.blog-grid > *:first-child .blog-title{font-size:28px;}
.blog-excerpt{font-size:12px;color:var(--muted);line-height:1.7;margin-bottom:10px;}
.blog-meta{font-size:10px;color:var(--dim);display:flex;gap:10px;flex-wrap:wrap;}

.blog-article{max-width:780px;margin:0 auto;padding:44px 36px;}
.blog-article h1{font-family:'Bebas Neue',sans-serif;font-size:42px;letter-spacing:3px;color:var(--text);margin-bottom:10px;line-height:1.1;}
.blog-article .blog-article-meta{font-size:11px;color:var(--muted);margin-bottom:20px;}
.blog-article img.cover{width:100%;aspect-ratio:16/9;object-fit:cover;margin-bottom:24px;}
.blog-article p{font-size:14px;color:var(--muted);line-height:1.9;margin-bottom:14px;font-weight:300;}
.blog-article h2{font-family:'Bebas Neue',sans-serif;font-size:22px;color:var(--text);letter-spacing:2px;margin:24px 0 10px;}

@keyframes fadeUp{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}

/* ═══ SHOP CARDS ═══ */
.shop-card{background:var(--card);border:1px solid var(--border);overflow:hidden;transition:all .3s;}
.shop-card:hover{border-color:var(--gold);transform:translateY(-4px);box-shadow:0 16px 40px rgba(0,0,0,.25);}
.shop-img-wrap{width:100%;aspect-ratio:1;background:var(--bg3);overflow:hidden;position:relative;}
.shop-img-wrap img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease;}
.shop-card:hover .shop-img-wrap img{transform:scale(1.06);}
.shop-img-fallback{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:64px;}
.shop-buy-btn, .shop-cart-btn{flex:1;padding:8px 10px;border:1px solid var(--border);background:transparent;color:var(--text);font-size:10px;letter-spacing:1px;cursor:pointer;transition:all .2s;font-family:'Inter',sans-serif;text-transform:uppercase;font-weight:600;}
.shop-buy-btn{background:var(--gold);color:#000;border-color:var(--gold);}
.shop-buy-btn:hover{background:var(--gold2);}
.shop-cart-btn:hover{border-color:var(--gold);color:var(--gold);}
.shop-cart-btn.in-cart{background:rgba(201,168,76,.15);border-color:var(--gold);color:var(--gold);}
/* Шоп-табы: чётче active-состояние + бейдж со счётчиком товаров */
.sf{padding:8px 16px;font-size:11px;}
.sf.on{background:var(--gold);color:#000;border-color:var(--gold);font-weight:700;}
.sf-cnt{display:inline-block;margin-left:6px;padding:1px 7px;font-size:10px;background:rgba(201,168,76,.12);color:var(--gold);border-radius:10px;letter-spacing:0;font-weight:500;vertical-align:middle;}
.sf:not(.on) .sf-cnt{background:rgba(255,255,255,.04);color:var(--muted);}
.sf.on .sf-cnt{background:rgba(0,0,0,.2);color:#000;}
/* Эпоха-табы в панели локации */
.loc-era-tab:hover{border-color:var(--gold);color:var(--gold);}
.loc-era-tab.on{background:var(--gold);color:#000;border-color:var(--gold);font-weight:600;}
/* Mobile/Desktop visibility helpers */
.mobile-only-nav{display:none;}

/* ══ HOME AI SECTION ══ */
.home-ai-section{padding:48px 24px;background:linear-gradient(180deg,var(--bg) 0%,var(--bg2) 100%);border-top:1px solid var(--border);border-bottom:1px solid var(--border);}
.home-ai-inner{max-width:680px;margin:0 auto;text-align:center;}
.home-ai-label{font-size:10px;letter-spacing:4px;text-transform:uppercase;color:var(--gold);margin-bottom:14px;}
.home-ai-title{font-family:'Bebas Neue',sans-serif;font-size:clamp(36px,5vw,58px);letter-spacing:4px;color:var(--text);margin-bottom:10px;line-height:1;}
.home-ai-sub{font-size:13px;color:var(--muted);line-height:1.7;margin-bottom:28px;}
.home-ai-form{display:flex;gap:0;margin-bottom:16px;border:1px solid var(--border2);transition:border-color .2s;}
.home-ai-form:focus-within{border-color:var(--gold);}
.home-ai-input{flex:1;background:var(--bg3);border:none;color:var(--text);padding:14px 18px;font-size:14px;font-family:'Inter',sans-serif;outline:none;}
.home-ai-input::placeholder{color:var(--dim);}
.home-ai-btn{background:var(--gold);color:#000;border:none;padding:14px 24px;font-family:'Bebas Neue',sans-serif;font-size:15px;letter-spacing:2px;cursor:pointer;white-space:nowrap;transition:background .2s;flex-shrink:0;}
.home-ai-btn:hover{background:var(--gold2);}
.home-ai-chips{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;margin-bottom:16px;}
.home-ai-chip{background:none;border:1px solid var(--border2);color:var(--muted);font-size:11px;padding:6px 14px;cursor:pointer;font-family:'Inter',sans-serif;transition:all .2s;border-radius:20px;}
.home-ai-chip:hover{border-color:var(--gold);color:var(--gold);}
.home-mood-row{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;align-items:center;margin-top:0;}
.home-mood-btn{background:none;border:1px solid var(--border);font-size:22px;width:46px;height:46px;cursor:pointer;border-radius:50%;transition:all .2s;line-height:1;display:flex;align-items:center;justify-content:center;}
.home-mood-btn:hover,.home-mood-btn.active{border-color:var(--gold);background:rgba(212,175,55,.12);transform:scale(1.1);}
.home-surprise-btn{background:var(--gold);color:#000;border:none;padding:11px 20px;font-family:'Bebas Neue',sans-serif;font-size:14px;letter-spacing:2px;cursor:pointer;transition:all .2s;border-radius:2px;margin-left:4px;}
.home-surprise-btn:hover{background:var(--gold2);}
.home-surprise-btn:disabled{opacity:.6;cursor:not-allowed;}
.mark-watched-btn{opacity:.7;font-size:11px !important;}
.mark-watched-done{opacity:1 !important;color:var(--gold) !important;border-color:var(--gold) !important;}

/* ══ FILM CHAT ══ */
.film-chat-msgs{display:flex;flex-direction:column;gap:10px;max-height:320px;overflow-y:auto;margin-bottom:12px;padding-right:4px;}
.fcm{padding:10px 14px;font-size:13px;line-height:1.6;max-width:85%;border-radius:2px;}
.fcm-user{background:var(--gold);color:#000;align-self:flex-end;font-weight:500;}
.fcm-ai{background:var(--bg3);border:1px solid var(--border);color:var(--text);align-self:flex-start;}
.film-chat-form{display:flex;gap:0;border:1px solid var(--border2);transition:border-color .2s;margin-bottom:10px;}
.film-chat-form:focus-within{border-color:var(--gold);}
.film-chat-inp{flex:1;background:var(--bg3);border:none;color:var(--text);padding:11px 14px;font-size:13px;font-family:'Inter',sans-serif;outline:none;}
.film-chat-inp::placeholder{color:var(--dim);}
.film-chat-btn{background:var(--gold);color:#000;border:none;padding:11px 18px;font-size:16px;cursor:pointer;transition:background .2s;flex-shrink:0;}
.film-chat-btn:hover{background:var(--gold2);}
.film-chat-chips{display:flex;gap:6px;flex-wrap:wrap;}
.film-chat-chip{background:none;border:1px solid var(--border);color:var(--muted);font-size:10px;padding:5px 12px;cursor:pointer;font-family:'Inter',sans-serif;transition:all .2s;letter-spacing:.5px;}
.film-chat-chip:hover{border-color:var(--gold);color:var(--gold);}
.fc-dots{display:inline-flex;gap:4px;align-items:center;}
.fc-dots span{width:6px;height:6px;border-radius:50%;background:var(--muted);animation:fc-pulse 1.2s ease-in-out infinite;}
.fc-dots span:nth-child(2){animation-delay:.2s;}
.fc-dots span:nth-child(3){animation-delay:.4s;}
@keyframes fc-pulse{0%,80%,100%{opacity:.2;transform:scale(.8);}40%{opacity:1;transform:scale(1);}}

/* ══ COLLECTIONS ══ */
/* coll-grid теперь просто wrapper — раскладку делают .coll-grid-inner внутри.
   Раньше был сам grid'ом, но это превращало каждую секцию в маленькую колонку. */
.coll-grid{display:block;}
.coll-card{padding:28px 24px;border:1px solid var(--border);cursor:pointer;position:relative;overflow:hidden;transition:border-color .25s,transform .25s;display:flex;flex-direction:column;gap:8px;min-height:150px;}
.coll-card::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(201,168,76,.06) 0%,transparent 60%);opacity:0;transition:opacity .25s;}
.coll-card:hover{border-color:var(--gold);transform:translateY(-3px);}
.coll-card:hover::before{opacity:1;}
.coll-card-icon{font-size:36px;line-height:1;margin-bottom:4px;}
.coll-card-title{font-family:'Bebas Neue',sans-serif;font-size:22px;letter-spacing:3px;color:var(--text);line-height:1.1;}
.coll-card-desc{font-size:11px;color:var(--muted);line-height:1.6;flex:1;}
.coll-card-arrow{font-size:18px;color:var(--gold);margin-top:8px;transition:transform .2s;}
.coll-card:hover .coll-card-arrow{transform:translateX(4px);}
/* Curated collections — золотая рамка + бейдж */
.coll-card-curated{border-color:rgba(201,168,76,.45);box-shadow:0 0 0 1px rgba(201,168,76,.18) inset;}
.coll-card-curated:hover{border-color:var(--gold);box-shadow:0 0 0 1px var(--gold) inset, 0 8px 24px rgba(201,168,76,.12);}
.coll-curated-badge{position:absolute;top:12px;right:12px;font-size:9px;letter-spacing:2px;color:var(--gold);background:rgba(201,168,76,.1);border:1px solid rgba(201,168,76,.35);padding:3px 9px;font-weight:600;}
.coll-section-title{font-family:'Bebas Neue',sans-serif;letter-spacing:3px;color:var(--gold);font-size:14px;margin:0 0 14px;opacity:.85;}
/* Вертикальный список — карточки друг под другом, полная ширина. */
.coll-grid-inner{display:flex;flex-direction:column;gap:12px;}
.coll-grid-inner > .coll-card{width:100%;min-height:140px;}

/* Photo search fallback */
.photo-fallback-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px 16px;text-align:center;}
.photo-fallback-header{display:flex;align-items:flex-start;gap:12px;margin-bottom:16px;padding:12px;background:var(--bg3);border-left:3px solid var(--gold);}
.photo-fallback-icon{font-size:24px;flex-shrink:0;}
.photo-fallback-title{font-family:'Bebas Neue',sans-serif;font-size:14px;letter-spacing:2px;color:var(--text);margin-bottom:4px;}
.photo-fallback-sub{font-size:11px;color:var(--muted);line-height:1.5;}
.photo-fb-actor{cursor:pointer;border:1px solid var(--border);background:var(--card);transition:border-color .2s;overflow:hidden;}
.photo-fb-actor:hover{border-color:var(--gold);}

/* ══ QUOTE SEARCH RESULT ══ */
.quote-loading{text-align:center;padding:32px 0;color:var(--muted);font-size:13px;}
.quote-loading-icon{font-size:32px;margin-bottom:10px;}
.quote-error{padding:14px;background:var(--bg3);border-left:3px solid var(--border2);font-size:13px;color:var(--muted);}
.quote-badge{font-size:10px;color:var(--gold);letter-spacing:2px;margin-bottom:16px;text-transform:uppercase;}
.quote-main-card{display:flex;gap:14px;padding:16px;background:var(--bg3);border:1px solid var(--border2);cursor:pointer;transition:border-color .2s;margin-bottom:16px;}
.quote-main-card:hover{border-color:var(--gold);}
.quote-poster{flex-shrink:0;width:72px;}
.quote-poster img{width:72px;height:106px;object-fit:cover;display:block;}
.quote-poster-ph{width:72px;height:106px;background:var(--card);display:flex;align-items:center;justify-content:center;font-size:26px;}
.quote-info{flex:1;min-width:0;}
.quote-conf{font-size:9px;letter-spacing:3px;text-transform:uppercase;margin-bottom:6px;font-weight:600;}
.quote-title{font-family:'Bebas Neue',sans-serif;font-size:20px;letter-spacing:1px;color:var(--text);margin-bottom:4px;line-height:1.1;}
.quote-tv-badge{font-size:8px;letter-spacing:2px;color:var(--muted);vertical-align:middle;margin-left:4px;}
.quote-meta{font-size:11px;color:var(--muted);margin-bottom:8px;}
.quote-character{font-size:11px;color:var(--text);margin-bottom:6px;}
.quote-scene{font-size:11px;color:var(--muted);line-height:1.65;font-style:italic;margin-bottom:8px;}
.quote-open-hint{font-size:10px;color:var(--gold);letter-spacing:1px;text-transform:uppercase;margin-top:auto;}
.quote-also{margin-top:0;}
.quote-also-label{font-size:9px;letter-spacing:2px;color:var(--muted);text-transform:uppercase;margin-bottom:10px;}
.quote-alt-card{display:flex;gap:10px;align-items:center;padding:10px 12px;background:var(--bg3);border:1px solid var(--border);cursor:pointer;margin-bottom:6px;transition:border-color .2s;}
.quote-alt-card:hover{border-color:var(--border2);}
.quote-alt-img{width:36px;height:52px;object-fit:cover;flex-shrink:0;}
.quote-alt-ph{width:36px;height:52px;background:var(--card);flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:16px;}
.quote-alt-info{min-width:0;}
.quote-alt-conf{font-size:9px;letter-spacing:2px;text-transform:uppercase;margin-bottom:3px;font-weight:600;}
.quote-alt-title{font-family:'Bebas Neue',sans-serif;font-size:14px;letter-spacing:1px;color:var(--text);margin-bottom:2px;}
.quote-alt-meta{font-size:10px;color:var(--muted);}

/* Shop hero */
.shop-hero{background:linear-gradient(135deg,#060606 0%,#100c00 45%,#060606 100%);padding:56px 40px;position:relative;overflow:hidden;margin-bottom:8px;}
.shop-hero::after{content:'STORE';position:absolute;right:-10px;top:50%;transform:translateY(-50%);font-family:'Bebas Neue',sans-serif;font-size:min(22vw,210px);color:rgba(201,168,76,.04);pointer-events:none;line-height:1;letter-spacing:4px;white-space:nowrap;}
.shop-hero-sub{font-size:9px;letter-spacing:4px;color:var(--gold);margin-bottom:12px;text-transform:uppercase;}
.shop-hero-title{font-family:'Bebas Neue',sans-serif;font-size:clamp(38px,5vw,62px);letter-spacing:4px;color:#fff;line-height:1.05;margin-bottom:12px;}
.shop-hero-desc{font-size:12px;color:rgba(255,255,255,.5);line-height:1.75;max-width:340px;margin-bottom:24px;}
.shop-hero-cta{background:var(--gold);color:#000;border:none;padding:11px 28px;font-family:'Bebas Neue',sans-serif;font-size:14px;letter-spacing:3px;cursor:pointer;transition:background .2s;}
.shop-hero-cta:hover{background:var(--gold2);}
/* Badges */
.shop-badge{position:absolute;top:10px;left:10px;z-index:3;font-size:8px;letter-spacing:2px;font-weight:700;padding:4px 9px;font-family:'Inter',sans-serif;text-transform:uppercase;}
.shop-badge-hit{background:var(--gold);color:#000;}
.shop-badge-new{background:#fff;color:#000;}
.shop-badge-sale{background:#c44;color:#fff;}
.shop-badge-lim{background:#0d0d0d;color:var(--gold);border:1px solid var(--gold);}
/* Stars & sale */
.shop-stars{font-size:10px;color:var(--gold);margin:4px 0 2px;display:flex;align-items:center;gap:5px;}
.shop-stars span{color:var(--dim);font-size:9px;}
.shop-old-price{text-decoration:line-through;color:var(--dim);font-size:11px;margin-right:5px;}
/* Quick view */
.shop-qview{position:absolute;inset:0;background:rgba(0,0,0,.6);display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .3s;z-index:2;font-size:11px;letter-spacing:3px;color:#fff;font-family:'Bebas Neue',sans-serif;cursor:pointer;}
.shop-card:hover .shop-qview{opacity:1;}

/* Кнопка корзины в шапке */
.cart-header-btn{position:relative;background:transparent;border:1px solid var(--border2);color:var(--muted);padding:6px 12px;cursor:pointer;font-size:15px;transition:all .2s;border-radius:2px;flex-shrink:0;}
.cart-header-btn:hover{border-color:var(--gold);color:var(--gold);}
#cart-badge{position:absolute;top:-6px;right:-6px;background:var(--gold);color:#000;border-radius:50%;width:18px;height:18px;font-size:10px;font-weight:700;display:none;align-items:center;justify-content:center;}

/* Панель корзины справа.
   ВАЖНО: box-shadow ТОЛЬКО когда панель .open. Закрытая панель (right:-420px)
   с тенью -12px 40px рисовала её НАЗАД в viewport — это был тот самый
   «тёмный stripe справа» на мобиле, на который юзер жаловался 5 раз. */
#cart-panel{position:fixed;top:0;right:-420px;width:420px;max-width:92vw;height:100vh;background:var(--card2);border-left:1px solid var(--border2);z-index:2500;transition:right .35s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;}
#cart-panel.open{right:0;box-shadow:-12px 0 40px rgba(0,0,0,.3);}
.cart-head{padding:20px 24px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;}
.cart-title{font-family:'Bebas Neue',sans-serif;font-size:22px;letter-spacing:3px;color:var(--text);}
.cart-close{background:none;border:none;color:var(--muted);font-size:22px;cursor:pointer;padding:4px 8px;}
.cart-close:hover{color:var(--gold);}
#cart-items{flex:1;overflow-y:auto;padding:16px;}
.cart-item{display:flex;gap:12px;padding:14px;background:var(--bg3);border:1px solid var(--border);margin-bottom:10px;align-items:center;}
.cart-item img{width:64px;height:64px;object-fit:cover;background:var(--card);flex-shrink:0;border-radius:3px;}
.cart-item-info{flex:1;min-width:0;}
.cart-item-name{font-size:13px;color:var(--text);font-weight:600;margin-bottom:3px;line-height:1.3;}
.cart-item-film{font-size:10px;color:var(--muted);margin-bottom:4px;}
.cart-item-price{font-size:14px;color:var(--gold);font-weight:700;}
.cart-item-actions{display:flex;flex-direction:column;gap:4px;}
.cart-buy-small{padding:6px 10px;background:var(--gold);color:#000;border:none;font-size:9px;font-weight:700;cursor:pointer;letter-spacing:1px;}
.cart-buy-small:hover{background:var(--gold2);}
.cart-remove{background:none;border:none;color:var(--dim);cursor:pointer;font-size:14px;padding:4px;}
.cart-remove:hover{color:#c44;}
#cart-empty{text-align:center;padding:60px 20px;color:var(--dim);}
#cart-empty .cart-empty-icon{font-size:48px;margin-bottom:12px;}
.cart-foot{padding:18px 20px;border-top:1px solid var(--border);background:var(--bg3);display:none;}
.cart-total-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;}
.cart-total-lbl{font-size:11px;color:var(--muted);letter-spacing:2px;text-transform:uppercase;}
#cart-total{font-family:'Bebas Neue',sans-serif;font-size:24px;color:var(--gold);letter-spacing:1px;}
.cart-clear-btn{width:100%;padding:10px;background:transparent;border:1px solid var(--border2);color:var(--muted);font-size:10px;letter-spacing:2px;text-transform:uppercase;cursor:pointer;transition:all .2s;}
.cart-clear-btn:hover{border-color:#c44;color:#c44;}
#cart-overlay{position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:2400;display:none;opacity:0;transition:opacity .3s;}
#cart-overlay.open{display:block;opacity:1;}
/* Cart qty controls */
.cart-item-qty{display:flex;align-items:center;gap:4px;margin-top:5px;}
.qty-btn{width:22px;height:22px;background:var(--bg2);border:1px solid var(--border);color:var(--text);font-size:14px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:2px;padding:0;transition:all .15s;flex-shrink:0;}
.qty-btn:hover{border-color:var(--gold);color:var(--gold);background:var(--card);}
.qty-val{min-width:22px;text-align:center;font-size:13px;font-weight:600;color:var(--text);}
/* Checkout CTA button */
.cart-checkout-btn{width:100%;padding:13px;background:var(--gold);color:#fff;border:none;font-family:'Bebas Neue',sans-serif;font-size:16px;letter-spacing:4px;cursor:pointer;transition:all .2s;margin-bottom:10px;}
.cart-checkout-btn:hover{background:var(--gold2);transform:translateY(-1px);box-shadow:0 4px 14px rgba(168,124,31,0.35);}
/* Checkout modal */
#checkout-overlay{position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:3500;display:none;align-items:center;justify-content:center;backdrop-filter:blur(4px);}
#checkout-overlay.open{display:flex;}
.checkout-box{background:var(--card);border:1px solid var(--border2);max-width:520px;width:92vw;max-height:90vh;overflow-y:auto;padding:0;box-shadow:0 32px 80px rgba(0,0,0,.4);}
.checkout-head{padding:24px 28px 20px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;}
.checkout-head-title{font-family:'Bebas Neue',sans-serif;font-size:22px;letter-spacing:3px;color:var(--text);}
.checkout-close{background:none;border:none;color:var(--muted);font-size:22px;cursor:pointer;padding:4px 8px;}
.checkout-close:hover{color:var(--gold);}
.checkout-summary{padding:20px 28px;border-bottom:1px solid var(--border);background:var(--bg2);}
.checkout-summary-title{font-size:10px;letter-spacing:3px;text-transform:uppercase;color:var(--muted);margin-bottom:12px;}
.checkout-item-row{display:flex;justify-content:space-between;align-items:center;padding:6px 0;border-bottom:1px solid rgba(120,100,70,.1);font-size:13px;color:var(--text);gap:8px;}
.checkout-item-row:last-child{border-bottom:none;}
.checkout-item-row span:first-child{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.checkout-item-row .ci-qty{color:var(--muted);font-size:11px;flex-shrink:0;}
.checkout-item-row .ci-price{color:var(--gold);font-weight:700;flex-shrink:0;}
.checkout-total-row{display:flex;justify-content:space-between;align-items:baseline;margin-top:14px;padding-top:12px;border-top:2px solid var(--border2);}
.checkout-total-lbl{font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--muted);}
.checkout-total-val{font-family:'Bebas Neue',sans-serif;font-size:28px;color:var(--gold);letter-spacing:1px;}
.checkout-form{padding:24px 28px;}
.checkout-form-title{font-size:10px;letter-spacing:3px;text-transform:uppercase;color:var(--muted);margin-bottom:16px;}
.checkout-field{margin-bottom:14px;}
.checkout-field label{display:block;font-size:10px;letter-spacing:2px;text-transform:uppercase;color:var(--muted);margin-bottom:5px;}
.checkout-field input,.checkout-field textarea,.checkout-field select{width:100%;padding:10px 12px;background:var(--bg2);border:1px solid var(--border);color:var(--text);font-size:13px;font-family:'Inter',sans-serif;transition:border .2s;box-sizing:border-box;outline:none;}
.checkout-field input:focus,.checkout-field textarea:focus{border-color:var(--gold);box-shadow:0 0 0 2px rgba(168,124,31,.12);}
.checkout-field textarea{resize:vertical;min-height:72px;}
.checkout-field-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.checkout-submit-btn{width:100%;padding:14px;background:var(--gold);color:#fff;border:none;font-family:'Bebas Neue',sans-serif;font-size:17px;letter-spacing:4px;cursor:pointer;transition:all .2s;margin-top:8px;}
.checkout-submit-btn:hover{background:var(--gold2);box-shadow:0 4px 16px rgba(168,124,31,.35);}
/* Checkout success screen */
.checkout-success{padding:48px 28px;text-align:center;}
.checkout-success-icon{font-size:56px;margin-bottom:16px;}
.checkout-success-title{font-family:'Bebas Neue',sans-serif;font-size:28px;letter-spacing:4px;color:var(--text);margin-bottom:10px;}
.checkout-success-sub{font-size:13px;color:var(--muted);line-height:1.6;margin-bottom:24px;}
.checkout-success-links{margin-bottom:28px;}
.checkout-success-links a{display:inline-block;padding:6px 14px;background:var(--bg2);border:1px solid var(--border);color:var(--gold);font-size:11px;font-weight:600;text-decoration:none;margin:3px;letter-spacing:1px;}
.checkout-success-links a:hover{background:var(--card2);border-color:var(--gold);}
.checkout-done-btn{padding:12px 32px;background:transparent;border:1px solid var(--border2);color:var(--muted);font-size:11px;letter-spacing:2px;text-transform:uppercase;cursor:pointer;transition:all .2s;}
.checkout-done-btn:hover{border-color:var(--gold);color:var(--gold);}

/* ── Эра-чипы и метка ──────────────────────────────────────── */
.ai-era-label{font-size:9px;letter-spacing:2px;color:var(--muted);text-transform:uppercase;align-self:center;white-space:nowrap;}
.ai-sug-sm{font-size:10px;padding:4px 9px;}

/* ── Кнопка квиза ──────────────────────────────────────────── */
.ai-quiz-toggle{background:transparent;border:1px solid var(--border2);color:var(--muted);font-size:11px;padding:10px 14px;cursor:pointer;letter-spacing:1px;white-space:nowrap;transition:all .2s;flex-shrink:0;}
.ai-quiz-toggle:hover{border-color:var(--gold);color:var(--gold);}

/* ── Квиз-панель ───────────────────────────────────────────── */
.quiz-wrap{background:var(--bg3);border:1px solid var(--border);padding:18px;}
.quiz-step-info{font-size:9px;letter-spacing:3px;color:var(--muted);margin-bottom:14px;text-transform:uppercase;}
.quiz-opts{display:flex;flex-direction:column;gap:7px;}
.quiz-opt{background:transparent;border:1px solid var(--border);color:var(--text);font-size:13px;padding:11px 16px;cursor:pointer;text-align:left;transition:all .2s;border-radius:0;}
.quiz-opt:hover{border-color:var(--gold);color:var(--gold);background:rgba(168,124,31,.06);}

/* ── Уточняющие чипы после результатов ────────────────────── */
.ai-refine-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:16px;padding-top:12px;border-top:1px solid var(--border);}
.ai-refine-label{font-size:9px;letter-spacing:2px;color:var(--muted);white-space:nowrap;}
.ai-refine-chip{background:transparent;border:1px solid var(--border2);color:var(--muted);font-size:11px;padding:5px 12px;cursor:pointer;transition:all .2s;border-radius:0;}
.ai-refine-chip:hover{border-color:var(--gold);color:var(--gold);}

/* ── Кнопка «Поделиться подборкой» ────────────────────────── */
.ai-share-btn{display:block;width:100%;margin-top:10px;background:transparent;border:1px solid var(--border2);color:var(--muted);font-size:11px;letter-spacing:2px;padding:9px;cursor:pointer;transition:all .2s;text-align:center;}
.ai-share-btn:hover{border-color:var(--gold);color:var(--gold);}

/* ── Скелетон-экраны (shimmer) ─────────────────────────── */
.sk{display:inline-block;background:linear-gradient(90deg,var(--card) 0%,var(--card2) 50%,var(--card) 100%);background-size:200% 100%;animation:sk-shimmer 1.4s ease-in-out infinite;border-radius:2px;}
@keyframes sk-shimmer{0%{background-position:200% 0;}100%{background-position:-200% 0;}}
.sk-row{display:flex;gap:12px;flex-wrap:wrap;}
.sk-cast{display:flex;gap:12px;overflow-x:hidden;padding:4px 0;}
.sk-cast .sk{flex-shrink:0;}
.sk-pill{display:inline-block;height:22px;width:84px;margin-right:6px;border-radius:2px;}

/* ── Шоп: countdown (позиционируется правилом ниже — bottom-left) ──────── */
.shop-countdown::before{content:'⏱ ';opacity:.75;}

/* ── Фильтр магазина по фильму ─────────────────────────── */
.shop-film-filter-wrap{display:flex;align-items:center;gap:10px;margin:14px 0 18px;padding:10px 12px;background:var(--bg3);border-left:2px solid var(--gold);flex-wrap:wrap;}
.shop-film-filter-lbl{font-size:9px;letter-spacing:3px;color:var(--muted);text-transform:uppercase;white-space:nowrap;}
.shop-film-filter{background:var(--bg2);border:1px solid var(--border2);color:var(--text);font-size:12px;padding:6px 28px 6px 12px;cursor:pointer;font-family:'Inter',sans-serif;min-width:220px;outline:none;transition:border-color .2s;border-radius:0;appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'><path fill='%23a87c1f' d='M0 0l5 6 5-6z'/></svg>");background-repeat:no-repeat;background-position:right 10px center;}
.shop-film-filter:focus{border-color:var(--gold);}

/* Кликабельное название фильма в карточке */
.si-film{cursor:pointer;transition:color .2s;}
.si-film:hover{color:var(--gold);text-decoration:underline;}

/* ── Countdown на товарах ЛИМИТ ────────────────────────── */
.shop-countdown{position:absolute;bottom:8px;left:8px;background:rgba(0,0,0,.78);color:var(--gold);font-family:'Bebas Neue',sans-serif;font-size:11px;letter-spacing:2px;padding:4px 9px;border-left:2px solid var(--gold);backdrop-filter:blur(4px);z-index:2;font-variant-numeric:tabular-nums;pointer-events:none;}
:root[data-theme="light"] .shop-countdown{background:rgba(255,255,255,.92);color:#8a6418;border-left-color:#a87c1f;}

/* ── Баннер «Мерч по этому фильму» на странице фильма ─── */
.film-shop-row{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:14px;}
.film-shop-card{flex:1 1 calc(25% - 9px);min-width:140px;max-width:200px;display:flex;flex-direction:column;background:var(--bg3);border:1px solid var(--border);cursor:pointer;transition:all .2s;overflow:hidden;}
.film-shop-card:hover{border-color:var(--gold);transform:translateY(-3px);box-shadow:0 8px 22px rgba(0,0,0,.18);}
.film-shop-card img{width:100%;aspect-ratio:1/1;object-fit:cover;display:block;}
.film-shop-info{padding:10px 12px 12px;}
.film-shop-cat{font-size:9px;letter-spacing:2px;color:var(--muted);margin-bottom:4px;}
.film-shop-name{font-size:12px;color:var(--text);line-height:1.4;margin-bottom:6px;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;}
.film-shop-price{font-family:'Bebas Neue',sans-serif;font-size:15px;letter-spacing:1px;color:var(--gold);}
.film-shop-all{width:100%;padding:11px;background:transparent;border:1px solid var(--border2);color:var(--muted);font-size:11px;letter-spacing:2px;cursor:pointer;transition:all .2s;}
.film-shop-all:hover{border-color:var(--gold);color:var(--gold);}

/* ── Секция «По вашей истории» в магазине ─────────────── */
.shop-history-blocks{display:flex;flex-direction:column;gap:24px;margin-top:20px;}
.shop-history-block{background:var(--bg3);border-left:2px solid var(--gold);padding:16px 18px;}
.shop-history-head{display:flex;align-items:baseline;gap:10px;margin-bottom:14px;flex-wrap:wrap;}
.shop-history-label{font-size:9px;letter-spacing:3px;color:var(--muted);text-transform:uppercase;}
.shop-history-film{font-family:'Bebas Neue',sans-serif;font-size:18px;letter-spacing:2px;color:var(--text);}
.shop-history-items{display:flex;gap:12px;overflow-x:auto;padding-bottom:6px;}
.shop-history-card{flex:0 0 156px;background:var(--card);border:1px solid var(--border);cursor:pointer;transition:all .2s;}
.shop-history-card:hover{border-color:var(--gold);transform:translateY(-2px);}
.shop-history-card img{width:100%;aspect-ratio:1/1;object-fit:cover;display:block;}
.shop-history-name{font-size:11px;color:var(--text);padding:8px 10px 4px;line-height:1.4;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;}
.shop-history-price{font-family:'Bebas Neue',sans-serif;font-size:14px;color:var(--gold);padding:0 10px 10px;letter-spacing:1px;}

@media (max-width: 640px) {
  .film-shop-card{flex:1 1 calc(50% - 6px);max-width:none;}
}

/* ── Модал «Сравнить» ───────────────────────────────────── */
#compare-modal{position:fixed;inset:0;background:rgba(0,0,0,.92);z-index:3000;display:none;align-items:flex-start;justify-content:center;padding:20px;overflow-y:auto;}
#compare-modal.open{display:flex;}
.compare-box{background:var(--card2);border:1px solid var(--border2);border-top:3px solid var(--gold);width:100%;max-width:820px;padding:30px 26px;position:relative;}
.compare-box h2{font-family:'Bebas Neue',sans-serif;font-size:26px;letter-spacing:4px;color:var(--text);margin-bottom:4px;}
.compare-box .sub{font-size:12px;color:var(--muted);margin-bottom:20px;}

.compare-search-wrap{position:relative;margin-bottom:20px;}
#compare-search-input{width:100%;background:var(--bg3);border:1px solid var(--border2);color:var(--text);padding:12px 14px;font-size:14px;outline:none;transition:border-color .2s;font-family:'Inter',sans-serif;}
#compare-search-input:focus{border-color:var(--gold);}
.compare-search-results{display:flex;flex-direction:column;}
.compare-sr-item{display:flex;align-items:center;gap:12px;padding:9px 10px;background:transparent;border:none;border-bottom:1px solid var(--border);color:var(--text);cursor:pointer;text-align:left;transition:background .15s;}
.compare-sr-item:hover{background:var(--bg3);}
.compare-sr-item img{width:42px;height:62px;object-fit:cover;flex-shrink:0;background:var(--card);}
.compare-sr-title{font-size:13px;color:var(--text);}
.compare-sr-meta{font-size:10px;color:var(--muted);letter-spacing:1px;margin-top:2px;}

.compare-quick-lbl{font-size:9px;letter-spacing:3px;color:var(--muted);text-transform:uppercase;margin-bottom:10px;}
#compare-quick-items{display:flex;gap:8px;flex-wrap:wrap;}
.compare-quick{flex:0 0 calc(50% - 4px);display:flex;align-items:center;gap:10px;padding:8px;background:var(--bg3);border:1px solid var(--border);color:var(--text);cursor:pointer;text-align:left;transition:all .2s;}
.compare-quick:hover{border-color:var(--gold);}
.compare-quick img,.compare-quick-ph{width:38px;height:56px;flex-shrink:0;object-fit:cover;background:var(--card);display:flex;align-items:center;justify-content:center;font-size:18px;}
.compare-quick-info{min-width:0;flex:1;}
.compare-quick-title{font-size:12px;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.compare-quick-meta{font-size:9px;color:var(--muted);letter-spacing:1px;margin-top:2px;}

.compare-back{background:transparent;border:1px solid var(--border2);color:var(--muted);font-size:11px;letter-spacing:2px;padding:6px 12px;cursor:pointer;margin-bottom:20px;transition:all .2s;}
.compare-back:hover{border-color:var(--gold);color:var(--gold);}

.compare-grid{display:grid;grid-template-columns:1fr auto 1fr;gap:14px;align-items:start;margin-bottom:24px;}
.compare-col{text-align:center;}
.compare-poster,.compare-poster-ph{width:100%;max-width:200px;aspect-ratio:2/3;object-fit:cover;display:block;margin:0 auto 10px;background:var(--card);}
.compare-poster-ph{display:flex;align-items:center;justify-content:center;font-size:36px;}
.compare-title{font-family:'Bebas Neue',sans-serif;font-size:20px;letter-spacing:1px;color:var(--text);margin-bottom:4px;line-height:1.2;}
.compare-sub{font-size:10px;letter-spacing:2px;color:var(--muted);margin-bottom:10px;}
.compare-open{background:transparent;border:1px solid var(--border2);color:var(--muted);font-size:10px;letter-spacing:2px;padding:6px 12px;cursor:pointer;transition:all .2s;}
.compare-open:hover{border-color:var(--gold);color:var(--gold);}
.compare-vs{font-family:'Bebas Neue',sans-serif;font-size:38px;color:var(--gold);align-self:center;padding-top:80px;letter-spacing:3px;}

.compare-rows{display:flex;flex-direction:column;gap:0;}
.compare-row{display:grid;grid-template-columns:140px 1fr;border-top:1px solid var(--border);padding:10px 0;}
.compare-row-label{font-size:9px;letter-spacing:3px;color:var(--muted);text-transform:uppercase;padding-top:3px;}
.compare-row-vals{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.compare-row-val{font-size:13px;color:var(--text);line-height:1.5;}
.compare-row-wide .compare-row-val{font-size:12px;color:var(--muted);}
.compare-win{color:var(--gold);font-weight:700;}
.compare-lose{color:var(--dim);}

@media (max-width: 640px) {
  .compare-grid{grid-template-columns:1fr;}
  .compare-vs{padding-top:0;font-size:24px;}
  .compare-row{grid-template-columns:1fr;}
  .compare-quick{flex-basis:100%;}
}

/* ── Кликабельная строка «Режиссёр» в блоке ДЕТАЛИ ────── */
.det-clickable{cursor:pointer;transition:background .2s;}
.det-clickable:hover{background:var(--bg3);}
.det-clickable:hover .det-v{color:var(--gold2)!important;}

/* ── Лидерборд ────────────────────────────────────────── */
.lb-list{display:flex;flex-direction:column;gap:8px;}
.lb-row{display:flex;align-items:center;gap:14px;padding:12px 14px;background:var(--card);border:1px solid var(--border);transition:all .2s;}
.lb-row:hover{border-color:var(--gold);}
.lb-row.lb-me{border-color:var(--gold);background:var(--bg3);box-shadow:0 0 0 1px var(--gold) inset;}
.lb-rank{width:32px;font-family:'Bebas Neue',sans-serif;font-size:20px;letter-spacing:2px;color:var(--gold);text-align:center;flex-shrink:0;}
.lb-avatar{width:42px;height:42px;border-radius:50%;object-fit:cover;background:var(--card2);flex-shrink:0;}
.lb-avatar-ph{display:flex;align-items:center;justify-content:center;color:var(--gold);font-family:'Bebas Neue',sans-serif;font-size:20px;letter-spacing:1px;border:1px solid var(--border2);}
.lb-info{flex:1;min-width:0;}
.lb-name{font-size:13px;color:var(--text);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.lb-lvl{font-size:10px;color:var(--muted);letter-spacing:2px;text-transform:uppercase;margin-top:2px;}
.lb-watched{text-align:right;flex-shrink:0;}
.lb-watched b{font-family:'Bebas Neue',sans-serif;font-size:18px;letter-spacing:1px;color:var(--gold);display:block;line-height:1;}
.lb-watched span{font-size:9px;color:var(--muted);letter-spacing:1.5px;text-transform:uppercase;}
.lb-not-in{margin-top:14px;padding:12px;text-align:center;font-size:11px;color:var(--muted);background:var(--bg3);border-left:2px solid var(--gold);}

/* ── Friend avatar (real Supabase) ─────────────────────── */
.friend-avatar-img{width:44px;height:44px;border-radius:50%;object-fit:cover;border:2px solid transparent;flex-shrink:0;}
.friend-avatar-img.online{border-color:var(--gold);}

/* ── Уведомления (колокольчик в шапке) ─────────────────── */
.notif-wrap{display:flex;align-items:center;}
.notif-btn{background:transparent;border:1px solid var(--border2);color:var(--muted);padding:6px 10px;cursor:pointer;font-size:14px;transition:all .2s;flex-shrink:0;border-radius:2px;position:relative;}
.notif-btn:hover{border-color:var(--gold);color:var(--gold);}
.notif-badge{position:absolute;top:-5px;right:-5px;background:#e74c3c;color:#fff;font-size:9px;font-weight:700;letter-spacing:.5px;padding:2px 5px;border-radius:10px;min-width:16px;text-align:center;line-height:1.2;}
.notif-dropdown{display:none;position:absolute;top:calc(100% + 8px);right:0;width:360px;max-width:calc(100vw - 32px);max-height:480px;overflow-y:auto;background:var(--card2);border:1px solid var(--border2);box-shadow:0 16px 48px rgba(0,0,0,.5);z-index:9000;}
.notif-dropdown.open{display:block;}
.notif-head{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-bottom:1px solid var(--border);font-size:10px;letter-spacing:2px;color:var(--muted);text-transform:uppercase;}
.notif-mark-all{background:none;border:none;color:var(--gold);font-size:10px;letter-spacing:1px;cursor:pointer;text-transform:uppercase;}
.notif-mark-all:hover{text-decoration:underline;}
/* Приглашения в подборки внутри dropdown */
.notif-invites-block{background:linear-gradient(180deg,rgba(168,124,31,.07) 0%,rgba(168,124,31,.02) 100%);border-bottom:1px solid var(--border);}
.notif-invites-head{padding:12px 14px;font-size:10px;letter-spacing:2px;color:var(--gold);text-transform:uppercase;font-weight:600;}
.notif-invite-item{padding:10px 14px;border-top:1px solid var(--border);}
.notif-invite-text{font-size:13px;color:var(--text);line-height:1.4;margin-bottom:8px;}
.notif-invite-text strong{color:var(--gold);font-weight:500;}
.notif-invite-actions{display:flex;gap:8px;}
.notif-invite-actions button{flex:1;background:var(--card);border:1px solid var(--border);color:var(--text);font-size:11px;letter-spacing:1px;padding:7px 10px;cursor:pointer;transition:all .2s;font-family:inherit;}
.notif-invite-actions .ni-accept{border-color:var(--gold);color:var(--gold);}
.notif-invite-actions .ni-accept:hover{background:var(--gold);color:#000;}
.notif-invite-actions .ni-decline:hover{border-color:var(--muted);color:var(--muted);}
/* Приглашение модалка */
.invite-friend-row:hover{border-color:var(--gold) !important;background:var(--bg3) !important;}
.notif-list{display:flex;flex-direction:column;}
.notif-item{display:flex;gap:10px;padding:10px 14px;border-bottom:1px solid var(--border);cursor:pointer;transition:background .15s;align-items:flex-start;}
.notif-item:hover{background:var(--bg3);}
.notif-item:last-child{border-bottom:none;}
.notif-item.unread{background:rgba(168,124,31,.06);border-left:2px solid var(--gold);padding-left:12px;}
.notif-ava{width:36px;height:36px;border-radius:50%;object-fit:cover;flex-shrink:0;background:var(--card);}
.notif-ava-ph{display:flex;align-items:center;justify-content:center;background:var(--gold);color:#000;font-size:14px;font-weight:700;}
.notif-body{flex:1;min-width:0;}
.notif-text{font-size:12px;color:var(--text);line-height:1.5;}
.notif-text b{font-weight:600;color:var(--text);}
.notif-time{font-size:10px;color:var(--dim);margin-top:3px;letter-spacing:.5px;}
.notif-del{background:none;border:none;color:var(--dim);font-size:14px;cursor:pointer;padding:0 4px;line-height:1;flex-shrink:0;opacity:0;transition:opacity .2s,color .2s;}
.notif-item:hover .notif-del{opacity:1;}
.notif-del:hover{color:#e74c3c;}
.notif-empty{padding:32px 18px;text-align:center;color:var(--muted);}
.notif-empty-title{font-family:'Bebas Neue',sans-serif;font-size:14px;letter-spacing:2px;color:var(--text);margin-bottom:4px;}
.notif-empty-sub{font-size:11px;color:var(--dim);}

/* ── Shared collections (вкладка профиля) ────────────────── */
.scoll-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;}
.scoll-head-title{font-family:'Bebas Neue',sans-serif;font-size:18px;letter-spacing:3px;color:var(--text);}
.scoll-new-btn{background:var(--gold);color:#000;border:none;padding:8px 14px;font-size:11px;letter-spacing:2px;cursor:pointer;font-weight:700;transition:background .2s;}
.scoll-new-btn:hover{background:var(--gold2);}
.scoll-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;}
.scoll-card{background:var(--card);border:1px solid var(--border);padding:18px;cursor:pointer;transition:border-color .2s,transform .2s;text-align:center;}
.scoll-card:hover{border-color:var(--gold);transform:translateY(-3px);}
.scoll-card-icon{font-size:36px;margin-bottom:10px;}
.scoll-card-title{font-family:'Bebas Neue',sans-serif;font-size:16px;letter-spacing:1.5px;color:var(--text);margin-bottom:6px;}
.scoll-card-meta{font-size:10px;letter-spacing:2px;color:var(--muted);text-transform:uppercase;}

/* ── Модал коллекции ─────────────────────────────────────── */
.scoll-modal{position:fixed;inset:0;background:rgba(0,0,0,.92);z-index:6000;display:flex;align-items:center;justify-content:center;padding:18px;}
.scoll-modal-box{background:var(--card2);border:1px solid var(--border2);border-top:3px solid var(--gold);width:min(720px,96vw);max-height:88vh;overflow-y:auto;padding:0 0 26px;position:relative;}
.scoll-close{position:absolute;top:14px;right:18px;background:rgba(0,0,0,.5);border:1px solid var(--border2);color:#fff;font-size:18px;cursor:pointer;width:34px;height:34px;display:flex;align-items:center;justify-content:center;z-index:5;transition:all .2s;}
.scoll-close:hover{color:var(--gold);border-color:var(--gold);}
/* Hero — фоном картинка или ровный фон */
.scoll-hero{position:relative;padding:46px 28px 22px;margin-bottom:22px;background:var(--card);min-height:100px;}
.scoll-title{font-family:'Bebas Neue',sans-serif;font-size:30px;letter-spacing:2px;color:#fff;margin:0;text-shadow:0 2px 12px rgba(0,0,0,.5);}
.scoll-title-editable{cursor:pointer;transition:opacity .2s;}
.scoll-title-editable:hover{opacity:.85;}
.scoll-title-edit{font-size:14px;color:var(--gold);margin-left:6px;opacity:.7;}
.scoll-cover-controls{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px;}
.scoll-cover-btn{background:rgba(0,0,0,.45);border:1px solid rgba(255,255,255,.2);color:#fff;padding:6px 12px;font-size:11px;letter-spacing:1px;cursor:pointer;transition:all .2s;font-family:inherit;}
.scoll-cover-btn:hover{border-color:var(--gold);background:rgba(168,124,31,.15);}
.scoll-members,.scoll-films,.scoll-actions{padding-left:28px;padding-right:28px;}
.scoll-section-title{font-size:9px;letter-spacing:3px;color:var(--muted);text-transform:uppercase;margin-bottom:10px;}
.scoll-members{margin-bottom:22px;padding-bottom:18px;border-bottom:1px solid var(--border);}
.scoll-members-row{display:flex;gap:18px;flex-wrap:wrap;align-items:flex-start;}
.scoll-member{text-align:center;width:84px;display:flex;flex-direction:column;align-items:center;gap:8px;}
.scoll-member img,.scoll-member-ph{width:60px;height:60px;border-radius:50%;object-fit:cover;background:var(--gold);display:flex;align-items:center;justify-content:center;color:#000;font-size:18px;font-weight:700;border:2px solid var(--border);transition:border-color .2s;}
.scoll-member:hover img,.scoll-member:hover .scoll-member-ph{border-color:var(--gold);}
.scoll-member-name{font-size:11px;color:var(--text);max-width:84px;line-height:1.3;word-break:break-word;hyphens:auto;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.scoll-invite-btn{background:transparent;border:1px dashed var(--gold);color:var(--gold);padding:0 14px;font-size:11px;cursor:pointer;letter-spacing:1px;height:60px;align-self:flex-start;transition:all .2s;font-family:inherit;}
.scoll-invite-btn:hover{background:rgba(168,124,31,.1);transform:translateY(-2px);}
.scoll-films{display:flex;flex-direction:column;gap:6px;}
.scoll-film{display:flex;gap:12px;padding:8px;background:var(--card);border:1px solid var(--border);cursor:pointer;transition:border-color .2s;align-items:center;}
.scoll-film:hover{border-color:var(--gold);}
.scoll-film img,.scoll-film-ph{width:46px;height:69px;object-fit:cover;flex-shrink:0;background:var(--card2);}
.scoll-film-ph{display:flex;align-items:center;justify-content:center;font-size:22px;}
.scoll-film-info{flex:1;min-width:0;}
.scoll-film-title{font-family:'Bebas Neue',sans-serif;font-size:14px;letter-spacing:1px;color:var(--text);}
.scoll-film-added{font-size:10px;color:var(--dim);margin-top:3px;}
.scoll-film-del{background:none;border:none;color:var(--dim);font-size:14px;cursor:pointer;padding:4px 8px;}
.scoll-film-del:hover{color:#e74c3c;}
.scoll-empty{padding:24px;text-align:center;color:var(--muted);font-size:12px;background:var(--bg3);border-left:2px solid var(--gold);}
.scoll-delete-btn{margin-top:20px;background:transparent;border:1px solid #c44;color:#c44;padding:8px 14px;font-size:11px;letter-spacing:2px;cursor:pointer;width:100%;}
.scoll-delete-btn:hover{background:rgba(196,68,68,.1);}
.scoll-leave-btn{margin-top:20px;background:transparent;border:1px solid var(--border2);color:var(--muted);padding:8px 14px;font-size:11px;letter-spacing:2px;cursor:pointer;width:100%;transition:all .2s;}
.scoll-leave-btn:hover{border-color:var(--gold);color:var(--gold);}
@keyframes eqFadeIn{from{opacity:0;}to{opacity:1;}}
/* Плавающая кнопка фидбека (бета) */
#beta-feedback-fab{
  position:fixed; right:20px; bottom:20px; z-index:5500;
  display:flex; align-items:center; gap:8px;
  padding:12px 18px;
  background:var(--gold); color:#000;
  border:none; border-radius:30px;
  font-family:inherit; font-size:13px; font-weight:600; letter-spacing:1px;
  cursor:pointer;
  box-shadow:0 6px 24px rgba(200,168,75,.45);
  transition:transform .25s, box-shadow .25s;
}
#beta-feedback-fab:hover{transform:translateY(-3px) scale(1.04); box-shadow:0 10px 32px rgba(200,168,75,.6);}
.bff-icon{font-size:18px; line-height:1;}
@media (max-width:640px){
  #beta-feedback-fab{right:14px; bottom:calc(14px + env(safe-area-inset-bottom)); padding:11px 14px;}
  .bff-text{display:none;}  /* на мобиле только иконка */
  .bff-icon{font-size:20px;}
}
/* Telegram-бот баннер на главной */
.tg-bot-banner{display:flex;align-items:center;gap:18px;padding:18px 22px;
  background:linear-gradient(135deg,rgba(35,158,219,.15) 0%,rgba(168,124,31,.08) 100%);
  border:1px solid rgba(35,158,219,.35);
  text-decoration:none;color:var(--text);max-width:880px;margin:0 auto;
  transition:all .25s;cursor:pointer;}
.tg-bot-banner:hover{border-color:#239ed8;transform:translateY(-2px);box-shadow:0 8px 28px rgba(35,158,219,.15);}
.tgb-icon{font-size:36px;flex-shrink:0;}
.tgb-text{flex:1;min-width:0;}
.tgb-title{font-family:'Bebas Neue',sans-serif;font-size:18px;letter-spacing:3px;color:#239ed8;margin-bottom:4px;}
.tgb-sub{font-size:12px;color:var(--muted);line-height:1.5;}
.tgb-arrow{font-size:22px;color:#239ed8;flex-shrink:0;transition:transform .25s;}
.tg-bot-banner:hover .tgb-arrow{transform:translateX(4px);}
@media (max-width:640px){
  .tg-bot-banner{padding:14px 16px;gap:12px;}
  .tgb-icon{font-size:28px;}
  .tgb-title{font-size:14px;letter-spacing:2px;}
  .tgb-sub{font-size:11px;}
  .tgb-arrow{font-size:18px;}
}
#eq-prompt-input:focus,#eq-prompt-modal textarea:focus{outline:none;border-color:var(--gold);}
#eq-prompt-ok:hover,#eq-confirm-yes:hover{opacity:.92;}
#eq-prompt-cancel:hover,#eq-confirm-no:hover{border-color:var(--gold);color:var(--gold);}
.scoll-member{text-align:center;cursor:pointer;transition:transform .2s;}
.scoll-member:hover{transform:translateY(-2px);}
.scoll-member:hover .scoll-member-name{color:var(--gold);}

/* ── Публичный профиль /user/{username} ────────────────── */
.pub-profile-hero{display:flex;gap:24px;align-items:center;margin-bottom:36px;flex-wrap:wrap;}
.pub-avatar{width:110px;height:110px;border-radius:50%;object-fit:cover;border:3px solid var(--gold);flex-shrink:0;}
.pub-avatar-ph{display:flex;align-items:center;justify-content:center;background:var(--gold);color:#000;font-family:'Bebas Neue',sans-serif;font-size:46px;}
.pub-info{flex:1;min-width:200px;}
.pub-name{font-family:'Bebas Neue',sans-serif;font-size:34px;letter-spacing:2px;color:var(--text);line-height:1;margin-bottom:6px;}
.pub-level{font-size:11px;letter-spacing:3px;color:var(--gold);text-transform:uppercase;margin-bottom:16px;}
.pub-stats{display:flex;gap:28px;margin-bottom:18px;}
.pub-stat-val{font-family:'Bebas Neue',sans-serif;font-size:26px;color:var(--text);line-height:1;}
.pub-stat-lbl{font-size:10px;letter-spacing:1.5px;color:var(--muted);text-transform:uppercase;margin-top:4px;}
.pub-action-btn{background:var(--gold);color:#000;border:none;padding:10px 20px;font-size:11px;letter-spacing:2px;font-weight:700;cursor:pointer;transition:background .2s;}
.pub-action-btn:hover{background:var(--gold2);}
.pub-friend-badge{display:inline-block;font-size:11px;letter-spacing:1.5px;color:var(--gold);border:1px solid var(--gold);padding:8px 16px;}
.pub-section-title{font-size:10px;letter-spacing:3px;color:var(--muted);text-transform:uppercase;margin-bottom:14px;}
.pub-recent-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:14px;}
.pub-recent-card{cursor:pointer;transition:transform .2s;}
.pub-recent-card:hover{transform:translateY(-4px);}
.pub-recent-card img,.pub-recent-ph{width:100%;aspect-ratio:2/3;object-fit:cover;background:var(--card);display:flex;align-items:center;justify-content:center;font-size:32px;border:1px solid var(--border);}
.pub-recent-title{font-size:11px;color:var(--muted);margin-top:6px;line-height:1.3;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;}
.pub-empty-recent{padding:24px;text-align:center;color:var(--muted);font-size:12px;background:var(--bg3);border-left:2px solid var(--gold);}

/* ── Публичный профиль: доп-блоки ──────────────────────── */
.pub-actions-row{display:flex;gap:8px;flex-wrap:wrap;align-items:center;}
.pub-share-btn{background:transparent;border:1px solid var(--border2);color:var(--muted);padding:10px 16px;font-size:11px;letter-spacing:1.5px;cursor:pointer;transition:all .2s;}
.pub-share-btn:hover{border-color:var(--gold);color:var(--gold);}
.pub-recent-rating{color:var(--gold);font-size:10px;}

/* Совместимость вкусов */
.pub-compat-box{display:flex;align-items:center;gap:18px;background:var(--bg3);border:1px solid var(--border);border-left:3px solid var(--gold);padding:16px 20px;margin-bottom:28px;}
.pub-compat-ring{width:72px;height:72px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:conic-gradient(var(--gold) calc(var(--pct)*1%), var(--card) 0);}
.pub-compat-pct{width:56px;height:56px;border-radius:50%;background:var(--bg2);display:flex;align-items:center;justify-content:center;font-family:'Bebas Neue',sans-serif;font-size:18px;color:var(--gold);}
.pub-compat-title{font-family:'Bebas Neue',sans-serif;font-size:18px;letter-spacing:1.5px;color:var(--text);}
.pub-compat-sub{font-size:12px;color:var(--muted);margin-top:3px;}

/* Бейджи */
.pub-badges{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:28px;}
.pub-badge{display:flex;align-items:center;gap:6px;background:var(--card);border:1px solid var(--gold);padding:7px 13px;font-size:11px;color:var(--gold);letter-spacing:1px;}
.pub-badge span{font-size:15px;}

/* График жанров */
.pub-genres{display:flex;flex-direction:column;gap:9px;margin-bottom:28px;}
.pub-genre-row{display:grid;grid-template-columns:100px 1fr 30px;align-items:center;gap:10px;}
.pub-genre-name{font-size:12px;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.pub-genre-bar{height:8px;background:var(--card);border:1px solid var(--border);overflow:hidden;}
.pub-genre-fill{height:100%;background:linear-gradient(90deg,var(--gold),var(--gold2));}
.pub-genre-cnt{font-size:11px;color:var(--muted);text-align:right;}

/* Стена */
.pub-wall-add{background:var(--gold);color:#000;border:none;padding:5px 12px;font-size:10px;letter-spacing:1px;font-weight:700;cursor:pointer;margin-left:12px;vertical-align:middle;}
.pub-wall-add:hover{background:var(--gold2);}
.pub-wall{display:flex;flex-direction:column;gap:10px;margin-bottom:28px;}
.pub-wall-post{display:flex;gap:12px;background:var(--card);border:1px solid var(--border);padding:12px;}
.pub-wall-poster{width:46px;height:69px;object-fit:cover;flex-shrink:0;cursor:pointer;background:var(--card2);}
.pub-wall-body{flex:1;min-width:0;}
.pub-wall-film{font-size:11px;color:var(--gold);letter-spacing:.5px;margin-bottom:6px;cursor:pointer;}
.pub-wall-film:hover{text-decoration:underline;}
.pub-wall-text{font-size:13px;color:var(--text);line-height:1.6;word-break:break-word;}
.pub-wall-time{font-size:10px;color:var(--dim);margin-top:6px;letter-spacing:.5px;}
.pub-wall-del{color:#c44;cursor:pointer;}
.pub-wall-del:hover{text-decoration:underline;}

/* ── Скелетоны карточек каталога ───────────────────────── */
.mc-skeleton{background:transparent;border:none;cursor:default;display:flex;flex-direction:column;}
.mc-skeleton .sk{display:block;}

/* ── Share-меню (Telegram / VK / WhatsApp / Copy) ──────── */
.share-menu{position:fixed;inset:0;background:rgba(0,0,0,.7);z-index:10500;display:flex;align-items:center;justify-content:center;padding:20px;}
.share-menu-box{background:var(--card2);border:1px solid var(--border2);border-top:3px solid var(--gold);width:min(360px,94vw);padding:24px 22px;}
.share-menu-title{font-family:'Bebas Neue',sans-serif;font-size:18px;letter-spacing:3px;color:var(--text);text-align:center;margin-bottom:16px;}
.share-opt{display:flex;align-items:center;gap:12px;width:100%;background:var(--card);border:1px solid var(--border);color:var(--text);padding:11px 14px;font-size:13px;cursor:pointer;text-decoration:none;margin-bottom:6px;transition:border-color .15s;font-family:'Inter',sans-serif;}
.share-opt:hover{border-color:var(--gold);}
.share-ico{font-size:18px;width:24px;text-align:center;}
.share-close{background:transparent;color:var(--muted);justify-content:center;margin-top:8px;font-size:11px;letter-spacing:2px;text-transform:uppercase;}

/* ── Лайки/комменты на постах стены ────────────────────── */
.pub-wall-actions{display:flex;align-items:center;gap:14px;margin-top:8px;font-size:11px;flex-wrap:wrap;}
.pub-wall-like,.pub-wall-comment-btn{background:transparent;border:1px solid var(--border);color:var(--muted);padding:5px 10px;cursor:pointer;display:inline-flex;align-items:center;gap:5px;font-size:11px;font-family:'Inter',sans-serif;transition:all .15s;border-radius:2px;}
.pub-wall-like:hover,.pub-wall-comment-btn:hover{border-color:var(--gold);}
.pub-wall-like.on{border-color:#e74c3c;color:#e74c3c;}
.pwl-ico{font-size:13px;}

/* Комментарии */
.pub-wall-comments{margin-top:14px;padding-top:12px;border-top:1px solid var(--border);}
.wc-item{display:flex;gap:10px;padding:8px 0;border-bottom:1px solid var(--border);}
.wc-item:last-of-type{border-bottom:none;}
.wc-ava{width:30px;height:30px;border-radius:50%;object-fit:cover;background:var(--card2);flex-shrink:0;}
.wc-ava-ph{display:flex;align-items:center;justify-content:center;background:var(--gold);color:#000;font-size:12px;font-weight:700;}
.wc-body{flex:1;min-width:0;}
.wc-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:3px;}
.wc-name{font-size:12px;color:var(--text);font-weight:600;}
.wc-time{font-size:10px;color:var(--dim);}
.wc-text{font-size:12px;color:var(--muted);line-height:1.5;word-break:break-word;}
.wc-del{background:none;border:none;color:var(--dim);font-size:14px;cursor:pointer;padding:0 4px;align-self:flex-start;}
.wc-del:hover{color:#e74c3c;}
.wc-form{display:flex;gap:0;border:1px solid var(--border2);margin-top:10px;}
.wc-inp{flex:1;background:var(--bg3);border:none;color:var(--text);padding:9px 12px;font-size:12px;outline:none;font-family:'Inter',sans-serif;}
.wc-send{background:var(--gold);color:#000;border:none;padding:9px 14px;cursor:pointer;font-weight:700;}
.wc-locked{margin-top:10px;padding:10px;text-align:center;font-size:11px;color:var(--muted);background:var(--bg3);}

/* mobile.css */
@media (max-width:480px){
  /* width:100% + right:-420px на мобиле оставляли 10px от левого края
     панели (включая border-left:1px) ВНУТРИ viewport — это была та самая
     тёмная вертикальная полоса справа на каждой странице.
     Фикс: translateX(100%) когда не .open — панель уезжает за viewport
     ГАРАНТИРОВАННО на любой ширине экрана. */
  #cart-panel{
    width:100%;
    max-width:100%;
    right:0 !important;
    transform:translateX(100%);
    transition:transform .35s cubic-bezier(.4,0,.2,1);
  }
  #cart-panel.open{transform:translateX(0);}
  .checkout-field-row{grid-template-columns:1fr;}
}

/* ══ Глобальный анти-overflow-x ════════════════════════════
   Раньше юзер видел тонкую горизонтальную полоску справа на iOS Safari.
   `#app{overflow-x:hidden}` не помогало, потому что сама прокрутка живёт
   на body/html. Явный max-width:100vw + overflow-x:hidden глушит любого
   нарушителя viewport-а (декоративные absolute-элементы, длинные слоги
   в hero и т.д.) без необходимости искать конкретный класс.       ══ */
html, body {
  overflow-x: hidden;
  max-width: 100vw;
  -webkit-overflow-scrolling: touch;
}

/* ══ TRANSITIONS ══ */
.page{display:none;padding-top:72px;padding-bottom:40px;opacity:0;transition:opacity .35s ease;transform:none;filter:none;}
.page.active{display:block;position:relative;opacity:1;pointer-events:all;min-height:0;height:auto;}
.page.out{display:block;position:absolute;top:0;left:0;right:0;opacity:0;pointer-events:none;}
#app{position:relative;overflow-x:hidden;}

/* Каскадная анимация для карточек */
@keyframes cardEntry {
  from { opacity: 0; transform: translateY(20px) scale(.96); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}
.page.active .mc, .page.active .ac, .page.active .fc, .page.active .alb, .page.active .si, .page.active .cc, .page.active .smc, .page.active .feat, .page.active .loc, .page.active .plan, .page.active .shc, .page.active .blog-card, .page.active .shop-item {
  animation: cardEntry .5s cubic-bezier(.2,.7,.4,1) both;
}
.page.active .row > *:nth-child(1), .page.active .mg > *:nth-child(1), .page.active .tv-grid > *:nth-child(1), .page.active .shop-g > *:nth-child(1), .page.active .alb-g > *:nth-child(1), .page.active .blog-grid > *:nth-child(1) { animation-delay: 0.00s; }
.page.active .row > *:nth-child(2), .page.active .mg > *:nth-child(2), .page.active .tv-grid > *:nth-child(2), .page.active .shop-g > *:nth-child(2), .page.active .alb-g > *:nth-child(2), .page.active .blog-grid > *:nth-child(2) { animation-delay: 0.04s; }
.page.active .row > *:nth-child(3), .page.active .mg > *:nth-child(3), .page.active .tv-grid > *:nth-child(3), .page.active .shop-g > *:nth-child(3), .page.active .alb-g > *:nth-child(3), .page.active .blog-grid > *:nth-child(3) { animation-delay: 0.08s; }
.page.active .row > *:nth-child(4), .page.active .mg > *:nth-child(4), .page.active .tv-grid > *:nth-child(4), .page.active .shop-g > *:nth-child(4), .page.active .alb-g > *:nth-child(4), .page.active .blog-grid > *:nth-child(4) { animation-delay: 0.12s; }
.page.active .row > *:nth-child(5), .page.active .mg > *:nth-child(5), .page.active .tv-grid > *:nth-child(5), .page.active .shop-g > *:nth-child(5), .page.active .alb-g > *:nth-child(5), .page.active .blog-grid > *:nth-child(5) { animation-delay: 0.16s; }
.page.active .row > *:nth-child(6), .page.active .mg > *:nth-child(6) { animation-delay: 0.20s; }
.page.active .row > *:nth-child(7), .page.active .mg > *:nth-child(7) { animation-delay: 0.24s; }
.page.active .row > *:nth-child(8), .page.active .mg > *:nth-child(8) { animation-delay: 0.28s; }
#app{position:relative;overflow-x:hidden;}

/* ══ HEADER ══ */
header{position:fixed;top:0;left:0;right:0;z-index:900;display:flex;align-items:center;gap:16px;padding:0 36px;height:72px;background:rgba(8,0,16,.97);backdrop-filter:blur(20px);border-bottom:1px solid var(--border);}
.logo{font-family:'Bebas Neue',sans-serif;font-size:26px;letter-spacing:7px;color:#fff;cursor:pointer;flex-shrink:0;}
.beta-badge{font-family:'Bebas Neue',sans-serif;font-size:9px;letter-spacing:2px;color:#000;background:var(--gold);padding:2px 6px;border-radius:3px;line-height:1;flex-shrink:0;transform:translateY(-6px);font-weight:700;}
.logo span{color:var(--gold);}
.logo:hover{color:var(--gold);}

.hsearch{flex:1;max-width:460px;position:relative;z-index:100;}
.hsearch input{width:100%;background:var(--card);border:1px solid var(--border2);color:var(--text);font-size:13px;padding:9px 38px 9px 14px;outline:none;transition:border-color .3s;}
.hsearch input:focus{border-color:var(--gold);}
.hsearch input::placeholder{color:var(--dim);}
.hsico{position:absolute;right:11px;top:50%;transform:translateY(-50%);color:var(--gold);font-size:15px;pointer-events:none;z-index:101;}
.sdrop{position:absolute;top:100%;left:0;right:0;background:var(--card2);border:1px solid var(--border2);max-height:480px;overflow-y:auto;z-index:10000;display:none;box-shadow:0 16px 48px rgba(0,0,0,.7);}
.sdrop.open{display:block;}
.sri{display:flex;align-items:center;gap:14px;padding:10px 16px;cursor:pointer;border-bottom:1px solid var(--border);transition:background .15s;}
.sri:hover{background:var(--bg3);}
/* Poster / movie thumbnail */
.sri img,.sri-ph{width:46px;height:68px;object-fit:cover;flex-shrink:0;border-radius:2px;}
.sri-ph{background:var(--card);display:flex;align-items:center;justify-content:center;font-size:18px;}
/* Person avatar — round and square */
.sri-p img{height:46px;border-radius:50%;object-position:top;}
.sri-p .sri-ph{height:46px;border-radius:50%;}
.sri-t{font-family:'Bebas Neue',sans-serif;font-size:16px;letter-spacing:.5px;color:#fff;line-height:1.2;}
.sri-m{font-size:11px;color:var(--muted);margin-top:3px;line-height:1.5;}
.sri-empty{padding:18px;text-align:center;color:var(--dim);font-size:13px;font-style:italic;}

nav{display:flex;gap:2px;margin-left:auto;flex-wrap:wrap;}
.nb{background:none;border:none;cursor:pointer;font-family:'Inter',sans-serif;font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:var(--muted);padding:6px 12px;transition:all .2s;}
.nb:hover,.nb.on{color:var(--gold);background:rgba(201,168,76,.07);}

/* ══ AUTH ══ */
.auth-btn{
  flex-shrink:0;display:flex;align-items:center;gap:8px;
  background:transparent;border:1px solid var(--border2);
  color:var(--muted);font-size:11px;letter-spacing:1px;
  padding:6px 14px;cursor:pointer;transition:all .2s;font-family:'Inter',sans-serif;
}
.auth-btn:hover{border-color:var(--gold);color:var(--gold);}
.auth-btn.logged{border-color:var(--gold);color:var(--gold);}
.auth-avatar{width:28px;height:28px;border-radius:50%;object-fit:cover;border:2px solid var(--gold);}
.auth-avatar-placeholder{width:28px;height:28px;border-radius:50%;background:var(--gold);display:flex;align-items:center;justify-content:center;font-size:13px;color:#000;font-weight:700;}

/* Модальное окно авторизации */
#auth-modal{position:fixed;inset:0;background:rgba(0,0,0,.9);z-index:3000;display:none;align-items:center;justify-content:center;padding:20px;}
#auth-modal.open{display:flex;}
.auth-box{background:var(--card2);border:1px solid var(--border2);border-top:2px solid var(--gold);width:100%;max-width:420px;padding:40px;}
.auth-close{float:right;background:none;border:none;color:var(--muted);font-size:22px;cursor:pointer;margin-top:-8px;}
.auth-close:hover{color:var(--gold);}
.auth-title{font-family:'Bebas Neue',sans-serif;font-size:28px;letter-spacing:4px;color:#fff;margin-bottom:4px;}
.auth-sub{font-size:12px;color:var(--muted);margin-bottom:28px;}
.auth-tabs{display:flex;gap:2px;margin-bottom:24px;}
.auth-tab{flex:1;padding:8px;background:transparent;border:1px solid var(--border);color:var(--muted);font-size:11px;letter-spacing:2px;text-transform:uppercase;cursor:pointer;transition:all .2s;font-family:'Inter',sans-serif;}
.auth-tab.on{background:var(--gold);color:#000;border-color:var(--gold);}
.auth-field{margin-bottom:14px;}
.auth-field label{display:block;font-size:10px;letter-spacing:2px;text-transform:uppercase;color:var(--muted);margin-bottom:5px;}
.auth-field input{width:100%;background:var(--bg3);border:1px solid var(--border2);color:var(--text);font-size:14px;padding:10px 12px;outline:none;transition:border-color .2s;font-family:'Inter',sans-serif;}
.auth-field input:focus{border-color:var(--gold);}
.auth-submit{width:100%;padding:12px;background:var(--gold);color:#000;border:none;font-size:11px;letter-spacing:3px;text-transform:uppercase;font-weight:700;cursor:pointer;margin-top:8px;transition:background .2s;}
.auth-submit:hover{background:var(--gold2);}
.google-btn{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:11px;background:#fff;color:#333;border:1px solid #ddd;font-size:13px;font-weight:500;cursor:pointer;text-decoration:none;margin-bottom:4px;transition:box-shadow .2s;box-sizing:border-box;}
.google-btn:hover{box-shadow:0 2px 8px rgba(0,0,0,.15);}
.auth-divider{text-align:center;margin:14px 0;position:relative;}
.auth-divider::before{content:'';position:absolute;top:50%;left:0;right:0;height:1px;background:var(--border);}
.auth-divider span{position:relative;background:var(--card2);padding:0 10px;font-size:11px;color:var(--dim);letter-spacing:2px;}
.auth-avatar-upload{display:flex;align-items:center;gap:14px;margin-bottom:18px;}
.auth-avatar-big{width:64px;height:64px;border-radius:50%;object-fit:cover;border:2px solid var(--gold);flex-shrink:0;}
.auth-avatar-big-ph{width:64px;height:64px;border-radius:50%;background:var(--gold);display:flex;align-items:center;justify-content:center;font-size:24px;color:#000;flex-shrink:0;}
.auth-avatar-label{font-size:11px;color:var(--gold);cursor:pointer;text-decoration:underline;}

/* ══ FAV BUTTON ══ */
.fav-btn{position:absolute;top:7px;right:7px;z-index:5;background:rgba(0,0,0,.7);border:none;font-size:16px;cursor:pointer;width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:transform .2s;padding:0;}
.fav-btn:hover{transform:scale(1.2);}

/* ══ PROFILE STYLES ══ */
.profile-hero{padding:48px 36px;background:var(--bg2);border-bottom:1px solid var(--border);display:flex;gap:28px;align-items:center;}
.profile-avatar-big{width:96px;height:96px;border-radius:50%;object-fit:cover;border:3px solid var(--gold);flex-shrink:0;}
.profile-avatar-big-ph{width:96px;height:96px;border-radius:50%;background:var(--gold);display:flex;align-items:center;justify-content:center;font-size:36px;color:#000;flex-shrink:0;}
.profile-name{font-family:'Bebas Neue',sans-serif;font-size:36px;letter-spacing:4px;color:#fff;}
.profile-email{font-size:12px;color:var(--muted);margin-top:3px;}
.profile-stats{display:flex;gap:24px;margin-top:12px;}
.ps-val{font-family:'Bebas Neue',sans-serif;font-size:22px;color:var(--gold);}
.ps-lbl{font-size:9px;letter-spacing:2px;text-transform:uppercase;color:var(--dim);}
.logout-btn{margin-top:0;padding:7px 20px;background:transparent;border:1px solid var(--border2);color:var(--muted);font-size:10px;letter-spacing:2px;text-transform:uppercase;cursor:pointer;transition:all .2s;font-family:'Inter',sans-serif;}
.logout-btn:hover{border-color:var(--red,#e05555);color:#e05555;}
.view-as-btn{padding:7px 20px;background:transparent;border:1px solid var(--gold);color:var(--gold);font-size:10px;letter-spacing:2px;text-transform:uppercase;cursor:pointer;transition:all .2s;font-family:'Inter',sans-serif;}
.view-as-btn:hover{background:rgba(200,168,75,.12);}

/* История просмотра */
.history-empty{color:var(--dim);font-style:italic;font-size:13px;padding:20px 0;}

/* Пустые состояния профиля */
.profile-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 20px;text-align:center;}
.profile-empty-ico{font-size:48px;margin-bottom:16px;opacity:.7;}
.profile-empty-title{font-family:'Bebas Neue',sans-serif;font-size:20px;letter-spacing:3px;color:var(--text);margin-bottom:8px;}
.profile-empty-sub{font-size:12px;color:var(--muted);line-height:1.6;max-width:240px;}
.history-item{display:flex;align-items:center;gap:14px;padding:10px 0;border-bottom:1px solid var(--border);cursor:pointer;transition:background .15s;}
.history-item:hover{background:var(--bg3);padding:10px 8px;margin:0 -8px;}
.hi-poster{width:40px;height:58px;object-fit:cover;flex-shrink:0;background:var(--card2);}
.hi-poster-ph{width:40px;height:58px;background:var(--card2);display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0;}
.hi-title{font-family:'Bebas Neue',sans-serif;font-size:15px;letter-spacing:1px;color:#fff;}
.hi-meta{font-size:10px;color:var(--muted);margin-top:2px;}
.hi-remove{margin-left:auto;background:none;border:none;color:var(--dim);cursor:pointer;font-size:18px;padding:4px;transition:color .2s;}
.hi-remove:hover{color:#e05555;}

/* ══ PROFILE EXTENDED ══ */
/* Прогресс уровня */
.level-bar-wrap{margin-top:10px;max-width:280px;}
.level-bar-labels{display:flex;justify-content:space-between;align-items:center;font-size:9px;letter-spacing:2px;color:var(--muted);text-transform:uppercase;margin-bottom:5px;}
.level-bar-track{height:4px;background:var(--bg3);border:1px solid var(--border);overflow:hidden;}
.level-bar-fill{height:100%;background:linear-gradient(90deg,var(--gold),var(--gold2));transition:width .6s cubic-bezier(.4,0,.2,1);}
/* Тултип уровня */
.lvl-help{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:50%;border:1px solid var(--muted);color:var(--muted);font-size:10px;line-height:1;cursor:pointer;transition:border-color .2s,color .2s;flex-shrink:0;font-family:'Inter',sans-serif;font-weight:500;padding-bottom:1px;box-sizing:border-box;vertical-align:middle;}
.lvl-help:hover{border-color:var(--gold);color:var(--gold);}
.lvl-tooltip-popup{position:absolute;right:0;top:calc(100% + 6px);background:var(--card2);border:1px solid var(--border2);border-top:2px solid var(--gold);padding:14px 16px;width:260px;z-index:200;box-shadow:0 8px 24px rgba(0,0,0,.35);}
.lvl-tp-title{font-family:'Bebas Neue',sans-serif;font-size:13px;letter-spacing:2px;color:var(--gold);margin-bottom:10px;}
.lvl-tp-row{font-size:11px;color:var(--text);padding:3px 0;line-height:1.5;}
.lvl-tp-levels{font-size:9px;color:var(--muted);margin-top:10px;line-height:1.7;border-top:1px solid var(--border);padding-top:8px;}
.lvl-tp-lbl{font-family:'Bebas Neue',sans-serif;letter-spacing:1.5px;font-size:10px;color:var(--muted);margin-bottom:2px;}
/* Редактирование имени */
.profile-name-wrap{display:flex;align-items:center;gap:8px;}
.profile-edit-btn{background:none;border:none;color:var(--dim);cursor:pointer;font-size:13px;padding:2px 4px;transition:color .2s;flex-shrink:0;}
.profile-edit-btn:hover{color:var(--gold);}
.profile-name-input{font-family:'Bebas Neue',sans-serif;font-size:28px;letter-spacing:3px;background:transparent;border:none;border-bottom:2px solid var(--gold);color:var(--text);outline:none;width:200px;padding:0;}
/* Карточки друзей */
.friends-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;margin-bottom:28px;}
.friend-card{padding:16px;background:var(--card);border:1px solid var(--border);display:flex;flex-direction:column;gap:10px;transition:box-shadow .2s,border-color .2s;}
.friend-card:hover{border-color:var(--gold);box-shadow:0 4px 16px var(--shadow);}
.friend-card-top{display:flex;align-items:center;gap:12px;}
.friend-avatar{width:44px;height:44px;border-radius:50%;background:var(--gold);display:flex;align-items:center;justify-content:center;font-family:'Bebas Neue',sans-serif;font-size:16px;color:#000;flex-shrink:0;border:2px solid transparent;}
.friend-avatar.online{border-color:var(--gold);box-shadow:0 0 0 2px var(--bg),0 0 0 4px var(--gold);}
.friend-name{font-family:'Bebas Neue',sans-serif;font-size:15px;letter-spacing:1px;color:var(--text);}
.friend-level{font-size:9px;color:var(--muted);letter-spacing:2px;text-transform:uppercase;margin-top:1px;}
.friend-stats{display:flex;gap:14px;}
.friend-stat{text-align:center;}
.friend-stat-val{font-family:'Bebas Neue',sans-serif;font-size:16px;color:var(--gold);}
.friend-stat-lbl{font-size:8px;color:var(--dim);letter-spacing:1px;text-transform:uppercase;}
.friend-actions{display:flex;gap:6px;margin-top:4px;}
.friend-add-btn{flex:1;padding:7px;background:rgba(140,180,80,.12);border:1px solid rgba(140,180,80,.4);color:#6ea832;font-size:9px;letter-spacing:2px;text-transform:uppercase;cursor:pointer;font-family:'Inter',sans-serif;transition:all .2s;}
.friend-add-btn:hover{background:rgba(140,180,80,.22);border-color:#6ea832;}
.friend-remove-btn{padding:7px 10px;background:transparent;border:1px solid var(--border2);color:var(--dim);font-size:12px;cursor:pointer;transition:all .2s;}
.friend-remove-btn:hover{border-color:#e05555;color:#e05555;}
.friend-msg-btn{flex:1;padding:7px;background:transparent;border:1px solid var(--border);color:var(--muted);font-size:9px;letter-spacing:1px;text-transform:uppercase;cursor:pointer;font-family:'Inter',sans-serif;transition:all .2s;}
.friend-msg-btn:hover{border-color:var(--gold);color:var(--gold);}
/* Найти друга */
.friend-search-box{margin-bottom:24px;padding:18px 20px;background:var(--card);border:1px solid var(--border);}
.friend-search-title{font-size:9px;letter-spacing:3px;text-transform:uppercase;color:var(--muted);margin-bottom:10px;}
.friend-search-row{display:flex;gap:8px;}
.friend-search-inp{flex:1;padding:9px 12px;background:var(--bg2);border:1px solid var(--border);color:var(--text);font-size:13px;font-family:'Inter',sans-serif;outline:none;}
.friend-search-inp:focus{border-color:var(--gold);}
.friend-search-inp::placeholder{color:var(--dim);}
.friend-search-go{padding:9px 18px;background:var(--gold);color:#fff;border:none;font-size:10px;letter-spacing:2px;text-transform:uppercase;cursor:pointer;font-family:'Inter',sans-serif;}
.friend-search-go:hover{background:var(--gold2);}
/* Инвайт */
.friend-invite-box{padding:16px 20px;background:var(--bg2);border:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;}
.friend-invite-text{font-size:12px;color:var(--muted);}
.friend-invite-btn{padding:8px 16px;background:transparent;border:1px solid var(--border2);color:var(--muted);font-size:10px;letter-spacing:2px;text-transform:uppercase;cursor:pointer;white-space:nowrap;transition:all .2s;}
.friend-invite-btn:hover{border-color:var(--gold);color:var(--gold);}
/* Вотчлист */
.wl-item{display:flex;align-items:center;gap:14px;padding:10px 0;border-bottom:1px solid var(--border);cursor:pointer;transition:background .15s;}
.wl-item:hover{background:var(--bg3);padding:10px 8px;margin:0 -8px;}
.wl-poster{width:40px;height:58px;object-fit:cover;flex-shrink:0;background:var(--card2);}
.wl-poster-ph{width:40px;height:58px;background:var(--card2);display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0;}
.wl-title{font-family:'Bebas Neue',sans-serif;font-size:15px;letter-spacing:1px;color:var(--text);}
.wl-meta{font-size:10px;color:var(--muted);margin-top:2px;}
.wl-remove{margin-left:auto;background:none;border:none;color:var(--dim);cursor:pointer;font-size:18px;padding:4px;transition:color .2s;}
.wl-remove:hover{color:#e05555;}
/* Bulk-режим: чекбоксы + тулбар + батч-действия */
.wl-toolbar{padding:10px 0 14px;border-bottom:1px solid var(--border);margin-bottom:6px;}
.wl-bulk-enter{background:none;border:1px solid var(--border2);color:var(--muted);padding:7px 14px;font-size:11px;letter-spacing:1.5px;cursor:pointer;font-family:'Inter',sans-serif;transition:all .15s;}
.wl-bulk-enter:hover{border-color:var(--gold);color:var(--gold);}
.wl-bulk-bar{display:flex;align-items:center;gap:14px;padding:10px 0 14px;border-bottom:1px solid var(--gold);margin-bottom:6px;}
.wl-bulk-checkall{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:12px;color:var(--text);}
.wl-bulk-checkall input{accent-color:var(--gold);width:16px;height:16px;}
.wl-bulk-count{font-size:11px;color:var(--gold);letter-spacing:1px;}
.wl-bulk-cancel{margin-left:auto;background:none;border:1px solid var(--border2);color:var(--muted);padding:5px 12px;font-size:10px;letter-spacing:1.5px;cursor:pointer;font-family:'Inter',sans-serif;}
.wl-bulk-cancel:hover{border-color:#e05555;color:#e05555;}
.wl-item.in-bulk{padding-left:6px;}
.wl-item.in-bulk:hover{background:var(--bg3);padding:10px 8px 10px 6px;}
.wl-item.selected{background:rgba(201,168,76,.08);}
.wl-checkbox{width:22px;height:22px;border:2px solid var(--border2);background:transparent;flex-shrink:0;display:flex;align-items:center;justify-content:center;color:#000;font-weight:700;transition:all .15s;}
.wl-checkbox.on{background:var(--gold);border-color:var(--gold);}
.wl-bulk-actions{position:sticky;bottom:14px;display:flex;gap:8px;padding:10px 14px;background:var(--bg2);border:1px solid var(--gold);margin-top:14px;box-shadow:0 6px 20px rgba(0,0,0,.4);}
.wl-bulk-btn{flex:1;background:none;border:1px solid var(--border2);color:var(--text);padding:9px 12px;font-size:12px;letter-spacing:1px;cursor:pointer;font-family:'Inter',sans-serif;font-weight:600;}
.wl-bulk-btn:hover{border-color:var(--gold);color:var(--gold);}
.wl-bulk-btn-danger:hover{border-color:#e05555;color:#e05555;}
/* Кнопка "Хочу посмотреть" на странице фильма */
.fwl-btn{padding:10px 20px;background:transparent;color:var(--muted);border:1px solid var(--border2);font-size:10px;letter-spacing:2px;text-transform:uppercase;cursor:pointer;transition:all .2s;font-family:'Inter',sans-serif;}
.fwl-btn:hover{border-color:var(--gold);color:var(--gold);}
.fwl-btn.in-wl{background:rgba(168,124,31,.1);border-color:var(--gold);color:var(--gold);}
/* Секция "Смотрят друзья" в профиле */
.friends-watching{margin-bottom:24px;}
.fw-item{display:flex;align-items:center;gap:12px;padding:9px 0;border-bottom:1px solid var(--border);}
.fw-avatar{width:30px;height:30px;border-radius:50%;background:var(--gold);display:flex;align-items:center;justify-content:center;font-family:'Bebas Neue',sans-serif;font-size:11px;color:#000;flex-shrink:0;}
.fw-info{flex:1;}
.fw-name{font-size:12px;color:var(--text);font-weight:600;}
.fw-film{font-size:10px;color:var(--muted);}
.fw-time{font-size:9px;color:var(--dim);flex-shrink:0;}
:root[data-theme="light"] .friend-card{background:var(--card);}
:root[data-theme="light"] .friend-search-box{background:var(--card);}
:root[data-theme="light"] .friend-name{color:var(--text);}
:root[data-theme="light"] .wl-title{color:var(--text);}
:root[data-theme="light"] .fw-name{color:var(--text);}

/* ══ COMMON ══ */
.sec{padding:56px 36px;}
.sl{font-size:9px;letter-spacing:4px;text-transform:uppercase;color:var(--gold);margin-bottom:5px;}
.st{font-family:'Bebas Neue',sans-serif;font-size:36px;letter-spacing:3px;color:#fff;margin-bottom:28px;}
.row{display:flex;flex-wrap:nowrap;overflow-x:auto;gap:11px;padding-bottom:8px;scrollbar-width:thin;scrollbar-color:var(--border2) var(--bg);}
.row::-webkit-scrollbar{height:3px;}
.row::-webkit-scrollbar-thumb{background:var(--gold);border-radius:2px;}
/* .sk перенесён в main.css — shimmer-анимация */
/* ── Footer ── */
.site-footer{border-top:1px solid var(--border);margin-top:60px;background:var(--bg3);}
.footer-inner{display:flex;gap:48px;padding:44px 40px 32px;flex-wrap:wrap;}
.footer-brand{flex:0 0 220px;}
.footer-tagline{font-size:12px;letter-spacing:3px;text-transform:uppercase;color:var(--muted);margin:8px 0 6px;}
.footer-desc{font-size:12px;color:var(--dim);line-height:1.7;max-width:200px;}
.footer-socials{display:flex;gap:8px;margin-top:14px;}
.footer-social-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid var(--border2);color:var(--muted);font-size:14px;text-decoration:none;transition:all .2s;}
.footer-social-btn:hover{border-color:var(--gold);color:var(--gold);}
.footer-cols{display:flex;gap:48px;flex:1;flex-wrap:wrap;}
.footer-col{display:flex;flex-direction:column;gap:6px;}
.footer-col-h{font-family:'Bebas Neue',sans-serif;font-size:14px;letter-spacing:3px;color:var(--gold);margin-bottom:4px;}
.footer-link{background:none;border:none;color:var(--muted);font-size:12px;letter-spacing:1px;cursor:pointer;text-align:left;padding:2px 0;text-decoration:none;display:block;transition:color .2s;}
.footer-link:hover{color:var(--text);}
.footer-bottom{border-top:1px solid var(--border);padding:14px 40px;display:flex;justify-content:space-between;align-items:center;font-size:10px;color:var(--dim);letter-spacing:1px;}
.footer-lang-sw{display:flex;gap:8px;}
/* ── Language toggle ── */
.lang-sw{display:flex;gap:6px;align-items:center;margin-left:8px;}
.lang-btn{font-size:10px;letter-spacing:2px;cursor:pointer;padding:3px 7px;border:1px solid var(--border2);color:var(--dim);transition:all .2s;user-select:none;}
.lang-btn.on{border-color:var(--gold);color:var(--gold);}
.lang-btn:hover{border-color:var(--muted);color:var(--muted);}
/* ── Nav dropdown ── */
.nb-drop{position:relative;display:inline-block;}
.nb-drop-menu{position:absolute;top:calc(100% + 4px);left:0;background:var(--card2);border:1px solid var(--border2);border-top:2px solid var(--gold);min-width:160px;z-index:500;display:none;flex-direction:column;padding:6px 0;}
.nb-drop-menu.open{display:flex;}
.nb-drop-menu button{background:none;border:none;color:var(--muted);font-size:11px;letter-spacing:2px;text-transform:uppercase;padding:9px 16px;cursor:pointer;text-align:left;transition:all .2s;}
.nb-drop-menu button:hover{color:var(--gold);background:var(--bg3);}
footer:not(.site-footer){display:none;}

/* ══ HERO ══ */
.hero{height:100vh;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:0 24px;position:relative;overflow:hidden;}
.hero-bg{position:absolute;inset:0;background:radial-gradient(ellipse at 50% 55%,rgba(100,0,200,.16) 0%,transparent 68%);pointer-events:none;z-index:0;}
.hero > *:not(.hero-bg){position:relative;z-index:1;}
.hero-tag{font-size:10px;letter-spacing:5px;text-transform:uppercase;color:var(--gold);margin-bottom:16px;animation:heroFadeDown .9s ease both;}
.hero-tag.hr-vis{}
.hero h1{font-family:'Bebas Neue',sans-serif;font-size:clamp(80px,13vw,155px);letter-spacing:16px;line-height:.9;color:#fff;}
.hero h1 .eq{color:var(--gold);}
.hero p{margin-top:16px;font-size:14px;color:var(--muted);font-weight:300;max-width:400px;line-height:1.8;animation:heroFadeUp .9s .15s ease both;}
.hero p.hr-vis{}
.hero-ai-cta{margin-top:28px;padding:13px 36px;background:var(--gold);color:#000;border:none;font-family:'Bebas Neue',sans-serif;font-size:15px;letter-spacing:3px;cursor:pointer;transition:background .2s,transform .2s;animation:heroFadeUp .9s .3s ease both;}
.hero-ai-cta.hr-vis{}
.hero-ai-cta:hover{background:var(--gold2);transform:translateY(-2px);}
@keyframes heroFadeDown{from{opacity:0;transform:translateY(-18px);}to{opacity:1;transform:translateY(0);}}
@keyframes heroFadeUp{from{opacity:0;transform:translateY(22px);}to{opacity:1;transform:translateY(0);}}
/* scroll-reveal для секций */
.sr{opacity:0;transform:translateY(36px);transition:opacity .7s ease,transform .7s ease;}
.sr.sr-vis{opacity:1;transform:none;}
.hero-btns{display:flex;gap:12px;margin-top:28px;}
.hb1{padding:12px 32px;background:var(--gold);color:#000;border:none;font-size:10px;letter-spacing:3px;text-transform:uppercase;font-weight:700;cursor:pointer;transition:all .3s;}
.hb1:hover{background:var(--gold2);transform:translateY(-2px);}
.hb2{padding:12px 32px;background:transparent;color:var(--muted);border:1px solid var(--border2);font-size:10px;letter-spacing:3px;text-transform:uppercase;cursor:pointer;transition:all .3s;}
.hb2:hover{border-color:var(--gold);color:var(--gold);}

/* ══ MOVIE CARD ══ */
.mc{flex-shrink:0;width:165px;background:var(--card);border:1px solid var(--border);cursor:pointer;transition:border-color .3s,transform .32s;overflow:hidden;}
.mc:hover{border-color:var(--gold);transform:translateY(-8px);}
.mc img{width:165px;height:234px;object-fit:cover;display:block;transition:transform .4s;}
.mc:hover img{transform:scale(1.04);}
.mc-ph{width:165px;height:234px;display:flex;align-items:center;justify-content:center;font-size:38px;background:var(--card2);}
.mc-info{padding:10px;}
.mc-yr{font-size:9px;color:var(--gold);letter-spacing:2px;}
.mc-ttl{font-family:'Bebas Neue',sans-serif;font-size:13px;letter-spacing:1px;color:#fff;margin:2px 0;line-height:1.1;}
.mc-rat{font-size:9px;color:var(--muted);}
.mc-rat b{color:var(--gold);}
/* TV badge */
.mc-tv{position:absolute;top:8px;left:8px;background:rgba(201,168,76,.9);color:#000;font-size:7px;letter-spacing:1px;font-weight:700;padding:2px 6px;font-family:'Inter',sans-serif;}

/* ══ ACTOR CARD ══ */
.ac{flex-shrink:0;width:138px;background:var(--card);border:1px solid var(--border);cursor:pointer;transition:border-color .3s,transform .3s;}
.ac:hover{border-color:var(--gold);transform:translateY(-6px);}
.ac img{width:138px;height:184px;object-fit:cover;object-position:top;display:block;filter:grayscale(10%);transition:filter .3s;}
.ac:hover img{filter:grayscale(0%);}
.ac-ph{width:138px;height:184px;display:flex;align-items:center;justify-content:center;font-size:38px;background:var(--card2);}
.ac-n{font-family:'Bebas Neue',sans-serif;font-size:12px;letter-spacing:2px;color:#fff;padding:8px 8px 2px;}
.ac-d{font-size:9px;color:var(--dim);font-style:italic;padding:0 8px 8px;}

/* ══ FREE FILM CARD ══ */
.fc{flex-shrink:0;width:190px;cursor:pointer;transition:transform .32s;}
.fc:hover{transform:translateY(-9px);}
.fc-t{width:190px;height:268px;position:relative;overflow:hidden;border:1px solid var(--border);transition:border-color .3s;background:#050505;}
.fc:hover .fc-t{border-color:var(--gold);}
.fc-t img{width:100%;height:100%;object-fit:cover;display:block;filter:brightness(.85);transition:transform .5s,filter .3s;}
.fc:hover .fc-t img{transform:scale(1.05);filter:brightness(1);}
.fc-play{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,0);font-size:48px;color:rgba(255,255,255,0);transition:all .3s;z-index:2;}
.fc:hover .fc-play{background:rgba(0,0,0,.55);color:var(--gold);text-shadow:0 0 28px rgba(201,168,76,.8);}
.fc-grd{position:absolute;bottom:0;left:0;right:0;padding:26px 10px 7px;background:linear-gradient(to top,rgba(0,0,0,.85),transparent);z-index:1;}
.fc-grd-t{font-family:'Bebas Neue',sans-serif;font-size:11px;letter-spacing:2px;color:rgba(255,255,255,.4);}
.fc-info{padding:8px 0;}
.fc-badge{font-size:8px;letter-spacing:3px;text-transform:uppercase;color:var(--gold);margin-bottom:3px;}
.fc-title{font-family:'Bebas Neue',sans-serif;font-size:14px;letter-spacing:2px;color:#fff;margin-bottom:2px;}
.fc-meta{font-size:9px;color:var(--dim);}

/* ══ SHOP CARD (home) ══ */
.shc{flex-shrink:0;width:188px;background:var(--card);border:1px solid var(--border);cursor:pointer;transition:border-color .3s,transform .3s;position:relative;overflow:hidden;}
.shc:hover{border-color:var(--gold);transform:translateY(-5px);}
.shc-img{width:188px;height:188px;display:flex;align-items:center;justify-content:center;font-size:52px;}
.shc-info{padding:12px;}
.shc-tag{font-size:8px;letter-spacing:2px;text-transform:uppercase;color:var(--gold);margin-bottom:4px;}
.shc-name{font-size:12px;color:#ddd;margin-bottom:5px;line-height:1.3;}
.shc-price{font-family:'Bebas Neue',sans-serif;font-size:14px;color:var(--gold);}
.shc-add{position:absolute;top:8px;right:8px;width:26px;height:26px;background:var(--gold);color:#000;border:none;font-size:15px;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .3s;}
.shc:hover .shc-add{opacity:1;}

/* ══ FEAT ══ */
.feat{flex-shrink:0;width:210px;background:var(--bg3);border:1px solid var(--border);padding:22px 18px;transition:border-color .3s,transform .3s;}
.feat:hover{border-color:var(--gold);transform:translateY(-4px);}
.feat-ico{font-size:24px;margin-bottom:11px;display:block;}
.feat h3{font-family:'Bebas Neue',sans-serif;font-size:17px;letter-spacing:2px;color:#fff;margin-bottom:6px;}
.feat p{font-size:11px;color:var(--dim);line-height:1.6;}

/* ══ LOC ══ */
.loc-g{display:grid;grid-template-columns:1fr 1fr;gap:2px;}
.loc{background:var(--bg3);padding:28px;border:1px solid var(--border);position:relative;overflow:hidden;transition:border-color .3s;}
.loc:hover{border-color:var(--gold);}
.loc::before{content:'';position:absolute;top:0;left:0;width:3px;height:0;background:var(--gold);transition:height .4s;}
.loc:hover::before{height:100%;}
.loc-n{position:absolute;top:12px;right:12px;font-family:'Bebas Neue',sans-serif;font-size:42px;color:var(--bg2);}
.loc-ctr{font-size:9px;letter-spacing:3px;text-transform:uppercase;color:var(--gold);margin-bottom:4px;}
.loc-city{font-family:'Bebas Neue',sans-serif;font-size:28px;letter-spacing:3px;color:#fff;margin-bottom:7px;}
.loc-txt{font-size:11px;color:var(--dim);line-height:1.6;font-style:italic;}

/* ══ SUB ══ */
.sub{padding:72px 36px;text-align:center;background:var(--bg2);border-top:1px solid var(--border);}
.sub .st{margin-bottom:4px;}
.sub>p{color:var(--dim);font-size:13px;margin-bottom:38px;}
.plans{display:flex;gap:2px;max-width:780px;margin:0 auto;}
.plan{flex:1;background:var(--card);padding:28px 18px;border:1px solid var(--border);position:relative;text-align:left;transition:border-color .3s;}
.plan:hover,.plan.hot{border-color:var(--gold);}
.plan-badge{position:absolute;top:-1px;left:50%;transform:translateX(-50%);font-size:8px;letter-spacing:2px;background:var(--gold);color:#000;padding:3px 11px;white-space:nowrap;}
.plan-name{font-family:'Bebas Neue',sans-serif;font-size:20px;letter-spacing:3px;color:#fff;margin-bottom:10px;}
.plan-price{font-family:'Bebas Neue',sans-serif;font-size:40px;color:var(--gold);line-height:1;margin-bottom:14px;}
.plan-price span{font-size:12px;color:var(--dim);}
.plan-ul{list-style:none;margin-bottom:18px;}
.plan-ul li{font-size:11px;color:var(--muted);padding:5px 0;border-bottom:1px solid var(--border);}
.plan-ul li::before{content:'— ';color:var(--gold);}
.btn-g{width:100%;padding:9px;background:var(--gold);color:#000;border:none;cursor:pointer;font-size:9px;letter-spacing:3px;text-transform:uppercase;font-weight:700;transition:background .3s;}
.btn-g:hover{background:var(--gold2);}
.btn-o{width:100%;padding:9px;background:transparent;color:var(--muted);border:1px solid var(--border2);cursor:pointer;font-size:9px;letter-spacing:3px;text-transform:uppercase;transition:all .3s;}
.btn-o:hover{border-color:var(--gold);color:var(--gold);}

/* ══ FILM PAGE ══ */
.fhero{position:relative;height:78vh;overflow:hidden;display:flex;align-items:flex-end;}
.fhero-bg{position:absolute;inset:0;background-size:cover;background-position:center 22%;filter:brightness(.2) saturate(1.4);}
.fhero-grad{position:absolute;inset:0;background:linear-gradient(to top,var(--bg) 0%,rgba(8,0,16,.38) 48%,transparent 100%);}
.fhero-in{position:relative;z-index:2;display:flex;gap:32px;align-items:flex-end;padding:0 36px 44px;width:100%;}
#fposter img{width:182px;height:272px;object-fit:cover;display:block;border:1px solid var(--border2);box-shadow:0 22px 60px rgba(0,0,0,.96);}
#fposter .fph{width:182px;height:272px;background:var(--card2);display:flex;align-items:center;justify-content:center;font-size:48px;border:1px solid var(--border2);}
#fmeta{flex:1;}
.f-pills{display:flex;gap:5px;flex-wrap:wrap;margin-bottom:9px;}
.fpill{font-size:8px;letter-spacing:2px;text-transform:uppercase;padding:2px 9px;border:1px solid var(--border2);color:var(--muted);}
.ftitle{font-family:'Bebas Neue',sans-serif;font-size:clamp(42px,7vw,86px);letter-spacing:3px;color:#fff;line-height:.9;margin-bottom:7px;}
.ftagline{font-size:12px;color:var(--muted);font-style:italic;margin-bottom:14px;}
.fstats{display:flex;gap:20px;flex-wrap:wrap;margin-bottom:18px;}
.fsl{font-size:8px;letter-spacing:2px;text-transform:uppercase;color:var(--dim);margin-bottom:2px;}
.fsv{font-family:'Bebas Neue',sans-serif;font-size:16px;letter-spacing:2px;color:var(--gold);}
.fsv.sm{font-size:12px;color:#aaa;}
/* Плашка «Рейтинги» (IMDb + Кинопоиск + TMDB) — может вмещать до 3 чисел.
   Без max-width она ломает ряд .fstats на мобильном. */
#film-ratings{display:flex;align-items:center;flex-wrap:wrap;gap:4px;line-height:1.2;}
.fbtns{display:flex;gap:7px;flex-wrap:wrap;}
.fbw{padding:10px 24px;background:var(--gold);color:#000;border:none;font-size:10px;letter-spacing:3px;text-transform:uppercase;font-weight:700;cursor:pointer;transition:all .3s;}
.fbw:hover{background:var(--gold2);transform:translateY(-2px);}
.fbt{padding:10px 24px;background:transparent;color:var(--muted);border:1px solid var(--border2);font-size:10px;letter-spacing:3px;text-transform:uppercase;cursor:pointer;transition:all .3s;}
.fbt:hover{border-color:var(--gold);color:var(--gold);}
.fbody{max-width:1100px;margin:0 auto;padding:44px 36px;}
.fblock{margin-bottom:44px;}
.fbt-t{font-family:'Bebas Neue',sans-serif;font-size:22px;letter-spacing:3px;color:#fff;margin-bottom:3px;}
.fbt-l{width:28px;height:2px;background:var(--gold);margin-bottom:16px;}
.fov{font-size:13px;color:var(--muted);line-height:1.9;max-width:700px;font-weight:300;}
.det-g{display:grid;grid-template-columns:repeat(auto-fill,minmax(148px,1fr));gap:9px;}
.det{background:var(--bg3);border:1px solid var(--border);padding:13px;}
.det-l{font-size:8px;letter-spacing:2px;text-transform:uppercase;color:var(--dim);margin-bottom:4px;}
.det-v{font-size:12px;color:#ccc;font-weight:300;}
/* Season / Episode */
.stabs{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px;}
.stab{padding:5px 13px;background:var(--card);border:1px solid var(--border);color:var(--muted);font-size:10px;letter-spacing:2px;cursor:pointer;transition:all .2s;text-transform:uppercase;}
.stab.on,.stab:hover{background:var(--gold);color:#000;border-color:var(--gold);}
.ep-list{max-height:420px;overflow-y:auto;border:1px solid var(--border);}
.ep-item{display:flex;align-items:flex-start;gap:12px;padding:11px 14px;border-bottom:1px solid var(--border);cursor:pointer;transition:background .18s;}
.ep-item:hover{background:var(--bg3);}
.ep-item.ep-watched{opacity:.55;}
.ep-item.ep-watched .ep-num{color:var(--muted);}
.ep-item.ep-next{background:rgba(168,124,31,.07);border-left:3px solid var(--gold);padding-left:11px;}
.ep-item.ep-next .ep-num{color:var(--gold);font-weight:700;}
.ep-next-tag{display:inline-block;font-size:9px;font-weight:600;letter-spacing:1.5px;color:var(--gold);margin-left:6px;padding:1px 6px;border:1px solid var(--gold);border-radius:2px;vertical-align:middle;}
.ep-num{font-family:'Bebas Neue',sans-serif;font-size:20px;color:var(--gold);min-width:38px;line-height:1;}
.ep-title{font-size:12px;font-weight:600;margin-bottom:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.ep-meta{font-size:10px;color:var(--dim);}
.ep-desc{font-size:10px;color:var(--muted);margin-top:3px;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.ep-play{color:var(--gold);font-size:16px;padding-top:3px;flex-shrink:0;}
/* cast */
.cc{flex-shrink:0;width:112px;text-align:center;background:var(--card);border:1px solid var(--border);transition:border-color .3s,transform .3s;cursor:pointer;}
.cc:hover{border-color:var(--gold);transform:translateY(-4px);}
.cc img{width:112px;height:146px;object-fit:cover;object-position:top;display:block;filter:grayscale(10%);transition:filter .3s;}
.cc:hover img{filter:grayscale(0%);}
.cc-ph{width:112px;height:146px;background:var(--card2);display:flex;align-items:center;justify-content:center;font-size:28px;}
.cc-n{font-family:'Bebas Neue',sans-serif;font-size:10px;letter-spacing:1px;color:#fff;padding:5px 5px 2px;line-height:1.1;}
.cc-c{font-size:8px;color:var(--dim);font-style:italic;padding:0 5px 6px;}
/* Fade-in для секций при появлении */
.fblock-fadein{animation:fblockFade .4s ease;}
@keyframes fblockFade{
  from{opacity:0;transform:translateY(6px);}
  to{opacity:1;transform:translateY(0);}
}

/* Инфо-таблица актёра (Кинопоиск-стиль) */
.act-info-grid{display:flex;flex-direction:column;margin-top:18px;background:linear-gradient(180deg,rgba(255,255,255,.02) 0%,transparent 100%);}
.aig-row{display:grid;grid-template-columns:200px 1fr;gap:24px;padding:14px 0;border-bottom:1px solid var(--border);align-items:start;transition:background .2s;}
.aig-row:last-child{border-bottom:none;}
.aig-row:hover{background:rgba(255,255,255,.015);}
.aig-k{font-size:11px;letter-spacing:2.5px;color:var(--muted);text-transform:uppercase;font-weight:500;padding-top:2px;}
.aig-v{color:var(--text);font-size:15px;line-height:1.55;font-weight:400;}
.aig-v .aig-accent{color:var(--gold);font-weight:500;}
.aig-v .aig-sub{color:var(--muted);font-weight:400;margin-left:6px;font-size:13px;}
@media (max-width:640px){
  .aig-row{grid-template-columns:1fr;gap:4px;padding:10px 0;}
  .aig-k{font-size:10px;letter-spacing:2px;}
  .aig-v{font-size:14px;}
}

/* Галерея фото актёра — горизонтальный скролл (как .row с актёрами) */
.act-gallery-row{display:flex !important;flex-wrap:nowrap !important;gap:11px;overflow-x:auto;padding:14px 0 8px;scrollbar-width:thin;scrollbar-color:var(--border2) var(--bg);scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;}
.act-gallery-row::-webkit-scrollbar{height:6px;}
.act-gallery-row::-webkit-scrollbar-track{background:transparent;}
.act-gallery-row::-webkit-scrollbar-thumb{background:var(--border2);border-radius:3px;}
.act-gallery-row::-webkit-scrollbar-thumb:hover{background:var(--gold);}
.act-photo{flex:0 0 auto;width:138px;height:184px;cursor:pointer;overflow:hidden;border:1px solid var(--border);transition:border-color .25s,transform .25s;background:var(--card2);scroll-snap-align:start;}
.act-photo:hover{border-color:var(--gold);transform:translateY(-3px);box-shadow:0 8px 24px rgba(200,168,75,.15);}
.act-photo img{width:100%;height:100%;object-fit:cover;object-position:top;display:block;transition:transform .35s;filter:grayscale(10%);}
.act-photo:hover img{transform:scale(1.06);filter:grayscale(0%);}
@media (max-width:640px){
  .act-photo{width:118px;height:158px;}
}
/* Кнопка «Показать все фото» */
.act-gallery-more{margin-top:14px;background:var(--card);border:1px solid var(--border);color:var(--text);padding:11px 18px;font-size:11px;letter-spacing:2px;text-transform:uppercase;cursor:pointer;transition:border-color .2s,background .2s;font-family:inherit;}
.act-gallery-more:hover{border-color:var(--gold);background:rgba(200,168,75,.08);}

/* Награды */
.awards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:10px;margin-top:14px;}
.award-card{background:var(--card);border:1px solid var(--border);padding:14px 16px;display:flex;align-items:center;gap:14px;transition:border-color .25s,transform .25s;cursor:default;}
.award-card.award-won{border-left:3px solid var(--gold);}
.award-card:hover{border-color:var(--gold);transform:translateY(-2px);}
.award-icon{font-size:30px;flex-shrink:0;filter:saturate(1.1);}
.award-text{flex:1;min-width:0;}
.award-name{font-size:13px;color:var(--text);letter-spacing:.5px;font-weight:500;}
.award-meta{font-size:11px;color:var(--muted);margin-top:3px;letter-spacing:.5px;}
.award-status{font-size:9px;letter-spacing:1.5px;text-transform:uppercase;color:var(--gold);font-weight:600;margin-top:5px;}
.award-status.lost{color:var(--muted);}
@media (max-width:640px){
  .awards-grid{grid-template-columns:1fr;}
  .award-card{padding:12px 14px;}
}

/* Интересные факты */
.facts-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px;margin-top:14px;}
.fact-card{background:linear-gradient(135deg,rgba(200,168,75,.05) 0%,rgba(200,168,75,.01) 100%);border:1px solid var(--border);padding:18px 18px 16px;position:relative;overflow:hidden;transition:border-color .25s,transform .25s;}
.fact-card:hover{border-color:var(--gold);transform:translateY(-2px);}
.fact-card::before{content:'💡';position:absolute;top:14px;right:16px;font-size:18px;opacity:.7;}
.fact-card-label{font-size:9px;letter-spacing:2.5px;color:var(--gold);text-transform:uppercase;font-weight:600;margin-bottom:8px;}
.fact-card-text{font-size:13px;color:var(--text);line-height:1.6;padding-right:24px;}

/* Скелетоны при загрузке */
.act-loading-skel{display:flex;flex-direction:column;gap:14px;}
.skel-line{height:14px;background:linear-gradient(90deg,var(--card) 0%,var(--card2) 50%,var(--card) 100%);background-size:200% 100%;animation:skelShimmer 1.4s infinite;}
.skel-line.s-short{width:40%;}
.skel-line.s-mid{width:65%;}
@keyframes skelShimmer{
  0%{background-position:200% 0;}
  100%{background-position:-200% 0;}
}

/* Lightbox */
.img-lightbox{position:fixed;inset:0;background:rgba(0,0,0,.94);z-index:9999;display:flex;align-items:center;justify-content:center;padding:24px;animation:lbFade .25s ease;}
@keyframes lbFade{from{opacity:0;}to{opacity:1;}}
.img-lightbox img{max-width:96vw;max-height:92vh;object-fit:contain;border:1px solid var(--border2);box-shadow:0 8px 40px rgba(0,0,0,.6);}
.ilb-close{position:fixed;top:18px;right:22px;background:rgba(0,0,0,.6);border:1px solid var(--border2);color:#fff;font-size:18px;width:38px;height:38px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:border-color .2s,background .2s;}
.ilb-close:hover{border-color:var(--gold);background:rgba(200,168,75,.15);}

/* Вкладки фильмографии */
.act-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0 12px;}
.act-tab{background:var(--card);border:1px solid var(--border);color:var(--muted);font-size:11px;letter-spacing:1.5px;text-transform:uppercase;padding:8px 14px;cursor:pointer;display:flex;align-items:center;gap:6px;transition:all .2s;font-family:inherit;}
.act-tab:hover{border-color:var(--gold);color:var(--text);}
.act-tab.on{background:#fff;color:#000;border-color:#fff;}
.act-tab.on .act-tab-n{background:rgba(0,0,0,.15);color:#000;}
.act-tab-n{background:rgba(255,255,255,.08);color:var(--muted);font-size:10px;padding:2px 7px;border-radius:8px;font-weight:600;}
@media (max-width:640px){
  .act-tab{font-size:10px;padding:7px 11px;}
}
#act-films-row{transition:opacity .12s ease;}

/* crew (создатели) */
.crew-block{padding-top:8px;}
/* «Продолжить смотреть» — кнопка убрать на карточке */
.cw-card{position:relative;}
.cw-card .cw-remove{position:absolute;top:6px;right:6px;background:rgba(0,0,0,.65);color:#fff;border:none;width:24px;height:24px;border-radius:50%;font-size:12px;cursor:pointer;display:none;align-items:center;justify-content:center;transition:background .2s;z-index:2;line-height:1;}
.cw-card:hover .cw-remove{display:flex;}
.cw-card .cw-remove:hover{background:#c44;}
.cw-card .mc-yr{color:var(--gold);font-weight:500;}
.crew-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px 32px;margin-top:14px;}
.crew-row{display:flex;flex-direction:column;gap:4px;padding:8px 0;border-bottom:1px solid var(--border);}
.crew-row:last-child{border-bottom:none;}
.crew-role{font-size:10px;letter-spacing:2px;color:var(--muted);text-transform:uppercase;}
.crew-people{display:flex;flex-wrap:wrap;gap:6px 12px;}
.crew-person{color:var(--text);font-size:13px;cursor:pointer;transition:color .2s;border-bottom:1px dotted var(--border2);padding-bottom:1px;}
.crew-person:hover{color:var(--gold);border-bottom-color:var(--gold);}
@media (max-width:640px){
  .crew-grid{grid-template-columns:1fr;gap:8px 0;}
  .crew-role{font-size:9px;}
  .crew-person{font-size:12px;}
}
/* SoundCloud */
.sc-wrap{background:var(--card);border:1px solid var(--border);overflow:hidden;border-radius:2px;}
/* similar */
.smc{flex-shrink:0;width:128px;background:var(--card);border:1px solid var(--border);cursor:pointer;transition:border-color .3s,transform .3s;}
.smc:hover{border-color:var(--gold);transform:translateY(-4px);}
.smc img{width:128px;height:180px;object-fit:cover;display:block;}
.smc-ph{width:128px;height:180px;display:flex;align-items:center;justify-content:center;font-size:28px;background:var(--card2);}
.smc-info{padding:7px;}
.smc-t{font-family:'Bebas Neue',sans-serif;font-size:11px;letter-spacing:1px;color:#fff;line-height:1.1;}
.smc-y{font-size:9px;color:var(--gold);margin-top:2px;}

/* ══ ACTOR PAGE ══ */
.ahero{position:relative;height:66vh;overflow:hidden;display:flex;align-items:flex-end;}
.ahero-bg{position:absolute;inset:0;background-size:cover;background-position:center 12%;filter:brightness(.16) saturate(1.2);}
.ahero-grad{position:absolute;inset:0;background:linear-gradient(to top,var(--bg) 0%,transparent 58%);}
.ahero-in{position:relative;z-index:2;display:flex;gap:32px;align-items:flex-end;padding:0 36px 40px;width:100%;}
#actor-photo img{width:168px;height:224px;object-fit:cover;object-position:top;display:block;border:1px solid var(--border2);box-shadow:0 18px 56px rgba(0,0,0,.96);}
#actor-photo .aph{width:168px;height:224px;background:var(--card2);display:flex;align-items:center;justify-content:center;font-size:48px;border:1px solid var(--border2);}
#actor-meta{flex:1;}
.an-dept{font-size:9px;letter-spacing:3px;text-transform:uppercase;color:var(--gold);margin-bottom:7px;}
.an-name{font-family:'Bebas Neue',sans-serif;font-size:clamp(44px,6vw,78px);letter-spacing:3px;color:#fff;line-height:.9;margin-bottom:7px;}
.an-stats{display:flex;gap:18px;flex-wrap:wrap;margin-bottom:14px;}
.asl{font-size:8px;letter-spacing:2px;text-transform:uppercase;color:var(--dim);margin-bottom:2px;}
.asv{font-family:'Bebas Neue',sans-serif;font-size:16px;letter-spacing:2px;color:var(--gold);}
.asv.sm{font-size:12px;color:#aaa;}
.asocs{display:flex;gap:6px;margin-top:10px;flex-wrap:wrap;}
.asoc{font-size:9px;padding:4px 10px;border:1px solid var(--border2);color:var(--muted);cursor:pointer;transition:all .2s;}
.asoc:hover{border-color:var(--gold);color:var(--gold);}

/* ══ MOVIES PAGE ══ */
.mg{display:grid;grid-template-columns:repeat(auto-fill,minmax(165px,1fr));gap:11px;margin-top:24px;}
.sort-tabs{display:flex;gap:0;margin-bottom:18px;border-bottom:1px solid var(--border2);}
.sort-tab{padding:8px 20px;background:transparent;border:none;border-bottom:2px solid transparent;color:var(--muted);font-size:10px;letter-spacing:3px;text-transform:uppercase;cursor:pointer;font-family:'Bebas Neue',sans-serif;font-size:14px;transition:all .2s;margin-bottom:-1px;}
.sort-tab:hover{color:#fff;}
.sort-tab.on{color:var(--gold);border-bottom-color:var(--gold);}
.gf-wrap{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:20px;}
.gf{padding:5px 14px;background:transparent;border:1px solid var(--border2);color:var(--muted);font-size:9px;letter-spacing:2px;text-transform:uppercase;cursor:pointer;transition:all .2s;font-family:'Inter',sans-serif;}
.cat-filter{width:100%;max-width:380px;padding:9px 14px;margin:0 0 18px;background:var(--card,#141414);border:1px solid var(--border2);color:var(--text);font-size:13px;font-family:'Inter',sans-serif;outline:none;transition:border-color .2s;}
.cat-filter:focus{border-color:var(--gold);}
.cat-filter::placeholder{color:var(--dim);}
.cat-filter-note{padding:20px 0 8px;text-align:center;font-size:11px;letter-spacing:1px;color:var(--dim);}
.pagination{display:flex;align-items:center;justify-content:center;gap:6px;padding:36px 0 16px;flex-wrap:wrap;}
.pg-btn{min-width:36px;height:36px;padding:0 10px;background:transparent;border:1px solid var(--border2);color:var(--muted);font-size:12px;letter-spacing:1px;cursor:pointer;transition:all .2s;font-family:'Inter',sans-serif;}
.pg-btn:hover{border-color:var(--gold);color:var(--gold);}
.pg-btn.on{background:var(--gold);color:#000;border-color:var(--gold);font-weight:700;}
.pg-btn:disabled{opacity:.3;cursor:default;}
.pg-info{font-size:11px;color:var(--dim);letter-spacing:1px;padding:0 8px;}
.gf:hover,.gf.on{border-color:var(--gold);color:var(--gold);background:rgba(201,168,76,.06);}

/* ══ TV PAGE ══ */
.tv-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(165px,1fr));gap:11px;margin-top:24px;}

/* ══ MUSIC PAGE ══ */
.alb-g{display:grid;grid-template-columns:repeat(auto-fill,minmax(188px,1fr));gap:14px;margin-top:28px;}
.mu-track{display:flex;align-items:center;gap:12px;padding:10px 12px;border-bottom:1px solid var(--border);cursor:pointer;transition:background .15s;}
.mu-track:hover,.mu-track.active{background:var(--card);}
.mu-track.active .mu-track-num{color:var(--gold);}
.mu-track-num{width:28px;text-align:center;font-size:11px;color:var(--muted);flex-shrink:0;}
.mu-track-thumb{width:56px;height:42px;object-fit:cover;flex-shrink:0;background:var(--card2);}
.mu-track-info{flex:1;min-width:0;}
.mu-track-name{font-size:12px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.mu-track-play{width:28px;text-align:center;font-size:16px;color:var(--muted);flex-shrink:0;}
.alb{background:var(--card);border:1px solid var(--border);cursor:pointer;transition:border-color .3s,transform .3s;overflow:hidden;}
.alb:hover{border-color:var(--gold);transform:translateY(-5px);}
.alb-cover{width:100%;aspect-ratio:1;display:flex;align-items:center;justify-content:center;font-size:52px;background:var(--card2);}
.alb-info{padding:13px;}
.alb-title{font-family:'Bebas Neue',sans-serif;font-size:15px;letter-spacing:2px;color:#fff;margin-bottom:3px;}
.alb-artist{font-size:11px;color:var(--muted);}
.alb-year{font-size:9px;color:var(--gold);margin-top:3px;}
.sc-main{background:var(--card);border:1px solid var(--border);border-radius:2px;margin-bottom:36px;overflow:hidden;}

/* ══ SHOP PAGE ══ */
.shop-g{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px;margin-top:24px;}
.si{background:var(--card);border:1px solid var(--border);cursor:pointer;transition:border-color .3s,transform .3s;position:relative;overflow:hidden;}
.si:hover{border-color:var(--gold);transform:translateY(-5px);}
.si-img{width:100%;aspect-ratio:1;display:flex;align-items:center;justify-content:center;font-size:58px;}
.si-info{padding:13px;}
.si-cat{font-size:8px;letter-spacing:2px;text-transform:uppercase;color:var(--gold);margin-bottom:4px;}
.si-name{font-size:13px;color:#ddd;margin-bottom:5px;line-height:1.3;}
.si-price{font-family:'Bebas Neue',sans-serif;font-size:15px;color:var(--gold);}
.si-film{font-size:9px;color:var(--dim);margin-top:3px;}
.si-add{position:absolute;top:9px;right:9px;width:28px;height:28px;background:var(--gold);color:#000;border:none;font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .3s;}
.si:hover .si-add{opacity:1;}
.sf-wrap{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:22px;}
.sf{padding:5px 14px;background:transparent;border:1px solid var(--border2);color:var(--muted);font-size:9px;letter-spacing:2px;text-transform:uppercase;cursor:pointer;transition:all .2s;font-family:'Inter',sans-serif;}
.sf:hover,.sf.on{border-color:var(--gold);color:var(--gold);background:rgba(201,168,76,.06);}

/* ══ PLAYER ══ */
/* ═══ PLAYER — Kinopoisk-style ════════════════════════════ */
#pov{position:fixed;inset:0;background:#000;z-index:9999;display:none;flex-direction:column;}
#pov.open{display:flex !important;}
/* Подсказка «не воспроизводится — смени источник» */
#p-source-hint{position:absolute;bottom:60px;left:50%;transform:translateX(-50%);z-index:100;max-width:92%;animation:hintSlideUp .4s ease;pointer-events:auto;}
@keyframes hintSlideUp{from{opacity:0;transform:translateX(-50%) translateY(20px);}to{opacity:1;transform:translateX(-50%) translateY(0);}}
.psh-card{display:flex;align-items:center;gap:14px;background:rgba(20,20,30,.96);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--gold);box-shadow:0 8px 32px rgba(0,0,0,.6),0 0 0 4px rgba(168,124,31,.15);padding:14px 18px;border-radius:4px;position:relative;}
.psh-icon{font-size:24px;flex-shrink:0;animation:hintPulse 1.6s ease infinite;}
@keyframes hintPulse{0%,100%{transform:scale(1);}50%{transform:scale(1.15);}}
.psh-text{flex:1;min-width:0;}
.psh-title{font-size:13px;color:#fff;font-weight:600;margin-bottom:2px;}
.psh-sub{font-size:11px;color:rgba(255,255,255,.65);}
.psh-btn{background:var(--gold);color:#000;border:none;padding:8px 16px;font-size:11px;letter-spacing:1px;font-weight:600;cursor:pointer;text-transform:uppercase;font-family:inherit;flex-shrink:0;border-radius:2px;transition:opacity .2s;}
.psh-btn:hover{opacity:.85;}
.psh-close{background:none;border:none;color:rgba(255,255,255,.5);font-size:14px;cursor:pointer;padding:4px 8px;flex-shrink:0;}
.psh-close:hover{color:#fff;}
@media (max-width:640px){
  #p-source-hint{bottom:80px;}
  .psh-card{padding:10px 12px;gap:10px;}
  .psh-icon{font-size:20px;}
  .psh-title{font-size:12px;}
  .psh-sub{font-size:10px;}
  .psh-btn{padding:7px 12px;font-size:10px;}
}
/* Top bar */
#ptopbar{display:flex;align-items:center;gap:12px;padding:0 20px;height:52px;background:linear-gradient(to bottom,rgba(0,0,0,.85) 0%,transparent 100%);position:absolute;top:0;left:0;right:0;z-index:20;flex-shrink:0;}
#ptopbar .pt-logo{font-size:9px;letter-spacing:4px;color:var(--gold);font-family:'Bebas Neue',sans-serif;white-space:nowrap;}
#ptopbar .pt-sep{width:1px;height:16px;background:rgba(255,255,255,.15);}
#ptitle{font-family:'Bebas Neue',sans-serif;font-size:16px;letter-spacing:3px;color:rgba(255,255,255,.85);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
#pclose{margin-left:auto;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:rgba(255,255,255,.1);border:none;color:#fff;font-size:18px;cursor:pointer;transition:all .2s;flex-shrink:0;}
#pclose:hover{background:rgba(255,255,255,.22);color:var(--gold);}
/* Video area */
#pwrap{flex:1;position:relative;background:#000;overflow:hidden;}
#pwrap iframe,#pwrap video{position:absolute;inset:0;width:100%;height:100%;border:none;object-fit:contain;}
/* Маскируем верхнюю полосу iframe — там обычно рендерятся рекламные баннеры Alloha */
#pov.iframe-mode #pwrap::before{
  content:'';
  position:absolute;
  top:0;left:0;right:0;
  height:52px;
  z-index:6;
  background:linear-gradient(to bottom,#000 0%,rgba(0,0,0,.6) 70%,transparent 100%);
  pointer-events:none;
}
/* Bottom control bar */
#pbar{display:none;align-items:center;gap:8px;padding:0 16px;height:48px;background:linear-gradient(to top,rgba(0,0,0,.92) 0%,transparent 100%);position:absolute;bottom:0;left:0;right:0;z-index:20;}
#plang{display:none;} /* legacy — hidden, controls moved to pbar */
/* Lang buttons */
.p-lang-btn{padding:4px 12px;border:1px solid rgba(255,255,255,.2);background:transparent;color:rgba(255,255,255,.55);font-size:9px;letter-spacing:2px;cursor:pointer;transition:all .2s;font-family:'Inter',sans-serif;white-space:nowrap;border-radius:2px;}
.p-lang-btn.active{background:var(--gold);color:#000;border-color:var(--gold);}
.p-lang-btn:hover:not(.active){border-color:rgba(255,255,255,.5);color:#fff;}
/* Source dropdown */
#p-src-wrap{position:relative;}
#p-src-btn{padding:4px 10px;border:1px solid rgba(255,255,255,.15);background:rgba(255,255,255,.06);color:rgba(255,255,255,.5);font-size:9px;letter-spacing:2px;cursor:pointer;font-family:'Inter',sans-serif;border-radius:2px;white-space:nowrap;display:flex;align-items:center;gap:5px;transition:all .2s;}
#p-src-btn:hover{border-color:rgba(255,255,255,.3);color:#fff;}
#p-src-btn.has-dubs{border-color:var(--gold);color:var(--gold);background:rgba(212,175,55,.12);}
#p-src-menu{display:none;position:absolute;bottom:38px;left:0;background:#141414;border:1px solid #2a2a2a;border-radius:4px;min-width:150px;overflow:hidden;box-shadow:0 -8px 24px rgba(0,0,0,.6);}
#p-src-menu.open{display:block;}
.p-src-item{padding:9px 14px;font-size:10px;letter-spacing:1px;color:#aaa;cursor:pointer;transition:background .15s;white-space:nowrap;border-bottom:1px solid #1e1e1e;}
.p-src-item:last-child{border-bottom:none;}
.p-src-item:hover{background:#1e1e1e;color:#fff;}
.p-src-item.active{color:var(--gold);}
/* Quality button */
#pqsel{position:relative;}
#pqbtn{padding:4px 10px;border:1px solid rgba(255,255,255,.15);background:rgba(255,255,255,.06);color:rgba(255,255,255,.5);font-size:9px;letter-spacing:2px;cursor:pointer;font-family:'Inter',sans-serif;border-radius:2px;}
#pqbtn:hover{border-color:rgba(255,255,255,.3);color:#fff;}
#pqmenu{display:none;position:absolute;bottom:34px;right:0;background:#141414;border:1px solid #2a2a2a;border-radius:4px;overflow:hidden;min-width:100px;box-shadow:0 -8px 24px rgba(0,0,0,.6);}
#pqmenu.open{display:block;}
.pq-item{padding:8px 14px;font-size:10px;letter-spacing:1px;color:#aaa;cursor:pointer;border-bottom:1px solid #1e1e1e;white-space:nowrap;}
.pq-item:last-child{border-bottom:none;}
.pq-item:hover{background:#1e1e1e;color:#fff;}
.pq-item.active{color:var(--gold);}
#p-spacer{flex:1;}
/* iframe-mode: bar sits BELOW the iframe, not overlaying it */
#pov.iframe-mode #ptopbar{display:none;}
#pov.iframe-mode #pbar{position:relative;bottom:auto;left:auto;right:auto;background:#0d0d0d;border-top:1px solid #1e1e1e;flex-shrink:0;}
#pov.iframe-mode #pru,#pov.iframe-mode #pen,#pov.iframe-mode #p-seek,#pov.iframe-mode #p-seek-sep{display:none!important;}
#pov.iframe-mode #pqsel{display:none!important;}
#pov.iframe-mode #p-esc{display:none;}
#p-esc{font-size:9px;color:rgba(255,255,255,.2);letter-spacing:2px;white-space:nowrap;}
#pbadge{display:none;}
#pnote{display:none;}
/* Seek / playback controls */
#p-seek{display:none;align-items:center;gap:8px;flex:1;}
.p-skip{background:none;border:none;color:rgba(255,255,255,.55);font-size:11px;cursor:pointer;padding:2px 6px;transition:color .15s;white-space:nowrap;}
.p-skip:hover{color:#fff;}
#p-play-btn{background:none;border:none;color:#fff;font-size:15px;cursor:pointer;padding:2px 6px;width:28px;text-align:center;transition:color .15s;}
#p-play-btn:hover{color:var(--gold);}
#p-prog-wrap{flex:1;height:4px;background:rgba(255,255,255,.15);border-radius:2px;cursor:pointer;position:relative;min-width:60px;}
#p-prog-wrap:hover{height:6px;margin-top:-1px;}
#p-prog-fill{height:100%;background:var(--gold);border-radius:2px;width:0%;pointer-events:none;transition:width .1s linear;}
#p-prog-wrap:hover #p-prog-fill{background:#e8c55a;}
#p-time{font-size:9px;color:rgba(255,255,255,.4);letter-spacing:1px;white-space:nowrap;min-width:90px;text-align:right;}
#p-vol-btn{background:none;border:none;color:rgba(255,255,255,.5);font-size:13px;cursor:pointer;padding:2px 4px;}
#p-vol-btn:hover{color:#fff;}
#bar{position:fixed;top:0;left:0;height:2px;background:var(--gold);width:0%;transition:width .3s ease;z-index:9999;}
@keyframes fadeUp{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}

/* ═══════════════════════════════════════════════════════
   МОБИЛЬНАЯ ВЕРСИЯ — срабатывает только на экранах ≤768px
   Десктоп и ноутбук НЕ затрагиваются этими правилами.
═══════════════════════════════════════════════════════ */
@media (max-width: 768px){
  /* Header — компактнее и с меню-бургером */
  header{padding:0 12px;height:58px;gap:8px;flex-wrap:wrap;}
  .logo{font-size:18px;letter-spacing:4px;}
  .hsearch{order:3;flex-basis:100%;max-width:none;margin:-4px 0 6px;}
  .hsearch input{font-size:13px;padding:7px 32px 7px 12px;}
  .hsico{font-size:13px;right:10px;}

  /* Основная навигация скрыта, включается кнопкой */
  nav{display:none;position:fixed;top:58px;left:0;right:0;
    background:var(--card2);border-bottom:1px solid var(--border2);
    padding:8px;flex-direction:column;gap:2px;z-index:800;
    max-height:calc(100vh - 58px);overflow-y:auto;}
  nav.mobile-open{display:flex;}
  .nb{width:100%;padding:12px;font-size:12px;text-align:left;}

  #mobile-menu-btn{display:flex !important;order:2;margin-left:auto;}
  .desktop-only{display:none !important;}
  .mobile-only-nav{display:flex !important;}
  /* На мобиле в шапке только: лого, бургер, корзина, профиль (иконка) */
  .auth-btn{padding:8px 10px !important;font-size:0 !important;}
  .auth-btn #auth-header-ico{font-size:15px;}
  .auth-btn #auth-header-txt{display:none;}
  .auth-btn img{margin-right:0 !important;}
  /* Корзина и колокольчик чуть компактнее */
  .cart-header-btn,.notif-btn{padding:8px 9px !important;font-size:15px;min-height:38px;}

  /* Страницы */
  .page{padding-top:58px;}
  .sec{padding:28px 14px;}
  .st{font-size:24px;letter-spacing:2px;margin-bottom:16px;}
  .sl{font-size:9px;letter-spacing:2px;}

  /* Hero */
  .hero{height:auto;min-height:72vh;padding:40px 16px 32px;}
  .hero h1{font-size:52px;letter-spacing:6px;}
  .hero p{font-size:13px;max-width:100%;}
.hero-btns{flex-direction:column;width:100%;max-width:260px;gap:8px;}
  .hero-btns button,.hb1,.hb2{width:100%;}

  /* Карточки в горизонтальных лентах */
  .mc, .mc img{width:130px;}
  .mc img,.mc-ph{height:185px;}
  .mc-info{padding:7px;}
  .mc-ttl{font-size:11px;letter-spacing:0.5px;}
  .mc-yr,.mc-rat{font-size:8px;}

  .ac, .ac img, .ac-ph{width:115px;}
  .ac img, .ac-ph{height:152px;}
  .ac-n{font-size:10px;letter-spacing:1px;padding:6px 6px 1px;}
  .ac-d{font-size:8px;padding:0 6px 6px;}

  .fc, .fc-t{width:150px;}
  .fc-t{height:212px;}
  .fc-title{font-size:12px;letter-spacing:1px;}
  .fc-meta{font-size:8px;}
  .fc-grd-t{font-size:10px;}

  .shc, .shc-img{width:150px;}
  .shc-img{height:150px;font-size:40px;}
  .shc-name{font-size:11px;}
  .shc-price{font-size:13px;}

  .feat{width:165px;padding:16px 13px;}
  .feat h3{font-size:16px;}
  .feat p{font-size:10px;}
  .feat-ico{font-size:22px;}

  /* Локации в одну колонку */
  .loc-g{grid-template-columns:1fr;}
  .loc{padding:22px;}
  .loc-city{font-size:26px;}

  /* Подписка — стопкой */
  .plans{flex-direction:column;gap:2px;}
  .sub{padding:36px 14px;}

  /* Сетки каталогов — 2 колонки */
  .mg, .tv-grid{grid-template-columns:repeat(2,1fr);gap:8px;margin-top:18px;}
  .alb-g{grid-template-columns:repeat(2,1fr);gap:10px;margin-top:18px;}
  .shop-g{grid-template-columns:repeat(2,1fr);gap:8px;margin-top:18px;}

  /* Жанровые фильтры — более компактные */
  .gf-wrap, .sf-wrap, .tv-gf-wrap{gap:5px;margin-bottom:14px;}
  .gf, .sf{padding:5px 10px;font-size:8px;letter-spacing:1px;}

  /* Страница фильма — постер и текст вертикально */
  .fhero{height:auto;min-height:auto;padding-top:14px;padding-bottom:20px;}
  .fhero-in{flex-direction:column;align-items:center;text-align:center;gap:16px;padding:0 14px 24px;}
  #fposter img, #fposter .fph{width:150px;height:225px;margin:0 auto;}
  .ftitle{font-size:30px;letter-spacing:2px;text-align:center;}
  .f-pills{justify-content:center;}
  .fstats{gap:14px;justify-content:center;}
  .fsv{font-size:14px;}
  .fbtns{justify-content:center;flex-wrap:wrap;}
  .fbw, .fbt{padding:9px 18px;font-size:9px;letter-spacing:2px;}
  .fbody{padding:24px 14px;}
  .fblock{margin-bottom:28px;}
  .fbt-t{font-size:20px;}
  .fov{font-size:12px;line-height:1.7;}
  .det-g{grid-template-columns:repeat(2,1fr);gap:7px;}
  .det{padding:11px;}
  .det-v{font-size:11px;}

  /* Актёры на странице фильма */
  .cc, .cc img, .cc-ph{width:95px;}
  .cc img, .cc-ph{height:124px;}

  /* Похожие */
  .smc, .smc img, .smc-ph{width:110px;}
  .smc img, .smc-ph{height:156px;}

  /* Страница актёра */
  .ahero{height:auto;min-height:auto;padding-top:14px;}
  .ahero-in{flex-direction:column;align-items:center;text-align:center;gap:16px;padding:0 14px 24px;}
  #actor-photo img, #actor-photo .aph{width:140px;height:186px;}
  .an-name{font-size:28px;letter-spacing:2px;}
  .an-stats{justify-content:center;gap:14px;}
  .asocs{justify-content:center;}

  /* Плеер — на всю ширину */
  #pov{padding:8px;}
  #pwrap{max-width:100%;width:100%;}
  #ptitle{font-size:13px;letter-spacing:2px;padding:0 30px;}
  #pclose{top:6px;right:10px;font-size:22px;}
  #pbadge{font-size:7px;}

  footer{flex-direction:column;gap:10px;padding:18px 14px;text-align:center;}
  .footer-inner{flex-direction:column;gap:28px;padding:28px 20px 20px;}
  .footer-brand{flex:none;}
  .footer-cols{gap:24px;}
  .footer-bottom{flex-direction:column;gap:8px;padding:12px 20px;text-align:center;}
  .lang-sw{display:none;}

  /* Safe area для iPhone X+ + защита от horizontal overflow.
     Юзер: «полоска справа задолбала» — она вылезала когда какой-то
     блок (mood-row, chips, ai-form) превышал viewport на пару пикселей,
     и Safari рисовал тонкий призрачный scrollbar или контурную линию.
     Защиту делаем тройную:
     1. overflow-x:clip на html/body/#app — гасит горизонтальный скролл
     2. ::-webkit-scrollbar{display:none} — убираем кастомный scrollbar
     3. на КОНКРЕТНЫХ блоках hero/mood ставим max-width:100% (не *!) —
        чтобы не было overflow-box артефакта на pseudo-элементах */
  html,body,#app{overflow-x:clip;max-width:100vw;width:100%;}
  html::-webkit-scrollbar,body::-webkit-scrollbar{display:none;width:0;height:0;}
  html,body{scrollbar-width:none;-ms-overflow-style:none;}
  /* Точечная защита для главной страницы — потенциальные источники overflow */
  #page-home, #page-home > section, #page-home .hero, #page-home .home-mood-section,
  #page-home .home-ai-form, #page-home .home-mood-row, #page-home .home-ai-chips{
    max-width:100%;
    box-sizing:border-box;
  }

  /* На мобиле кастомные scrollbar (золотые тонкие) у горизонтальных каруселей
     иногда рисуют тонкую полоску справа — глушим, оставляем нативный iOS overscroll. */
  .row, .row::-webkit-scrollbar,
  .act-gallery-row, .act-gallery-row::-webkit-scrollbar,
  .home-ai-chips, .home-ai-chips::-webkit-scrollbar{
    scrollbar-width:none !important;
  }
  .row::-webkit-scrollbar,
  .act-gallery-row::-webkit-scrollbar,
  .home-ai-chips::-webkit-scrollbar{
    display:none !important;
    width:0 !important;
    height:0 !important;
  }
  header{
    padding-top:env(safe-area-inset-top);
    padding-left:max(12px,env(safe-area-inset-left));
    padding-right:max(12px,env(safe-area-inset-right));
    height:calc(58px + env(safe-area-inset-top));
    box-sizing:border-box;
  }
  .page{padding-top:calc(58px + env(safe-area-inset-top));padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right);box-sizing:border-box;}
  footer,.footer-inner{padding-bottom:calc(20px + env(safe-area-inset-bottom));}
  /* Row с горизонтальным скроллом — обрезаем края чтобы не выскакивали */
  .row{max-width:100vw;}

  /* Большие тач-таргеты везде */
  button,.nb,.btn-g,.btn-line,.sf,.gf{min-height:40px;}
  .footer-link{padding:10px 0;display:block;font-size:13px;}

  /* Inputs не зумят на iOS */
  input[type=text],input[type=email],input[type=password],input[type=search],input[type=tel],input[type=number],textarea,select{font-size:16px !important;}

  /* Поделиться-меню — снизу как iOS sheet */
  .share-menu{align-items:flex-end !important;padding:0 !important;}
  .share-menu-box{border-radius:14px 14px 0 0 !important;width:100% !important;max-width:100% !important;padding:18px 16px calc(20px + env(safe-area-inset-bottom)) !important;animation:slideUpSheet .3s ease;}
  @keyframes slideUpSheet{from{transform:translateY(100%);}to{transform:translateY(0);}}

  /* Лайтбокс фото — fullscreen */
  .img-lightbox{padding:env(safe-area-inset-top) 8px env(safe-area-inset-bottom);}
  .ilb-close{top:calc(12px + env(safe-area-inset-top));right:14px;}

  /* Модалки подборок — fullscreen на мобиле */
  .scoll-modal{padding:0;}
  .scoll-modal-box{width:100%;height:100vh;max-height:100vh;border:none;border-top:none;border-radius:0;padding-bottom:calc(40px + env(safe-area-inset-bottom));}
  .scoll-hero{padding-top:calc(46px + env(safe-area-inset-top));}
  .scoll-close{top:calc(10px + env(safe-area-inset-top));}

  /* Confirm/prompt модалки тоже компактнее */
  #eq-prompt-modal > div,#eq-confirm-modal > div{padding:24px 18px !important;}
  #coll-picker-modal > div,#invite-modal > div{padding:22px 16px !important;max-height:84vh;}

  /* Профиль hero — компактнее */
  .profile-stats{gap:12px !important;flex-wrap:wrap;}
  .profile-stats > div{flex:1;min-width:74px;}
  .profile-name{font-size:22px !important;}
  .profile-avatar-big,.profile-avatar-big-ph{width:80px !important;height:80px !important;font-size:26px !important;}

  /* Достижения профиля */
  .profile-extra div[style*="grid-template-columns:repeat(auto-fill,minmax(180px"]{grid-template-columns:repeat(2,1fr) !important;gap:8px !important;}

  /* Уведомления-дропдаун — почти fullwidth */
  .notif-dropdown{width:calc(100vw - 24px);right:-58px;top:calc(100% + 6px);}

  /* Каталог фильтры на отдельной строке */
  .gf-wrap, .sf-wrap, .tv-gf-wrap{padding:0 14px;}

  /* Друзья — карточка шире */
  .friend-card{flex-direction:column;}

  /* Магазин */
  .shop-item{padding:10px;}
  .shop-item-img{height:130px;}
  .shop-item-name{font-size:12px;}
  .shop-item-price{font-size:14px;}

  /* Чекаут на весь экран */
  #cart-panel{width:100% !important;max-width:100% !important;}
  #cart-panel .cart-head{padding-top:calc(14px + env(safe-area-inset-top));}
}

/* Кнопка бургер-меню — скрыта на десктопе, показана на мобиле */
#mobile-menu-btn{display:none;background:none;border:1px solid var(--border2);
  color:var(--gold);padding:8px 12px;cursor:pointer;font-size:16px;border-radius:2px;
  flex-shrink:0;min-width:42px;min-height:38px;}

/* Очень узкие экраны (до 380px) */
@media (max-width: 380px){
  .hero h1{font-size:42px;letter-spacing:4px;}
  .hero-tag{font-size:9px;letter-spacing:3px;}  /* «Кинчик. Музло. Свэг.» обрезался справа на узких экранах */
  .mg, .tv-grid, .shop-g{grid-template-columns:repeat(2,1fr);}
  .fc, .fc-t{width:130px;}
  .fc-t{height:184px;}
  .mc, .mc img{width:115px;}
  .mc img, .mc-ph{height:162px;}
  .st{font-size:20px;letter-spacing:1px;}  /* «ПОПУЛЯРНЫЕ СЕРИАЛЫ» — длинный заголовок не вмещался */
  .ftitle{font-size:26px;}
  .sec{padding:22px 10px;}
}

/* ── AI-модал на мобиле ─────────────────────────────────── */
@media (max-width: 640px){
  .ai-box{padding:22px 16px;max-height:94vh;}
  .ai-box h2{font-size:22px;letter-spacing:3px;}
  .ai-box .sub{font-size:11px;}
  .ai-tab-switch button{font-size:10px;padding:8px 6px;letter-spacing:.5px;}
  .ai-box textarea{font-size:14px;min-height:80px;padding:10px;}  /* iOS не зумит при >=14px */
  .ai-box .ai-sug{font-size:11px;padding:6px 10px;}
  .ai-box .ai-submit{padding:14px;font-size:12px;}
  .ai-quote-input,.ai-find-input,.ai-rec-input,.ai-actor-input{font-size:14px;}
  /* Меню «поделиться» */
  .share-menu-box{padding:18px 14px;}
  .share-opt{padding:13px 12px;font-size:14px;}
  /* Toast уже max-width:92vw — ок */
}

@media (max-width: 380px){
  .ai-tab-switch button{font-size:9px;padding:7px 3px;}
  .ai-box h2{font-size:20px;}
}

/* polish-base.css */
/* ═══════════════════════════════════════════════════════════
   POLISH-BASE — глобальные токены и правила для всех страниц
   Применены принципы из impeccable / emil-design-eng / taste-skill.
   ═══════════════════════════════════════════════════════════ */

:root{
  /* Custom-easing (emil: built-in CSS easings слишком слабые) */
  --p-ease:       cubic-bezier(.23, 1, .32, 1);
  --p-ease-out:  cubic-bezier(.165, .84, .44, 1);
  --p-ease-soft: cubic-bezier(.32, .72, 0, 1);
  --p-ease-back: cubic-bezier(.34, 1.28, .64, 1);

  /* Времена — emil: 150-300ms для UI */
  --p-fast:    150ms;
  --p-base:    200ms;
  --p-slow:    280ms;

  /* Цветовые ступени (контраст по impeccable: body ≥4.5:1) */
  --p-ink:        #f0f0f4;   /* основной текст */
  --p-ink-soft:   #c8c8d0;   /* вторичный */
  --p-ink-mute:   #8c8c96;   /* мета/подписи */
  --p-ink-dim:    #5e5e68;   /* slabel/disabled */

  --p-line:        rgba(255,255,255,.08);
  --p-line-strong: rgba(255,255,255,.14);
  --p-surface:     rgba(255,255,255,.02);
  --p-surface-hi:  rgba(255,255,255,.04);
  --p-surface-acc: rgba(212,182,86,.06);

  /* Accent */
  --p-accent:      #d4b656;
  --p-accent-soft: rgba(212,182,86,.12);
  --p-accent-glow: rgba(212,182,86,.4);

  /* Радиусы */
  --p-r-sm: 8px;
  --p-r:    10px;
  --p-r-md: 12px;
  --p-r-lg: 16px;

  /* Спейс — vary для rhythm */
  --p-s-1: 4px;
  --p-s-2: 8px;
  --p-s-3: 12px;
  --p-s-4: 16px;
  --p-s-5: 24px;
  --p-s-6: 32px;
  --p-s-7: 48px;
  --p-s-8: 64px;

  /* z-index семантический (impeccable: never 999/9999) */
  --p-z-dropdown: 1000;
  --p-z-sticky:   1100;
  --p-z-overlay:  1200;
  --p-z-modal:    1300;
  --p-z-toast:    1400;
  --p-z-tooltip:  1500;
}

/* ── Глобальный focus-visible (читаемый и не агрессивный) ── */
body :where(button, a, input, textarea, select, [tabindex]):focus-visible{
  outline:none;
  box-shadow:
    0 0 0 2px rgba(0,0,0,.6),
    0 0 0 4px var(--p-accent);
  border-radius:var(--p-r);
}

/* ── Кастомный scrollbar (только webkit, не агрессивно) ──── */
@media (pointer:fine){
  body ::-webkit-scrollbar{width:10px;height:10px;}
  body ::-webkit-scrollbar-track{background:transparent;}
  body ::-webkit-scrollbar-thumb{
    background:rgba(255,255,255,.08);
    border-radius:10px;
    border:2px solid transparent;
    background-clip:content-box;
    transition:background var(--p-base) var(--p-ease);
  }
  body ::-webkit-scrollbar-thumb:hover{
    background:var(--p-accent-glow);
    background-clip:content-box;
  }
}

/* ── Селекция текста — золотой акцент ──────────────────── */
::selection{
  background:rgba(212,182,86,.35);
  color:#fff;
}

/* ── Lucide-иконки: НЕ перехватывают клики ────────────── */
/* Без этого SVG-внутри-span ловит event.target и onclick кнопки не срабатывает
   корректно на iOS Safari. Иконки декоративные — клик идёт к родителю. */
body [data-lucide],
body [data-lucide] svg,
body span > svg.lucide{
  pointer-events:none !important;
}

/* ── tabular-nums везде где есть значимые цифры ─────────── */
body :where(.kpi-val, .ds-v, .gs-v, .ps-val, .stat-val,
            .dx-date, .dx-rating, .badge-count, time){
  font-variant-numeric:tabular-nums;
}

/* ── Уважаем prefers-reduced-motion на ВСЁМ сайте ─────── */
@media (prefers-reduced-motion: reduce){
  *,
  *::before,
  *::after{
    animation-duration:.01ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.01ms !important;
    scroll-behavior:auto !important;
  }
}

/* polish-restraint.css */
/* ═══════════════════════════════════════════════════════════
   POLISH-RESTRAINT — снижаем «золотой шум»

   Принцип impeccable «restrained strategy»: tinted neutrals +
   one accent ≤10% of surface. Сейчас у нас accent ~60% поверхности —
   когда всё золотое, ничего не выделяется.

   План:
   - Карточки в каталогах (фильмы, актёры, подборки, блог, шоп):
     нейтральный border по умолчанию, на hover — мягкий subtle lift
     (без золотой обводки и без golden glow)
   - Селекционное состояние (active/selected) — золото оставляем
   - Кнопки CTA — золото оставляем (это и есть accent ≤10%)
   ═══════════════════════════════════════════════════════════ */

/* ── Карточки в каталоге фильмов ─────────────────────── */
body .mc{
  border-color:var(--p-line) !important;
  transition:
    border-color var(--p-base) var(--p-ease),
    background var(--p-base) var(--p-ease),
    transform var(--p-base) var(--p-ease) !important;
}
body .mc:hover{
  border-color:var(--p-line-strong) !important;   /* было golden */
  background:var(--p-surface-hi) !important;
  transform:translateY(-3px) !important;
  box-shadow:0 10px 24px rgba(0,0,0,.35) !important;  /* нейтральная тень */
}

/* ── Карточки актёров ───────────────────────────────── */
body .ac{
  border-color:var(--p-line) !important;
}
body .ac:hover{
  border-color:var(--p-line-strong) !important;
  transform:translateY(-3px) !important;
  box-shadow:0 10px 24px rgba(0,0,0,.35) !important;
}

/* ── Подборки ────────────────────────────────────────── */
body .coll-card{
  border-color:var(--p-line) !important;
}
body .coll-card:hover{
  border-color:var(--p-line-strong) !important;
  transform:translateY(-2px) !important;
  box-shadow:0 10px 24px rgba(0,0,0,.35) !important;
}
/* Curated-карточки — оставляем золотой акцент, потому что это «featured» */
body .coll-card-curated{
  border-color:rgba(212,182,86,.3) !important;
}
body .coll-card-curated:hover{
  border-color:rgba(212,182,86,.55) !important;
}

/* ── Карточки блога ──────────────────────────────────── */
body .bg-card,
body .blog-card{
  border-color:var(--p-line) !important;
}
body .bg-card:hover,
body .blog-card:hover{
  border-color:var(--p-line-strong) !important;
  box-shadow:0 10px 24px rgba(0,0,0,.35) !important;
}

/* ── Карточки магазина ──────────────────────────────── */
body .shop-card,
body .shop-item{
  border-color:var(--p-line) !important;
}
body .shop-card:hover,
body .shop-item:hover{
  border-color:var(--p-line-strong) !important;
  box-shadow:0 10px 24px rgba(0,0,0,.35) !important;
}

/* Мерч под фильмом */
body .film-shop-row > *{
  border-color:var(--p-line) !important;
}
body .film-shop-row > *:hover{
  border-color:var(--p-line-strong) !important;
  box-shadow:0 8px 18px rgba(0,0,0,.3) !important;
}

/* ── Достижения профиля ────────────────────────────── */
body .ach-card{
  /* Разблокированные — золотая обводка (как и было — это active state) */
}
/* hover lift — только нейтральная тень, без glow */
body .ach-card:hover{
  box-shadow:0 8px 22px rgba(0,0,0,.4) !important;
}

/* ── Бейджи в публичном профиле ────────────────────── */
body .pub-badge{
  border-color:var(--p-line) !important;
}
body .pub-badge:hover{
  border-color:var(--p-line-strong) !important;
  box-shadow:0 6px 18px rgba(0,0,0,.35) !important;
}

/* ── Карточки клубов ───────────────────────────────── */
body .cl-card{
  border-color:var(--p-line) !important;
}
body .cl-card:hover{
  border-color:var(--p-line-strong) !important;
  /* убираем golden glow, оставляем тень */
  box-shadow:0 12px 28px rgba(0,0,0,.4) !important;
}

/* ── Карточки разделов на главной (.feat) ──────────── */
body .feat{
  border-color:var(--p-line) !important;
}
body .feat:hover{
  border-color:var(--p-line-strong) !important;
  /* убираем golden glow */
  box-shadow:0 12px 28px rgba(0,0,0,.4) !important;
}

/* ── Карточки факт-блоков «Знаете ли вы» ──────────── */
body .pub-fact-card,
body [class*="pub-fact"]{
  border-color:var(--p-line) !important;
}
body .pub-fact-card:hover{
  border-color:var(--p-line-strong) !important;
}

/* ── В каталоге много карточек — убираем transform на низ ── */
/* по taste-skill: «remove hover effects на действиях которые повторяются» */
@media (hover:hover){
  body .gen-chip:hover,
  body .fb-genres a:hover,
  body .home-ai-chip:hover{
    transform:none !important;          /* было translateY(-1px) */
  }
}

/* ── ACTIVE/SELECTED состояния — золото яркое ── */
body .mc.selected,
body .ac.selected,
body .coll-card.selected{
  border-color:var(--p-accent) !important;
  background:var(--p-accent-soft) !important;
}
/* Активные chip-фильтры (жанры, табы) — golden solid */
body .gf.on,
body .sf.on,
body .nb.on,
body #profile-tabs .sf.on{
  background:var(--p-accent) !important;
  color:#0a0810 !important;
  border-color:var(--p-accent) !important;
  font-weight:600 !important;
  box-shadow:0 4px 14px rgba(212,182,86,.3);
}

/* ── Кнопки CTA (золото оставляем) — без правок ── */

/* polish-fixes.css */
/* ═══════════════════════════════════════════════════════════
   POLISH-FIXES — 5 точечных правок после фидбэка:
   1. Публичный профиль (кнопки + бейджи + достижения)
   2. Share-card блок в /stats (был «жирный»)
   3. Подборки (.coll-card визуал)
   4. Notif-dropdown (уведомления)
   5. DM-чат (пузыри iMessage-style)
   ═══════════════════════════════════════════════════════════ */

/* ── 1. ПУБЛИЧНЫЙ ПРОФИЛЬ ──────────────────────── */

/* Кнопки «Открыть свой профиль» / «Поделиться» */
.pub-action-btn,
button.share-pub-btn,
.pub-share-btn{
  border-radius:var(--p-r) !important;
  padding:11px 22px !important;
  letter-spacing:1.5px !important;
  font-size:12px !important;
  text-transform:none !important;
  font-family:'Inter',sans-serif !important;
  font-weight:500 !important;
  transition:
    background var(--p-base) var(--p-ease),
    transform var(--p-base) var(--p-ease),
    box-shadow var(--p-base) var(--p-ease) !important;
}
.pub-action-btn{
  background:var(--p-accent) !important;
  color:#0a0810 !important;
  border:none !important;
}
.pub-action-btn:hover{
  background:#e5c462 !important;
  transform:translateY(-1px);
  box-shadow:0 6px 18px rgba(212,182,86,.35);
}
.pub-share-btn,
button.share-pub-btn{
  background:transparent !important;
  border:1px solid var(--p-line) !important;
  color:var(--p-ink-soft) !important;
}
.pub-share-btn:hover,
button.share-pub-btn:hover{
  border-color:var(--p-accent) !important;
  color:var(--p-accent) !important;
  background:var(--p-surface-acc) !important;
}

/* Бейджи (Бета-тестер / Сова) */
.pub-badges{gap:12px !important;}
.pub-badge{
  flex-direction:column !important;
  text-align:center !important;
  padding:18px 16px !important;
  min-width:118px;
  border-radius:var(--p-r-md) !important;
  background:var(--p-surface) !important;
  border:1px solid var(--p-line) !important;
  transition:
    border-color var(--p-base) var(--p-ease),
    transform var(--p-base) var(--p-ease),
    box-shadow var(--p-base) var(--p-ease) !important;
}
.pub-badge:hover{
  border-color:var(--p-accent) !important;
  transform:translateY(-2px);
  box-shadow:0 8px 20px rgba(0,0,0,.4);
}
.pub-badge span{
  font-size:32px !important;
  display:block;
  margin-bottom:8px;
}

/* Достижения (мини-карточки) */
.pub-recent-card{
  border-radius:var(--p-r) !important;
  background:var(--p-surface) !important;
  border:1px solid var(--p-line) !important;
  transition:
    border-color var(--p-base) var(--p-ease),
    transform var(--p-base) var(--p-ease) !important;
}
.pub-recent-card:hover{
  border-color:var(--p-accent) !important;
  transform:translateY(-2px);
}

/* «Знаете ли вы» лампочки тоже округлим */
.pub-fact-card,
[class*="pub-fact"]{
  border-radius:var(--p-r-md) !important;
  background:var(--p-surface) !important;
  border:1px solid var(--p-line) !important;
  transition:border-color var(--p-base) var(--p-ease);
}
.pub-fact-card:hover{border-color:var(--p-line-strong) !important;}

/* ── 2. STATS SHARE-CARD ───────────────────────── */

#page-stats .stats-share{
  text-align:center;
}
#page-stats .stats-share .btn-g{
  display:inline-flex !important;
  align-items:center;
  gap:8px;
  width:auto !important;
  max-width:none;
  padding:13px 26px !important;
  font-size:12px !important;
  letter-spacing:1.8px !important;
  border-radius:var(--p-r) !important;
  background:var(--p-accent) !important;
  color:#0a0810 !important;
  border:none !important;
  margin:0 6px;
}
#page-stats .stats-share .btn-g:hover{
  background:#e5c462 !important;
}
/* Кнопки внутри #stats-card-out (download / share) */
#stats-card-out a.btn-g,
#stats-card-out button.btn-g{
  padding:11px 22px !important;
  font-size:11px !important;
  letter-spacing:1.5px !important;
  border-radius:var(--p-r) !important;
  width:auto !important;
}
#stats-card-out{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:14px;
  margin-top:22px !important;
}
#stats-card-out img{
  border-radius:var(--p-r-md) !important;
  box-shadow:0 14px 40px rgba(0,0,0,.5);
  max-width:280px !important;
}

/* ── 3. ПОДБОРКИ — глубже улучшаем ─────────────── */

.coll-card{
  padding:22px !important;
  background:linear-gradient(180deg,
    var(--p-surface) 0%,
    rgba(0,0,0,.1) 100%) !important;
  border:1px solid var(--p-line) !important;
}
.coll-card-curated{
  background:linear-gradient(180deg,
    rgba(212,182,86,.08) 0%,
    rgba(0,0,0,.15) 100%) !important;
  border:1px solid rgba(212,182,86,.35) !important;
}
.coll-card-icon{
  font-size:32px !important;
  margin-bottom:14px !important;
  display:block;
  opacity:.9;
}
.coll-card-title{
  font-family:'Inter',sans-serif !important;
  font-weight:600 !important;
  font-size:17px !important;
  letter-spacing:.01em !important;
  color:var(--p-ink) !important;
  margin-bottom:8px !important;
  line-height:1.3;
}
.coll-card-desc{
  font-family:'Inter',sans-serif !important;
  font-size:13px !important;
  color:var(--p-ink-mute) !important;
  line-height:1.55 !important;
  margin-bottom:18px !important;
}
.coll-card-arrow{
  margin-top:14px !important;
  display:inline-block !important;
  color:var(--p-accent) !important;
}
.coll-curated-badge{
  position:absolute;
  top:18px;right:18px;
  background:rgba(0,0,0,.4) !important;
  -webkit-backdrop-filter:blur(8px);
  backdrop-filter:blur(8px);
}
.coll-card{position:relative;}

/* ── 4. NOTIF-DROPDOWN ─────────────────────────── */

.notif-dropdown{
  border-radius:var(--p-r-lg) !important;
  border:1px solid var(--p-line) !important;
  background:rgba(8,8,18,.95) !important;
  -webkit-backdrop-filter:blur(14px);
  backdrop-filter:blur(14px);
  box-shadow:0 20px 56px rgba(0,0,0,.6), 0 0 0 1px rgba(255,255,255,.04) inset !important;
  overflow:hidden;
}
.notif-dropdown > div:first-child,
.notif-header{
  padding:14px 16px !important;
  border-bottom:1px solid var(--p-line) !important;
  font-size:10px !important;
  letter-spacing:2.5px !important;
  color:var(--p-ink-dim) !important;
  text-transform:uppercase;
}
.notif-item{
  padding:14px 16px !important;
  border-bottom:1px solid var(--p-line) !important;
  transition:background var(--p-base) var(--p-ease) !important;
  gap:12px !important;
}
.notif-item:hover{
  background:var(--p-surface-acc) !important;
}
.notif-item.unread{
  background:rgba(212,182,86,.05) !important;
  border-left:2px solid var(--p-accent) !important;
}
.notif-item img,
.notif-item .notif-ava{
  width:36px !important;
  height:36px !important;
  border-radius:50% !important;
  flex-shrink:0;
}
.notif-item .notif-ava-ph{
  width:36px !important;height:36px !important;
  border-radius:50% !important;
  background:var(--p-accent) !important;
  color:#0a0810 !important;
  font-weight:700 !important;
  display:flex;
  align-items:center;justify-content:center;
}
.notif-item .notif-text,
.notif-item div:not(.notif-ava){
  font-size:13.5px !important;
  color:var(--p-ink) !important;
  line-height:1.45 !important;
}
.notif-item b{color:var(--p-accent) !important;font-weight:600 !important;}
.notif-item .notif-time,
.notif-item time{
  font-size:11px !important;
  color:var(--p-ink-dim) !important;
  margin-top:4px;
  display:block;
}

/* ── 5. DM-ЧАТ — пузыри iMessage-style ─────────── */

/* Контейнер сообщений */
.dm-msg{margin-bottom:14px !important;}
.dm-msg-bubble{
  border-radius:18px !important;       /* iMessage style */
  padding:9px 14px !important;
  font-size:14px !important;
  line-height:1.4 !important;
  max-width:65ch !important;
  word-wrap:break-word;
  box-shadow:0 1px 2px rgba(0,0,0,.2);
  font-family:'Inter',sans-serif !important;
}
.dm-msg.mine .dm-msg-bubble{
  background:var(--p-accent) !important;
  color:#0a0810 !important;
  border-bottom-right-radius:6px !important;  /* iMessage «хвостик» */
}
.dm-msg.theirs .dm-msg-bubble{
  background:#2a2a35 !important;
  color:var(--p-ink) !important;
  border-bottom-left-radius:6px !important;
  border:1px solid rgba(255,255,255,.06);
}
.dm-msg-time{
  font-size:10.5px !important;
  color:var(--p-ink-dim) !important;
  margin-top:4px !important;
  padding:0 4px !important;
}

/* Thread-list (левая колонка) */
.dm-thread-row{
  padding:12px 14px !important;
  border-radius:var(--p-r) !important;
  margin-bottom:2px;
  transition:background var(--p-base) var(--p-ease) !important;
}
.dm-thread-row:hover{background:var(--p-surface-acc) !important;}
.dm-thread-row.on{
  background:rgba(212,182,86,.1) !important;
  border-left:none !important;
  padding-left:14px !important;
}
.dm-thread-row img,
.dm-thread-row .dm-thread-ava{
  border-radius:50% !important;
  width:42px !important;height:42px !important;
}

/* Input bar внизу — золотая обводка + микрофон-кружок */
.dm-input-wrap,
.dm-compose,
.dm-input-bar{
  border-radius:9999px !important;
  background:var(--p-surface) !important;
  border:1px solid var(--p-line) !important;
  padding:6px 6px 6px 18px !important;
  transition:border-color var(--p-base) var(--p-ease) !important;
}
.dm-input-wrap:focus-within,
.dm-compose:focus-within,
.dm-input-bar:focus-within{
  border-color:var(--p-accent) !important;
  box-shadow:0 0 0 3px rgba(212,182,86,.15);
}
.dm-input-wrap input,
.dm-compose input,
.dm-compose textarea{
  background:transparent !important;
  border:none !important;
  font-size:14px !important;
  padding:8px 0 !important;
  color:var(--p-ink) !important;
}

/* Кнопка отправки → круг 36px */
.dm-send-btn,
button[onclick*="dmSend"],
button[onclick*="sendMessage"]{
  width:38px !important;height:38px !important;
  border-radius:50% !important;
  background:var(--p-accent) !important;
  color:#0a0810 !important;
  border:none !important;
  display:inline-flex !important;
  align-items:center;justify-content:center;
  font-size:16px !important;
  cursor:pointer;
  transition:transform var(--p-base) var(--p-ease), background var(--p-base) var(--p-ease) !important;
}
.dm-send-btn:hover{
  background:#e5c462 !important;
  transform:scale(1.08);
}

/* Кнопка-микрофон → круг */
button[onclick*="recordVoice"],
button[onclick*="voiceMessage"],
.dm-voice-btn,
.dm-mic-btn{
  width:38px !important;height:38px !important;
  border-radius:50% !important;
  background:var(--p-surface-hi) !important;
  border:1px solid var(--p-line) !important;
  color:var(--p-ink-soft) !important;
  display:inline-flex !important;
  align-items:center;justify-content:center;
  transition:all var(--p-base) var(--p-ease) !important;
}
.dm-voice-btn:hover,
.dm-mic-btn:hover{
  border-color:var(--p-accent) !important;
  color:var(--p-accent) !important;
}

/* Контекстные мини-кнопки (⋮ ↩ +) на пузырях */
.dm-msg-action,
.dm-msg-menu-btn,
button[class*="dm-msg-"]{
  border-radius:50% !important;
  background:transparent !important;
  border:1px solid var(--p-line) !important;
  color:var(--p-ink-mute) !important;
  transition:all var(--p-base) var(--p-ease) !important;
}
.dm-msg-action:hover,
.dm-msg-menu-btn:hover{
  border-color:var(--p-accent) !important;
  color:var(--p-accent) !important;
}

/* Watch-party блок внутри сообщений — округлим */
.dm-watchparty-card,
.dm-msg .watchparty-invite{
  border-radius:var(--p-r-lg) !important;
  overflow:hidden;
  border:none !important;
}

/* ═══════════════════════════════════════════════════════════
   ВТОРАЯ ВОЛНА ПРАВОК — по новому фидбэку
   ═══════════════════════════════════════════════════════════ */

/* ── 6. КНОПКИ inline-style «Собрать подборку» и т.п. ──── */
body #aipick-btn,
body button#aipick-btn{
  border-radius:var(--p-r) !important;
  padding:14px 28px !important;
  transition:
    background var(--p-base) var(--p-ease),
    transform var(--p-base) var(--p-ease),
    box-shadow var(--p-base) var(--p-ease) !important;
}
body #aipick-btn:hover{
  background:#e5c462 !important;
  transform:translateY(-2px);
  box-shadow:0 8px 22px rgba(212,182,86,.4);
}
body #aipick-btn:active{transform:translateY(0);}

/* «Написать на стену» — была inline-style */
.pub-wall-add{
  border-radius:var(--p-r) !important;
  padding:10px 18px !important;
  letter-spacing:1px !important;
  font-size:12px !important;
  text-transform:none !important;
  background:var(--p-accent) !important;
  color:#0a0810 !important;
  border:none !important;
  cursor:pointer;
  transition:
    background var(--p-base) var(--p-ease),
    transform var(--p-base) var(--p-ease),
    box-shadow var(--p-base) var(--p-ease) !important;
}
.pub-wall-add:hover{
  background:#e5c462 !important;
  transform:translateY(-1px);
  box-shadow:0 6px 18px rgba(212,182,86,.35);
}

/* Кнопка «ОПУБЛИКОВАТЬ» (отзыв на фильм / комментарий блога) */
.review-submit{
  border-radius:var(--p-r) !important;
  padding:11px 22px !important;
  letter-spacing:2px !important;
  font-size:11px !important;
  background:var(--p-accent) !important;
  color:#0a0810 !important;
  border:none !important;
  cursor:pointer;
  transition:
    background var(--p-base) var(--p-ease),
    transform var(--p-base) var(--p-ease),
    box-shadow var(--p-base) var(--p-ease) !important;
}
.review-submit:hover{
  background:#e5c462 !important;
  transform:translateY(-1px);
  box-shadow:0 6px 18px rgba(212,182,86,.35);
}

/* ── 7. УВЕДОМЛЕНИЯ — теперь скроллятся ────────────────── */
.notif-dropdown{
  max-height:min(72vh, 540px) !important;
  overflow-y:auto !important;
  overscroll-behavior:contain;
}
.notif-dropdown::-webkit-scrollbar{width:6px;}
.notif-dropdown::-webkit-scrollbar-track{background:transparent;}
.notif-dropdown::-webkit-scrollbar-thumb{
  background:rgba(212,182,86,.3);
  border-radius:9999px;
}

/* ── 8. КОНТЕКСТНОЕ МЕНЮ СООБЩЕНИЯ (Ответить / Закрепить / Изменить / Удалить) ── */
.dm-msg-menu{
  border-radius:var(--p-r-md) !important;
  background:rgba(8,8,18,.96) !important;
  border:1px solid var(--p-line) !important;
  -webkit-backdrop-filter:blur(12px);
  backdrop-filter:blur(12px);
  box-shadow:0 14px 36px rgba(0,0,0,.55), 0 0 0 1px rgba(255,255,255,.04) inset !important;
  padding:6px !important;
  overflow:hidden;
}
.dm-msg-menu button{
  border-radius:var(--p-r-sm) !important;
  margin:0 !important;
  padding:10px 14px !important;
  font-size:13px !important;
  display:flex !important;
  align-items:center;
  gap:10px;
  transition:background var(--p-fast) var(--p-ease) !important;
  font-family:'Inter',sans-serif !important;
}
.dm-msg-menu button:hover{
  background:var(--p-surface-acc) !important;
  color:var(--p-accent) !important;
}
.dm-msg-menu button.danger:hover{
  background:rgba(228,68,68,.12) !important;
  color:#f66 !important;
}

/* ── 9. ТЕМЫ ЧАТА — карточки опций ────────────────────── */
#dm-theme-modal .share-menu-box{
  border-radius:var(--p-r-lg) !important;
  padding:24px !important;
}
.dm-theme-opt,
.share-opt.dm-theme-opt{
  border-radius:var(--p-r-md) !important;
  padding:12px !important;
  gap:14px !important;
  background:var(--p-surface) !important;
  border:1px solid var(--p-line) !important;
  margin-bottom:8px !important;
  transition:
    border-color var(--p-base) var(--p-ease),
    background var(--p-base) var(--p-ease),
    transform var(--p-base) var(--p-ease) !important;
}
.dm-theme-opt:hover{
  border-color:var(--p-line-strong) !important;
  background:var(--p-surface-acc) !important;
  transform:translateY(-1px);
}
.dm-theme-opt.on{
  border-color:var(--p-accent) !important;
  background:rgba(212,182,86,.08) !important;
}
/* Превью-квадрат темы — округлим */
.dm-theme-opt > div:first-child,
.dm-theme-opt > span:first-child,
.dm-theme-opt img:first-child{
  border-radius:var(--p-r) !important;
  width:40px !important;
  height:40px !important;
  flex-shrink:0;
  border:1px solid var(--p-line);
}
.dm-theme-opt .dm-theme-check{
  margin-left:auto;
}

/* Кнопка «Закрыть» внизу */
#dm-theme-modal .share-close,
#dm-theme-modal button[onclick*="remove"]{
  border-radius:var(--p-r) !important;
  padding:12px !important;
  letter-spacing:2px !important;
  font-size:11px !important;
  background:transparent !important;
  border:1px solid var(--p-line) !important;
  color:var(--p-ink-mute) !important;
  margin-top:8px !important;
  transition:all var(--p-base) var(--p-ease) !important;
}
#dm-theme-modal .share-close:hover{
  border-color:var(--p-accent) !important;
  color:var(--p-accent) !important;
}

/* ── 10. КАРТОЧКИ ФИЛЬМОВ В КАТАЛОГЕ — постеры с border-radius ── */
.mc{overflow:hidden !important;}
.mc img,
.mc .mc-ph{
  border-radius:0 !important;            /* картинка вписана в скруглённый контейнер */
  width:100% !important;
  height:auto !important;
  aspect-ratio:2/3;
  object-fit:cover;
}
/* Контейнер карточки (.mc) уже имеет border-radius из catalog-polish.
   Тут гарантируем что нижний padding с метаданными виден. */
.mc > div:last-child{
  padding:10px 12px !important;
}
.mc-title{
  font-size:13px !important;
  letter-spacing:.01em !important;
  color:var(--p-ink) !important;
  line-height:1.3;
  font-family:'Inter',sans-serif !important;
  font-weight:500 !important;
}
.mc-year{
  font-size:11px !important;
  color:var(--p-ink-dim) !important;
  margin-top:4px;
  letter-spacing:1px;
}

/* ── 11. МЕРЧ ПОД ФИЛЬМОМ (Vinyl, Постер, etc) ────────── */
.film-shop-row{gap:14px !important;}
.film-shop-row > *{
  border-radius:var(--p-r-md) !important;
  overflow:hidden;
  background:var(--p-surface) !important;
  border:1px solid var(--p-line) !important;
  transition:
    border-color var(--p-base) var(--p-ease),
    transform var(--p-slow) var(--p-ease),
    box-shadow var(--p-slow) var(--p-ease) !important;
}
.film-shop-row > *:hover{
  border-color:var(--p-accent) !important;
  transform:translateY(-3px);
  box-shadow:0 12px 28px rgba(0,0,0,.45);
}
.film-shop-row img{
  border-radius:0 !important;
  width:100% !important;
  aspect-ratio:1/1 !important;
  object-fit:cover;
  transition:transform var(--p-slow) var(--p-ease);
}
.film-shop-row > *:hover img{transform:scale(1.05);}

/* «Открыть весь магазин →» — пилюля, не пустой прямоугольник */
.film-shop-all{
  border-radius:var(--p-r) !important;
  padding:14px 22px !important;
  font-size:12px !important;
  letter-spacing:1.5px !important;
  background:transparent !important;
  border:1px solid var(--p-line) !important;
  color:var(--p-ink-soft) !important;
  text-transform:none !important;
  font-family:'Inter',sans-serif !important;
  width:auto !important;
  display:inline-flex;
  align-items:center;
  gap:6px;
  margin:0 auto;
  transition:
    border-color var(--p-base) var(--p-ease),
    color var(--p-base) var(--p-ease),
    background var(--p-base) var(--p-ease),
    transform var(--p-base) var(--p-ease) !important;
}
.film-shop-all:hover{
  border-color:var(--p-accent) !important;
  color:var(--p-accent) !important;
  background:var(--p-surface-acc) !important;
  transform:translateY(-1px);
}
/* Центрирование родительского блока кнопки */
.fb-music + *,
.fb-merch{
  text-align:center;
}

/* ── 14. КАРТОЧКИ РАЗДЕЛОВ НА ГЛАВНОЙ (.feat) ────────── */
.feat{
  border-radius:var(--p-r-lg) !important;
  background:linear-gradient(180deg,
    var(--p-surface) 0%,
    rgba(0,0,0,.15) 100%) !important;
  border:1px solid var(--p-line) !important;
  padding:24px 20px !important;
  transition:
    border-color var(--p-base) var(--p-ease),
    background var(--p-base) var(--p-ease),
    transform var(--p-slow) var(--p-ease),
    box-shadow var(--p-slow) var(--p-ease) !important;
}
.feat:hover{
  border-color:var(--p-accent) !important;
  background:linear-gradient(180deg,
    var(--p-surface-acc) 0%,
    rgba(0,0,0,.1) 100%) !important;
  transform:translateY(-4px) !important;
  box-shadow:0 14px 32px rgba(0,0,0,.45), 0 0 22px rgba(212,182,86,.15);
}
.feat-ico{
  font-size:28px !important;
  margin-bottom:14px !important;
  display:block;
  opacity:.95;
}
.feat h3{
  font-family:'Inter',sans-serif !important;
  font-weight:600 !important;
  font-size:16px !important;
  letter-spacing:.01em !important;
  color:var(--p-ink) !important;
  margin-bottom:8px !important;
  text-transform:none !important;
}
.feat p{
  font-size:13px !important;
  color:var(--p-ink-mute) !important;
  line-height:1.5 !important;
  max-width:36ch;
}

/* ── 15. КАРТОЧКИ АКТЁРОВ (.ac) ──────────────────────── */
.ac{
  border-radius:var(--p-r-md) !important;
  overflow:hidden !important;
  background:var(--p-surface) !important;
  border:1px solid var(--p-line) !important;
  transition:
    border-color var(--p-base) var(--p-ease),
    transform var(--p-slow) var(--p-ease),
    box-shadow var(--p-slow) var(--p-ease) !important;
}
.ac:hover{
  border-color:var(--p-accent) !important;
  transform:translateY(-4px) !important;
  box-shadow:0 14px 32px rgba(0,0,0,.45), 0 0 18px rgba(212,182,86,.18);
}
.ac img,.ac-ph{
  border-radius:0 !important;            /* картинка вписана в скруглённый контейнер */
  width:100% !important;
  height:auto !important;
  aspect-ratio:3/4;
  object-fit:cover;
  object-position:top;
  transition:filter var(--p-base) var(--p-ease) !important;
}
.ac:hover img{filter:none !important;}
/* Текстовый блок под фото */
.ac > div:last-child,
.ac-info{
  padding:12px 14px !important;
}
.ac-name{
  font-family:'Inter',sans-serif !important;
  font-size:13px !important;
  font-weight:500 !important;
  letter-spacing:.01em !important;
  color:var(--p-ink) !important;
  line-height:1.3 !important;
  margin-bottom:4px;
}
.ac-role,
.ac-job{
  font-size:11px !important;
  color:var(--p-ink-dim) !important;
  letter-spacing:.5px !important;
  font-style:normal !important;
}

/* hero-unified.css */
/* ═══════════════════════════════════════════════════════════
   Единый hero: лого + AI-форма в одном экране.
   Полностью перебивает старые .hero h1 / .home-ai-* стили.
   ═══════════════════════════════════════════════════════════ */

#page-home .hero.hero-unified{
  /* Hero фокусируется на лого + AI как primary visual.
     justify-content:flex-start + padding-top:18vh — лого приходится
     в визуальный центр viewport (а не центр самого hero-блока).
     min-height чуть меньше viewport — mood виден без скролла. */
  min-height:clamp(540px, 70vh, 720px) !important;
  height:auto !important;
  display:flex !important;
  flex-direction:column;
  justify-content:flex-start;
  align-items:center;
  text-align:center;
  padding:10vh 24px 32px !important;
  position:relative;
  overflow:hidden;
}

/* Главное лого EQU=LS — primary visual.
   Размер увеличен +5% относительно прошлой версии — должно ощущаться
   как hero element, а не как заголовок. */
#page-home .hero-logo{
  font-family:'Bebas Neue',sans-serif;
  font-size:clamp(88px, 16vw, 200px);
  letter-spacing:.03em;
  line-height:.9;
  color:var(--p-ink);
  margin:0 0 32px;
  font-weight:400;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.02em;
}
#page-home .hero-logo .eq{
  background:linear-gradient(135deg,#e5c462 0%,#c9a84c 50%,#8a6a20 100%);
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
  position:relative;
  top:-.06em;
  display:inline-block;
}

/* Подзаголовок (главный текст-описание) */
#page-home .hero-sub{
  font-family:'Inter',sans-serif;
  font-size:clamp(16px, 1.6vw, 19px);
  font-weight:400;
  color:var(--p-ink-soft);
  max-width:46ch;
  line-height:1.55;
  margin:0 auto 44px;
  letter-spacing:-.005em;
}

/* AI-форма прямо в hero */
#page-home .hero-unified .home-ai-form{
  display:flex !important;
  gap:8px;
  width:100%;
  max-width:620px;
  margin:0 auto 22px !important;
  padding:6px !important;
  background:rgba(0,0,0,.45) !important;
  border:1px solid var(--p-line) !important;
  border-radius:9999px !important;
  transition:
    border-color var(--p-base) var(--p-ease),
    box-shadow var(--p-base) var(--p-ease) !important;
  -webkit-backdrop-filter:blur(8px);
  backdrop-filter:blur(8px);
}
#page-home .hero-unified .home-ai-form:focus-within{
  border-color:var(--p-accent) !important;
  box-shadow:
    0 0 0 3px rgba(212,182,86,.2),
    0 0 32px rgba(212,182,86,.15) !important;
}
#page-home .hero-unified .home-ai-input{
  flex:1 !important;
  background:transparent !important;
  border:none !important;
  outline:none !important;
  padding:14px 20px !important;
  font-size:15.5px !important;
  color:var(--p-ink) !important;
  font-family:'Inter',sans-serif !important;
  min-width:0;
}
#page-home .hero-unified .home-ai-input::placeholder{
  color:var(--p-ink-mute) !important;
}
#page-home .hero-unified .home-ai-btn{
  background:var(--p-accent) !important;
  color:#0a0810 !important;
  border:none !important;
  padding:12px 26px !important;
  font-family:'Bebas Neue',sans-serif !important;
  font-size:14px !important;
  letter-spacing:2px !important;
  border-radius:9999px !important;
  cursor:pointer;
  white-space:nowrap;
  transition:
    background var(--p-base) var(--p-ease),
    transform var(--p-base) var(--p-ease),
    box-shadow var(--p-base) var(--p-ease) !important;
  flex-shrink:0;
  display:inline-flex;
  align-items:center;
  gap:6px;
}
#page-home .hero-unified .home-ai-btn:hover{
  background:#e5c462 !important;
  transform:translateY(-1px);
  box-shadow:0 6px 18px rgba(212,182,86,.4);
}
#page-home .hero-unified .home-ai-btn:active{transform:translateY(0);}

/* Чипы-подсказки */
#page-home .hero-unified .home-ai-chips{
  display:flex !important;
  flex-wrap:wrap !important;
  justify-content:center !important;
  gap:8px !important;
  margin:0 auto !important;
  max-width:760px;
}
#page-home .hero-unified .home-ai-chip{
  background:transparent !important;
  border:1px solid var(--p-line) !important;
  color:var(--p-ink-mute) !important;
  font-size:12px !important;
  padding:7px 14px !important;
  border-radius:9999px !important;
  cursor:pointer;
  font-family:'Inter',sans-serif !important;
  transition:
    border-color var(--p-base) var(--p-ease),
    color var(--p-base) var(--p-ease),
    background var(--p-base) var(--p-ease) !important;
}
#page-home .hero-unified .home-ai-chip:hover{
  border-color:var(--p-accent) !important;
  color:var(--p-accent) !important;
  background:var(--p-accent-soft) !important;
}

/* ── Mood-секция (отдельная под hero) ──
   Hero сфокусирован на лого + AI. Mood — вторичный быстрый CTA,
   подаётся сразу под hero без визуального разрыва (transparent bg). */
#page-home .home-mood-section{
  padding:20px 24px 56px !important;
  border-top:none !important;
  background:transparent !important;
  margin-top:0;
  display:block !important;
}
#page-home .home-mood-section .home-ai-inner{
  max-width:720px;
  margin:0 auto;
  text-align:center;
}
#page-home .home-mood-section .home-ai-inner{
  max-width:720px;
  margin:0 auto;
  text-align:center;
}
#page-home .home-mood-label{
  font-size:12px;
  color:var(--p-ink-mute);
  margin:0 0 12px;
  font-family:'Inter',sans-serif;
  letter-spacing:.3px;
}
#page-home .home-mood-row{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  align-items:center;
  gap:10px;
}
#page-home .home-mood-btn{
  background:transparent !important;
  border:1px solid var(--p-line) !important;
  font-size:22px !important;
  width:46px !important;height:46px !important;
  cursor:pointer;
  border-radius:50% !important;
  transition:
    border-color var(--p-base) var(--p-ease),
    background var(--p-base) var(--p-ease),
    transform var(--p-base) var(--p-ease) !important;
  display:flex;align-items:center;justify-content:center;
}
#page-home .home-mood-btn:hover{
  border-color:var(--p-accent) !important;
  background:var(--p-accent-soft) !important;
  transform:scale(1.06);
}
#page-home .home-surprise-btn{
  margin-left:8px;
  padding:11px 20px !important;
  background:transparent !important;
  border:1px solid rgba(212,182,86,.4) !important;
  color:var(--p-accent) !important;
  font-family:'Bebas Neue',sans-serif !important;
  letter-spacing:2px !important;
  font-size:13px !important;
  border-radius:9999px !important;
  cursor:pointer;
  display:inline-flex;
  align-items:center;
  gap:6px;
  transition:
    background var(--p-base) var(--p-ease),
    color var(--p-base) var(--p-ease) !important;
}
#page-home .home-surprise-btn:hover{
  background:var(--p-accent) !important;
  color:#0a0810 !important;
}

/* ── Скрываем старый home-ai-section на всякий — он удалён, но если кэш ── */
#page-home .home-ai-section:not(.home-mood-section){display:none !important;}

/* ── Mobile ────────────────────────────────────────── */
@media (max-width:640px){
  #page-home .hero.hero-unified{
    min-height:auto !important;
    padding:32px 16px 10px !important;
  }
  /* Лого было 72px — сжимаем до 56px. На 390px viewport теперь занимает
     ~14% высоты вместо ~25%. */
  #page-home .hero-logo{
    font-size:56px !important;
    margin-bottom:14px;
    letter-spacing:.02em;
  }
  #page-home .hero-sub{
    font-size:14px !important;
    margin:0 auto 20px !important;
    max-width:34ch;
    line-height:1.45;
  }

  /* AI-форма: компактная, не вертикальная — input справа от кнопки.
     Если на узких ≤360px не помещается — flex-wrap делает кнопку под input. */
  #page-home .hero-unified .home-ai-form{
    flex-direction:row !important;
    flex-wrap:wrap !important;
    padding:6px !important;
    border-radius:9999px !important;
    gap:6px;
  }
  #page-home .hero-unified .home-ai-input{
    padding:11px 16px !important;
    font-size:14px !important;
    flex:1 1 200px;
    min-width:0;
  }
  #page-home .hero-unified .home-ai-btn{
    width:auto !important;
    padding:11px 22px !important;
    font-size:13px !important;
    letter-spacing:1.5px !important;
    flex-shrink:0;
  }

  /* Чипы: горизонтальный скролл вместо переноса (одна строка). */
  #page-home .hero-unified .home-ai-chips{
    flex-wrap:nowrap !important;
    overflow-x:auto;
    overflow-y:hidden;
    gap:6px !important;
    padding:14px 4px 6px !important;
    margin:0 -8px !important;
    scrollbar-width:none;
    -ms-overflow-style:none;
    -webkit-overflow-scrolling:touch;
    scroll-snap-type:x mandatory;
  }
  #page-home .hero-unified .home-ai-chips::-webkit-scrollbar{display:none;}
  #page-home .hero-unified .home-ai-chip{
    flex-shrink:0;
    scroll-snap-align:start;
    padding:8px 14px !important;
    font-size:12px !important;
  }

  /* Mood-секция (отдельная под hero на мобиле — без gap) */
  #page-home .home-mood-section{
    padding:6px 16px 32px !important;
    margin-top:0 !important;
  }
  #page-home .home-mood-label{
    font-size:11px !important;
    margin:0 0 10px !important;
    letter-spacing:.5px;
  }
  #page-home .home-mood-row{
    gap:8px !important;
    justify-content:center;
  }
  #page-home .home-mood-btn{
    width:38px !important;
    height:38px !important;
    font-size:17px !important;
  }
  /* Surprise — не full-width, отдельной строкой по центру компактно */
  #page-home .home-surprise-btn{
    margin:14px auto 0 !important;
    width:auto !important;
    padding:10px 22px !important;
    font-size:11px !important;
    letter-spacing:1.5px !important;
    flex-basis:100%;
    align-self:center;
  }
}

@media (max-width:380px){
  /* Очень узкие экраны (iPhone SE 1st gen, старые Android) */
  #page-home .hero-logo{font-size:48px !important;}
  #page-home .hero-unified .home-ai-form{flex-direction:column !important;}
  #page-home .hero-unified .home-ai-btn{width:100% !important;}
}

/* ── reduced-motion ────────────────────────────────── */
@media (prefers-reduced-motion: reduce){
  #page-home .hero-unified *{
    transition:none !important;
    transform:none !important;
  }
}

/* ═══ My-drop (профильное меню в шапке) ═══════════════ */
.auth-wrap{position:relative;}
.auth-btn .auth-chevron{
  transition:transform 200ms var(--p-ease);
}
.auth-wrap.open .auth-chevron,
.auth-btn[aria-expanded="true"] .auth-chevron{
  transform:rotate(180deg);
}
#my-drop{
  position:absolute;
  top:calc(100% + 8px);
  right:0;left:auto;
  min-width:220px;
  background:rgba(8,8,18,.95);
  -webkit-backdrop-filter:blur(14px);
  backdrop-filter:blur(14px);
  border:1px solid var(--p-line);
  border-radius:var(--p-r-md);
  padding:6px;
  box-shadow:0 18px 40px rgba(0,0,0,.55), 0 0 0 1px rgba(255,255,255,.04) inset;
  z-index:9000;
  display:none;
}
#my-drop.open{display:block;}
#my-drop button{
  display:flex !important;
  align-items:center;
  gap:10px;
  width:100%;
  background:transparent;
  border:none;
  color:var(--p-ink);
  padding:10px 14px;
  border-radius:var(--p-r-sm);
  font-size:13.5px;
  font-family:'Inter',sans-serif;
  cursor:pointer;
  text-align:left;
  transition:background var(--p-fast) var(--p-ease), color var(--p-fast) var(--p-ease);
}
#my-drop button:hover{
  background:var(--p-surface-acc);
  color:var(--p-accent);
}
#my-drop button [data-lucide]{
  width:16px;height:16px;
  color:var(--p-ink-mute);
}
#my-drop button:hover [data-lucide]{color:var(--p-accent);}

/* Скрываем dropdown «Мои» когда не залогинен */
body:not(.is-logged-in) #my-drop{display:none !important;}
body:not(.is-logged-in) .auth-chevron{display:none !important;}
/* home-polish.css */
/* ═══════════════════════════════════════════════════════════
   Главная — polished pass по правилам impeccable + emil-skill

   Применено:
   ─ Hero size clamp() max ≤ 6rem (по impeccable rule — было 155px = «shouting»)
   ─ Vary spacing для rhythm (40 / 56 / 80px между блоками)
   ─ Hero-кнопка → premium glow на hover (не плоская заливка)
   ─ AI-input: 16px radius + custom золотой focus-glow
   ─ Chips → пилюли с hover-lift, scale на :active
   ─ Mood-кнопки — единые круги с soft golden tint
   ─ Surprise me — выделен как primary acent (был как обычный mood)
   ─ Custom easing cubic-bezier(.23,1,.32,1) везде
   ─ prefers-reduced-motion fallback для всех transition/transform
   ─ Цветовая контрастность тоньше (вместо var(--muted) → разные ступени)
   ═══════════════════════════════════════════════════════════ */

#page-home{
  --h-ease: cubic-bezier(.23,1,.32,1);
  --h-ease-out: cubic-bezier(.165,.84,.44,1);
  --h-ink: #f0f0f4;
  --h-ink-soft: #c8c8d0;
  --h-ink-mute: #8c8c96;
  --h-ink-dim:  #5e5e68;
  --h-line: rgba(255,255,255,.08);
  --h-line-strong: rgba(255,255,255,.14);
  --h-accent: #d4b656;
  --h-accent-soft: rgba(212,182,86,.12);
  --h-accent-glow: rgba(212,182,86,.4);
}

/* ── Hero: меньше «крика», больше дыхания ──────────────── */
#page-home .hero{
  height:auto !important;
  min-height:min(86vh, 800px) !important;
  padding:80px 24px 56px !important;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
}
#page-home .hero h1{
  font-size:clamp(82px, 16vw, 180px) !important;
  letter-spacing:.03em !important;
  line-height:.9 !important;
  font-weight:400 !important;
  margin:0;
  display:flex;
  align-items:center;            /* буквы по оптической середине */
  justify-content:center;
  gap:.02em;
}
#page-home .hero h1 .eq{
  background:linear-gradient(135deg,#e5c462 0%,#c9a84c 50%,#8a6a20 100%);
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
  position:relative;
  top:-.06em;                    /* поднимаем = на оптический центр капители */
  display:inline-block;
}
#page-home .hero-tag{
  font-size:11px !important;
  letter-spacing:6px !important;
  color:var(--h-ink-mute) !important;
  margin-bottom:32px !important;
}
#page-home .hero p{
  font-size:15.5px !important;
  color:var(--h-ink-soft) !important;
  max-width:48ch !important;          /* line-length cap */
  line-height:1.65 !important;
  margin-top:24px !important;
}

/* Hero CTA — premium glow */
#page-home .hero-ai-cta{
  margin-top:36px !important;
  padding:16px 32px !important;
  background:transparent !important;
  border:1.5px solid var(--h-accent) !important;
  color:var(--h-accent) !important;
  font-family:'Bebas Neue',sans-serif !important;
  font-size:14px !important;
  letter-spacing:2.5px !important;
  border-radius:14px !important;
  cursor:pointer;
  transition:
    background 240ms var(--h-ease),
    color 240ms var(--h-ease),
    box-shadow 240ms var(--h-ease),
    transform 240ms var(--h-ease);
  text-transform:uppercase;
  position:relative;
}
#page-home .hero-ai-cta:hover{
  background:rgba(212,182,86,.12) !important;
  color:#fff !important;
  box-shadow:
    0 0 0 1px var(--h-accent) inset,
    0 0 24px var(--h-accent-glow),
    0 0 48px rgba(212,182,86,.2);
  transform:translateY(-2px);
}
#page-home .hero-ai-cta:active{transform:translateY(0);}
#page-home .hero-ai-cta:focus-visible{
  outline:none;
  box-shadow:
    0 0 0 1px var(--h-accent) inset,
    0 0 0 3px rgba(212,182,86,.25);
}

/* ── AI-секция: единый rhythm ──────────────────────────── */
#page-home .home-ai-section{
  padding:72px 24px !important;
  background:linear-gradient(180deg,
    rgba(10,8,18,1) 0%,
    rgba(18,12,28,1) 100%) !important;
  border-top:1px solid var(--h-line) !important;
  border-bottom:1px solid var(--h-line) !important;
}
#page-home .home-ai-inner{
  max-width:720px;
  margin:0 auto;
  text-align:center;
}
#page-home .home-ai-label{
  font-size:11px !important;
  letter-spacing:4px !important;
  color:var(--h-accent) !important;
  margin-bottom:16px !important;
  text-transform:uppercase;
}
#page-home .home-ai-title{
  font-size:clamp(40px, 6vw, 64px) !important;
  letter-spacing:.04em !important;
  color:var(--h-ink) !important;
  margin-bottom:14px !important;
  line-height:1 !important;
  font-weight:400;
  text-wrap:balance;            /* по impeccable правилу */
}
#page-home .home-ai-sub{
  font-size:15px !important;
  color:var(--h-ink-soft) !important;
  margin-bottom:36px !important;
  max-width:42ch;
  margin-left:auto;
  margin-right:auto;
  line-height:1.6;
}

/* AI-форма: input + button одной таблеткой */
#page-home .home-ai-form{
  display:flex;
  gap:10px;
  max-width:560px;
  margin:0 auto 24px;
  padding:6px;
  background:rgba(0,0,0,.4);
  border:1px solid var(--h-line);
  border-radius:18px;
  transition:
    border-color 240ms var(--h-ease),
    box-shadow 240ms var(--h-ease);
}
#page-home .home-ai-form:focus-within{
  border-color:var(--h-accent) !important;
  box-shadow:
    0 0 0 3px rgba(212,182,86,.18),
    0 0 24px rgba(212,182,86,.15);
}
#page-home .home-ai-input{
  flex:1 !important;
  background:transparent !important;
  border:none !important;
  color:var(--h-ink) !important;
  padding:14px 18px !important;
  font-size:15px !important;
  outline:none !important;
  border-radius:14px !important;
  min-width:0;
}
#page-home .home-ai-input::placeholder{
  color:var(--h-ink-mute) !important;
}
#page-home .home-ai-btn{
  background:var(--h-accent) !important;
  color:#0a0810 !important;
  border:none !important;
  padding:12px 22px !important;
  font-family:'Bebas Neue',sans-serif !important;
  font-size:14px !important;
  letter-spacing:2px !important;
  border-radius:14px !important;
  cursor:pointer;
  white-space:nowrap;
  transition:
    background 200ms var(--h-ease),
    transform 200ms var(--h-ease),
    box-shadow 200ms var(--h-ease);
  flex-shrink:0;
}
#page-home .home-ai-btn:hover{
  background:#e5c462 !important;
  transform:translateY(-1px);
  box-shadow:0 6px 18px rgba(212,182,86,.35);
}
#page-home .home-ai-btn:active{transform:translateY(0);}

/* Chips — пилюли */
#page-home .home-ai-chips{
  display:flex !important;
  gap:8px !important;
  flex-wrap:wrap !important;
  justify-content:center !important;
  margin-bottom:32px !important;
}
#page-home .home-ai-chip{
  background:transparent !important;
  border:1px solid var(--h-line) !important;
  color:var(--h-ink-soft) !important;
  font-size:12px !important;
  padding:8px 16px !important;
  cursor:pointer;
  font-family:'Inter',sans-serif !important;
  border-radius:9999px !important;
  transition:
    border-color 180ms var(--h-ease),
    color 180ms var(--h-ease),
    background 180ms var(--h-ease),
    transform 200ms var(--h-ease);
}
#page-home .home-ai-chip:hover{
  border-color:var(--h-accent) !important;
  color:var(--h-accent) !important;
  background:var(--h-accent-soft);
  transform:translateY(-1px);
}
#page-home .home-ai-chip:active{transform:translateY(0) scale(.97);}

/* Mood-row: единый размер, золотой акцент */
#page-home .home-mood-row{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  justify-content:center;
  align-items:center;
  margin-top:8px;
}
#page-home .home-mood-btn{
  background:transparent !important;
  border:1px solid var(--h-line) !important;
  font-size:22px !important;
  width:48px !important;
  height:48px !important;
  cursor:pointer;
  border-radius:50% !important;
  transition:
    border-color 200ms var(--h-ease),
    background 200ms var(--h-ease),
    transform 200ms var(--h-ease);
  line-height:1 !important;
  display:flex;
  align-items:center;
  justify-content:center;
}
#page-home .home-mood-btn:hover,
#page-home .home-mood-btn.active{
  border-color:var(--h-accent) !important;
  background:var(--h-accent-soft) !important;
  transform:scale(1.08);
}
#page-home .home-mood-btn:active{transform:scale(.94);}

/* «Удиви меня» — primary accent, отделяем от настроений */
#page-home .home-surprise-btn{
  margin-left:8px;
  padding:12px 22px !important;
  background:rgba(212,182,86,.08) !important;
  border:1px solid rgba(212,182,86,.4) !important;
  color:var(--h-accent) !important;
  font-family:'Bebas Neue',sans-serif !important;
  letter-spacing:2px !important;
  font-size:13px !important;
  border-radius:9999px !important;
  cursor:pointer;
  transition:
    background 200ms var(--h-ease),
    color 200ms var(--h-ease),
    transform 200ms var(--h-ease),
    box-shadow 200ms var(--h-ease);
}
#page-home .home-surprise-btn:hover{
  background:var(--h-accent) !important;
  color:#0a0810 !important;
  transform:translateY(-1px);
  box-shadow:0 6px 18px rgba(212,182,86,.4);
}
#page-home .home-surprise-btn:active{transform:translateY(0);}

/* ── Mobile adjustments ────────────────────────────────── */
@media (max-width:640px){
  #page-home .hero{padding:64px 20px 40px !important;min-height:72vh !important;}
  #page-home .hero h1{letter-spacing:.04em !important;}
  #page-home .home-ai-section{padding:48px 20px !important;}
  #page-home .home-ai-form{flex-direction:column;padding:8px;}
  #page-home .home-ai-btn{width:100%;padding:14px !important;}
  #page-home .home-mood-row{gap:8px;}
  #page-home .home-mood-btn{width:44px !important;height:44px !important;font-size:20px !important;}
  #page-home .home-surprise-btn{margin-left:0;width:100%;margin-top:6px;}
}

/* ── Уважаем reduced-motion ───────────────────────────── */
@media (prefers-reduced-motion: reduce){
  #page-home .hero-ai-cta,
  #page-home .hero-ai-cta:hover,
  #page-home .home-ai-form,
  #page-home .home-ai-btn,
  #page-home .home-ai-btn:hover,
  #page-home .home-ai-btn:active,
  #page-home .home-ai-chip,
  #page-home .home-ai-chip:hover,
  #page-home .home-mood-btn,
  #page-home .home-mood-btn:hover,
  #page-home .home-mood-btn:active,
  #page-home .home-surprise-btn,
  #page-home .home-surprise-btn:hover{
    transition:none !important;
    transform:none !important;
  }
}
