/* Practical bar scrolls away; only the primary navigation stays in view. */
:root { --admin-toolbar-offset:0px; --header-anchor-offset:calc(var(--header-panel-height) + 2 * var(--header-float-gap) + var(--space-4)); }
html { scroll-padding-top:calc(var(--header-anchor-offset) + var(--admin-toolbar-offset)); }
body.admin-bar { --admin-toolbar-offset:32px; }
.site-topbar { color:var(--header-bar-text); background:var(--header-bar-background); }
.topbar-inner { min-height:var(--topbar-height); display:flex; align-items:center; gap:var(--space-6); font-size:var(--font-size-sm); }
.topbar-hours { display:flex; align-items:center; gap:var(--space-2); margin:0 auto 0 0; }
.topbar-phone { display:inline-flex; align-items:center; gap:var(--space-2); min-height:var(--topbar-height); color:inherit; text-decoration:none; font-weight:var(--font-weight-semibold); white-space:nowrap; }
.topbar-phone:hover { color:inherit; text-decoration:underline; }
.site-topbar .cdi-icon { width:var(--icon-sm); height:var(--icon-sm); }
.site-topbar .language-switcher ul { gap:0; }
.site-topbar .language-switcher li + li { display:flex; align-items:center; }
.site-topbar .language-switcher li + li::before { content:'|'; opacity:.5; }
.site-topbar .language-switcher a { min-width:var(--space-10); min-height:var(--topbar-height); color:var(--header-bar-text); font-size:var(--font-size-sm); border-radius:0; }
.site-topbar .language-switcher [aria-current] { background:transparent; text-decoration:underline; text-underline-offset:.3em; text-decoration-thickness:2px; }
.site-topbar :focus-visible { outline-color:var(--header-bar-text); outline-offset:-3px; }
.site-header--floating { position:sticky; top:var(--admin-toolbar-offset); padding-block:var(--header-float-gap); background:transparent; z-index:var(--layer-menu); }
.site-header--floating .header-inner { width:min(var(--container-wide),calc(100% - 2 * var(--header-side-gap))); min-height:var(--header-panel-height); padding:var(--space-3) var(--space-6); flex-wrap:nowrap; gap:var(--space-5); border:var(--card-border); border-radius:var(--header-panel-radius); background:var(--header-panel-background); transition:box-shadow var(--transition-fast); }
.site-header--floating.is-stuck .header-inner { box-shadow:var(--header-scroll-shadow); }
.site-header--floating .site-branding { flex:0 0 13rem; margin-right:0; }
.site-header--floating .site-brand { font-size:var(--font-size-md); gap:var(--space-2); }
.site-header--floating .site-brand .brand-icon { width:var(--icon-lg); height:var(--icon-lg); }
.site-header--floating .site-brand span { max-width:10.5rem; }
.site-header--floating .primary-navigation { flex:1 1 auto; padding:0; }
.site-header--floating .primary-menu { gap:var(--space-4); justify-content:flex-start; }
.site-header--floating .primary-menu > li > a:has(.menu-home-icon) { min-width:var(--target-size); justify-content:center; }
.menu-home-icon { width:var(--icon-md); height:var(--icon-md); }
.site-header--floating .primary-menu > li > a { font-size:var(--font-size-sm); white-space:nowrap; }
.site-header--floating .submenu-toggle { min-width:var(--space-8); }
.site-header--floating .header-cta { padding-inline:var(--space-4); white-space:nowrap; }
.header-cta__short,.nav-mobile-hours { display:none; }
@media (max-width:80rem) {
 .site-header--floating .header-inner { gap:var(--space-3); padding-inline:var(--space-4); }
 .site-header--floating .site-branding { flex-basis:12rem; }
 .site-header--floating .primary-menu { gap:var(--space-3); }
 .site-header--floating .header-cta { padding-inline:var(--space-3); }
}
@media (max-width:75rem) {
 .header-cta__full { display:none; }
 .header-cta__short { display:inline; }
}
@media (max-width:70rem) {
 :root { --header-anchor-offset:calc(var(--header-panel-height-mobile) + 2 * var(--header-float-gap) + var(--space-4)); }
 .site-header--floating .header-inner { min-height:var(--header-panel-height-mobile); flex-wrap:wrap; gap:var(--space-3); padding:var(--space-2) var(--space-4); }
 .site-header--floating .site-branding { flex:1 1 auto; order:0; }
 .site-header--floating .header-cta { order:1; flex:0 0 auto; }
 .site-header--floating .menu-toggle { order:2; display:inline-flex; align-items:center; justify-content:center; padding:0; width:var(--target-size); height:var(--target-size); }
 .site-header--floating .primary-navigation { order:3; flex-basis:100%; border-top:var(--card-border); padding-top:var(--space-2); max-height:calc(100dvh - var(--header-anchor-offset) - var(--admin-toolbar-offset) - var(--topbar-height) - var(--space-16)); overflow:auto; overscroll-behavior:contain; }
 .site-header--floating .primary-menu { display:block; }
 .site-header--floating .primary-menu > li > a { font-size:var(--font-size-md); }
 .site-header--floating .submenu-toggle { min-width:var(--target-size); }
 .nav-mobile-hours { display:flex; align-items:flex-start; gap:var(--space-3); padding:var(--space-5) var(--space-2); font-size:var(--font-size-card-meta); color:var(--color-text-muted); }
 .nav-mobile-hours .cdi-icon { color:var(--color-primary); }
 .topbar-hours { display:none; }
 .topbar-phone { margin-right:auto; }
}
@media (max-width:782px) { body.admin-bar { --admin-toolbar-offset:46px; } }
@media (max-width:600px) { body.admin-bar { --admin-toolbar-offset:0px; } }
@media (max-width:47.99rem) {
 .topbar-inner { width:calc(100% - 2 * var(--space-5)); gap:var(--space-3); }
 .site-topbar .language-switcher a,.topbar-phone { min-height:var(--space-10); }
 .site-header--floating .header-inner { gap:var(--space-2); padding-inline:var(--space-3); }
 .site-header--floating .site-branding { flex:1 1 0; min-width:0; }
 .site-header--floating .site-brand { font-size:var(--font-size-sm); gap:var(--space-2); }
 .site-header--floating .site-brand .brand-icon { width:var(--icon-md); height:var(--icon-md); }
 .site-header--floating .site-brand span { max-width:10rem; }
 .site-header--floating .header-cta { min-height:var(--target-size); padding-inline:var(--space-3); }
 .site-header--floating .header-cta .cdi-icon,.header-cta__full { display:none; }
 .header-cta__short { display:inline; }
 .site-header--floating .custom-logo { max-width:10rem; max-height:var(--space-10); }
}
