/* ChessDB.cz – nový vzhled v2 · mobilní lišta a mobilní menu (Claude Design „ChessDB Mobilni menu“, mnav-v2.php)
   Sdílené pro všechny stránky v2, které lištu vykreslují s menu (cdb_v2_header(['menu' => true]) → .v2-header--m
   + tlačítko .v2-burger + panel #v2Mnav, ovládání assets/v2-mnav.js). Do 25. 10. 2026 bylo v v2-home.css.
   Lišta na mobilu (do 760 px): logo, vpravo Přihlásit se / profil a menu; navigace i zvoneček jsou v menu.
   Stránka si lištu může doladit vlastními pravidly (načítají se až za tímto souborem). */

/* mobilní menu je jen do 760 px */
.v2-burger { display: none !important; }
.v2-mnav, .v2-mnav-bg { display: none; }

/* ── Tablet a úzké okno počítače (do 1100 px, např. iPad na výšku): lišta z počítače se nevejde (přetékala až na 1042 px)
   → odkazy navigace jen jako ikony (text zůstává pro čtečky), Přihlásit se jen ikona. Do 760 px platí mobilní lišta níž. ── */
@media (max-width: 1100px) {
  .v2-header__in { gap: 20px; }
  .v2-nav { gap: 2px; }
  .v2-nav a { font-size: 0 !important; gap: 0 !important; padding: 0 10px !important; }
  .v2-nav a .v2i { font-size: 18px !important; }
  .v2-login { width: 40px; padding: 0; justify-content: center; }
  .v2-login span { display: none; }
}

/* ── Lišta s menu na mobilu (úvodní stránka a ceník mají vlastní doladění v v2-home.css) ── */
@media (max-width: 760px) {
  .v2-header--m { height: 60px; }
  .v2-header--m .v2-header__in { padding: 0 16px; gap: 8px; }
  .v2-header--m .v2-logo img { height: 26px; }
  .v2-header--m .v2-nav { display: none; }
  .v2-header--m .v2-hright { gap: 8px; }
  .v2-header--m .v2-bell { display: none; }   /* oznámení jsou na mobilu v menu */
  .v2-header--m .v2-login { width: 40px; height: 40px; padding: 0; justify-content: center; }
  .v2-header--m .v2-login span { display: none; }
  .v2-header--m .v2-login .v2i { font-size: 17px; }
}

/* ── Mobilní menu (Claude Design „ChessDB Mobilni menu“): panel pod lištou, pod ním ztmavená stránka ──
   --v2-mnav-top = spodní hrana lišty (nad ní může být oznamovací lišta), měří ji v2-mnav.js. Podklad .v2-mnav-bg přesouvá
   v2-mnav.js přímo do <body>: lišta má backdrop-filter, uvnitř ní by fixed i rozmazání platily jen pro lištu.
   Zámek posouvání je na <html> (html.v2-mnav-open): Doplňující CSS šablony dává do 768 px html i body overflow-x: hidden,
   stránku pak posouvá html a body.v2h-noscroll nic nezastaví. Tahy začínající na liště a podkladu vypíná touch-action. */
