/* Shared H&S navigation spacing. Loaded after component styles on every page. */
.nav nav .nav-submenu{gap:4px}
.nav nav .nav-submenu a{min-height:44px;padding:10px 14px;line-height:1.4}

@media(min-width:1100px){
 .nav{column-gap:24px}
 .nav>nav,.nav>nav.open{gap:24px;flex-wrap:nowrap}
 .nav nav>a,.nav nav .nav-dropdown>a{min-height:44px;padding:10px 8px;line-height:1.4;white-space:nowrap}
 .nav-dropdown{gap:0;flex:none}
 .nav nav .nav-dropdown>a{padding-right:0}
 .nav-dropdown>.submenu-toggle{flex:0 0 32px;width:32px;min-width:32px;height:44px;margin:0;padding:0}
 .nav nav>a.nav-contact{gap:8px;padding-inline:16px}
 .nav nav>a.language-switch{min-width:44px;justify-content:center;margin-left:0}
 .nav nav .nav-submenu{min-width:240px;padding:8px}
 .nav nav .nav-submenu a{padding-inline:14px}
}

/* Keep the same rhythm in narrower desktop headers, including English labels. */
@media(min-width:1100px) and (max-width:1279px){
 .nav>nav,.nav>nav.open{gap:12px}
 .nav nav>a,.nav nav .nav-dropdown>a{padding-inline:6px}
 .nav nav .nav-dropdown>a{padding-right:0}
 .nav nav>a.nav-contact{padding-inline:12px}
}

@media(max-width:1099px){
 .nav>nav.open{gap:8px;align-items:stretch;padding:16px 20px 20px}
 .nav nav>a,.nav nav .nav-dropdown>a{min-height:48px;padding:12px 16px;line-height:1.5;white-space:normal}
 .nav-dropdown{grid-template-columns:minmax(0,1fr) 44px;column-gap:8px;row-gap:8px}
 .nav-dropdown>.submenu-toggle{width:44px;min-width:44px;height:48px;margin:0;padding:0}
 .nav nav .nav-submenu{gap:8px;padding:8px;margin:0}
 .nav nav .nav-submenu a{min-height:48px;padding:12px 16px;white-space:normal;line-height:1.5}
 .nav nav>a.nav-contact{justify-content:space-between}
 .nav nav>a.language-switch{align-self:flex-start;min-width:48px;justify-content:center}
}
