/* ChessDB.cz – nový vzhled v2 · úvodní stránka (Claude Design „ChessDB Homepage“, „HP Hledani“, „HP Sekce“, „Homepage mobil“)
   Desktop 1440 (hero 560 + 90 + 550, řádek s polem na y ≈ 685) a mobil 390 v jednom dokumentu. Barvy a písma z v2-base.css. */

body.v2-home { position: relative; overflow-x: hidden; margin: 0; }   /* reset šablony se na této stránce nenačítá */
body.v2-home::before { content: ""; position: absolute; left: 0; top: 0; width: 100%; height: 900px; background: radial-gradient(circle 382px at 250px 250px, rgba(242,210,60,.07), rgba(242,210,60,0)); pointer-events: none; z-index: 0; }   /* záře nesmí přetékat: overflow ořezává až okno */
body.v2h-noscroll { overflow: hidden; }
/* Doplňující CSS šablony dává do 768 px html i body overflow-x: hidden → body se stane posuvným kontejnerem, lišta
   přestane být sticky a body.v2h-noscroll nezamkne posouvání. S html visible přejde overflow body na okno. */
html.cdb-v2 { overflow: visible; }
.v2-home .screen-reader-text { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.v2-home .v2i { flex: none; }

/* ── Oznamovací lišta ── */
.v2h-bar { position: relative; z-index: 71; min-height: 38px; padding: 6px 56px; box-sizing: border-box; background: var(--v2-acc); color: var(--v2-on); display: flex; align-items: center; justify-content: center; gap: 8px; font: 700 13.5px/1.35 var(--v2-man); text-align: center; }
.v2h-bar > .v2i { font-size: 15px; }
.v2h-bar__more { display: none; border: 0; background: none; padding: 0; color: var(--v2-on); font: 800 12.5px var(--v2-man); text-decoration: underline; cursor: pointer; flex: none; }
.v2h-bar__x { position: absolute; right: 16px; top: 50%; transform: translateY(-50%); width: 26px; height: 26px; border: 0; border-radius: 50%; background: rgba(17,25,39,.1); color: var(--v2-on); display: flex; align-items: center; justify-content: center; cursor: pointer; }
.v2h-bar__x .v2i { font-size: 14px; }
.v2h-bar__x:hover { background: rgba(17,25,39,.18); }

/* ── Lišta: registrace, mobilní menu ── */
.v2-home .v2-header__in { gap: 36px; }
.v2-home .v2-nav { gap: 4px; }
.v2-home .v2-nav a { padding: 0 12px; gap: 7px; }
.v2-home .v2-nav a .v2i { font-size: 16px; }
.v2-reg { height: 40px; padding: 0 18px; border-radius: 999px; background: var(--v2-acc); color: var(--v2-on) !important; font: 800 14px var(--v2-man); display: inline-flex; align-items: center; text-decoration: none !important; white-space: nowrap; transition: background .14s ease; }
.v2-reg:hover { background: var(--v2-acc-h); }
/* mobilní menu (mnav-v2.php) je od 25. 10. 2026 sdílené: assets/v2-mnav.css + v2-mnav.js */

/* ── Hero ──
   Poloha pole drží dnešní stránku: na 1440 × 900 (s lištou) je řádek s polem na y ≈ 685, na 1280 × 800 je nad ohybem
   i Pokročilé vyhledávání. Proti návrhu (padding 56, mezery 16) proto větší odsazení shora a vzdušnější text. */
.v2h { position: relative; z-index: 1; }
.v2h-hero { max-width: 1200px; margin: 0 auto; padding: 136px 0 0; display: grid; grid-template-columns: 560px 550px; column-gap: 90px; align-items: start; box-sizing: content-box; }
.v2h-boardcol { display: flex; flex-direction: column; gap: 10px; }
.v2h-board { position: relative; width: 560px; height: 560px; display: grid; grid-template-columns: repeat(8, 1fr); grid-template-rows: repeat(8, 1fr); border-radius: 8px; overflow: hidden; user-select: none; -webkit-user-select: none; box-shadow: 0 30px 60px rgba(2,6,23,.45); }
.v2h-board > div { position: relative; }
.v2h-board > .l { background: var(--cdb-sq-light, #F1D23D); }
.v2h-board > .d { background: var(--cdb-sq-dark, #BBC6D4); }
.v2h-board > .hl { box-shadow: inset 0 0 0 2px rgba(17,25,39,.7), inset 0 0 0 4px var(--v2-acc); }
.v2h-board > .hl::before { content: ""; position: absolute; inset: 0; background: rgba(242,210,60,.18); }
.v2h-board img { position: absolute; inset: 0; width: 100%; height: 100%; display: block; z-index: 1; pointer-events: none; }
.v2h-board i { position: absolute; z-index: 2; font: 800 11px var(--v2-man); font-style: normal; line-height: 1; pointer-events: none; }
.v2h-board .cr { left: 4px; top: 4px; }
.v2h-board .cf { right: 4px; bottom: 3px; }
.v2h-board > .l > i { color: var(--cdb-sq-dark, #8B949E); }
.v2h-board > .d > i { color: var(--cdb-sq-light, #F2D23D); }
.v2h-board__cap { font: 600 12.5px 'Noto Sans Symbols 2', var(--v2-man); color: var(--v2-m2); }
.v2h-main { min-width: 0; }
.v2h-intro { display: flex; flex-direction: column; gap: 26px; }
.v2h-tag { align-self: flex-start; height: 34px; padding: 0 14px; border-radius: 999px; box-sizing: border-box; display: inline-flex; align-items: center; gap: 7px; font: 700 13px var(--v2-man); color: var(--v2-t); }
.v2h-tag .v2i { font-size: 15px; color: var(--v2-acc); }
.v2h-h1 { margin: 10px 0 0; font-size: 52px; line-height: 1.12; text-wrap: pretty; }
.v2h-p1 { margin: 0; font: 700 16px/1.55 var(--v2-man); color: var(--v2-t); }
.v2h-p2 { margin: 0 0 40px; font: 500 16px/1.55 var(--v2-man); color: var(--v2-t2); text-wrap: pretty; }

/* ── Vyhledávání ── */
.v2h-s { position: relative; }
.v2h-seg { display: flex; width: 232px; height: 48px; box-sizing: border-box; padding: 3px; border-radius: 999px; background: rgba(30,41,59,.55); border: 1px solid rgba(255,255,255,.12); box-shadow: inset 0 1px 0 rgba(255,255,255,.14); -webkit-backdrop-filter: blur(20px) saturate(160%); backdrop-filter: blur(20px) saturate(160%); }
.v2h-seg button { position: relative; overflow: hidden; isolation: isolate; flex: 1; border: 0; border-radius: 999px; background: transparent; color: var(--v2-t2); font: 800 14px var(--v2-man); display: flex; align-items: center; justify-content: center; gap: 7px; cursor: pointer; transition: color .14s ease, background .14s ease; }
.v2h-seg button[hidden] { display: none; }
.v2h-seg button .v2i { font-size: 16px; }
.v2h-seg button:not(.is-on):hover { color: var(--v2-t); }
.v2h-seg button.is-on { background: var(--v2-acc); color: var(--v2-on); }
.v2h-seg__ai { display: none; }
.v2h-seg button[data-v2h-mode="smart"].is-on { background: transparent; }
.v2h-seg button[data-v2h-mode="smart"].is-on .v2h-seg__ai { display: block; position: absolute; inset: -40%; z-index: -1; background: conic-gradient(from 200deg, #F2D23C, #FFA440, #FFF0BE, #6078B4, #F2D23C); filter: blur(10px); -webkit-clip-path: inset(22.2222% round 999px); clip-path: inset(22.2222% round 999px); }
.v2h-seg button[data-v2h-mode="smart"].is-on::after { content: ""; position: absolute; inset: 0 0 50% 0; z-index: -1; border-radius: 999px 999px 0 0; background: linear-gradient(rgba(255,255,255,.3), rgba(255,255,255,0)); }
.v2h-row { position: relative; margin-top: 12px; display: flex; gap: 12px; }
.v2h-field { position: relative; flex: 1; min-width: 0; height: 56px; box-sizing: border-box; border-radius: 13px; background: var(--v2-card2); border: 1px solid var(--v2-b2); display: flex; align-items: center; gap: 10px; padding: 0 8px 0 14px; transition: border-color .14s ease, box-shadow .14s ease; }
.v2h-field:focus-within { border-color: rgba(242,210,60,.7); box-shadow: 0 0 0 3px rgba(242,210,60,.16); }
.v2h-s.is-smart .v2h-field { border-color: rgba(255,164,64,.55); box-shadow: 0 0 0 3px rgba(255,164,64,.16), 0 0 24px rgba(255,164,64,.22); }
.v2h-field.is-err { border-color: rgba(248,113,113,.6) !important; box-shadow: 0 0 0 3px rgba(248,113,113,.14) !important; }
.v2h-field__ic { display: flex; color: var(--v2-m); }
.v2h-field__ic .v2i { font-size: 19px; }
.v2h-field__ic .v2i + .v2i, .v2h-s.is-smart .v2h-field__ic .v2i:first-child { display: none; }
.v2h-s.is-smart .v2h-field__ic .v2i + .v2i { display: inline-block; color: #FFA440; }
.v2h-field input { flex: 1; min-width: 0; height: 100%; border: 0; background: transparent; outline: none; box-shadow: none; color: var(--v2-t); font: 500 16px var(--v2-man); padding: 0; -webkit-appearance: none; appearance: none; }
.v2h-field input::placeholder { color: var(--v2-m2); }
.v2h-field input::-webkit-search-cancel-button { display: none; }
.v2h-field input:focus-visible { outline: none; }
.v2h-clear, .v2h-mic { flex: none; border: 0; border-radius: 50%; display: flex; align-items: center; justify-content: center; cursor: pointer; padding: 0; }
.v2h-clear[hidden], .v2h-mic[hidden] { display: none; }
.v2h-clear { width: 28px; height: 28px; background: rgba(255,255,255,.06); color: var(--v2-m); }
.v2h-clear .v2i { font-size: 14px; }
.v2h-mic { width: 34px; height: 34px; background: transparent; color: var(--v2-m); transition: color .14s ease, background .14s ease, box-shadow .14s ease; }
.v2h-mic .v2i { font-size: 17px; }
.v2h-mic:hover { color: var(--v2-t); }
.v2h-field.is-listening .v2h-mic { background: rgba(248,113,113,.18); color: var(--v2-loss); box-shadow: 0 0 0 4px rgba(248,113,113,.18); animation: v2hPulse 1.2s ease-in-out infinite; }
@keyframes v2hPulse { 50% { box-shadow: 0 0 0 7px rgba(248,113,113,.1); } }
.v2h-go { flex: none; width: 123px; height: 58px; margin-top: -1px; border-radius: 999px; border: 0; background: var(--v2-acc); color: var(--v2-on); font: 800 16px var(--v2-man); box-shadow: 0 6px 14px rgba(242,210,60,.28); display: flex; align-items: center; justify-content: center; gap: 8px; cursor: pointer; transition: background .14s ease, transform .1s ease; }
.v2h-go:hover { background: var(--v2-acc-h); }
.v2h-go:active { transform: scale(.98); }
.v2h-go .v2i { display: none; font-size: 17px; }
.v2h-s.is-busy .v2h-go { width: auto; padding: 0 18px; cursor: progress; opacity: .92; }
.v2h-s.is-busy .v2h-go .v2i { display: inline-block; animation: v2hSpin 1s linear infinite; }
@keyframes v2hSpin { to { transform: rotate(360deg); } }
/* našeptávač – leží nad hodnocením i sekcemi pod hero */
.v2h-ac { position: absolute; left: 0; top: 62px; width: calc(100% - 135px); z-index: 40; box-sizing: border-box; background: var(--v2-card); border: 1px solid var(--v2-b2); border-radius: 12px; box-shadow: 0 20px 50px rgba(2,6,23,.55); padding: 6px; }
.v2h-ac[hidden] { display: none; }
.v2h-ac__it { height: 44px; border-radius: 9px; padding: 0 10px; display: flex; align-items: center; gap: 8px; font: 600 15px var(--v2-man); color: var(--v2-t); cursor: pointer; }
.v2h-ac__it.is-on, .v2h-ac__it:hover { background: rgba(242,210,60,.08); }
.v2h-ac__n { min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.v2h-ac__n b { color: var(--v2-acc); font-weight: 700; }
.v2h-ac__p { flex: none; height: 20px; padding: 0 7px; border-radius: 999px; background: rgba(242,210,60,.12); color: var(--v2-acc) !important; font: 800 11px var(--v2-man); display: inline-flex; align-items: center; text-decoration: none !important; }
.v2h-ac__p:hover { background: rgba(242,210,60,.22); }
.v2h-ac__m { margin-left: auto; flex: none; font: 600 12.5px var(--v2-man); color: var(--v2-m); white-space: nowrap; font-variant-numeric: tabular-nums; }
.v2h-ac__load { padding: 8px 10px; display: flex; flex-direction: column; gap: 12px; }
.v2h-ac__load > div { display: flex; align-items: center; gap: 8px; font: 600 13px var(--v2-man); color: var(--v2-m); }
.v2h-ac__load > div .v2i { font-size: 15px; animation: v2hSpin 1s linear infinite; }
.v2h-ac__load i { display: block; height: 14px; width: 70%; border-radius: 6px; background: rgba(255,255,255,.1); }
.v2h-ac__load i + i { width: 55%; }
.v2h-ac__load i + i + i { width: 62%; }
.v2h-ac__empty { padding: 14px 10px; display: flex; align-items: center; gap: 10px; font: 700 14px var(--v2-man); color: var(--v2-t); }
.v2h-ac__empty .v2i { font-size: 18px; color: #475569; }
.v2h-err { margin-top: 8px; display: flex; align-items: center; gap: 6px; font: 600 13px var(--v2-man); color: #FCA5A5; }
.v2h-err[hidden] { display: none; }
.v2h-err .v2i { font-size: 15px; color: var(--v2-loss); }
.v2h-hint { margin-top: 8px; font: 500 13px/1.5 var(--v2-man); color: var(--v2-m); }
.v2h-hint[hidden] { display: none; }
.v2h-hint b { color: var(--v2-t); font-weight: 700; }
.v2h-hint__ex { display: flex; margin-top: 6px; align-items: center; gap: 6px; color: var(--v2-t2); }
.v2h-hint__ex .v2i { font-size: 13px; color: var(--v2-acc); }
.v2h-hint__ex b { transition: opacity .24s ease; }
.v2h-hint__ex b.is-fading { opacity: 0; }
.v2h-nosub { margin-top: 10px; border-radius: 12px; background: rgba(242,210,60,.1); padding: 10px 12px; display: flex; flex-direction: column; gap: 8px; font: 600 12.5px/1.45 var(--v2-man); color: var(--v2-t); }
.v2h-nosub[hidden] { display: none; }
.v2h-nosub__r { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.v2h-nosub__r > span:first-child { color: var(--v2-t2); }
.v2h-nosub__r b { font-weight: 800; }
.v2h-nosub__c { height: 26px; padding: 0 9px; border-radius: 999px; background: var(--v2-card); border: 1px solid var(--v2-b2); color: var(--v2-m); display: inline-flex; align-items: center; gap: 5px; }
.v2h-nosub__c .v2i { font-size: 11px; color: var(--v2-acc); }
.v2h-nosub__r2 { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.v2h-nosub__r2 a { margin-left: auto; font-weight: 800; white-space: nowrap; color: var(--v2-acc) !important; text-decoration: none !important; }
.v2h-adv { margin-top: 12px; height: 44px; padding: 0 16px; border-radius: 13px; background: var(--v2-card); border: 1px solid var(--v2-b2); color: var(--v2-t); font: 800 14px var(--v2-man); display: inline-flex; align-items: center; justify-content: center; gap: 8px; cursor: pointer; transition: border-color .14s ease; }
.v2h-adv .v2i { font-size: 16px; }
.v2h-adv:hover, .v2h-adv.is-on { border-color: rgba(242,210,60,.45); }
/* panel pokročilého vyhledávání: na počítači karta přes obsah pod polem, na mobilu spodní list */
.v2h-advp { position: absolute; left: 0; right: 0; top: calc(100% + 8px); z-index: 35; }
.v2h-advp[hidden] { display: none; }
.v2h-advp__bg, .v2h-advp__grip, .v2h-advp__t { display: none; }
.v2h-advp__in { background: var(--v2-card); border: 1px solid var(--v2-b2); border-radius: 18px; box-shadow: 0 24px 60px rgba(2,6,23,.6); padding: 16px; box-sizing: border-box; display: flex; flex-direction: column; gap: 12px; }
.v2h-lock { border-radius: 12px; background: rgba(242,210,60,.1); padding: 8px 8px 8px 12px; display: flex; align-items: center; gap: 10px; font: 600 12.5px var(--v2-man); color: var(--v2-t); }
.v2h-lock > .v2i { font-size: 15px; color: var(--v2-acc); }
.v2h-lock > span { flex: 1; }
.v2h-lock__btn { height: 32px; padding: 0 12px; border-radius: 999px; background: var(--v2-acc); color: var(--v2-on) !important; font: 800 12.5px var(--v2-man); display: inline-flex; align-items: center; text-decoration: none !important; white-space: nowrap; }
.v2h-lock__btn:hover { background: var(--v2-acc-h); }
.v2h-fields { position: relative; border: 0; margin: 0; padding: 0; min-width: 0; display: flex; flex-direction: column; gap: 12px; }
.v2h-fwrap { position: relative; }
.v2h-advp.is-locked .v2h-fields { opacity: .45; }
.v2h-fhit { position: absolute; inset: 0; z-index: 2; border: 0; padding: 0; background: transparent; cursor: pointer; }   /* klik = okno Filtry partií */
.v2h-frow { display: flex; gap: 16px; flex-wrap: wrap; }
.v2h-fgrp { display: flex; flex-direction: column; gap: 6px; }
.v2h-flbl { font: 800 12px var(--v2-man); color: var(--v2-m); }
.v2h-side { display: flex; gap: 4px; padding: 3px; border-radius: 12px; background: #172033; }
.v2h-side label, .v2h-res label { position: relative; cursor: pointer; }
.v2h-side input, .v2h-res input { position: absolute; opacity: 0; width: 1px; height: 1px; pointer-events: none; }
.v2h-side span { height: 30px; padding: 0 12px; border-radius: 9px; font: 700 13px var(--v2-man); color: var(--v2-t2); display: flex; align-items: center; transition: background .14s ease, color .14s ease; }
.v2h-side input:checked + span { background: var(--v2-acc); color: var(--v2-on); }
.v2h-side input:focus-visible + span, .v2h-res input:focus-visible + span { outline: 2px solid var(--v2-acc); outline-offset: 2px; }
.v2h-res { display: flex; gap: 6px; }
.v2h-res span { height: 36px; padding: 0 12px; border-radius: 999px; box-sizing: border-box; background: var(--v2-card2); border: 1px solid var(--v2-b2); color: var(--v2-t2); font: 700 13px var(--v2-man); display: flex; align-items: center; transition: background .14s ease, border-color .14s ease, color .14s ease; }
.v2h-res span.is-num { font: 600 13px var(--v2-pop); }
.v2h-res input:checked + span { background: rgba(242,210,60,.12); border-color: rgba(242,210,60,.4); color: var(--v2-acc); }
.v2h-in { width: 100%; min-width: 0; height: 42px; box-sizing: border-box; border-radius: 12px; background: var(--v2-card2); border: 1px solid var(--v2-b2); padding: 0 12px; color: var(--v2-t); font: 500 14px var(--v2-man); outline: none; -moz-appearance: textfield; }
.v2h-in::-webkit-outer-spin-button, .v2h-in::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.v2h-in::placeholder { color: var(--v2-m2); }
.v2h-in:focus { border-color: rgba(242,210,60,.55); }
.v2h-grid2 { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.v2h-pair { display: flex; gap: 6px; min-width: 0; }
.v2h-sel { position: relative; display: block; }
.v2h-sel select { width: 100%; height: 42px; box-sizing: border-box; border-radius: 12px; background: var(--v2-card2); border: 1px solid var(--v2-b2); padding: 0 34px 0 12px; color: var(--v2-t2); font: 600 14px var(--v2-man); -webkit-appearance: none; appearance: none; cursor: pointer; outline: none; }
.v2h-sel select:focus { border-color: rgba(242,210,60,.55); }
.v2h-sel .v2i { position: absolute; right: 12px; top: 50%; transform: translateY(-50%); font-size: 15px; color: var(--v2-t2); pointer-events: none; }
.v2h-apply { height: 48px; border-radius: 999px; border: 0; background: var(--v2-acc); color: var(--v2-on); font: 800 15px var(--v2-man); box-shadow: 0 6px 14px rgba(242,210,60,.28); cursor: pointer; transition: background .14s ease; }
.v2h-apply:hover { background: var(--v2-acc-h); }
.v2h-apply:disabled { background: var(--v2-off); color: var(--v2-m); box-shadow: none; cursor: not-allowed; }
.v2h-stats { margin-top: 10px; font: 600 13px/1.5 var(--v2-man); color: var(--v2-m); }
.v2h-stats b { color: var(--v2-t); font-variant-numeric: tabular-nums; }
.v2h-stats i { font-style: normal; color: var(--v2-m2); }
.v2h-rate { margin-top: 22px; display: flex; align-items: center; gap: 12px; }
.v2h-rate__av { display: flex; }
.v2h-rate__av img { width: 40px; height: 40px; border-radius: 50%; border: 2px solid var(--v2-bg); object-fit: cover; display: block; background: var(--v2-off); }
.v2h-rate__av img + img { margin-left: -12px; }
.v2h-stars { display: flex; gap: 2px; color: #334155; }
.v2h-stars .v2i { font-size: 15px; fill: currentColor; }
.v2h-stars .v2i.is-on { color: var(--v2-acc); }
.v2h-rate__n { margin-top: 2px; font: 600 14px var(--v2-pop); color: var(--v2-t); }

/* ── Sekce pod hero ── */
.v2h-sec { max-width: 1200px; margin: 112px auto 0; }
.v2h-hero + .v2h-sec { margin-top: 120px; }
.v2h-lbl { font: 800 12px var(--v2-man); letter-spacing: 1.2px; color: var(--v2-m); text-transform: uppercase; }
.v2h-h2 { margin: 8px 0 0; font-size: 40px; line-height: 1.15; }
.v2h-fgrid, .v2h-rgrid, .v2h-agrid { margin-top: 28px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.v2h-fc { position: relative; background: var(--v2-card); border: 1px solid var(--v2-b); border-radius: 18px; padding: 22px; display: flex; flex-direction: column; gap: 10px; }
.v2h-fc.is-ai { border-color: rgba(255,164,64,.35); }
.v2h-fc__ic { position: relative; overflow: hidden; isolation: isolate; width: 44px; height: 44px; border-radius: 12px; background: rgba(242,210,60,.12); color: var(--v2-acc); display: flex; align-items: center; justify-content: center; }
.v2h-fc__ic .v2i { font-size: 21px; position: relative; }
.v2h-fc.is-ai .v2h-fc__ic { background: transparent; color: var(--v2-on); }
.v2h-fc__glow { position: absolute; inset: -40%; z-index: -1; background: conic-gradient(from 200deg, #F2D23C, #FFA440, #FFF0BE, #6078B4, #F2D23C); filter: blur(8px); -webkit-clip-path: inset(22.2222% round 12px); clip-path: inset(22.2222% round 12px); }
.v2h-fc h3 { margin: 0; font: 600 19px var(--v2-pop); color: var(--v2-t); }
.v2h-fc p { margin: 0; font: 500 15px/1.55 var(--v2-man); color: var(--v2-t2); }
.v2h-rv { margin: 0; background: var(--v2-card); border: 1px solid var(--v2-b); border-radius: 18px; padding: 22px; display: flex; flex-direction: column; gap: 12px; min-width: 0; }
.v2h-rv__q { margin: 0; font: 500 15px/1.6 var(--v2-man); color: var(--v2-t2); display: -webkit-box; -webkit-line-clamp: 6; -webkit-box-orient: vertical; overflow: hidden; }
.v2h-rv.is-open .v2h-rv__q { display: block; -webkit-line-clamp: unset; }
.v2h-rv__q b { color: var(--v2-acc); font-weight: 700; }
.v2h-rv__more { align-self: flex-start; border: 0; background: none; padding: 0; color: var(--v2-acc); font: 700 13px var(--v2-man); cursor: pointer; }
.v2h-rv__more:hover { color: var(--v2-acc-h); }
.v2h-rv figcaption { margin-top: auto; display: flex; align-items: center; gap: 10px; }
.v2h-av { width: 36px; height: 36px; flex: none; border-radius: 50%; background: var(--v2-off); color: var(--v2-t); font: 600 12.5px var(--v2-pop); display: inline-flex; align-items: center; justify-content: center; }
.v2h-rv__n { font: 700 14px var(--v2-man); color: var(--v2-t); }
.v2h-rv__elo { margin-left: auto; font: 500 13px var(--v2-pop); color: var(--v2-m); white-space: nowrap; }
.v2h-dots { display: none; }
.v2h-sechead { display: flex; align-items: flex-end; gap: 16px; }
.v2h-all { margin-left: auto; display: inline-flex; align-items: center; gap: 4px; font: 700 14px var(--v2-man); color: var(--v2-acc) !important; text-decoration: none !important; white-space: nowrap; }
.v2h-all .v2i { font-size: 16px; }
.v2h-all:hover { color: var(--v2-acc-h) !important; }
.v2h-art { background: var(--v2-card); border: 1px solid var(--v2-b); border-radius: 18px; overflow: hidden; color: var(--v2-t) !important; text-decoration: none !important; display: flex; flex-direction: column; min-width: 0; transition: border-color .14s ease; }
.v2h-art:hover { border-color: rgba(255,255,255,.16); }
.v2h-art__img { aspect-ratio: 16 / 9; background: repeating-linear-gradient(45deg, #2A3648 0 8px, #253042 8px 16px); overflow: hidden; }
.v2h-art__img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.v2h-art__b { padding: 16px; display: flex; flex-direction: column; gap: 8px; }
.v2h-art__m { display: flex; align-items: center; gap: 8px; font: 600 12.5px var(--v2-man); color: var(--v2-m); }
.v2h-art__m .v2b-av, .v2h-art__m img { width: 24px; height: 24px; border-radius: 50%; font-size: 10px; object-fit: cover; flex: none; display: inline-flex; align-items: center; justify-content: center; background: var(--v2-off); color: var(--v2-t); }
.v2h-art__t { font: 600 17px/1.35 var(--v2-pop); color: var(--v2-t); text-wrap: pretty; }
.v2h-art__p { font: 500 14px/1.5 var(--v2-man); color: var(--v2-m); display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.v2h-faq { margin-top: 28px; display: grid; grid-template-columns: 1fr 1fr; gap: 12px 20px; align-items: start; }
.v2h-qa { background: var(--v2-card); border: 1px solid var(--v2-b); border-radius: 18px; transition: border-color .14s ease; }
.v2h-qa.is-open { border-color: rgba(242,210,60,.35); }
.v2h-qa__q { width: 100%; min-height: 58px; border: 0; background: none; padding: 14px 18px; display: flex; align-items: center; gap: 12px; color: var(--v2-t); font: 700 15.5px/1.4 var(--v2-man); text-align: left; cursor: pointer; border-radius: 18px; }
.v2h-qa__q .v2i { margin-left: auto; font-size: 18px; color: var(--v2-acc); }
.v2h-qa__q .v2i + .v2i, .v2h-qa.is-open .v2h-qa__q .v2i:first-of-type { display: none; }
.v2h-qa.is-open .v2h-qa__q .v2i + .v2i { display: inline-block; }
.v2h-qa__a { padding: 0 18px 16px; font: 500 15px/1.6 var(--v2-man); color: var(--v2-t2); }
.v2h-qa__a[hidden] { display: none; }
.v2h-qa__a p { margin: 0 0 8px; }
.v2h-qa__a p:last-child { margin-bottom: 0; }
.v2h-qa__a ul { margin: 0 0 8px; padding-left: 20px; }
.v2h-qa__a li::marker { color: var(--v2-acc); }
.v2h-qa__a a, .v2h-more a { color: var(--v2-acc) !important; font-weight: 700; text-decoration: none !important; }
.v2h-more { margin-top: 20px; font: 600 14px var(--v2-man); color: var(--v2-m); }
.v2-home .v2-footer { margin-top: 112px; position: relative; z-index: 1; }

/* ── Okno „Filtry partií“ ── */
.v2h-modal { position: fixed; inset: 0; z-index: 9995; display: flex; align-items: center; justify-content: center; padding: 16px; box-sizing: border-box; }
.v2h-modal[hidden] { display: none; }
.v2h-modal__bg { position: absolute; inset: 0; background: rgba(15,23,42,.75); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); }
.v2h-modal__box { position: relative; width: 480px; max-width: 100%; max-height: calc(100vh - 32px); overflow-y: auto; box-sizing: border-box; background: var(--v2-card); border: 1px solid var(--v2-b); border-radius: 18px; padding: 28px; box-shadow: 0 32px 80px rgba(0,0,0,.6); color: var(--v2-t); }
.v2h-modal__x { position: absolute; top: 18px; right: 18px; }
.v2h-chip { height: 26px; padding: 0 9px; border-radius: 8px; background: rgba(242,210,60,.12); color: var(--v2-acc); font: 800 12px var(--v2-man); display: inline-flex; align-items: center; gap: 6px; }
.v2h-chip .v2i { font-size: 13px; }
.v2h-modal__box h2 { margin: 12px 0 0; font-size: 30px; line-height: 1.2; }
.v2h-modal__box p { margin: 8px 0 0; font: 500 15px/1.55 var(--v2-man); color: var(--v2-t2); }
.v2h-checks { margin: 16px 0 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 9px; }
.v2h-checks li { display: flex; align-items: center; gap: 10px; font: 600 15px/1.4 var(--v2-man); }
.v2h-checks .v2i { font-size: 17px; color: var(--v2-acc); }
.v2h-modal__cta { margin-top: 22px; height: 56px; border-radius: 999px; background: var(--v2-acc); color: var(--v2-on) !important; font: 800 16px var(--v2-man); display: flex; align-items: center; justify-content: center; gap: 8px; box-shadow: 0 6px 14px rgba(242,210,60,.28); text-decoration: none !important; }
.v2h-modal__cta .v2i { font-size: 18px; }
.v2h-modal__cta:hover { background: var(--v2-acc-h); }
.v2h-modal__note { margin-top: 8px; text-align: center; font: 600 12.5px var(--v2-man); color: var(--v2-m); }
.v2h-modal__reg { display: block; margin-top: 12px; text-align: center; font: 700 13px var(--v2-man); color: var(--v2-acc) !important; text-decoration: none !important; }

/* ── Užší počítač ── */
@media (max-width: 1260px) {
  .v2h-hero { padding-left: 24px; padding-right: 24px; grid-template-columns: minmax(0, 1fr) minmax(0, 550px); column-gap: 56px; }
  .v2h-board { width: 100%; height: auto; aspect-ratio: 1; }
  .v2h-sec { margin-left: 24px; margin-right: 24px; }
}

/* ── Mobil (návrh 390 × 844) ── */
@media (max-width: 760px) {
  body.v2-home::before { background: radial-gradient(circle 382px at 150px 190px, rgba(242,210,60,.07), rgba(242,210,60,0)); }
  .v2h-bar { min-height: 44px; padding: 6px 12px 6px 16px; justify-content: flex-start; gap: 8px; font-size: 12.5px; line-height: 1.3; text-align: left; }
  .v2h-bar > .v2i { font-size: 14px; }
  .v2h-bar__t { flex: 1; min-width: 0; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
  .v2h-bar.is-open .v2h-bar__t { display: block; }
  .v2h-bar__more { display: inline-block; }
  .v2h-bar__more[hidden] { display: none; }
  .v2h-bar__x { display: none; }
  .v2-home .v2-header { height: 60px; }
  .v2-home .v2-header__in { padding: 0 16px; gap: 8px; }
  .v2-home .v2-logo img { height: 26px; }
  .v2-home .v2-nav { display: none; }
  .v2-home .v2-hright { gap: 8px; }
  .v2-home .v2-bell { display: none; }   /* oznámení jsou na mobilu v menu */
  .v2-home .v2-reg { height: 36px; padding: 0 14px; font-size: 13px; }
  .v2-home .v2-login { width: 40px; height: 40px; padding: 0; justify-content: center; }
  .v2-home .v2-login span { display: none; }
  .v2-home .v2-login .v2i { font-size: 17px; }
  .v2h-hero { display: block; padding: 20px 20px 0; }
  .v2h-boardcol { display: none; }
  /* pole na dnešním místě (390 × 844: y ≈ 690), na nižších displejích výš, aby bylo vidět i Hledat; text uprostřed volného místa */
  .v2h-intro { gap: 14px; min-height: calc(100vh - 344px); min-height: calc(100svh - 344px); justify-content: center; }
  .v2h-tag { height: 32px; padding: 0 12px; font-size: 12.5px; gap: 6px; }
  .v2h-tag .v2i { font-size: 14px; }
  .v2h-h1 { margin: 0; font-size: 36px; line-height: 1.15; }
  .v2h-p2 { font-size: 15.5px; margin-bottom: 16px; }
  .v2h-seg { width: 100%; height: 52px; }
  .v2h-row { flex-direction: column; }
  .v2h-field { flex: none; }
  .v2h-go { width: 100%; height: 54px; margin-top: 0; }
  .v2h-s.is-busy .v2h-go { width: 100%; }
  .v2h-ac { width: 100%; }
  .v2h-adv { width: 100%; height: 48px; }
  .v2h-stats { margin-top: 14px; }
  .v2h-advp { position: fixed; inset: 0; top: 0; z-index: 9990; }
  .v2h-advp__bg { display: block; position: absolute; inset: 0; background: rgba(15,23,42,.75); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); }
  .v2h-advp__in { position: absolute; left: 0; right: 0; bottom: 0; max-height: 88vh; overflow-y: auto; border: 0; border-top: 1px solid var(--v2-b); border-radius: 32px 32px 0 0; padding: 12px 20px 30px; box-shadow: 0 -20px 60px rgba(2,6,23,.6); }
  .v2h-advp__grip { display: block; width: 40px; height: 5px; border-radius: 999px; background: rgba(255,255,255,.3); margin: 0 auto 6px; }
  .v2h-advp__t { display: block; font: 600 20px var(--v2-pop); color: var(--v2-t); }
  .v2h-frow { flex-direction: column; gap: 12px; }
  .v2h-side { width: 100%; box-sizing: border-box; }
  .v2h-side label { flex: 1; }
  .v2h-side span { justify-content: center; height: 34px; }
  .v2h-grid2 { grid-template-columns: 1fr 1fr; }
  .v2h-pair { flex-direction: column; }
  .v2h-apply { height: 52px; }
  .v2h-sec { margin: 64px 0 0; padding: 0 20px; }
  .v2h-hero + .v2h-sec { margin-top: 64px; }
  .v2h-h2 { font-size: 30px; }
  .v2h-fgrid { margin-top: 14px; grid-template-columns: 1fr; gap: 14px; }
  .v2h-fc { flex-direction: row; flex-wrap: wrap; align-items: flex-start; column-gap: 12px; row-gap: 4px; padding: 16px; }
  .v2h-fc__ic { width: 40px; height: 40px; }
  .v2h-fc__ic .v2i { font-size: 19px; }
  .v2h-fc h3 { font-size: 17px; flex: 1; min-width: 0; align-self: center; }
  .v2h-fc p { flex-basis: 100%; padding-left: 52px; font-size: 14px; line-height: 1.5; }
  .v2h-rgrid, .v2h-agrid { margin: 14px -20px 0; padding: 0 20px 4px; display: flex; gap: 12px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
  .v2h-rgrid::-webkit-scrollbar, .v2h-agrid::-webkit-scrollbar { display: none; }
  .v2h-rv, .v2h-art { width: 300px; flex: none; scroll-snap-align: start; }
  .v2h-rv { padding: 16px; }
  .v2h-rv__q { font-size: 14px; line-height: 1.55; }
  .v2h-dots { display: flex; justify-content: center; gap: 6px; margin-top: 14px; }
  .v2h-dots span { width: 6px; height: 6px; border-radius: 50%; background: var(--v2-off); transition: width .2s ease, background .2s ease; }
  .v2h-dots span.is-on { width: 18px; border-radius: 999px; background: var(--v2-acc); }
  .v2h-sechead { align-items: flex-end; }
  .v2h-all { font-size: 13.5px; }
  .v2h-faq { margin-top: 14px; grid-template-columns: 1fr; gap: 10px; }
  .v2h-qa { border-radius: 16px; }
  .v2h-qa__q { min-height: 54px; padding: 12px 16px; font-size: 15px; }
  .v2h-qa__a { padding: 0 16px 14px; font-size: 14.5px; }
  .v2-home .v2-footer { margin-top: 64px; }
  .v2-home .v2-footer__in { grid-template-columns: 1fr; padding: 28px 20px; gap: 14px; }
  .v2-home .v2-footer__col { flex-direction: row; flex-wrap: wrap; gap: 6px 14px; }
  .v2-home .v2-footer__col--r { align-items: flex-start; text-align: left; }
  .v2h-modal { align-items: flex-end; padding: 0; }
  .v2h-modal__box { width: 100%; border-radius: 28px 28px 0 0; padding: 24px 20px 30px; max-height: 92vh; }
  .v2h-modal__box h2 { font-size: 26px; padding-right: 44px; }
}

@media (prefers-reduced-motion: reduce) {
  .v2h-field.is-listening .v2h-mic, .v2h-s.is-busy .v2h-go .v2i, .v2h-ac__load > div .v2i { animation: none; }
}