@media (max-width: 760px) {
  html.v2-mnav-open { overflow: hidden; }
  html.v2-mnav-open .v2-header__in, html.v2-mnav-open .v2h-bar { touch-action: none; }
  .v2-burger { display: inline-flex !important; -webkit-tap-highlight-color: transparent; }
  .v2-burger .v2i { font-size: 19px; }
  .v2-burger__x, .v2-burger[aria-expanded="true"] .v2-burger__i { display: none; }
  .v2-burger[aria-expanded="true"] .v2-burger__x { display: inline-block; }
  .v2-burger[aria-expanded="true"] { background: rgba(242,210,60,.12); border-color: rgba(242,210,60,.5); color: var(--v2-acc); }
  .v2-burger__dot { position: absolute; top: 1px; right: 1px; width: 10px; height: 10px; box-sizing: content-box; border-radius: 50%; background: var(--v2-loss); border: 2px solid var(--v2-navy); pointer-events: none; }
  .v2-burger__dot.hidden, .v2-burger[aria-expanded="true"] .v2-burger__dot { display: none; }
  .v2-mnav-bg { display: block; position: fixed; left: 0; right: 0; bottom: 0; top: var(--v2-mnav-top, 60px); z-index: 69; background: rgba(15,23,42,.75); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); touch-action: none; opacity: 0; visibility: hidden; transition: opacity .18s ease, visibility 0s linear .18s; }
  .v2-mnav { display: block; position: absolute; left: 0; right: 0; top: 100%; z-index: 1; max-height: calc(100vh - var(--v2-mnav-top, 60px) - env(safe-area-inset-bottom, 0px)); max-height: calc(100dvh - var(--v2-mnav-top, 60px) - env(safe-area-inset-bottom, 0px)); overflow-y: auto; overscroll-behavior: contain; box-sizing: border-box; padding: 16px 16px 20px; background: var(--v2-bg); border-bottom: 1px solid var(--v2-b); border-radius: 0 0 24px 24px; box-shadow: 0 24px 60px rgba(2,6,23,.6); opacity: 0; visibility: hidden; transform: translateY(-8px); transition: opacity .18s ease, transform .18s ease, visibility 0s linear .18s; }
  .v2-mnav[hidden] { display: none; }
  .v2-mnav.is-open, .v2-mnav-bg.is-open { opacity: 1; visibility: visible; transform: none; transition: opacity .18s ease, transform .18s ease, visibility 0s; }
  .v2-mnav__lbl { padding: 0 4px; font: 800 12px var(--v2-man); letter-spacing: 1.2px; text-transform: uppercase; color: var(--v2-m); }
  .v2-mnav__sep { margin: 14px 4px 0; height: 1px; background: var(--v2-b); }
  .v2-mnav__sep + .v2-mnav__lbl { margin-top: 14px; }
  .v2-mnav__list { list-style: none; margin: 8px 0 0; padding: 0; display: flex; flex-direction: column; gap: 2px; }
  .v2-mnav__it { position: relative; width: 100%; height: 52px; margin: 0; padding: 0 12px; box-sizing: border-box; border: 0; border-radius: 12px; background: transparent; color: var(--v2-t); font: 700 16px var(--v2-man); text-align: left; text-decoration: none; display: flex; align-items: center; gap: 12px; cursor: pointer; -webkit-tap-highlight-color: transparent; transition: background .14s ease, color .14s ease, transform .1s ease; }
  .v2-mnav__ic { font-size: 19px; color: var(--v2-m); transition: color .14s ease; }
  .v2-mnav__go { margin-left: auto; font-size: 17px; color: var(--v2-m2); }
  .v2-mnav__it.is-on { background: rgba(242,210,60,.12); color: var(--v2-acc); }
  .v2-mnav__it.is-on .v2-mnav__ic { color: var(--v2-acc); }
  .v2-mnav__it.is-on::before { content: ""; position: absolute; left: 0; top: 12px; bottom: 12px; width: 3px; border-radius: 999px; background: var(--v2-acc); }
  .v2-mnav__here { margin-left: auto; height: 22px; padding: 0 8px; border-radius: 999px; background: rgba(242,210,60,.16); color: var(--v2-acc); font: 800 11.5px var(--v2-man); display: flex; align-items: center; gap: 4px; }
  .v2-mnav__here .v2i { font-size: 12px; }
  .v2-mnav__it:focus-visible, .v2-mnav__acc > a:focus-visible { outline: 2px solid var(--v2-acc); outline-offset: 2px; }
  /* Účet: host */
  .v2-mnav__acc { margin-top: 10px; display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
  .v2-mnav__acc > a { height: 48px; box-sizing: border-box; border-radius: 999px; display: flex; align-items: center; justify-content: center; gap: 8px; font: 800 15px var(--v2-man); text-decoration: none; -webkit-tap-highlight-color: transparent; transition: background .14s ease, color .14s ease, transform .1s ease; }
  .v2-mnav__acc > a:only-child { grid-column: 1 / -1; }
  .v2-mnav__login { 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); color: var(--v2-t); }
  .v2-mnav__login .v2i { font-size: 17px; }
  .v2-mnav__reg { background: var(--v2-acc); color: var(--v2-on); box-shadow: 0 6px 14px rgba(242,210,60,.28); }
  /* Účet: přihlášený – Oznámení (odznak / „žádná nová“ přepíná v2-notif.js třídou hidden) a Profil */
  .v2-mnav__bell, .v2-mnav__me { color: var(--v2-t2); }
  .v2-mnav__badge { margin-left: auto; min-width: 24px; height: 24px; padding: 0 7px; box-sizing: border-box; border-radius: 999px; background: var(--v2-loss); color: var(--v2-on); font: 700 12.5px var(--v2-pop); display: flex; align-items: center; justify-content: center; }
  .v2-mnav__none { margin-left: auto; font: 600 12.5px var(--v2-man); color: var(--v2-m2); }
  .v2-mnav__badge.hidden, .v2-mnav__badge:not(.hidden) + .v2-mnav__none { display: none; }
  .v2-mnav__me { height: 60px; }
  .v2-mnav__av { width: 32px; height: 32px; flex: none; border-radius: 50%; background: var(--v2-acc); color: var(--v2-on); font: 600 14px var(--v2-pop); display: flex; align-items: center; justify-content: center; }
  .v2-mnav__who { min-width: 0; flex: 1; display: flex; flex-direction: column; }
  .v2-mnav__name { font: 600 12.5px var(--v2-man); color: var(--v2-m); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  /* panel Oznámení se na mobilu otevírá jen z menu (zvoneček je skrytý): pod lištou přes celou šířku místo rozložení
     z počítače (v2-notif.css: top 80 px přes logo, šířka 380 px u pravého okraje) */
  html.cdb-v2.v2-has-mnav .cdb-notification-backdrop { top: var(--v2-mnav-top, 60px); }
  html.cdb-v2.v2-has-mnav .cdb-notification-panel { top: calc(var(--v2-mnav-top, 60px) + 8px); left: 12px; right: 12px; width: auto; max-height: calc(100vh - var(--v2-mnav-top, 60px) - 20px); max-height: calc(100dvh - var(--v2-mnav-top, 60px) - 20px - env(safe-area-inset-bottom, 0px)); }
}
@media (max-width: 760px) and (hover: hover) {
  .v2-mnav__it:not(.is-on):hover { background: rgba(255,255,255,.05); color: var(--v2-acc); }
  .v2-mnav__it:not(.is-on):hover .v2-mnav__ic { color: var(--v2-acc); }
  .v2-mnav__it.v2-mnav__me:hover { color: var(--v2-t); }
  .v2-mnav__login:hover { color: var(--v2-acc); }
  .v2-mnav__reg:hover { background: var(--v2-acc-h); }
}
@media (max-width: 760px) {   /* stisk až za hoverem – stejná specifičnost, s myší platí obojí */
  .v2-mnav__it:active, .v2-mnav__acc > a:active { transform: scale(.98); }
  .v2-mnav__it:not(.is-on):active { background: rgba(255,255,255,.08); color: var(--v2-acc); }
  .v2-mnav__it:not(.is-on):active .v2-mnav__ic { color: var(--v2-acc); }
  .v2-mnav__it.v2-mnav__me:active { color: var(--v2-t); }
}
@media (max-width: 760px) and (prefers-reduced-motion: reduce) {
  .v2-mnav, .v2-mnav.is-open { transform: none; }
  .v2-mnav, .v2-mnav-bg, .v2-mnav__it, .v2-mnav__ic, .v2-mnav__acc > a { transition: none !important; }
}

