/* VERZE: 17 — pri KAZDE zmene zvednout i `?v=` ve vsech strankach!
 * Hosting servíruje tenhle soubor s roční cache klíčovanou celou adresou;
 * beze zvednutí `?v=` dostávají lidi starou verzi a chyba je TICHÁ.
 *
 * Scorify — sdílený chrome (header + footer) pro statické stránky.
 * Header i footer renderuje chrome.js z JEDNOHO zdroje se STEJNÝMI třídami jako
 * homepage; tenhle soubor nese IDENTICKÉ CSS chrome (zkopírováno ze styles.css),
 * takže statické stránky vypadají 1:1 jako homepage — včetně přihlášení/odhlášení.
 * Font Inter si stránky načítají SAMY v <head> (odkazem, ne @importem):
 * @import uvnitř tohoto souboru znamenal tři kola za sebou — HTML, pak
 * pages.css, teprve pak CSS od Googlu a nakonec soubor písma. Text proto
 * dlouho svítil náhradním písmem a při doskočení Interu poskočil. */

@font-face {
  font-family: 'Inter Fallback';
  src: local('Arial');
  ascent-override: 90.44%; descent-override: 22.52%; line-gap-override: 0%; size-adjust: 107.12%;
}
:root {
  --font: 'Inter', 'Inter Fallback', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Arial, sans-serif;
  --blue: #1467ff; --blue-2: #0b8cff; --green: #2ed47a; --yellow: #ffe32e; --red: #ff4d57;
  --navy: #031736; --muted: #6b7590; --line: #dde5f1;
}
/* Vždy rezervuj místo pro svislý scrollbar — jinak při přepínání mezi vysokou
 * (se scrollbarem) a nízkou stránkou (bez) celý vycentrovaný obsah skáče do stran. */
html { scrollbar-gutter: stable; }
/* Stránka vždy vyplní celou výšku okna — na krátkém obsahu (Pro firmy, API…)
   by jinak patička "vyplavala" doprostřed obrazovky místo dole. Footer má
   margin-top:auto (níž), takže se sám dotlačí na spodek, i když main flex
   nemá. */
html, body { min-height: 100%; }
body { display: flex; flex-direction: column; min-height: 100vh; font-family: var(--font) !important; }
.sc-chrome button { font-family: var(--font); }

