/* ==========================================================================
   SPOLEČNÁ DESIGNOVÁ VRSTVA VZHLEDŮ Z KNIHOVNY — HLAVIČKA A MENU
   Načítá se po menu.css výchozího vzhledu. Hlavička drží nahoře; skript
   vzhledu (theme.js) jí při rolování přidává třídy `je-odrolovano`
   (zmenší se a dostane stín) a `je-schovana` (při rolování dolů zajede).
   Kopíruje se ze `vzhledy/_spolecne/`.
   ========================================================================== */

html { scroll-padding-top: calc(var(--vz-vyska-hlavicky, 76px) + 16px); }

.sw-menu {
    position: sticky;
    top: 0;
    border-bottom: 1px solid var(--vz-hlavicka-linka, var(--t-linka-jemna));
    background: var(--vz-hlavicka-pozadi, var(--t-pozadi));
    color: var(--vz-hlavicka-text, var(--t-text));
    transition: transform 0.32s var(--t-krivka), box-shadow var(--t-rychlost) ease, background-color var(--t-rychlost) ease;
}
.sw-menu.je-odrolovano { box-shadow: var(--vz-hlavicka-stin, 0 6px 24px rgba(15, 23, 42, 0.08)); }
.sw-menu.je-schovana { transform: translateY(-100%); }
/* Poloprůhledná hlavička s rozmazáním, kde to prohlížeč umí a vzhled chce. */
@supports (backdrop-filter: blur(8px)) {
    .sw-menu.je-odrolovano { background: var(--vz-hlavicka-pozadi-rolovani, var(--vz-hlavicka-pozadi, var(--t-pozadi))); backdrop-filter: var(--vz-hlavicka-rozmazani, none); }
}

.sw-menu__nav { min-height: var(--vz-vyska-hlavicky, 76px); transition: min-height var(--t-rychlost) var(--t-krivka); }
.sw-menu.je-odrolovano .sw-menu__nav { min-height: calc(var(--vz-vyska-hlavicky, 76px) - 14px); }
.sw-menu__znacka { color: var(--vz-hlavicka-text, var(--t-nadpis, var(--t-text))); font-family: var(--t-pismo-nadpisy); font-size: 1.3rem; font-weight: 800; letter-spacing: -0.01em; }
.sw-menu__znacka img { max-height: 46px; filter: var(--vz-hlavicka-logo-filtr, none); transition: max-height var(--t-rychlost) var(--t-krivka); }
.sw-menu.je-odrolovano .sw-menu__znacka img { max-height: 38px; }

.sw-menu__list { gap: 4px; }
.sw-menu__list > .sw-menu__item > .sw-menu__link {
    padding: 9px 14px;
    border: 0;
    border-radius: var(--vz-menu-zaobleni, var(--t-zaobleni-male, 8px));
    color: var(--vz-hlavicka-text, var(--t-text));
    font-weight: 600;
    letter-spacing: var(--vz-menu-mezery, 0);
    text-decoration: none;
    text-transform: var(--vz-menu-pismena, none);
    transition: background-color var(--t-rychlost) ease, color var(--t-rychlost) ease;
}
.sw-menu__list > .sw-menu__item > .sw-menu__link:hover { background: var(--vz-menu-hover, var(--t-pozadi-jemne)); color: var(--vz-menu-hover-text, var(--t-akcent)); }
.sw-menu__list > .sw-menu__item > .sw-menu__link.is-active { background: var(--vz-menu-aktivni, var(--vz-akcent-jemny, var(--t-pozadi-jemne))); color: var(--vz-menu-aktivni-text, var(--t-akcent)); }
.sw-menu__submenu { padding: 8px; border: 1px solid var(--t-linka-jemna); border-radius: var(--t-zaobleni); background: var(--t-pozadi); box-shadow: 0 18px 44px rgba(15, 23, 42, 0.14); }
.sw-menu__submenu li + li { border-top: 0; }
.sw-menu__submenu .sw-menu__link { border-radius: var(--t-zaobleni-male, 8px); color: var(--t-text); }
.sw-menu__submenu .sw-menu__link:hover { background: var(--vz-akcent-jemny, var(--t-pozadi-jemne)); color: var(--t-akcent); }
.sw-menu__hledani, .sw-jazyk { border-radius: var(--vz-menu-zaobleni, var(--t-zaobleni-male, 8px)); color: var(--vz-hlavicka-text, var(--t-text)); }
.sw-menu__hledani:hover { background: var(--vz-menu-hover, var(--t-pozadi-jemne)); color: var(--vz-menu-hover-text, var(--t-akcent)); }
.sw-menu__toggle-bar { background: var(--vz-hlavicka-text, var(--t-text)); }

/* Lišta s kontaktem nad menu (sablony/hlavicka.php). Při rolování se schová. */
.vz-hlavicka__lista { overflow: hidden; max-height: 40px; background: var(--vz-lista-pozadi, var(--t-inverzni-pozadi)); color: var(--vz-lista-text, rgba(255, 255, 255, 0.86)); font-size: 0.8125rem; font-weight: 600; transition: max-height 0.28s var(--t-krivka); }
.sw-menu.je-odrolovano .vz-hlavicka__lista { max-height: 0; }
.vz-hlavicka__lista .sw-container { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 4px 24px; padding-block: 8px; }
.vz-hlavicka__lista a { display: inline-flex; align-items: center; gap: 8px; color: inherit; text-decoration: none; }
.vz-hlavicka__lista a:hover { color: #ffffff; text-decoration: underline; }
.vz-hlavicka__lista i { font-size: 0.75rem; opacity: 0.8; }

@media (max-width: 860px) {
    .sw-menu__list { border-top-color: var(--vz-hlavicka-linka, var(--t-linka-jemna)); }
    .sw-menu__list > .sw-menu__item > .sw-menu__link { padding: 12px 10px; }
    .sw-menu__item:not(.sw-menu__item--jazyk):not(.sw-menu__item--hledani) { border-bottom-color: var(--vz-hlavicka-linka, var(--t-linka-jemna)); }
    .sw-menu__submenu { padding: 0 0 6px 12px; border: 0; background: none; box-shadow: none; }
    .sw-menu__submenu .sw-menu__link { color: var(--vz-hlavicka-text, var(--t-text)); opacity: 0.86; }
    /* Otevřené menu se nesmí schovat ani zmenšit pod prstem. */
    .sw-menu:has(.sw-menu__list.is-open) { transform: none; }
    .vz-hlavicka__lista .sw-container { justify-content: center; }
}
