/* =====================================================================
   Sdílené menu (navbar) + zápatí (footer) pro VŠECHNY weby strazny.
   JEDEN soubor → měnit vzhled chrome se dá na jednom místě (bez driftu).

   Vzor: strazny-ostrava.html (Ostrava + inzerce mají tento chrome nativně,
   sem se kopíruje VERBATIM, ať se ostatní stránky chovají stejně).

   Používá proměnné definované na každé stránce (fork stejného systému):
     --accent, --accent-dark, --accent-light, --line, --ink,
     --bg, --bg-blue, --bg-soft  … ty se ZDE NEdefinují, jen používají.
   Stejně tak třída .wrap je na každé stránce vlastní.
   ===================================================================== */

  .navbar{position:fixed;top:0;left:0;right:0;z-index:30;
    background:rgba(11,18,32,1);
    /* backdrop-filter:none — MUSÍ explicitně přebít inline .navbar na stránkách (blur vytvářel
       containing-block pro fixed drawer → drawer se ořízl na výšku navbaru). Pozadí je stejně
       neprůhledné, efekt nebyl vidět. */
    backdrop-filter:none;-webkit-backdrop-filter:none;
    border-bottom:1px solid var(--line)}
  .nav-inner{height:84px;display:flex;align-items:center;justify-content:space-between}
  .brand{font-weight:800;font-size:19px;letter-spacing:-.01em;color:#e5edf7}
  .brand span{color:var(--accent);font-weight:600;font-size:14px;margin-left:6px}
  .brand-logo{height:49.5px;width:auto;display:block}  /* lišta −10 % (55→49,5px) */
  @media(max-width:640px){.navbar .brand-logo{height:35.64px}}  /* mobil lišta −10 % (39,6→35,64px) */
  .brand{text-decoration:none;cursor:pointer}
  .footer-brand{display:inline-block;margin-bottom:6px}
  .footer-brand .brand-logo{height:46px}
  @media(max-width:640px){.footer-brand .brand-logo{height:35px}}  /* mobil: zápatí 35px = parita se studium/zkouška (app), aby nebylo větší než lišta 39,6px */
  .brand .logo-white{display:none}
  html[data-theme="dark"] .brand .logo-black{display:none}
  html[data-theme="dark"] .brand .logo-white{display:block}
  .nav-links{display:flex;gap:28px}
  .nav-links a{color:#cbd5e1;font-size:17px;font-weight:500;transition:color .2s,transform .15s ease;transform-origin:center}
  .nav-links a:hover{color:var(--accent)}
  /* Desktop (myš): hover zoom položky menu o 15 % */
  @media (min-width:641px) and (hover:hover){ .nav-links a:hover{transform:scale(1.15)} }
  .nav-m-only{display:none}
  .nav-cta{background:var(--accent);color:#fff;font-weight:700;font-size:14px;
    padding:10px 20px;border-radius:10px;transition:.2s;box-shadow:0 6px 16px rgba(14,165,233,.28)}
  .nav-cta:hover{background:var(--accent-dark);transform:translateY(-1px)}
  @media(max-width:820px){
    .nav-cta{display:none}
    .nav-burger{display:flex}
    /* Pravý drawer na půl šířky, plná výška (parita s živým webem Ostrava). */
    .navbar .nav-links{position:fixed;top:0;right:0;bottom:0;left:auto;width:50%;flex-direction:column;align-items:flex-start;justify-content:center;gap:0;background:rgba(11,18,32,1);padding:calc(84px + env(safe-area-inset-top,0px)) 24px calc(24px + env(safe-area-inset-bottom,0px)) 39px;box-shadow:-10px 0 30px rgba(0,0,0,.35);transform:translateX(100%);visibility:hidden;overflow-y:auto;z-index:41;transition:transform .25s ease,visibility .25s}
    .navbar .nav-links.open{transform:translateX(0);visibility:visible}
    .navbar .nav-links a{padding:12px 0;font-size:16px}
    /* Hlavní položky menu (Studium/Zkouška/Volná místa/Kontakt; na rozcestníku Čechy/Morava/Slezsko/Volná místa)
       posunuty nahoru + větší + modré tečky. :not(.nav-m-only) vynechá mobilní registraci/přihlášení/zpět.
       BEZ :nth-child(-n+4) — rozcestník má 5 hlavních položek, ne 4 (jinak by 5. „Kontakt" propadl bez tečky/zarovnání). */
    .navbar .nav-links a:not(.nav-m-only){transform:translateY(-80px);font-size:17.6px}
    .navbar .nav-links a:not(.nav-m-only)::before{content:"";display:inline-block;width:4.8px;height:4.8px;border-radius:50%;background:#0ea5e9;margin-right:10px;vertical-align:middle}
    html[data-theme="dark"] .navbar .nav-links{background:rgba(255,255,255,1)}
    /* mobil: Registrace/Přihlášení z lišty do hamburgeru; přepínač zůstává v liště, vycentrovaný */
    .nav-right .nav-reg, .nav-right .nav-login{display:none}
    .nav-right .nav-burger{display:flex}
    .navbar .nav-links .nav-m-only{display:block}
    .navbar .nav-links .nav-m-reg{display:inline-flex;align-items:center;padding:12px 0}
    .navbar .nav-links .nav-m-login{display:inline-block;align-self:flex-start;margin:20px 0 0;background:#16A34A;color:#fff;border-radius:8px;padding:11px 24px;font-weight:600}
    .navbar .nav-links .nav-m-login:hover{background:#15803d;color:#fff}
    /* „← Zpět na úvod" nahoře v drawru, v linii loga (vlevo 39px). */
    /* „← Zpět na úvod" dole pod Přihlášením, mezera 70px */
    .navbar .nav-links .nav-m-back{margin:70px 0 0;padding:0;font-size:15px}
    /* nadpis „Menu" nahoře v linii loga, pěkná modrá */
    .navbar .nav-links .nav-m-title{position:absolute;top:-5px;left:39px;height:calc(84px + env(safe-area-inset-top,0px));display:flex;align-items:center;margin:0;padding:0;font-size:16px;font-weight:700;color:#0ea5e9}
    .nav-right{gap:10px}
    /* Ztmavený scrim pod lištou (z-index 20 < navbar 30) — dimuje obsah, drawer zůstává klikací. */
    .nav-scrim{position:fixed;inset:0;z-index:20;background:rgba(2,6,23,.45);opacity:0;visibility:hidden;transition:opacity .25s,visibility .25s}
    .nav-scrim.open{opacity:1;visibility:visible}
    /* Úchytné „ouško" u pravého okraje — klepnutí i tah doleva otevře menu (spolehlivé i v prohlížeči,
       kde OS rezervuje krajní pixely pro vlastní gesta). Skryté, když je menu otevřené. */
    .nav-edge{display:flex;position:fixed;top:50%;right:0;transform:translateY(calc(-50% + 90px));width:21.12px;height:69.12px;
      align-items:center;justify-content:center;z-index:29;border:1px solid #cbd5e1;border-right:0;padding:0;cursor:pointer;
      background:#fff;border-radius:10.8px 0 0 10.8px;box-shadow:-2px 0 8px rgba(0,0,0,.12);
      color:#0ea5e9;font-size:18px;font-weight:700;line-height:1;transition:opacity .2s,visibility .2s}
    .nav-edge.hidden{opacity:0;visibility:hidden;pointer-events:none}
  }
  @media(min-width:821px){.nav-scrim{display:none}.nav-edge{display:none}}  /* desktop: scrim i ouško skryté */

  /* Sticky footer (bez magických čísel): body = flex sloupec přes celý viewport,
     footer margin-top:auto → pata vždy dosedne až ke spodnímu okraji i na krátké
     stránce / velkém monitoru. Stejný princip jako v appce (.page-flex). */
  body{display:flex;flex-direction:column;min-height:100dvh}
  footer{background:var(--ink);color:#cbd5e1;padding:48px 0;text-align:center;font-size:14px;margin-top:auto}
  footer .brand{color:#fff;display:block;margin-bottom:10px}
  footer a{color:var(--accent-light)}
  html[data-theme="dark"] footer{color:#0f172a}  /* dark: footer je světlý pruh → tmavý text, ať je vidět */

  html[data-theme="dark"] .navbar{background:rgba(255,255,255,1)}
  html[data-theme="dark"] .nav-links a{color:#475569}
  html[data-theme="dark"] .brand{color:#0f172a}
  /* ===== Přepínač režimu + pravá část lišty ===== */
  .nav-right{display:flex;align-items:center;gap:16px}
  .nav-reg{display:inline-flex;align-items:center;gap:8px;color:#cbd5e1;font-size:15px;font-weight:500;text-decoration:none;transition:color .2s}
  .nav-reg:hover{color:var(--accent)}
  .nav-reg svg{flex:none;color:#94a3b8}
  html[data-theme="dark"] .nav-reg{color:#475569}
  .nav-login{min-height:40px;padding:8px 20px;background:#16A34A;color:#fff;border:0}
  .nav-login:hover{background:#15803d;color:#fff}
  .nav-burger{display:none;flex-direction:column;justify-content:center;gap:5px;width:40px;height:40px;background:none;border:0;cursor:pointer;padding:8px;margin-left:2px}
  .nav-burger span{display:block;width:22px;height:2px;background:#94a3b8;border-radius:2px}
  html[data-theme="dark"] .nav-burger span{background:#475569}
  @media(max-width:820px){.nav-burger{display:flex}}
  .theme-switch{background:transparent;border:0;padding:0;cursor:pointer;display:inline-flex;align-items:center}
  /* Kompaktní ikona přepínače (jako ostrava/appka) — ikona ☀/☾ všude, track skrytý */
  .ts-icon{display:none;align-items:center;color:#fff}
  html[data-theme="dark"] .ts-icon{color:#475569}
  .ts-icon .ts-moon{display:none}
  html[data-theme="dark"] .ts-icon .ts-sun{display:none}
  html[data-theme="dark"] .ts-icon .ts-moon{display:inline-flex}
  .nav-right .ts-track{display:none}.nav-right .ts-icon{display:inline-flex}
  .ts-track{position:relative;width:52px;height:28px;border-radius:999px;background:var(--bg-blue);border:1px solid var(--line);display:inline-flex;align-items:center;transition:background .2s,border-color .2s}
  .ts-track::before,.ts-track::after{content:"";position:absolute;top:50%;transform:translateY(-50%);background-color:currentColor;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;-webkit-mask-size:contain;mask-size:contain}
  .ts-track::before{left:6px;width:17px;height:17px;-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='4.3' fill='white' stroke='none'/%3E%3Cpath d='M12 1.6v2.8M12 19.6v2.8M1.6 12h2.8M19.6 12h2.8M4.7 4.7l2 2M17.3 17.3l2 2M19.3 4.7l-2 2M6.7 17.3l-2 2'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='4.3' fill='white' stroke='none'/%3E%3Cpath d='M12 1.6v2.8M12 19.6v2.8M1.6 12h2.8M19.6 12h2.8M4.7 4.7l2 2M17.3 17.3l2 2M19.3 4.7l-2 2M6.7 17.3l-2 2'/%3E%3C/svg%3E")}
  .ts-track::after{right:7px;width:13px;height:13px;background-color:#000;-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='white' d='M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='white' d='M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z'/%3E%3C/svg%3E")}
  .ts-thumb{position:absolute;left:3px;width:22px;height:22px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.25);transition:transform .2s;z-index:1}
  html[data-theme="dark"] .ts-track{background:#111a2e;border-color:#111a2e}
  html[data-theme="dark"] .ts-thumb{transform:translateX(24px)}
  html[data-theme="dark"] .ts-track::before{color:#fff}
  /* Mobil (na výšku i na šířku): nižší menu lišta (84→64px). Logo v landscape jako v portrétu (39,6px). */
  @media (orientation:portrait) and (max-width:640px), (orientation:landscape) and (max-height:500px) and (pointer:coarse){
    .nav-inner{height:64px}
    .navbar .brand-logo{height:35.64px}  /* lišta −10 % */
  }
  /* Mobil NA ŠÍŘKU ≥768px: plné menu jako na D: (zrušit drawer + hamburger). Portrét i úzké landscape zůstávají s hamburgerem. */
  @media (orientation:landscape) and (max-height:500px) and (pointer:coarse) and (min-width:768px){
    .navbar .nav-links{position:static;flex-direction:row;align-items:center;justify-content:normal;gap:28px;width:auto;background:none;box-shadow:none;transform:none;visibility:visible;overflow:visible;z-index:auto;padding:0}
    html[data-theme="dark"] .navbar .nav-links{background:none}
    .navbar .nav-links a{padding:0;font-size:15px}
    .navbar .nav-links a:not(.nav-m-only){transform:none;font-size:15px}
    .navbar .nav-links a:not(.nav-m-only)::before{content:none}
    .navbar .nav-links .nav-m-only{display:none}
    .navbar .nav-burger{display:none}
    .navbar .nav-right .nav-reg, .navbar .nav-right .nav-login{display:inline-flex}
    .nav-scrim{display:none}
    .nav-edge{display:none}
  }
