/* ===================================================================
   Открой Ямал — лендинг (светлая тема «Арктический Север»)
   Компонентный слой главной. ТОКЕНЫ — в assets/css/tokens.css
   (подключается ПЕРЕД этим файлом). Не зависит от style.css (тёмная
   тема остальных страниц). См. docs/DESIGN.md.
   =================================================================== */
.lp *{margin:0;padding:0;box-sizing:border-box}
.lp{font-family:var(--font-sans);color:var(--text-body);background:var(--surface-page);-webkit-font-smoothing:antialiased;line-height:1.55}
.lp img{max-width:100%;display:block}
.lp a{color:inherit;text-decoration:none}
/* Текст только для скринридеров/поисковиков (доступный H1-хвост, не cloaking) */
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
/* SEO-текст внизу страницы города (видимый, не скрытый) */
.lp-seotext{padding:8px 0 var(--section-y);color:var(--text-muted);line-height:1.75;max-width:900px}
.lp-seotext h2{font-family:var(--font-display);font-size:var(--text-h3);font-weight:600;color:var(--text-strong);margin-bottom:12px}
.lp-seotext p{margin-bottom:10px}
.lp-seotext a{color:var(--text-link);font-weight:600;text-decoration:underline;text-underline-offset:2px}

.lp .wrap{max-width:var(--container-wide);margin:0 auto;padding:0 var(--gutter)}
.lp .gr{background:var(--gradient-aurora);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.lp .ov{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--brand-strong)}