/* ── Volitelné mobilní části lišty (cdb_v2_header 'mleft' / 'mright'): na počítači skryté ──
   Vlevo místo loga (jen s .v2-header--ml – stránka ji může přepínat z JS), vpravo před účtem a menu. */
.v2-hm { display: none; }
@media (max-width: 760px) {
  .v2-hm { display: flex; align-items: center; gap: 8px; min-width: 0; }
  .v2-hm--l { display: none; flex: 1 1 auto; }
  .v2-header--ml .v2-hm--l { display: flex; }
  .v2-header--ml .v2-logo { display: none; }
  .v2-hbtn { width: 40px; height: 40px; flex: none; box-sizing: border-box; padding: 0; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; background: rgba(30,41,59,.55); border: 1px solid rgba(255,255,255,.12); color: var(--v2-t) !important; text-decoration: none !important; cursor: pointer; -webkit-tap-highlight-color: transparent; transition: color .14s ease, border-color .14s ease, transform .1s ease; }
  .v2-hbtn .v2i { font-size: 18px; }
  .v2-hbtn:active { transform: scale(.96); }
  .v2-hbtn[aria-disabled="true"] { opacity: .4; pointer-events: none; }
  .v2-hm__t { min-width: 0; font: 700 14px var(--v2-man); color: var(--v2-t2); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
}
@media (max-width: 760px) and (hover: hover) {
  .v2-hbtn:hover { color: var(--v2-acc) !important; border-color: rgba(242,210,60,.45); }
}

/* ── Registrace v liště (host; cdb_v2_header 'register') – sdílené, dřív jen v v2-home.css ── */
.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); }
@media (max-width: 760px) {
  .v2-header--m .v2-reg { height: 36px; padding: 0 14px; font-size: 13px; }
}
