/* Главная сайта v2 (09.11.2026): «объём» в языке кабинета v2 — та же поверхность карточек, заливка (--fill) для действий
   и статусов, золото/акцент для текста и контуров. Всё под body.hv2; класс ставится вместе с cab2 по siteTheme.cabinetV2
   (умолчание включено, false выключает клубу). База — cabinet-v2.css, здесь только то, чего нет в кабинете. */
body.hv2{--hv2-card:linear-gradient(180deg,var(--cab2-s1),var(--cab2-s2));--hv2-sh:inset 0 1px 0 rgba(255,255,255,.07),0 12px 24px -12px rgba(0,0,0,.6),0 2px 6px rgba(0,0,0,.25);--hv2-sh-sm:inset 0 1px 0 rgba(255,255,255,.06),0 8px 16px -10px rgba(0,0,0,.55),0 1px 3px rgba(0,0,0,.25)}
/* кабинетные поправки, которые на сайте не нужны */
body.hv2 .rating-podium{margin-left:0;margin-right:0}
/* шапка сайта остаётся как на проде (градиент в прозрачность, без полосы) — только кнопка «Войти» заливкой */
body.hv2 #nav .nav-links a.nav-login{background:var(--fill,var(--accent));color:var(--on-fill,var(--on-accent,var(--bg)));box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 8px 16px -8px color-mix(in srgb,var(--fill,var(--accent)) 65%,#000);border-radius:12px;padding:8px 16px}
body.hv2 #nav .nav-links a.nav-login:hover{filter:brightness(1.08);background:var(--fill,var(--accent))}
/* шапка клуба: пилюли с объёмом, кнопки — заливка и контур */
body.hv2 .ld-hero .tt2-day,body.hv2 .ld-b-next{background:color-mix(in srgb,var(--bg) 62%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid color-mix(in srgb,var(--accent) 35%,transparent);box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 8px 18px -10px rgba(0,0,0,.7)}
body.hv2 .ld-b-next .dot{background:var(--fill,var(--accent))}
body.hv2 .ld-btn-ghost{border:1px solid color-mix(in srgb,var(--accent) 50%,transparent);color:var(--accent);background:color-mix(in srgb,var(--bg) 45%,transparent);border-radius:12px;box-shadow:inset 0 1px 0 rgba(255,255,255,.07),0 6px 12px -8px rgba(0,0,0,.6)}
body.hv2 .ld-btn-ghost:hover{color:var(--accent);border-color:var(--accent)}
body.hv2 .ld-hero-btns .tt2-btn{border-radius:12px}
/* О клубе и FAQ: карточки-поверхности */
body.hv2 .ld-about .ic{background:color-mix(in srgb,var(--accent) 16%,transparent);border-color:color-mix(in srgb,var(--accent) 45%,transparent);box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 6px 12px -8px rgba(0,0,0,.6)}
body.hv2 .faq-q{background:var(--hv2-card);border:1px solid var(--cab2-bd);border-radius:14px;box-shadow:var(--hv2-sh-sm)}
body.hv2 .faq-q[open],body.hv2 .faq-q.open{border-color:color-mix(in srgb,var(--accent) 40%,var(--border));box-shadow:var(--hv2-sh)}
body.hv2 .ld-faq-h::after,body.hv2 .pp2-sech{border-bottom-color:color-mix(in srgb,var(--accent) 20%,var(--border))}
body.hv2 .ld-faq-h::after{background:color-mix(in srgb,var(--accent) 20%,var(--border))}
/* расписание: чипы механик */
body.hv2 .ld-mech span{background:color-mix(in srgb,var(--cab2-s1) 80%,transparent);border-color:var(--cab2-bd);border-radius:10px;box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 4px 10px -6px rgba(0,0,0,.6)}
body.hv2 .tt2-vchip{box-shadow:inset 0 1px 0 rgba(255,255,255,.06)}
body.hv2 .tt2-vchip.on{background:var(--fill,var(--accent));color:var(--on-fill,var(--on-accent,var(--bg)));border-color:transparent;box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 8px 16px -8px color-mix(in srgb,var(--fill,var(--accent)) 65%,#000)}
/* рейтинг: подиум и список в одной поверхности, строки с отступом, поиск-поле объёмное */
body.hv2 #rating .rtbar{border-bottom-color:color-mix(in srgb,var(--accent) 20%,var(--border))}
body.hv2 #rating .rtbar-p.on{background:var(--fill,var(--accent));color:var(--on-fill,var(--on-accent,var(--bg)));border-color:transparent;box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 6px 12px -8px color-mix(in srgb,var(--fill,var(--accent)) 65%,#000)}
body.hv2 #rating .player-search input{background:color-mix(in srgb,var(--bg) 70%,var(--cab2-s2));border:1px solid var(--cab2-bd);border-radius:12px;box-shadow:inset 0 1px 3px rgba(0,0,0,.45)}
body.hv2 .rating-podium{border-radius:18px 18px 0 0;border-bottom:none;margin:16px 0 0;padding-bottom:22px}
body.hv2 #rating .rating-header,body.hv2 #rating-list{background:var(--cab2-s2);border:1px solid var(--cab2-bd)}
body.hv2 #rating .rating-header{border-bottom:none;border-top:1px solid color-mix(in srgb,var(--accent) 12%,var(--border));padding-left:14px;padding-right:14px}
body.hv2 #rating-list{border-top:none;border-radius:0 0 18px 18px;overflow:hidden;box-shadow:var(--hv2-sh)}
body.hv2 #rating .rating-row{padding-left:14px;padding-right:14px;border-bottom-color:color-mix(in srgb,var(--muted) 22%,transparent);transition:background .2s}
body.hv2 #rating .rating-row:last-child{border-bottom:none}
body.hv2 #rating .rating-row:hover{background:color-mix(in srgb,var(--cab2-s1) 70%,var(--accent) 6%)}
body.hv2 #rating .rating-row .rating-pos{font-family:var(--font-heading,inherit);font-weight:700;color:var(--muted)}
body.hv2 #rating .rating-row:nth-child(-n+3) .rating-pos{color:var(--accent)}
body.hv2 .podium-pts,body.hv2 .rating-pts{color:var(--accent)}
body.hv2 .ld-net{margin-top:16px}
/* статус турнира, вход, финал */
body.hv2 #status .status-card,body.hv2 #status .empty-state,body.hv2 .ld-final,body.hv2 .ps-results{background:var(--hv2-card);border:1px solid var(--cab2-bd);box-shadow:var(--hv2-sh)}
body.hv2 .ld-join .pp2-lrow{background:var(--hv2-card);border:1px solid var(--cab2-bd);border-radius:14px;margin-bottom:8px;box-shadow:var(--hv2-sh-sm)}
body.hv2 .ld-join .pp2-lrow.primary{border-color:color-mix(in srgb,var(--accent) 45%,var(--border))}
body.hv2 .ld-join .pp2-lrow:hover{background:linear-gradient(180deg,color-mix(in srgb,var(--cab2-s1) 92%,var(--accent)),var(--cab2-s2))}
/* подвал и липкая кнопка */
body.hv2 .ld-foot{border-top-color:color-mix(in srgb,var(--accent) 16%,var(--border))}
body.hv2 .ld-sticky{background:color-mix(in srgb,var(--bg) 78%,transparent);-webkit-backdrop-filter:blur(18px) saturate(1.2);backdrop-filter:blur(18px) saturate(1.2);border-top:1px solid color-mix(in srgb,var(--accent) 22%,var(--border));box-shadow:0 -12px 30px rgba(0,0,0,.35)}
/* ── второй цвет (заливка): действие и статус — как в кабинете v2 ── */
body.hv2 .ld-next-tag{background:var(--fill,var(--accent));color:var(--on-fill,var(--on-accent,var(--bg)));border-color:transparent;box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 8px 16px -8px color-mix(in srgb,var(--fill,var(--accent)) 65%,#000)}
body.hv2 .ld-next-tag .dot{background:var(--on-fill,var(--on-accent,var(--bg)))}
body.hv2 .ld-hero .tt2-day .dot,body.hv2 .ld-b-next .dot{background:var(--fill,var(--accent))}
body.hv2 .ld-hero-btns .tt2-btn,body.hv2 .ld-sticky-btn{box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 10px 24px -8px color-mix(in srgb,var(--fill,var(--accent)) 70%,#000),0 2px 4px rgba(0,0,0,.3)}
body.hv2 .ld-join .pp2-lrow.primary .tt2-btn{box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 10px 24px -8px color-mix(in srgb,var(--fill,var(--accent)) 70%,#000)}
/* ── вход: все кнопки одной высоты, содержимое по центру, без стрелок ── */
body.hv2 .ld-join .pp2-lrow{justify-content:center;gap:10px;padding:14px 16px;min-height:50px;box-sizing:border-box;font-family:var(--font-heading,inherit);font-size:14.5px;font-weight:700;color:var(--text)}
body.hv2 .ld-join .pp2-lrow .arr{display:none}
body.hv2 .ld-join .pp2-lrow img{width:20px;height:20px}
body.hv2 .ld-join .pp2-lrow.primary{background:none;border:0;box-shadow:none;padding:0;min-height:0;margin:6px 0 8px}
body.hv2 .ld-join .pp2-lrow.primary .tt2-btn{min-height:50px;padding:14px 16px;border-radius:14px;font-size:14.5px}
body.hv2 .ld-join .pp2-lrow.soon .tt2-badge{margin-left:0!important}
body.hv2 .ld-join-grp{justify-content:center}
body.hv2 .ld-join-note{text-align:center}

/* ── статус турнира: плашки «Можно приехать»/«Вход закрыт» + «N в игре», лента рассадки (10.11.2026) ── */
body.hv2 .hv2-lbs{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0 4px}
body.hv2 .hv2-lb{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-heading,inherit);font-size:10.5px;font-weight:700;line-height:1;letter-spacing:.06em;text-transform:uppercase;border-radius:99px;padding:6px 9px;white-space:nowrap}
body.hv2 .hv2-lb.on{background:var(--fill,var(--accent));color:var(--on-fill,var(--on-accent,var(--bg)))}
body.hv2 .hv2-lb.on::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;animation:c2Pulse 1.6s ease-in-out infinite}
body.hv2 .hv2-lb.off{background:color-mix(in srgb,var(--muted) 25%,var(--bg));color:var(--muted)}
body.hv2 .hv2-lb.n{background:color-mix(in srgb,var(--bg) 72%,transparent);color:var(--accent);border:1px solid color-mix(in srgb,var(--accent) 40%,transparent)}
body.hv2 #seating-ribbon:not(:empty){margin-top:14px}
body.hv2 #seating-ribbon .sr-strip{margin:0;padding:0 0 6px}
