/* Shared navigation and touch rules: loaded on every public route. */
body .wp-site-blocks > header.wp-block-template-part {
 position: sticky; top: 0; z-index: 99990;
}
body.admin-bar .wp-site-blocks > header.wp-block-template-part { top: 32px; }
body .oseka-header { position: static; }
body .oseka-nav-shell {
 box-sizing: border-box; gap: 1rem; margin-inline: auto; max-width: 1480px;
 min-height: 76px; padding-inline: clamp(1rem, 3vw, 2.5rem);
}
body .oseka-nav-shell > .oseka-brand-lockup { flex-shrink: 0; gap: .65rem; }
body .oseka-header .wp-block-site-logo { flex-shrink: 0; }
body .oseka-header .wp-block-site-title { margin: 0; white-space: nowrap; }
body .oseka-header .wp-block-site-logo a { display: flex; align-items: center; min-height: 44px; }
body .oseka-header .wp-block-site-logo img { display: block; height: auto; width: 40px; }
body .oseka-header .wp-block-site-title a { font-size: 20px; }
body .oseka-header-phone { align-items: center; color: #181719; display: none; font: inherit; font-size: 14px; font-weight: 700; min-height: 44px; padding-inline: .4rem; text-decoration: none; white-space: nowrap; }
body .oseka-header .wp-block-navigation-item__content { align-items: center; display: inline-flex; min-height: 44px; }
body .oseka-header .wp-block-navigation__responsive-container-open,
body .oseka-header .wp-block-navigation__responsive-container-close,
body .oseka-header .wp-block-navigation-submenu__toggle { align-items: center; display: inline-flex; justify-content: center; min-height: 44px; min-width: 44px; }
body .oseka-header .wp-block-navigation__responsive-container-open { display: none; }
body .oseka-header .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__responsive-container-close { display: none; }
body .oseka-header .wp-block-navigation__container { gap: .85rem; }
body .oseka-header :is(a,button):focus-visible { outline: 3px solid #d1263f; outline-offset: 3px; border-radius: 4px; }
body form :is(input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]), select, textarea) { font-size: max(16px, 1rem); }
body :is(#main-content,#upit,#radovi,#cijena,#paketi,#kako-radi,#proces,#projekti,#faq,:focus) { scroll-margin-top: 100px; }
body.oseka-nav-open #oseka-consent,
body.oseka-nav-open #oseka-consent-settings,
body.oseka-field-focused #oseka-consent-settings { visibility: hidden; pointer-events: none; }
@media (max-width: 1120px) {
 body .oseka-nav-shell { flex-wrap: nowrap !important; gap: .5rem; min-height: 72px; }
 body .oseka-header .wp-block-navigation { flex: 0 0 auto; margin-inline-start: auto; }
 body .oseka-header .wp-block-navigation__responsive-container:not(.is-menu-open) { display: none !important; }
 body .oseka-header .wp-block-navigation__responsive-container-open { display: inline-flex !important; }
 body .oseka-header .wp-block-navigation__responsive-container.is-menu-open { display: flex !important; background: #f3f0e9; padding: 0 !important; overflow-y: auto; overscroll-behavior: contain; }
 body .oseka-header .is-menu-open .wp-block-navigation__responsive-close { max-width: 760px; width: 100%; padding: 0 1.25rem; }
 body .oseka-header .is-menu-open .wp-block-navigation__responsive-dialog { min-height: 100%; }
 body .oseka-header .is-menu-open .wp-block-navigation__responsive-container-close { display: flex; width: 44px; position: sticky; top: max(.75rem, env(safe-area-inset-top)); margin: .75rem 0 .25rem auto; right: 0; background: #f3f0e9; z-index: 3; }
 body .oseka-header .is-menu-open .wp-block-navigation__responsive-container-content { align-items: stretch; padding: .25rem 0 max(2rem, env(safe-area-inset-bottom)) !important; }
 body .oseka-header .is-menu-open .wp-block-navigation__container { align-items: stretch; gap: 0; width: 100%; }
 body .oseka-header .is-menu-open .wp-block-navigation-item { align-items: stretch; width: 100%; }
 body .oseka-header .is-menu-open .wp-block-navigation__container > .wp-block-navigation-item { border-bottom: 1px solid rgba(24,23,25,.16); }
 body .oseka-header .is-menu-open .wp-block-navigation-item__content { justify-content: flex-start; min-height: 48px; padding: .4rem .25rem; width: 100%; font-size: 18px; }
 body .oseka-header .is-menu-open .wp-block-navigation-item.has-child { display: grid !important; grid-template-columns: minmax(0,1fr) 48px; }
 body .oseka-header .is-menu-open .has-child > .wp-block-navigation-submenu__toggle { display: inline-flex !important; margin: 0; width: 48px; height: 48px; }
 body .oseka-header .is-menu-open .has-child > .wp-block-navigation-submenu__toggle svg { width: 14px; height: 14px; transition: transform 160ms ease; }
 body .oseka-header .is-menu-open .has-child[data-oseka-expanded="true"] > .wp-block-navigation-submenu__toggle svg { transform: rotate(180deg); }
 body .oseka-header .is-menu-open .has-child > .wp-block-navigation__submenu-container { display: none !important; grid-column: 1 / -1; padding: 0 0 .75rem 1rem !important; min-width: 0 !important; }
 body .oseka-header .is-menu-open .has-child[data-oseka-expanded="true"] > .wp-block-navigation__submenu-container { display: flex !important; }
 body .oseka-header .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content { font-size: 16px; min-height: 44px; }
}
@media (max-width: 781px) {
 body .oseka-header-phone { display: inline-flex; }
 body .oseka-header-cta { display: none !important; }
 body .oseka-header .wp-block-site-title a { font-size: 18px; }
 body .oseka-header .wp-block-site-logo img { width: 36px; }
}
@media (max-width: 782px) { body.admin-bar .wp-site-blocks > header.wp-block-template-part { top: 46px; } }
@media (prefers-reduced-motion: reduce) { body .oseka-header .wp-block-navigation-submenu__toggle svg { transition: none; } }