/* ---------- buttons ---------- */
.lp .btn{font-family:var(--font-sans);font-weight:700;font-size:14.5px;border:none;cursor:pointer;padding:11px 20px;border-radius:var(--radius-md);display:inline-flex;align-items:center;gap:8px;transition:.2s var(--ease-out);white-space:nowrap}
.lp .btn-pri{background:var(--gradient-aurora);color:#fff;box-shadow:var(--shadow-md)}
.lp .btn-pri:hover{transform:translateY(-1px);box-shadow:var(--shadow-lg)}
.lp .btn-acc{background:var(--gradient-berry);color:#fff;box-shadow:0 12px 30px rgba(247,127,28,.28)}
.lp .btn-sec{background:var(--surface-card);color:var(--text-strong);border:1px solid var(--border-default)}
.lp .btn-sec:hover{border-color:var(--brand);color:var(--brand-strong)}
.lp .btn-lg{padding:14px 26px;font-size:16px}

/* ---------- topbar (перенос Header.jsx) ---------- */
.lp-top{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.96);backdrop-filter:var(--blur-glass);-webkit-backdrop-filter:var(--blur-glass);border-bottom:1px solid transparent;transition:background var(--dur-base),border-color var(--dur-base)}
.lp-top.scrolled{background:rgba(255,255,255,.82);border-bottom-color:var(--border-subtle)}
.lp-top .row{display:flex;align-items:center;gap:28px;height:70px}
.lp-logo{display:inline-flex;align-items:center;gap:11px;font-family:var(--font-display);font-weight:600;font-size:20px;color:var(--text-strong);letter-spacing:-.01em}
.lp-logo .mk{width:38px;height:38px;border-radius:11px;background:var(--gradient-aurora);display:inline-flex;align-items:center;justify-content:center;box-shadow:0 6px 16px rgba(20,195,154,.35)}
.lp-logo b{font-weight:800}
.lp-nav{display:flex;gap:4px;margin-left:8px;align-items:center}
.lp-nav a,.lp-more{font-family:var(--font-sans);font-weight:600;font-size:15px;color:var(--text-body);padding:8px 14px;border-radius:var(--radius-sm);transition:.15s;background:none;border:none;cursor:pointer;display:inline-flex;align-items:center;gap:7px}
.lp-nav a:hover,.lp-more:hover{background:var(--slate-50);color:var(--text-strong)}
.lp-nav a.cur{color:var(--text-strong);background:var(--slate-100)}
.lp-more.on{background:var(--slate-100)}
.lp-more .ch{transition:transform var(--dur-fast)}.lp-more.on .ch{transform:rotate(180deg)}
.lp-right{margin-left:auto;display:flex;align-items:center;gap:12px}
.lp-city{font-family:var(--font-sans);display:inline-flex;align-items:center;gap:7px;background:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--radius-pill);padding:8px 14px;font-weight:600;font-size:14px;color:var(--text-body);cursor:pointer}
.lp-login{width:42px;height:42px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:var(--surface-card);border:1px solid var(--border-default);color:var(--text-body);box-shadow:var(--shadow-xs);transition:.15s;flex-shrink:0}
.lp-login:hover{border-color:var(--brand);color:var(--brand-strong)}
.lp-burger{display:none;width:42px;height:42px;border-radius:12px;align-items:center;justify-content:center;background:var(--surface-card);border:1px solid var(--border-default);color:var(--text-strong);cursor:pointer;flex-shrink:0;transition:.15s}
.lp-burger:hover{border-color:var(--brand);color:var(--brand-strong)}
/* мобильное меню внутри мега-панели (скрыто на десктопе) */
.lp-mmobile{display:none}
.lp-mnav{display:flex;flex-direction:column;gap:2px;margin-bottom:16px}
.lp-mnav a{padding:12px 6px;border-bottom:1px solid var(--border-subtle);font-family:var(--font-sans);font-weight:600;font-size:16px;color:var(--text-strong)}
.lp-mnav a.cur{color:var(--brand-strong)}
.lp-macts{display:flex;flex-direction:column;gap:10px;margin-bottom:4px}
.lp-mact{display:inline-flex;align-items:center;gap:8px;justify-content:center;padding:12px 14px;border-radius:var(--radius-pill);background:var(--surface-card);border:1px solid var(--border-default);font-family:var(--font-sans);font-weight:600;font-size:15px;color:var(--text-body);cursor:pointer}
.lp-macts .btn-pri{justify-content:center}
/* страховка от горизонтального выезда (clip не ломает sticky) */
html{overflow-x:clip}
/* мега-меню «Ещё» */
.lp-mega{position:absolute;left:0;right:0;top:100%}
.lp-mega[hidden]{display:none}
.lp-mega .scrim{position:fixed;inset:70px 0 0;z-index:1;background:rgba(5,9,16,.25)}
.lp-mega .panel{position:absolute;left:0;right:0;top:0;z-index:2;background:var(--surface-card);border-bottom:1px solid var(--border-subtle);box-shadow:var(--shadow-lg);animation:ymMega .2s var(--ease-out)}
.lp-mega .mgrid{max-width:var(--container-wide);margin:0 auto;padding:32px var(--gutter) 36px;display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:40px}
.lp-mega h2{font-family:var(--font-display);font-size:26px;font-weight:700;letter-spacing:-.02em;color:var(--text-strong);margin-bottom:22px}
.lp-mega .icons{display:grid;grid-template-columns:1fr 1fr;gap:2px 32px}
.lp-mega .icons a{display:flex;align-items:center;gap:12px;padding:11px 10px;border-radius:var(--radius-sm);font-weight:600;font-size:15px;color:var(--text-strong);transition:background var(--dur-fast)}
.lp-mega .icons a:hover{background:var(--slate-50)}
.lp-mega .icons .ic{color:var(--aurora-600);flex-shrink:0;display:inline-flex}
.lp-mega .sep{height:1px;background:var(--border-subtle);margin:22px 0}
.lp-mega .links{display:grid;grid-template-columns:1fr 1fr;gap:0 32px}
.lp-mega .links a{display:block;padding:13px 2px;border-bottom:1px solid var(--border-subtle);font-size:14.5px;font-weight:500;color:var(--text-body);transition:color var(--dur-fast)}
.lp-mega .links a:hover{color:var(--aurora-700)}
.lp-mega .mcta{margin-top:22px;display:inline-flex;align-items:center;gap:10px;background:var(--slate-900);color:#fff;border-radius:var(--radius-md);padding:14px 22px;font-weight:700;font-size:15px}
.lp-mega .promo{border-radius:var(--radius-xl);overflow:hidden;position:relative;min-height:320px;display:flex;flex-direction:column;background:var(--surface-sunken)}
.lp-mega .promo .top{flex:1;position:relative;background:var(--gradient-night);overflow:hidden}
.lp-mega .promo .top::before{content:'';position:absolute;inset:-30% 0 auto 20%;height:120%;background:var(--gradient-aurora);filter:blur(70px);opacity:.4}
.lp-mega .promo .top span{position:absolute;right:18px;top:16px;font-family:var(--font-display);font-weight:800;font-size:40px;color:rgba(255,255,255,.12);letter-spacing:-.04em}
.lp-mega .promo .bot{background:var(--gradient-berry);padding:20px;color:#3a1c02}
.lp-mega .promo .bot .bdg{display:inline-flex;align-items:center;gap:7px;background:rgba(255,255,255,.45);border-radius:var(--radius-pill);padding:4px 11px;font-size:12px;font-weight:700}
.lp-mega .promo .bot .t{font-family:var(--font-display);font-weight:700;font-size:19px;line-height:1.2;margin-top:12px}
.lp-mega .promo .bot a{margin-top:14px;display:inline-flex;align-items:center;gap:7px;background:var(--slate-900);color:#fff;border-radius:var(--radius-md);padding:10px 16px;font-size:14px;font-weight:700}
@keyframes ymMega{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}

/* ---------- hero ---------- */
.lp-hero{position:relative;overflow:hidden;background:var(--gradient-night);color:var(--text-on-dark)}
.lp-hero .b1,.lp-hero .b2{position:absolute;pointer-events:none}
.lp-hero .b1{top:-30%;left:6%;width:55%;height:85%;background:var(--gradient-aurora);filter:blur(120px);opacity:.36}
.lp-hero .b2{bottom:-45%;right:-6%;width:45%;height:95%;background:radial-gradient(circle,rgba(255,154,60,.32),transparent 70%);filter:blur(90px)}
.lp-hero .in{position:relative;max-width:var(--container-wide);margin:0 auto;padding:38px var(--gutter) 44px}
.lp-hero .ov{color:var(--aurora-300);margin-bottom:14px}
.lp-h1{font-family:var(--font-display);font-size:var(--text-display-1);font-weight:700;letter-spacing:-.035em;line-height:1.02;color:#fff;margin:0}
.lp-hero .lead{margin-top:14px;font-size:18px;line-height:1.5;color:var(--text-on-dark-muted);max-width:620px}
.lp-chips-city{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px;max-width:760px}
.lp-chip-city{display:inline-flex;align-items:center;gap:6px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);border-radius:var(--radius-pill);padding:6px 13px;font-size:13px;font-weight:600;color:#EAF2F8;cursor:pointer;transition:.15s}
.lp-chip-city:hover{background:rgba(255,255,255,.14)}
.lp-chip-city b{color:var(--aurora-300);font-weight:700}
.lp-search{margin-top:22px;max-width:680px;display:flex;background:#fff;border-radius:var(--radius-md);padding:7px;box-shadow:var(--shadow-lg);gap:6px}
.lp-search .f{flex:1;display:flex;align-items:center;gap:10px;padding:0 12px;color:var(--text-muted)}
.lp-search input{flex:1;border:none;outline:none;font-family:var(--font-sans);font-size:16px;color:var(--text-strong);background:none;min-width:0}
/* нижняя строка: статистика + ближайшее событие */
.lp-herobar{display:flex;align-items:center;gap:24px;margin-top:28px;flex-wrap:wrap;justify-content:space-between}
.lp-stats{display:flex;gap:32px;flex-wrap:wrap}
.lp-stats b{display:block;font-family:var(--font-display);font-size:26px;font-weight:700;color:#fff;letter-spacing:-.02em}
.lp-stats span{font-size:13.5px;color:var(--text-on-dark-muted)}
.lp-nextchip{display:flex;align-items:center;gap:14px;padding:12px 16px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);border-radius:var(--radius-lg);backdrop-filter:var(--blur-glass);transition:.15s}
.lp-nextchip:hover{background:rgba(255,255,255,.12)}
.lp-nextchip .dt{text-align:center;flex-shrink:0;padding-right:14px;border-right:1px solid rgba(255,255,255,.14)}
.lp-nextchip .dt b{display:block;font-family:var(--font-display);font-size:24px;font-weight:800;color:#fff;line-height:1}
.lp-nextchip .dt span{display:block;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-on-dark-muted);margin-top:3px}
.lp-nextchip .nx{min-width:0}
.lp-nextchip .ov2{display:block;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--aurora-300);margin-bottom:3px}
.lp-nextchip .ti{font-size:14.5px;font-weight:700;color:#fff;line-height:1.25;max-width:280px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.lp-nextchip .me{display:flex;align-items:center;gap:5px;margin-top:3px;font-size:12.5px;color:var(--text-on-dark-muted)}
.lp-nextchip .go-c{width:34px;height:34px;border-radius:50%;flex-shrink:0;background:rgba(255,255,255,.92);color:var(--slate-900);display:inline-flex;align-items:center;justify-content:center}

/* ---------- sections ---------- */
.lp-sec{padding:var(--section-y) 0}
.lp-sec.alt{background:var(--surface-card);border-top:1px solid var(--border-subtle);border-bottom:1px solid var(--border-subtle)}
.lp-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;flex-wrap:wrap;margin-bottom:28px}
.lp-head .tx{max-width:640px}
.lp-head .ov{margin-bottom:12px}
.lp-head h2{font-family:var(--font-display);font-size:var(--text-display-2);font-weight:600;letter-spacing:-.025em;color:var(--text-strong);line-height:1.08}
.lp-head h2 em{font-style:italic;font-weight:500;color:var(--brand-strong)}
.lp-head .sub{margin-top:14px;font-size:17px;color:var(--text-muted);line-height:1.5}

/* filter chips */
.lp-chips{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:28px}
.lp-chip{font-weight:600;font-size:14px;color:var(--text-body);background:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--radius-pill);padding:9px 16px;cursor:pointer;transition:.15s}
.lp-chip:hover{border-color:var(--brand)}
.lp-chip.on{background:var(--slate-900);color:#fff;border-color:var(--slate-900)}

/* grids */
.lp-g4{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.lp-g2{display:grid;grid-template-columns:1fr 1fr;gap:16px}

/* ---------- event card ---------- */
.ev{display:flex;flex-direction:column;background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-card);overflow:hidden;box-shadow:var(--shadow-sm);transition:transform .2s var(--ease-out),box-shadow .2s var(--ease-out)}
.ev:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}
.ev .po{position:relative;aspect-ratio:16/10;display:block}
.ev .po img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ev .po .wm{position:absolute;right:14px;bottom:10px;font-family:var(--font-display);font-weight:800;font-size:44px;line-height:1;letter-spacing:-.04em;color:rgba(255,255,255,.14);pointer-events:none}
.ev .cap{position:absolute;top:12px;left:12px;z-index:2;background:rgba(255,255,255,.92);backdrop-filter:var(--blur-glass);-webkit-backdrop-filter:var(--blur-glass);border-radius:var(--radius-sm);text-align:center;padding:6px 11px;line-height:1;box-shadow:var(--shadow-sm)}
.ev .cap b{display:block;font-family:var(--font-display);font-size:19px;font-weight:800;color:var(--slate-900)}
.ev .cap span{display:block;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin-top:3px}
.ev .bdg{position:absolute;top:12px;right:12px;z-index:2;font-size:12px;font-weight:700;padding:5px 11px;border-radius:var(--radius-pill)}
.ev .bdg.t-berry{background:var(--berry-50);color:var(--berry-600)}
.ev .bdg.t-aurora{background:var(--aurora-50);color:var(--aurora-700)}
.ev .bdg.t-polar{background:#E5F4FC;color:var(--polar-600)}
.ev .bdg.t-violet{background:#EFEBFF;color:#5a3fc0}
.ev .bdg.t-pink{background:#FFE9F4;color:#c52e84}
.ev .bdg.t-neutral{background:var(--slate-100);color:var(--slate-600)}
.ev .bd{padding:16px 18px 18px;display:flex;flex-direction:column;flex:1}
.ev .bd h3{font-size:17px;font-weight:700;color:var(--text-strong);line-height:1.28;letter-spacing:-.01em;margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.ev .mt{font-size:13.5px;color:var(--text-muted);display:flex;align-items:center;gap:6px;margin-top:10px}
.ev .mt svg{flex:0 0 auto;color:var(--text-faint)}
.ev .mt span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ev .ft{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:14px;border-top:1px solid var(--border-subtle)}
.ev .pr{font-weight:700;font-size:14.5px;color:var(--text-strong)}
.ev .pr.free{color:var(--aurora-700)}
.ev .more{display:inline-flex;align-items:center;gap:5px;font-size:13.5px;font-weight:700;color:var(--aurora-700);white-space:nowrap}
.ev .more svg{color:var(--aurora-600)}

/* poster gradients (по категории) */
.g-music{background:linear-gradient(135deg,#7B5CFF,#2FA8E0)}
.g-fest{background:linear-gradient(135deg,#FF9A3C,#F77F1C)}
.g-theatre{background:linear-gradient(135deg,#E5484D,#7B5CFF)}
.g-sport{background:linear-gradient(135deg,#14C39A,#2FA8E0)}
.g-expo{background:linear-gradient(135deg,#2FA8E0,#0B6553)}
.g-food{background:linear-gradient(135deg,#FF9A3C,#E5484D)}
.g-kids{background:linear-gradient(135deg,#36D2A6,#8DD7F5)}

/* ---------- service card ---------- */
.sv{display:flex;flex-direction:column;gap:12px;background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-card);padding:24px;cursor:pointer;transition:.2s var(--ease-out)}
.sv:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);border-color:transparent}
.sv .ic{width:52px;height:52px;border-radius:15px;display:inline-flex;align-items:center;justify-content:center}
.sv h4{font-size:18px;font-weight:700;color:var(--text-strong)}
.sv p{font-size:14px;color:var(--text-muted);line-height:1.45;flex:1}
.sv .cn{font-weight:700;font-size:14px;color:var(--brand-strong)}
.tone-aurora .ic{background:rgba(20,195,154,.12);color:var(--aurora-600)}.tone-aurora .cn{color:var(--aurora-600)}
.tone-violet .ic{background:rgba(123,92,255,.12);color:var(--violet-400)}.tone-violet .cn{color:var(--violet-400)}
.tone-berry .ic{background:rgba(247,127,28,.12);color:var(--berry-500)}.tone-berry .cn{color:var(--berry-500)}
.tone-polar .ic{background:rgba(47,168,224,.12);color:var(--polar-600)}.tone-polar .cn{color:var(--polar-600)}

/* ---------- company card ---------- */
.co{display:flex;gap:16px;background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-card);padding:20px;transition:.2s var(--ease-out)}
.co:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);border-color:transparent}
.co .av{width:64px;height:64px;border-radius:18px;flex-shrink:0;display:flex;align-items:center;justify-content:center;color:#fff;font-family:var(--font-display);font-weight:700;font-size:22px}
.co .ci{flex:1;min-width:0}
.co .nm{display:flex;align-items:center;gap:8px;font-size:17px;font-weight:700;color:var(--text-strong)}
.co .vf{width:17px;height:17px;color:var(--brand)}
.co .ca{font-size:13.5px;color:var(--text-muted);margin-top:2px}
.co .mr{display:flex;align-items:center;gap:14px;margin-top:12px;font-size:13px;color:var(--text-body)}
.co .rt{display:inline-flex;align-items:center;gap:5px;font-weight:700;color:var(--text-strong)}
.co .rt.norate{font-weight:500;color:var(--text-muted)}   /* T8: «Нет оценок» */
.co .st{color:var(--berry-400)}

/* ---------- map ---------- */
.lp-map{position:relative;border-radius:var(--radius-2xl);overflow:hidden;background:var(--gradient-night);height:440px;box-shadow:var(--shadow-lg);border:1px solid var(--slate-800)}
.lp-map .glow{position:absolute;top:-20%;left:20%;width:60%;height:70%;background:var(--gradient-aurora);filter:blur(120px);opacity:.28;pointer-events:none}
.lp-map svg.bg{position:absolute;inset:0;width:100%;height:100%}
.lp-pin{position:absolute;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:4px;cursor:pointer;z-index:1}
.lp-pin .dot{width:12px;height:12px;border-radius:50%;background:var(--polar-400);box-shadow:0 0 0 5px rgba(79,190,236,.22);transition:.2s}
.lp-pin.big .dot{width:18px;height:18px;background:var(--aurora-400);box-shadow:0 0 0 6px rgba(54,210,166,.25)}
.lp-pin:hover .dot{box-shadow:0 0 0 8px rgba(79,190,236,.3)}
.lp-pin .lb{font-size:12px;font-weight:700;white-space:nowrap;color:var(--text-on-dark-muted);text-shadow:0 1px 6px rgba(0,0,0,.6);display:flex;gap:5px}
.lp-pin.big .lb{font-size:13px;color:#fff}
.lp-pin .lb b{color:var(--polar-300);font-weight:700}
.lp-pin.big .lb b{color:var(--aurora-300)}
.lp-map .lg{position:absolute;left:18px;bottom:16px;display:flex;gap:16px;font-size:12px;color:var(--text-on-dark-muted)}
.lp-map .lg span{display:inline-flex;align-items:center;gap:7px}
.lp-map .lg i{width:9px;height:9px;border-radius:50%;display:inline-block}

/* ---------- CTA ---------- */
.lp-cta{position:relative;overflow:hidden;border-radius:var(--radius-2xl);background:var(--gradient-night);padding:clamp(36px,6vw,72px);color:#fff}
.lp-cta .b{position:absolute;top:-50%;right:-5%;width:50%;height:160%;background:var(--gradient-aurora);filter:blur(110px);opacity:.38}
.lp-cta .in{position:relative;max-width:640px}
.lp-cta h2{font-family:var(--font-display);font-size:var(--text-display-2);font-weight:700;letter-spacing:-.025em;line-height:1.08;color:#fff}
.lp-cta p{margin-top:16px;font-size:18px;line-height:1.5;color:var(--text-on-dark-muted)}
.lp-cta .ac{display:flex;align-items:center;gap:18px;margin-top:30px;flex-wrap:wrap}
.lp-cta .ac span{font-size:15px;color:var(--text-on-dark-muted)}.lp-cta .ac b{color:#fff}

/* ---------- footer ---------- */
.lp-foot{background:var(--slate-950);color:var(--text-on-dark);padding:64px 0 0}
.lp-foot .lp-logo{color:#fff}
.lp-fg{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:40px}
.lp-foot .ab p{margin-top:16px;font-size:14.5px;color:var(--text-on-dark-muted);line-height:1.55;max-width:320px}
.lp-foot h5{font-size:13px;font-weight:700;color:#fff;margin-bottom:16px}
.lp-foot .fc a{display:block;font-size:14px;color:var(--text-on-dark-muted);padding:5.5px 0}
.lp-foot .fc a:hover{color:#fff}
.lp-fb{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:48px;padding:24px 0 28px;border-top:1px solid rgba(255,255,255,.1);font-size:13.5px;color:var(--text-on-dark-muted)}
.lp-fb a{font-weight:600;color:var(--aurora-300);display:inline-flex;align-items:center;gap:6px}

/* ---------- баннер раздела (тёмная плашка-заголовок) ---------- */
.lp-banner{position:relative;overflow:hidden;background:var(--gradient-night);color:var(--text-on-dark);padding:40px 0 34px;border-bottom:1px solid var(--slate-800)}
.lp-banner.light{background:var(--surface-card);color:var(--text-strong);border-bottom:1px solid var(--border-subtle)}
.lp-banner .glow{position:absolute;top:-40%;left:8%;width:50%;height:120%;background:var(--gradient-aurora);filter:blur(110px);opacity:.3;pointer-events:none}
.lp-crumb{position:relative;display:flex;align-items:center;gap:8px;font-size:13.5px;color:var(--text-on-dark-muted);margin-bottom:14px}
.lp-banner.light .lp-crumb{color:var(--text-muted)}
.lp-crumb a{color:inherit}.lp-crumb a:hover{color:#fff}.lp-banner.light .lp-crumb a:hover{color:var(--brand-strong)}
.lp-crumb b{color:#fff;font-weight:600}.lp-banner.light .lp-crumb b{color:var(--text-strong)}
.lp-banner h1{position:relative;font-family:var(--font-display);font-size:var(--text-display-1);font-weight:700;letter-spacing:-.03em;color:#fff;line-height:1.05}
.lp-banner.light h1{color:var(--text-strong)}
.lp-banner .sub{position:relative;margin-top:12px;font-size:17px;color:var(--text-on-dark-muted);max-width:640px}
.lp-banner.light .sub{color:var(--text-muted)}
.lp-banner .bsearch{position:relative;margin-top:22px;max-width:520px}

/* ---------- рубричный блок (обзор афиши) ---------- */
.lp-rub{margin-bottom:var(--space-11)}
.lp-rub-h{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px;flex-wrap:wrap}
.lp-rub-t{display:flex;align-items:center;gap:14px}
.lp-rub-ic{width:46px;height:46px;border-radius:var(--radius-md);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}
.lp-rub-t h2{font-family:var(--font-display);font-size:26px;font-weight:700;letter-spacing:-.02em;color:var(--text-strong);line-height:1.1}
.lp-rub-t .s{font-size:14px;color:var(--text-muted);margin-top:3px}
.lp-rub-all{display:inline-flex;align-items:center;gap:7px;font-size:14.5px;font-weight:700;white-space:nowrap}
.lp-empty{text-align:center;padding:60px 0;color:var(--text-muted)}

/* ===== каталог: фильтры + результаты ===== */
.lp-cat{display:grid;grid-template-columns:260px minmax(0,1fr);gap:32px;align-items:start}
.lp-filters{position:sticky;top:88px;background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:20px}
.lp-fgroup{padding-bottom:16px;margin-bottom:16px;border-bottom:1px solid var(--border-subtle)}
.lp-fgroup:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}
.lp-fgroup h4{font-size:13px;font-weight:700;color:var(--text-strong);margin-bottom:10px}
.lp-opt{display:flex;align-items:center;gap:10px;padding:7px 0;font-size:14.5px;color:var(--text-body);cursor:pointer}
.lp-opt:hover{color:var(--text-strong)}.lp-opt.on{font-weight:700;color:var(--text-strong)}
.lp-opt .bx{width:18px;height:18px;border-radius:6px;border:2px solid var(--border-strong);flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;color:#fff}
.lp-opt.radio .bx{border-radius:50%}.lp-opt.on .bx{border-color:var(--brand);background:var(--brand)}
.lp-opt:not(.on) .bx svg{display:none}
.lp-opt .cnt{margin-left:auto;font-size:12.5px;color:var(--text-faint)}
.lp-fclear{display:inline-block;margin-top:6px;font-size:13.5px;font-weight:600;color:var(--text-muted)}
.lp-quick{display:flex;gap:9px;flex-wrap:wrap;margin-top:16px}
.lp-quick a{font-weight:600;font-size:14px;color:var(--text-body);background:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--radius-pill);padding:9px 16px;box-shadow:var(--shadow-xs)}
.lp-quick a.active{background:var(--aurora-50);border-color:var(--brand);color:var(--aurora-700)}
.lp-cal{display:flex;gap:8px;overflow-x:auto;padding-bottom:8px;margin-bottom:16px;scrollbar-width:thin;scrollbar-color:var(--border-default) transparent}
.lp-cal::-webkit-scrollbar{height:6px}
.lp-cal::-webkit-scrollbar-thumb{background:var(--border-default);border-radius:3px}
.lp-cal::-webkit-scrollbar-track{background:transparent}
.lp-cal a{position:relative;flex-shrink:0;min-width:58px;padding:10px;border-radius:var(--radius-md);border:1px solid var(--border-subtle);background:var(--surface-card);text-align:center;color:var(--text-body);transition:.15s}
.lp-cal a.on{border-color:var(--brand);background:var(--aurora-50);color:var(--aurora-700)}
.lp-cal a.off{opacity:.45;pointer-events:none}
.lp-cal a.has::after{content:'';position:absolute;top:7px;right:7px;width:6px;height:6px;border-radius:50%;background:var(--brand)}
.lp-cal a.on.has::after{background:var(--aurora-600)}
.lp-cal .dw{font-size:11px;font-weight:600;color:var(--text-faint)}.lp-cal a.on .dw{color:var(--aurora-600)}
.lp-cal .dn{font-size:17px;font-weight:800;font-family:var(--font-display)}
.lp-cal .dm{font-size:10px;color:var(--text-faint)}
.lp-resbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px;flex-wrap:wrap}
.lp-resbar .rc{font-size:15px;color:var(--text-muted)}.lp-resbar .rc b{color:var(--text-strong)}
.lp-daygroup{display:flex;align-items:center;gap:8px;font-weight:700;color:var(--text-strong);margin:28px 0 14px}
.lp-daygroup .dot{width:7px;height:7px;border-radius:50%;background:var(--brand)}
.lp-daygroup small{color:var(--text-faint);font-weight:500}
.lp-loadmore{text-align:center;margin:28px 0}
.lp-pager{display:flex;gap:6px;justify-content:center;margin-top:28px;flex-wrap:wrap}
.lp-pager a,.lp-pager span{min-width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;border-radius:10px;border:1px solid var(--border-subtle);background:var(--surface-card);font-weight:600;color:var(--text-body)}
.lp-pager .on{background:var(--slate-900);color:#fff;border-color:var(--slate-900)}
.lp-activef{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}
.lp-activef .ch{display:inline-flex;align-items:center;gap:7px;background:var(--surface-sunken);border-radius:var(--radius-pill);padding:6px 12px;font-size:13.5px;color:var(--text-body)}
.lp-activef .ch a{color:var(--text-faint);font-weight:700}

/* service-карточка каталога */
.svc-card{display:flex;flex-direction:column;background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-card);overflow:hidden;transition:.2s var(--ease-out)}
.svc-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:transparent}
.svc-card .po{position:relative;aspect-ratio:16/9;display:block}
.svc-card .po .bdg{position:absolute;top:12px;left:12px;background:rgba(255,255,255,.95);color:var(--slate-900);font-size:11.5px;font-weight:700;padding:5px 11px;border-radius:var(--radius-pill)}
.svc-card .bd{padding:15px 16px 17px;display:flex;flex-direction:column;gap:8px;flex:1}
.svc-card .bd h3{font-size:16px;font-weight:700;color:var(--text-strong);line-height:1.3}
.svc-card .cm{font-size:13px;color:var(--text-muted)}
.svc-card .ft{margin-top:auto;font-weight:700;color:var(--brand-strong)}

/* ===== детальные страницы ===== */
.lp-detail{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:36px;align-items:start;padding:28px 0 var(--section-y)}
.lp-dmain{min-width:0}
.lp-dhero{position:relative;overflow:hidden;border-radius:var(--radius-2xl);min-height:320px;display:flex;flex-direction:column;justify-content:flex-end;padding:28px;color:#fff;margin-bottom:18px}
.lp-dhero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 28%,rgba(6,19,32,.8))}
.lp-dhero .hin{position:relative;z-index:2}
.lp-dhero .date{position:absolute;top:22px;left:22px;z-index:2;background:rgba(255,255,255,.95);color:var(--slate-900);border-radius:var(--radius-md);text-align:center;padding:9px 14px}
.lp-dhero .date b{display:block;font-family:var(--font-display);font-size:24px;font-weight:800;line-height:1}
.lp-dhero .date span{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted)}
.lp-dtags{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}
.lp-dtags .t{background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.25);border-radius:var(--radius-pill);padding:5px 12px;font-size:12.5px;font-weight:700;display:inline-flex;align-items:center;gap:5px}
.lp-dhero h1{font-family:var(--font-display);font-size:var(--text-display-2);font-weight:700;letter-spacing:-.025em;line-height:1.08;color:#fff}
.lp-dmeta{display:flex;gap:18px;flex-wrap:wrap;margin-top:12px;font-size:14.5px;color:rgba(255,255,255,.85)}
.lp-dmeta span{display:inline-flex;align-items:center;gap:7px}
.lp-block{background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:24px;margin-bottom:18px}
.lp-block h2{font-family:var(--font-display);font-size:21px;font-weight:700;letter-spacing:-.02em;color:var(--text-strong);margin-bottom:14px}
.lp-block p{color:var(--text-body);line-height:1.65}.lp-block p+p{margin-top:10px}
.lp-block .hrow{display:flex;align-items:baseline;justify-content:space-between;gap:12px}
.lp-block .hrow a{font-size:13.5px;font-weight:700;color:var(--brand-strong);white-space:nowrap}
.lp-facts{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.lp-fact{display:flex;gap:12px;align-items:center}
.lp-fact .ic{width:40px;height:40px;border-radius:12px;background:var(--surface-sunken);color:var(--brand-strong);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}
.lp-fact .fl{font-size:12.5px;color:var(--text-faint)}.lp-fact .fv{font-weight:700;color:var(--text-strong)}
.lp-org{display:flex;gap:16px;align-items:center;flex-wrap:wrap}
.lp-org .av{width:60px;height:60px;border-radius:16px;flex-shrink:0;display:flex;align-items:center;justify-content:center;color:#fff;font-family:var(--font-display);font-weight:700;font-size:20px}
.lp-org .oc{flex:1;min-width:160px}.lp-org .oc h3{font-size:17px;font-weight:700;color:var(--text-strong)}
.lp-org .oc .ocl{font-size:13.5px;color:var(--text-muted);margin-top:2px}
.lp-org .ostat{display:flex;gap:14px;margin-top:8px;font-size:13px;color:var(--text-body)}.lp-org .st{color:var(--berry-400)}
.lp-org .oab{margin-top:12px;color:var(--text-muted);font-size:14px;line-height:1.6;width:100%}
.lp-inc{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.lp-inc .i{display:flex;align-items:center;gap:10px;font-weight:600;color:var(--text-strong);font-size:14.5px}
.lp-inc .i .c{width:22px;height:22px;border-radius:7px;background:var(--aurora-50);color:var(--aurora-700);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}
.lp-rev-sum{display:flex;gap:28px;flex-wrap:wrap;align-items:center;margin-bottom:18px}
.lp-rev-score{text-align:center}.lp-rev-score b{font-family:var(--font-display);font-size:40px;font-weight:800;color:var(--text-strong);display:block;line-height:1}
.lp-rev-score .rc{font-size:13px;color:var(--text-muted);margin-top:4px}
.lp-rev-bars{flex:1;min-width:200px;display:flex;flex-direction:column;gap:6px}
.lp-rev-bar{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--text-muted)}
.lp-rev-bar .track{flex:1;height:7px;border-radius:4px;background:var(--surface-sunken);overflow:hidden}
.lp-rev-bar .fill{display:block;height:100%;background:var(--gradient-aurora)}
.lp-cform{display:flex;flex-direction:column;gap:12px;background:var(--surface-sunken);border-radius:var(--radius-md);padding:18px;margin:14px 0}
.lp-cform .rfh{font-weight:700;color:var(--text-strong)}
.lp-cform input,.lp-cform textarea{border:1px solid var(--border-default);border-radius:var(--radius-md);padding:11px 14px;font-family:var(--font-sans);font-size:14.5px;background:var(--surface-card);color:var(--text-strong);width:100%}
.lp-cform textarea{min-height:90px;resize:vertical}
.lp-cform .row{display:flex;gap:10px;flex-wrap:wrap}.lp-cform .row>*{flex:1;min-width:160px}
.lp-cform .kind{display:flex;gap:16px;font-size:14px;color:var(--text-body)}
.lp-stars{display:flex;gap:4px;font-size:24px;color:var(--border-strong);cursor:pointer}.lp-stars span.on{color:var(--berry-400)}
.lp-review{display:flex;gap:14px;padding:16px 0;border-top:1px solid var(--border-subtle)}
.lp-review .rav{width:42px;height:42px;border-radius:50%;flex-shrink:0;background:var(--gradient-aurora);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700}
.lp-review .rn{font-weight:700;color:var(--text-strong)}.lp-review .rd{font-size:12.5px;color:var(--text-faint);margin-left:8px}
.lp-review p{color:var(--text-body);margin-top:6px;line-height:1.55}
.lp-note-ok{background:var(--aurora-50);color:var(--aurora-700);border:1px solid rgba(20,195,154,.3);border-radius:var(--radius-md);padding:12px 16px;font-weight:600;margin-bottom:12px}
.lp-note-ok.err{background:#fff1f1;color:var(--red-600);border-color:rgba(229,72,77,.3)}
.lp-dside .box{position:sticky;top:88px;background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:22px;margin-bottom:18px}
.lp-side-map{background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);overflow:hidden}
.lp-side-map iframe{width:100%;height:260px;border:0;display:block}
.lp-side-map .mfoot{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 16px;font-size:13.5px}
.lp-side-map .mfoot .ma{display:inline-flex;align-items:center;gap:6px;color:var(--text-body);min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.lp-side-map .mfoot a{font-weight:700;color:var(--text-link);white-space:nowrap}
.lp-price{font-family:var(--font-display);font-size:26px;font-weight:800;color:var(--brand-strong);margin-bottom:6px}.lp-price.free{color:var(--text-muted)}
.lp-src{font-size:13px;color:var(--text-muted);margin-bottom:14px}
.lp-side-act{display:flex;gap:8px;margin-top:12px}.lp-side-act .btn{flex:1;justify-content:center}
.lp-note{margin-top:16px;font-size:12.5px;color:var(--text-muted);line-height:1.55;background:var(--surface-sunken);border-radius:var(--radius-md);padding:12px 14px}
.lp-contacts .ct{display:flex;gap:12px;padding:10px 0;border-bottom:1px solid var(--border-subtle)}.lp-contacts .ct:last-child{border-bottom:none}
.lp-contacts .ic{width:36px;height:36px;border-radius:10px;background:var(--surface-sunken);color:var(--brand-strong);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}
.lp-contacts .cl{font-size:12px;color:var(--text-faint)}.lp-contacts .cv{font-weight:600;color:var(--text-strong);font-size:14px}
.lp-gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.lp-gallery .ph{aspect-ratio:1;border-radius:var(--radius-md)}
.lp-gallery a{display:block}.lp-gallery img{width:100%;height:100%;object-fit:cover;border-radius:var(--radius-md);aspect-ratio:1}
.lp-vid{position:relative;aspect-ratio:16/9;border-radius:var(--radius-md);overflow:hidden;margin-bottom:12px}
.lp-vid iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.lp-trust{display:flex;gap:10px;flex-wrap:wrap;margin:16px 0}
.lp-trust .tc{display:inline-flex;align-items:center;gap:6px;background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-pill);padding:8px 14px;font-size:13.5px;color:var(--text-body)}
.lp-trust .tc b{color:var(--text-strong)}.lp-trust .tc.star{color:var(--berry-500)}.lp-trust .tc.ok{color:var(--aurora-700);border-color:rgba(20,195,154,.3);background:var(--aurora-50)}
.lp-cohero{position:relative;border-radius:var(--radius-2xl);overflow:hidden;margin-bottom:8px}
.lp-cocover{height:160px;position:relative}
.lp-cobar{display:flex;gap:18px;align-items:flex-end;padding:0 24px 22px;margin-top:-44px;position:relative;flex-wrap:wrap}
.lp-coav{width:96px;height:96px;border-radius:24px;border:4px solid var(--surface-card);flex-shrink:0;display:flex;align-items:center;justify-content:center;color:#fff;font-family:var(--font-display);font-weight:700;font-size:30px;background-size:cover;background-position:center}
.lp-coid{flex:1;min-width:200px;padding-bottom:4px}
.lp-coid h1{font-family:var(--font-display);font-size:var(--text-h1);font-weight:700;letter-spacing:-.02em;color:var(--text-strong);display:flex;align-items:center;gap:8px}
.lp-coid .com{display:flex;gap:14px;flex-wrap:wrap;margin-top:6px;font-size:14px;color:var(--text-muted)}.lp-coid .com .st{color:var(--berry-400)}
.lp-coact{display:flex;gap:10px;align-items:center;padding-bottom:4px;flex-wrap:wrap}

/* ===== модалки (авторизация / город) — перенос AuthModal.jsx ===== */
.lp-modal{position:fixed;inset:0;z-index:300;background:rgba(5,9,16,.55);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;padding:20px;animation:ymFade .2s var(--ease-out);font-family:var(--font-sans);color:var(--text-body);line-height:1.55}
.lp-modal a{text-decoration:none;color:inherit}
.lp-modal *{box-sizing:border-box}

/* ===== Баннер cookie/аналитики (перенос CookieBanner.jsx) ===== */
.lp-cookie[hidden]{display:none}
.lp-cookie{position:fixed;left:0;right:0;bottom:0;z-index:120;display:flex;justify-content:center;padding:clamp(12px,2vw,24px);pointer-events:none;font-family:var(--font-sans)}
.lp-cookie .ck{pointer-events:auto;position:relative;overflow:hidden;max-width:var(--container-wide);width:100%;display:flex;align-items:center;gap:clamp(16px,3vw,36px);flex-wrap:wrap;background:var(--gradient-night);color:#fff;border-radius:var(--radius-xl);padding:clamp(18px,2.4vw,26px) clamp(20px,2.8vw,32px);box-shadow:var(--shadow-lg);border:1px solid rgba(255,255,255,.08);animation:ymCookieUp .35s var(--ease-out)}
.lp-cookie .ck::before{content:"";position:absolute;top:-60%;left:8%;width:40%;height:200%;background:var(--gradient-aurora);filter:blur(70px);opacity:.28;pointer-events:none}
.lp-cookie .tx{position:relative;flex:1;min-width:260px}
.lp-cookie .tx b{display:block;font-family:var(--font-display);font-size:18px;font-weight:700;letter-spacing:-.01em;margin-bottom:7px}
.lp-cookie .tx p{font-size:14px;line-height:1.5;color:var(--text-on-dark-muted);max-width:760px}
.lp-cookie .tx a{color:var(--aurora-300);font-weight:700;text-decoration:underline;text-underline-offset:2px;cursor:pointer}
.lp-cookie .ok{position:relative;flex-shrink:0;cursor:pointer;background:#fff;color:var(--slate-900);border:none;border-radius:var(--radius-md);padding:13px 30px;font-family:var(--font-sans);font-size:15px;font-weight:700;box-shadow:0 6px 18px rgba(0,0,0,.25);transition:transform var(--dur-fast) var(--ease-out)}
.lp-cookie .ok:hover{transform:translateY(-1px)}
@keyframes ymCookieUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}
@media(max-width:640px){.lp-cookie .ok{width:100%}}
.lp-modal[hidden]{display:none}
.lp-modal-card{width:min(440px,100%);background:var(--surface-card);border-radius:var(--radius-2xl);box-shadow:var(--shadow-xl);overflow:hidden;position:relative;animation:ymPop .26s var(--ease-spring)}
.lp-modal-card.sm{width:min(420px,100%)}
@keyframes ymPop{from{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:none}}
@keyframes ymFade{from{opacity:0}to{opacity:1}}
.amh{position:relative;background:var(--gradient-night);padding:26px 26px 22px;color:#fff;overflow:hidden}
.amh .glow{position:absolute;top:-50%;right:-10%;width:60%;height:180%;background:var(--gradient-aurora);filter:blur(60px);opacity:.5;pointer-events:none}
.amh.user .glow{background:radial-gradient(circle,rgba(20,195,154,.6),transparent 70%)}
.amh.company .glow{background:radial-gradient(circle,rgba(247,127,28,.6),transparent 70%)}
.amx{position:absolute;top:16px;right:16px;width:34px;height:34px;border-radius:50%;border:none;cursor:pointer;background:rgba(255,255,255,.14);color:#fff;font-size:18px;z-index:2}
.amback{display:inline-flex;align-items:center;gap:6px;background:none;border:none;cursor:pointer;color:var(--aurora-300);font-size:13.5px;font-weight:700;padding:0;margin-bottom:12px;position:relative}
.amback[hidden]{display:none}
.amlogo{display:flex;align-items:center;gap:9px;position:relative;font-family:var(--font-display);font-weight:700;font-size:17px}
.amlogo .mk{width:30px;height:30px;border-radius:9px;background:var(--gradient-aurora);display:inline-flex;align-items:center;justify-content:center}
.amtitle{position:relative;font-family:var(--font-display);font-size:23px;font-weight:700;letter-spacing:-.02em;margin-top:8px}
.amsub{position:relative;font-size:14px;color:var(--text-on-dark-muted);margin-top:6px;line-height:1.45}
.amb{padding:24px}
.amroles{display:flex;flex-direction:column;gap:12px}
.amrole{display:flex;align-items:center;gap:16px;padding:18px;text-align:left;cursor:pointer;background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);transition:.15s;width:100%}
.amrole:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}
.amrole[data-role=user]:hover{border-color:var(--aurora-500)}.amrole[data-role=company]:hover{border-color:var(--berry-500)}
.amrole .ic{width:50px;height:50px;border-radius:var(--radius-md);flex-shrink:0;display:inline-flex;align-items:center;justify-content:center}
.amrole .ic.user{background:rgba(20,195,154,.12);color:var(--aurora-600)}.amrole .ic.company{background:rgba(247,127,28,.12);color:var(--berry-500)}
.amrole .t{flex:1}.amrole .t b{display:block;font-size:16.5px;font-weight:700;color:var(--text-strong)}
.amrole .t span{display:block;font-size:13.5px;color:var(--text-muted);margin-top:2px;line-height:1.4}
.amhint{font-size:13px;color:var(--text-faint);text-align:center;margin-top:4px}
.amtabs{display:flex;gap:2px;padding:3px;background:var(--surface-sunken);border-radius:var(--radius-md);margin-bottom:16px}
.amtab{flex:1;padding:9px 0;border-radius:var(--radius-sm);border:none;cursor:pointer;font-family:var(--font-sans);font-size:14px;font-weight:700;background:transparent;color:var(--text-muted)}
.amtab.on{background:var(--surface-card);color:var(--text-strong);box-shadow:var(--shadow-xs)}
.amform{display:flex;flex-direction:column;gap:14px}
.amform[hidden]{display:none}
.amform label{display:block;font-size:13px;font-weight:600;color:var(--text-body)}
.amform input{display:block;width:100%;height:48px;padding:0 14px;box-sizing:border-box;margin-top:6px;border-radius:var(--radius-md);border:1px solid var(--border-default);font-family:var(--font-sans);font-size:15px;color:var(--text-strong);outline:none}
.amform input:focus{border-color:var(--aurora-500);box-shadow:0 0 0 3px var(--focus-ring)}
.amform .forgot{display:flex;justify-content:flex-end;margin-top:-6px}
.amform .forgot a{font-size:13.5px;font-weight:600;color:var(--text-link)}
.amform .btn{justify-content:center}
.amor{display:flex;align-items:center;gap:12px;color:var(--text-faint);font-size:12.5px;margin:16px 0}
.amor span{flex:1;height:1px;background:var(--border-subtle)}
.amyandex{height:48px;border-radius:var(--radius-md);border:1px solid var(--border-default);background:var(--surface-card);cursor:pointer;font-family:var(--font-sans);font-size:14.5px;font-weight:600;color:var(--text-body);display:inline-flex;align-items:center;justify-content:center;gap:9px;width:100%}
.amyandex .ya{width:20px;height:20px;border-radius:50%;background:var(--gradient-berry);display:inline-flex;align-items:center;justify-content:center;color:#fff;font-size:12px;font-weight:800}
.amterms{font-size:12px;color:var(--text-faint);text-align:center;line-height:1.5;margin-top:14px}
.cmh{display:flex;align-items:center;justify-content:space-between;padding:20px 22px;border-bottom:1px solid var(--border-subtle)}
.cmh h3{font-family:var(--font-display);font-size:19px;font-weight:700;color:var(--text-strong)}
.cmh button{width:32px;height:32px;border-radius:50%;border:1px solid var(--border-default);background:var(--surface-card);cursor:pointer;color:var(--text-muted);font-size:15px}
.cmlist{max-height:60vh;overflow:auto;padding:8px}
.cmopt{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-radius:var(--radius-md);color:var(--text-body);font-weight:600}
.cmopt:hover{background:var(--surface-sunken)}
.cmopt.on{color:var(--brand-strong)}
.cmopt b{color:var(--text-faint);font-weight:600;font-size:13px}

/* ===== страница события (перенос DetailPages.EventPage) ===== */
.lp-eheading{font-family:var(--font-display);font-size:22px;font-weight:700;letter-spacing:-.01em;color:var(--text-strong);margin:0 0 16px}
.lp-egallery{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.08fr;grid-template-rows:1fr 1fr;gap:12px;height:440px;margin-bottom:var(--space-9)}
.lp-egallery .gtile{position:relative;border:none;padding:0;cursor:pointer;border-radius:var(--radius-lg);overflow:hidden;display:block}
.lp-egallery .gmain{grid-column:1;grid-row:1 / span 2}
.lp-egallery .gphoto1{grid-column:2;grid-row:1}.lp-egallery .gphoto2{grid-column:3;grid-row:1}
.lp-egallery .gphoto3{grid-column:2;grid-row:2}.lp-egallery .gphoto4{grid-column:3;grid-row:2}
.lp-egallery .gwm{position:absolute;right:18px;bottom:12px;font-family:var(--font-display);font-weight:800;font-size:60px;color:rgba(255,255,255,.12);letter-spacing:-.05em;pointer-events:none}
.lp-egallery .gplay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}
.lp-egallery .gplay i{width:72px;height:72px;border-radius:50%;background:rgba(255,255,255,.92);display:flex;align-items:center;justify-content:center;box-shadow:0 10px 30px rgba(0,0,0,.3)}
.lp-egallery .gvbadge{position:absolute;top:16px;left:16px;display:inline-flex;align-items:center;gap:6px;background:rgba(8,11,24,.6);color:#fff;border-radius:var(--radius-pill);padding:5px 11px;font-size:12px;font-weight:700}
.lp-egallery .gmore{position:absolute;inset:0;background:rgba(8,11,24,.55);display:flex;align-items:center;justify-content:center}
.lp-egallery .gmore span{display:inline-flex;align-items:center;gap:7px;background:rgba(255,255,255,.95);color:var(--slate-900);border-radius:var(--radius-pill);padding:9px 16px;font-size:13.5px;font-weight:700}
.lp-egallery .galaction{position:relative;overflow:hidden;border-radius:var(--radius-lg);cursor:pointer;text-align:left;padding:18px 20px;display:flex;flex-direction:column;justify-content:space-between;text-decoration:none}
.lp-egallery .galaction b{font-family:var(--font-display);font-weight:700;font-size:21px;line-height:1.12;letter-spacing:-.01em}
.lp-egallery .galaction .gc{align-self:flex-end;width:46px;height:46px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center}
.lp-egallery .gmap{grid-column:4;grid-row:1;border:1px solid rgba(47,168,224,.22);background:#E5F4FC;color:var(--polar-600)}.lp-egallery .gmap .gc{background:rgba(47,168,224,.16)}
.lp-egallery .groute{grid-column:4;grid-row:2;border:1px solid var(--aurora-100);background:var(--aurora-50);color:var(--aurora-700)}.lp-egallery .groute .gc{background:rgba(20,195,154,.16)}
.lp-sess{display:flex;gap:12px;overflow-x:auto;padding-bottom:10px;scrollbar-width:thin;scrollbar-color:var(--border-default) transparent;scroll-snap-type:x proximity}
.lp-sess::-webkit-scrollbar{height:6px}.lp-sess::-webkit-scrollbar-thumb{background:var(--border-default);border-radius:3px}.lp-sess::-webkit-scrollbar-track{background:transparent}
.lp-sess a,.lp-sess button{flex:0 0 auto;min-width:150px;overflow:hidden;scroll-snap-align:start;font:inherit;color:inherit;padding:14px 18px;border-radius:var(--radius-lg);cursor:pointer;text-align:left;border:1px solid var(--border-subtle);background:var(--surface-sunken);transition:.15s}
.lp-sess a.on,.lp-sess button.on{border-color:var(--aurora-500);background:var(--surface-card);box-shadow:var(--shadow-md)}
.lp-sess .sp{font-size:12.5px;font-weight:600;color:var(--text-faint)}.lp-sess a.on .sp,.lp-sess button.on .sp{color:var(--text-muted)}
.lp-sess .sd{font-family:var(--font-display);font-size:21px;font-weight:700;letter-spacing:-.01em;color:var(--text-body);margin-top:8px;line-height:1.1;white-space:nowrap}.lp-sess a.on .sd,.lp-sess button.on .sd{color:var(--text-strong)}
.lp-sess .sl{display:flex;align-items:center;gap:6px;margin-top:10px;font-size:13px;color:var(--text-faint);min-width:0}.lp-sess .sl span{min-width:0}.lp-sess a.on .sl,.lp-sess button.on .sl{color:var(--text-muted)}
/* вкладки площадок на странице события (мультикомпания «как у кино») */
.lp-vtabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}
.lp-vtab{font-size:14px;font-weight:700;color:var(--text-muted);padding:9px 16px;border-radius:10px;border:1px solid var(--border-subtle);background:var(--surface-sunken);cursor:pointer;transition:.15s}
.lp-vtab:hover{color:var(--text-body);border-color:var(--border-default)}
.lp-vtab.on{background:var(--slate-900);border-color:var(--slate-900);color:#fff}
.lp-vpanel{display:none}.lp-vpanel.on{display:block}
.lp-dayslider{display:flex;gap:8px;overflow-x:auto;padding-bottom:10px;scrollbar-width:thin;scrollbar-color:var(--border-default) transparent}
.lp-dayslider::-webkit-scrollbar{height:6px}.lp-dayslider::-webkit-scrollbar-thumb{background:var(--border-default);border-radius:3px}.lp-dayslider::-webkit-scrollbar-track{background:transparent}
.dchip{flex-shrink:0;min-width:60px;padding:11px 10px;border-radius:var(--radius-md);border:1px solid var(--border-subtle);background:var(--surface-card);cursor:pointer;text-align:center;font-family:var(--font-sans);transition:.15s}
.dchip:hover{border-color:var(--brand)}
.dchip.on{border-color:var(--brand);background:var(--aurora-50)}
.dchip.past{opacity:.45;background:var(--surface-sunken);border-color:var(--border-subtle);cursor:default;pointer-events:none}
.dchip.past .dn{color:var(--text-faint)}
.lp-dayinfo{display:flex;flex-wrap:wrap;gap:18px;margin-top:14px;padding:14px 18px;border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--surface-card);font-size:14.5px;color:var(--text-body)}
.lp-dayinfo .di{display:inline-flex;align-items:center;gap:8px}
.lp-dayinfo .di svg{color:var(--aurora-600);flex-shrink:0}
.lp-dayinfo .di b{color:var(--text-strong);font-weight:700}
.lp-dayinfo .dl{color:var(--text-faint);font-weight:500}
.dchip .dw{display:block;font-size:11px;font-weight:600;color:var(--text-faint)}.dchip.on .dw{color:var(--aurora-600)}
.dchip .dn{display:block;font-size:18px;font-weight:800;font-family:var(--font-display);color:var(--text-strong);margin-top:1px}.dchip.on .dn{color:var(--aurora-700)}
.dchip .dm{display:block;font-size:10px;color:var(--text-faint)}.dchip.on .dm{color:var(--aurora-600)}
.lp-venue{background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);overflow:hidden}
.lp-venue .vh{display:flex;gap:16px;padding:18px;align-items:center}
.lp-venue .va{width:58px;height:58px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-weight:700;color:#fff;font-size:18px;flex-shrink:0}
.lp-venue .vn{font-size:16.5px;font-weight:700;color:var(--text-strong)}.lp-venue .vt{font-size:14px;color:var(--text-muted);margin-top:3px}
.lp-venue .vmeta{display:flex;gap:18px;padding:0 18px 16px;flex-wrap:wrap;font-size:13.5px;color:var(--text-body)}
.lp-venue .vmeta span{display:inline-flex;align-items:center;gap:7px}
.lp-venue .vmap{position:relative;height:190px;margin:0 18px 18px;border-radius:var(--radius-md);overflow:hidden;background:var(--gradient-night)}
.lp-chosen{margin-top:14px;padding:12px 14px;border-radius:var(--radius-md);background:var(--aurora-50);border:1px solid var(--aurora-100);display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:var(--aurora-800)}
.lp-going{display:flex;align-items:center;gap:8px;margin-top:16px;padding-top:16px;border-top:1px solid var(--border-subtle);font-size:13.5px;color:var(--text-muted)}

/* ---------- responsive ---------- */
@media(max-width:1100px){
  .lp-g4{grid-template-columns:repeat(2,1fr)}
  .lp-fg{grid-template-columns:1fr 1fr}
  .lp-cat{grid-template-columns:minmax(0,1fr)}
  .lp-filters{position:static}
  .lp-detail{grid-template-columns:minmax(0,1fr)}
  .lp-dside .box{position:static}
  .lp-cat>*,.lp-detail>*{min-width:0}  /* без этого 1fr раздувается до min-content контента → горизонтальный скролл */
}
@media(max-width:720px){
  .lp-nav,.lp-city,.lp-login{display:none}
  .lp-right .btn-pri{display:none}      /* T2: убираем 213px CTA из шапки -> нет overflow */
  .lp-burger{display:inline-flex}
  /* каталог-баннеры (афиша/рубрика/услуги/путешествия/компании) на мобилке: только крошки + H1 —
     подзаголовок и форма поиска дублируют шапку (там есть поиск), место важно */
  .lp-banner .sub,.lp-banner .bsearch,.cp-banner .sub,.cp-banner .cp-bsearch{display:none}
  /* плашка каталога компактнее: H1 меньше, отступы ниже, последний пункт крошек = H1 → убран.
     Для .cp-banner (companies) те же правила в companies.css — она грузится ПОСЛЕ и переопределяет. */
  .lp-banner{padding:16px 0 14px}
  .lp-banner h1{font-size:29px;line-height:1.12}
  .lp-crumb{margin-bottom:9px;font-size:12.5px}
  .lp-crumb .crumb-cur{display:none}
  .lp-mmobile{display:block}            /* T1: мобильное меню (nav+город+вход+CTA) */
  .lp-mega .mgrid{grid-template-columns:1fr;padding-top:18px;padding-bottom:24px}
  .lp-mega .promo{display:none}
  .lp-mega .icons,.lp-mega .links{grid-template-columns:1fr}
  .lp-g4,.lp-g2{grid-template-columns:1fr}
  /* afisha-главная: блоки рубрик — горизонтальный слайдер карточек (DS «афиша-слайдер вместо стены») */
  .lp-rub .lp-g4{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:none;padding-bottom:6px}
  .lp-rub .lp-g4::-webkit-scrollbar{display:none}
  .lp-rub .lp-g4>.ev{flex:0 0 82%;max-width:320px;scroll-snap-align:start}
  /* компактный заголовок рубрики на мобилке (место важно): один ряд, мелкая иконка, стрелка вместо «Все …» */
  .lp-rub{margin-bottom:26px}
  .lp-rub-h{margin-bottom:12px;gap:10px;flex-wrap:nowrap}
  .lp-rub-t{gap:11px;min-width:0}
  .lp-rub-t>div{min-width:0}
  .lp-rub-ic{width:34px;height:34px;border-radius:var(--radius-sm)}
  .lp-rub-ic svg{width:18px;height:18px}
  .lp-rub-t h2{font-size:18px;margin:0}
  .lp-rub-t .s{font-size:12px;margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .lp-rub-t .s:empty{display:none}
  .lp-rub-all{font-size:0;gap:0;flex-shrink:0}
  .lp-rub-all svg{width:22px;height:22px}
  /* страница рубрики: фильтры-рубрики — горизонтальный чип-ряд вместо вертикальной стены */
  .lp-frubrics{padding:0;border:none;background:none;position:static}
  .lp-frubrics .lp-fgroup{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;padding:0 0 4px;margin:0;border:none}
  .lp-frubrics .lp-fgroup::-webkit-scrollbar{display:none}
  .lp-frubrics .lp-fgroup h4{display:none}
  .lp-frubrics .lp-opt{flex:0 0 auto;padding:8px 14px;border:1px solid var(--border-subtle);border-radius:var(--radius-pill);background:var(--surface-card);white-space:nowrap;font-size:13.5px}
  .lp-frubrics .lp-opt .bx{display:none}
  .lp-frubrics .lp-opt.on{background:var(--slate-900);border-color:var(--slate-900);color:#fff}
  .lp-frubrics .lp-opt .cnt{margin-left:6px;color:var(--text-faint)}
  .lp-frubrics .lp-opt.on .cnt{color:rgba(255,255,255,.7)}
  /* T6: чипы афиши — горизонтальный скролл-ряд вместо ~7 рядов */
  .lp-chips{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity;scrollbar-width:none;padding-bottom:4px}
  .lp-chips::-webkit-scrollbar{display:none}
  .lp-chip{flex:0 0 auto;scroll-snap-align:start}
  .lp-stats{gap:24px}
  .lp-nextchip{display:none}
  /* главная: чипы городов — горизонтальный скролл (не стена); секции — слайдеры; шапки секций компактнее */
  /* hero главной: поиск и чипы городов убраны — дублируют шапку (там и поиск, и выбор города) */
  .lp-hero .lp-search{display:none}
  .lp-hero .lp-chips-city{display:none}
  .lp-hslide{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:none;padding-bottom:6px;grid-template-columns:none}
  .lp-hslide::-webkit-scrollbar{display:none}
  .lp-hslide>*{flex:0 0 78%;max-width:300px;scroll-snap-align:start}
  .lp-head{flex-wrap:nowrap;align-items:center;margin-bottom:16px;gap:12px}
  .lp-head .tx{min-width:0}
  .lp-head h2{font-size:22px;line-height:1.15}
  .lp-head .sub{display:none}
  .lp-head .btn{flex-shrink:0;white-space:nowrap;padding:9px 14px}
  .lp-map{height:380px}
  .lp-fg{grid-template-columns:1fr 1fr}
  .lp-pin:not(.big) .lb{display:none}   /* T5: подписи крупных центров видны на мобиле, мелкие скрыты */
  .lp-facts,.lp-inc{grid-template-columns:1fr}
  /* галерея события — горизонтальный слайдер фото (постер + реальные фото); пустые плитки и большие кнопки убраны */
  .lp-egallery{display:flex;overflow-x:auto;scroll-snap-type:x proximity;gap:8px;height:auto;scrollbar-width:none;margin-bottom:var(--space-7)}
  .lp-egallery::-webkit-scrollbar{display:none}
  .lp-egallery .gtile{grid-column:auto!important;grid-row:auto!important;flex:0 0 85%;aspect-ratio:16/10;scroll-snap-align:start}
  .lp-egallery .gmain{grid-column:auto!important;grid-row:auto!important;flex:0 0 100%;aspect-ratio:16/10}
  .lp-egallery .gempty{display:none}       /* пустые плитки-заглушки без фото */
  .lp-egallery .galaction{display:none}    /* большие «на карте / маршрут» убраны (есть ссылка в шапке + карта в сайдбаре) */
  .lp-egallery .gwm{font-size:40px}
  .lp-gallery{grid-template-columns:repeat(2,1fr)}
  /* событие: блок покупки/выбранной даты — наверх; карта площадки — вниз */
  .lp-detail{display:flex;flex-direction:column;gap:0}
  .lp-dside{display:contents}
  .lp-dside .box{order:-1;position:static;margin:0 0 24px}
  .lp-side-map{order:1;margin-top:18px}
  /* флекс-дети не должны раздуваться шире экрана: слайдер дней (много чипов) и iframe карты
     иначе вся страница едет вбок (scrollWidth 4164 при vw 375) */
  .lp-dmain,.lp-dside .box,.lp-side-map{min-width:0;max-width:100%}
  /* подвал на мобилке скрыт — навигация через нижнюю таб-панель */
  .lp-foot{display:none}
}
