/* Přístupnost a menu na středních šířkách (2. 11. 2026).
   Načítá se po style.css a compatibility.css, takže jejich pravidla jen doplňuje. */

/* Odkaz „Přeskočit na obsah“: vidět je jen po stisku Tab */
.skip-link { position: absolute; left: -9999px; top: 0; z-index: 10000; }
.skip-link:focus { left: .75rem; top: .75rem; background: #1a365d; color: #fff; padding: .75rem 1.25rem; border-radius: 8px; font-weight: 700; text-decoration: none; box-shadow: 0 0 0 3px #fff, 0 0 0 6px #1a365d; }
#hlavni-obsah { display: block; height: 0; outline: none; }

/* Viditelné zaměření z klávesnice */
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, summary:focus-visible, [tabindex]:focus-visible {
    outline: 3px solid #1d4ed8; outline-offset: 2px;
}

/* Ikony sociálních sítí: dost velká plocha pro prst */
.facebook-link, .instagram-link { min-width: 44px; justify-content: center; }

/* Podmenu se otevře i z klávesnice, ne jen myší */
@media (min-width: 769px) {
    .has-submenu:focus-within .submenu { opacity: 1; visibility: visible; max-height: 500px; }
}

/* Menu se na středně širokém okně zalomí pod logo místo vodorovného posuvu stránky.
   Na telefonu (do 768 px) zůstává hamburger, na širokých monitorech jeden řádek. */
@media (min-width: 769px) and (max-width: 1340px) {
    .header-content { flex-wrap: wrap; justify-content: center; row-gap: .25rem; }
    .header-content > .main-nav { width: 100%; justify-content: center; flex-wrap: wrap; }
    .nav-list { flex-wrap: wrap; justify-content: center; row-gap: .25rem; }
}

/* Rozbalovací podmenu u pravého okraje se otevírá doleva, aby nevyjelo z okna (skryté by jinak přidávalo vodorovný posuv) */
@media (min-width: 769px) and (max-width: 1500px) {
    .nav-list > li.has-submenu:nth-last-child(-n+3) .submenu { left: auto; right: 0; }
}