/* ===== HEADER (1:1 homepage) ===== */
.container { width: min(1410px, calc(100% - 80px)); margin-inline: auto; }
.topbar { height: 58px; background: #051733; color: #fff; border-bottom: 1px solid rgba(255,255,255,.08); position: relative; }
.topbar .nav, .topbar > .container { height: 58px; display: flex; align-items: center; justify-content: space-between; gap: 28px; }
.topbar .brand { display: flex; align-items: center; gap: 10px; font-size: 22px; font-weight: 800; letter-spacing: -.02em; color: #fff; text-decoration: none; }
.brand-logo { height: 30px; width: auto; display: block; }
.topbar nav.menu { display: flex; height: 100%; align-items: center; gap: 42px; font-size: 15px; }
.topbar nav.menu a { height: 100%; display: flex; align-items: center; border-bottom: 2px solid transparent; color: #f5f8ff; text-decoration: none; font-weight: 400; }
.topbar nav.menu a.active, .topbar nav.menu a:hover { border-bottom-color: #2d9cff; color: #fff; }
.nav-toggle { display: none; background: none; border: 0; color: #dbe8ff; cursor: pointer; padding: 6px; margin: -6px; border-radius: 8px; }
.nav-toggle:hover { background: rgba(255,255,255,.08); }
.nav-actions { display: flex; align-items: center; gap: 22px; }
.login { font-size: 15px; color: #fff; background: none; border: none; cursor: pointer; text-decoration: none; }
.cta-btn { background: linear-gradient(135deg,#0d5ff0,#139cff); color: #fff; padding: 10px 24px; border-radius: 7px; font-weight: 700; box-shadow: 0 10px 24px rgba(14,116,255,.28); border: none; cursor: pointer; font-size: 15px; text-decoration: none; display: inline-block; }
.user-chip { display: inline-flex; align-items: center; gap: 8px; background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.18); border-radius: 999px; color: #fff; font-size: 13.5px; font-weight: 600; padding: 5px 14px 5px 6px; cursor: pointer; max-width: 220px; text-decoration: none; }
.user-chip-name { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.icon-btn { background: none; border: none; color: #cfe0f3; cursor: pointer; display: inline-flex; padding: 4px; }
.icon-btn:hover { color: #fff; }
.avatar { width: 34px; height: 34px; border-radius: 50%; object-fit: cover; flex: none; }
.avatar-sm { width: 26px; height: 26px; }
.avatar-initial { display: inline-flex; align-items: center; justify-content: center; background: linear-gradient(135deg,var(--blue-2),var(--green)); color: #06183a; font-weight: 800; font-size: 13px; }

/* Šířku obsahu (main) si řídí KAŽDÁ statická stránka vlastním inline <style>
   (viz <head> dané stránky) — marketingové 1410px (jako homepage), právní
   texty úmyslně užší 860px kvůli čitelnosti dlouhých odstavců. Dřív tu bylo
   univerzální pravidlo s !important, které těmto stránkám (podminky/zasady)
   nechtěně přebilo jejich užší šířku na 1410px — nečitelně dlouhé řádky. */

/* ===== FOOTER (1:1 homepage) ===== */
/* Rozvrzeni podle Vlastimila (9. 9. 2026): horni radek ma tri zony —
   © vlevo, obsahove odkazy uprostred, pravni odkazy vpravo; platebni loga
   jsou NA STREDU vlastniho radku pod linkou. Vzdusnost = vetsi svisle
   odsazeni (28/30), mezera mezi radky 20 a mezery 30 mezi odkazy. */
.footer { margin-top: auto; padding: 28px 0 30px; background: #051733; color: #aec2de; }
.footer .container { display: flex; flex-direction: column; gap: 20px; font-size: 13px; }
.footer .foot-horni { display: flex; align-items: center; justify-content: space-between; gap: 14px 40px; flex-wrap: wrap; }
.footer .foot-pravni { display: flex; align-items: center; gap: 12px 30px; flex-wrap: wrap; }
.footer .foot-obsah { display: flex; align-items: center; justify-content: center; gap: 12px 34px; flex-wrap: wrap; }
/* Radek se ukaze, az kdyz do nej neco prijde (agregaty za prepinacem).
   Prazdny by v paticce nechaval osirele misto — a gap kontejneru navic. */
.footer .foot-obsah:empty { display: none; }
/* Loga jsou NAHORE (otoceno na prani Vlastimila) — linka je proto POD nimi
   a oddeluje je od odkazu nize. */
.footer .foot-stred { display: flex; justify-content: center;
  border-bottom: 1px solid rgba(255,255,255,.09); padding-bottom: 20px; }
.footer a { color: #cfe0ff; text-decoration: none; }
.footer a:hover { color: #fff; }
/* Odkazy na agregatni prehledy vklada chrome.js do JEDNOHO obalu, aby je
   umel vlozit pred pravni odkazy. Obal je ale jedna polozka flexu, takze
   `gap` patickovoveho kontejneru mezi ne nesahne — a odkazy se slepily
   dohromady („Firmy v insolvenciNespolehlivi platci DPH…"). Vlastni flex
   s toutez mezerou to srovna. */
.footer-prehledy { display: flex; gap: 12px 34px; flex-wrap: wrap; align-items: center; justify-content: center; }
.footer-link { background: none; border: 0; color: #aec2de; font-size: 12.5px; cursor: pointer; padding: 0; text-decoration: underline; font-family: inherit; }
.footer-link:hover { color: #fff; }
/* Platebni loga (oficialni balicek od Comgate, 9. 9. 2026) — nahradila
   legendu rizik. Vysky nastavuje HTML atributem per logo (opticka vaha),
   tady jen zarovnani a mezery. GPay/APay maji obrysovou pilulku jako
   v oficialnim pasu. */
.footer .pay-loga { display: inline-flex; align-items: center; justify-content: center; gap: 28px; flex-wrap: wrap; }
/* Pod 480 px se pas pri 22px mezere lamal do dvou rad — mensi mezera ho
   udrzi v jedne (loga sama maji 282 px; zmensuje se jen prazdno, ne artwork). */
@media (max-width: 480px) { .footer .pay-loga { gap: 13px; } }
.footer .pay-loga img { display: block; width: auto; }
.footer .pay-loga a { display: inline-flex; line-height: 0; }
.footer .pay-loga img[alt="Google Pay"], .footer .pay-loga img[alt="Apple Pay"] {
  border: 1.5px solid rgba(255,255,255,.55); border-radius: 7px; padding: 4px 9px; }

/* ===== COOKIE LIŠTA (1:1 homepage) ===== */
.cookie-bar { position: fixed; z-index: 120; left: 20px; bottom: 20px; width: min(390px, calc(100% - 32px)); background: #fff; border: 1px solid #e6ecf5; border-radius: 16px; box-shadow: 0 20px 55px rgba(6, 20, 45, 0.3); padding: 20px; overflow: hidden; animation: ckIn 0.35s cubic-bezier(0.2, 0.9, 0.3, 1); }
.cookie-bar::before { content: ""; position: absolute; left: 0; top: 0; right: 0; height: 4px; background: linear-gradient(90deg, var(--blue), var(--green)); }
@keyframes ckIn { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }
.cookie-head { display: flex; align-items: center; gap: 11px; margin-bottom: 10px; }
.cookie-ico { flex: none; width: 38px; height: 38px; border-radius: 11px; display: grid; place-items: center; background: linear-gradient(135deg, #fff1d4, #ffddA0); color: #bf7400; box-shadow: 0 6px 14px rgba(210, 140, 20, 0.22); }
.cookie-head strong { font-size: 16px; color: var(--navy); }
.cookie-desc { font-size: 13px; line-height: 1.6; color: #4a5779; margin-bottom: 16px; }
.cookie-desc a { color: var(--blue); text-decoration: underline; }
.ck-toggle { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 11px 0; border-top: 1px solid #eef2f8; }
.ck-toggle-txt { display: flex; flex-direction: column; gap: 1px; }
.ck-toggle-txt b { font-size: 13px; color: var(--navy); }
.ck-toggle-txt span { font-size: 11.5px; color: var(--muted); line-height: 1.35; }
.ck-switch { position: relative; flex: none; width: 42px; height: 23px; border-radius: 999px; background: #cfd8e6; transition: background 0.18s; }
.ck-switch.is-on { background: var(--blue); }
.ck-switch.is-locked { background: #a9bcd8; }
.ck-switch input { position: absolute; inset: 0; margin: 0; opacity: 0; cursor: pointer; }
.ck-switch i { position: absolute; top: 2.5px; left: 2.5px; width: 18px; height: 18px; border-radius: 50%; background: #fff; box-shadow: 0 1px 3px rgba(0, 0, 0, 0.28); transition: transform 0.18s; }
.ck-switch.is-on i { transform: translateX(19px); }
.cookie-actions { display: flex; flex-wrap: wrap; gap: 8px; justify-content: flex-end; margin-top: 16px; }
.ck-btn { border-radius: 9px; font-size: 13px; font-weight: 700; padding: 9px 15px; cursor: pointer; border: 1px solid var(--line); transition: border-color 0.15s, filter 0.15s; font-family: inherit; }
.ck-btn.ghost { background: #fff; color: #33406b; }
.ck-btn.ghost:hover { border-color: #9dbdff; }
.ck-btn.primary { background: linear-gradient(135deg, var(--blue), var(--blue-2)); color: #fff; border-color: transparent; box-shadow: 0 8px 18px rgba(20, 103, 255, 0.28); }
.ck-btn.primary:hover { filter: brightness(1.06); }
@media (max-width: 720px) {
  .cookie-bar { left: 10px; right: 10px; bottom: 10px; width: auto; }
  .cookie-actions .ck-btn { flex: 1; }
}

/* ===== MOBIL (1:1 homepage — styles.css, stejny blok) ===== */
/* Blok s uctem uvnitr mobilniho menu — na desktopu neexistuje (ucet je v liste). */
.menu-akce { display: none; }
body.menu-open { overflow: hidden; }
@media (max-width: 1100px) {
  /* LISTA: logo vlevo, vpravo tesne u sebe „Přihlásit se" a hamburger.
     Drive „Přihlásit se" plavalo uprostred mezi logem a hamburgerem
     (space-between se tremi detmi) a registrace na mobilu nebyla vubec. */
  .topbar > .container, .topbar .nav { justify-content: flex-start; gap: 0; }
  .nav-actions { order: 2; margin-left: auto; gap: 8px; }
  .nav-actions .login { padding: 8px 12px; border: 1px solid rgba(255,255,255,.22); border-radius: 8px; font-size: 14px; line-height: 1; text-decoration: none; }
  /* 44 px dotykova plocha (bylo 36) */
  .nav-toggle { display: inline-flex; order: 3; margin: 0 -10px 0 2px; padding: 10px; }
  .nav-toggle[aria-expanded="true"] { background: rgba(255,255,255,.1); }
  .topbar nav.menu { display: none; }
  /* ROZBALENE MENU = PANEL PRES CELOU VYSKU pod listou, ne dropdown na pul
     obrazovky: obsah pod nim se neposouva (body.menu-open), odkazy maji
     vetsi dotykove plochy, aktivni stranka ma modry prouzek a dole je ucet
     s registraci (.menu-akce). */
  .topbar nav.menu.open { display: flex; flex-direction: column; align-items: stretch; gap: 0; position: fixed; left: 0; right: 0; top: 58px; bottom: 0; height: auto; overflow: auto; -webkit-overflow-scrolling: touch; background: #071d42; border-top: 1px solid rgba(143,191,255,.16); padding: 8px 0 28px; z-index: 60; }
  .topbar nav.menu.open a { height: auto; padding: 15px 22px; border-bottom: 0; font-size: 17px; }
  .topbar nav.menu.open a.active { border-bottom: 0; background: rgba(255,255,255,.06); color: #fff; box-shadow: inset 3px 0 0 #2d9cff; }
  .topbar nav.menu.open a:hover { border-bottom: 0; background: rgba(255,255,255,.06); color: #fff; }
  .topbar nav.menu.open .menu-akce { display: flex; flex-direction: column; gap: 10px; margin: 14px 22px 0; padding-top: 18px; border-top: 1px solid rgba(143,191,255,.16); }
  .topbar nav.menu.open .menu-akce a { padding: 13px 16px; font-size: 15px; border-radius: 9px; text-align: center; justify-content: center; box-shadow: none; }
  .menu-akce .menu-login { background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.18); color: #fff; font-weight: 600; }
}
@media (max-width: 720px) {
  .container { width: calc(100% - 28px); }
  .nav-actions .cta-btn { display: none; }
  .nav-actions { gap: 10px; }
  .user-chip { padding: 4px; max-width: none; }
  .user-chip-name { display: none; }
}
