/* Shared navigation: desktop, touch tablets, phones. Loaded after legacy styles. */
#siteHeader .header-shell{height:auto!important;min-height:82px!important;position:relative;flex-wrap:wrap;padding-block:10px}
#siteHeader .header-brand{min-width:0;flex-shrink:0}
#siteHeader .header-mainnav.header-menu-design{flex-wrap:wrap;min-width:0;justify-content:center;flex:1}
#siteHeader .mega-menu{top:100%!important;max-height:calc(100dvh - 100px);overflow-y:auto}
#siteHeader .mega-menu[data-open-mode=always]{top:auto!important}
#siteHeader .mega-panel{grid-template-columns:repeat(var(--mega-cols,5),minmax(0,1fr))!important}
#siteHeader .mega-col a{overflow-wrap:anywhere}
#siteHeader .mobile-nav{display:none;max-height:calc(100dvh - 90px);overflow:auto;overscroll-behavior:contain;font-family:var(--header-font-family,Arial,sans-serif);background:linear-gradient(180deg,var(--header-bg,#fff),var(--header-gradient,#fff))!important;border-radius:0 0 var(--header-radius,14px) var(--header-radius,14px)}
#siteHeader .mobile-nav a{min-height:44px;overflow-wrap:anywhere}
#siteHeader .mobile-mega-block{display:grid;gap:6px;padding:14px;border:1px solid var(--mega-border,#e3eaf2);border-radius:var(--mega-radius,14px);background:var(--mega-bg,#fff);font-family:var(--mega-font-family,Arial,sans-serif)}
#siteHeader .mobile-mega-block a{color:var(--mega-panel-text,#405169)!important;font-size:var(--mega-font,14px)!important;border-radius:var(--mega-link-radius,9px)}
#siteHeader .mobile-mega-block a:hover{background:var(--mega-hover-bg,#edf5ff)!important;color:var(--mega-hover,#087ef7)!important}
#siteHeader .mobile-mega-title{font-weight:750;color:var(--mega-heading,#142640)!important;padding:12px 10px 4px}
#siteHeader .mobile-nav-toggle{min-width:44px;min-height:44px;flex-shrink:0}
.footer-mega-grid{font-family:var(--footer-font-family,Arial,sans-serif)!important;grid-template-columns:repeat(auto-fit,minmax(155px,1fr))!important;gap:var(--footer-column-gap,26px)!important}
.footer-menu-col a{min-height:36px;overflow-wrap:anywhere;border-radius:var(--footer-link-radius,7px);padding:var(--footer-item-pad-y,7px) var(--footer-item-pad-x,10px)!important}
.site-footer .footer-brand{min-width:0;max-width:100%}
@media(max-width:1180px){
 #siteHeader .header-mainnav.header-menu-design{display:none!important}
 #siteHeader .mega-menu,#siteHeader .mega-menu[data-open-mode=always]{display:none!important}
 #siteHeader .mobile-nav-toggle{display:block!important}
 #siteHeader .mobile-nav{position:absolute;top:100%!important;left:0;right:0;z-index:60}
 #siteHeader .mobile-nav.open{display:flex!important;flex-direction:column}
 #siteHeader .header-shell{min-height:72px!important;flex-wrap:nowrap}
 #siteHeader .header-actions{margin-left:auto}
 #siteHeader .header-brand .brand-copy small{display:none}
 .footer-mega-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
 .footer-brand-block{grid-column:1/-1}
}
@media(max-width:640px){
 #siteHeader .header-shell{min-height:64px!important;gap:8px}
 #siteHeader .header-brand .brand-copy strong{font-size:17px!important}
 #siteHeader .header-brand .brand-mark{width:34px}
 #siteHeader .header-actions .btn,#siteHeader .language-link{display:none!important}
 #siteHeader .header-actions .theme-toggle{display:inline-flex!important}
 .footer-mega-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 .footer-menu-col a{min-height:44px}
}

#siteHeader .header-mainnav.header-menu-design{min-height:var(--header-header-height,48px)}
@media(min-width:1181px){.footer-mega-grid{grid-template-columns:minmax(240px,1.8fr) repeat(var(--footer-cols,6),minmax(0,1fr))!important}}

/* Device profiles use the same breakpoints as the admin settings. */
#siteHeader .mobile-mega-block{display:block;padding:var(--mega-panel-padding);background:linear-gradient(180deg,var(--mega-bg),var(--mega-gradient));color:var(--mega-text);box-shadow:0 8px 24px var(--mega-shadow);max-width:var(--mega-max);width:100%;box-sizing:border-box}
#siteHeader .mobile-mega-block summary{cursor:pointer;font-size:var(--mega-title);font-weight:700;min-height:44px;padding:var(--mega-item-pad-y) var(--mega-item-pad-x)}
#siteHeader .mobile-mega-columns{display:grid;grid-template-columns:repeat(var(--mega-cols),minmax(0,1fr));gap:var(--mega-column-gap)}
#siteHeader .mobile-mega-column{min-width:0;display:flex;flex-direction:column;gap:var(--mega-item-gap);border-bottom:var(--mega-divider-width) solid var(--mega-border)}
#siteHeader .mobile-mega-block:not([open])>.mobile-mega-columns{display:none}
#siteHeader .mobile-mega-block a{padding:var(--mega-item-pad-y) var(--mega-item-pad-x)!important;font-family:inherit!important;display:flex;gap:8px}
#siteHeader .mobile-mega-block .mobile-mega-title{display:block;color:var(--mega-heading)!important;font-size:var(--mega-title)!important;border-bottom:var(--mega-underline-height) solid var(--mega-underline)}
#siteHeader .mobile-mega-block i{color:var(--mega-icon);font-size:var(--mega-icon-size);font-style:normal}
#siteHeader .mobile-nav>a{font-family:var(--header-font-family);font-size:var(--header-font);color:var(--header-text);padding:var(--header-item-pad-y) var(--header-item-pad-x);border-radius:var(--header-link-radius)}
#siteHeader .mobile-nav>a:hover{color:var(--header-hover);background:var(--header-hover-bg)}
#siteHeader .mega-col>a{padding:var(--mega-item-pad-y) var(--mega-item-pad-x)!important;margin-bottom:var(--mega-item-gap)}
#siteHeader .mega-col{border-right:var(--mega-divider-width) solid var(--mega-border)}
.site-footer .footer-mega-grid{grid-template-columns:repeat(var(--footer-cols),minmax(0,1fr))!important}
.site-footer .footer-brand-block{grid-column:1/-1}
@media(min-width:1181px){#siteHeader .mobile-nav-toggle{display:none!important}}

.site-footer{background:linear-gradient(145deg,var(--footer-bg),var(--footer-gradient))!important;border-radius:var(--footer-radius);padding:var(--footer-panel-padding)}
.site-footer .footer-menu-col{border-right:var(--footer-divider-width) solid var(--footer-border)}
.site-footer .footer-menu-col h4,.site-footer .footer-menu-col h4 a{color:var(--footer-heading)!important}
.site-footer .footer-menu-col>a{margin-bottom:var(--footer-item-gap)}
.site-footer .footer-menu-col i{color:var(--footer-icon)!important;font-size:var(--footer-icon-size)}
#siteHeader .mobile-nav{gap:var(--header-item-gap);padding:var(--header-panel-padding);border:1px solid var(--header-border);box-shadow:0 8px 24px var(--header-shadow)}
#siteHeader .mobile-nav>a{min-height:var(--header-header-height)}
#siteHeader .mobile-mega-block span{min-width:0;overflow-wrap:anywhere}

/* Explicit device colors take precedence over legacy navigation rules. */
#siteHeader .mobile-nav{color:var(--header-text);max-width:100%;box-sizing:border-box}
#siteHeader .mobile-nav>a{font-family:var(--header-font-family)!important;font-size:var(--header-font)!important;color:var(--header-text)!important;white-space:normal;min-height:44px;border-color:var(--header-border)}
#siteHeader .mobile-nav>a:hover{color:var(--header-hover)!important;background:var(--header-hover-bg)!important}
#siteHeader .mobile-nav>a.active{color:var(--header-active-text)!important;border-bottom:var(--header-underline-height) solid var(--header-underline)}
#siteHeader .mobile-nav .nav-icon{color:var(--header-icon);font-size:var(--header-icon-size);margin-right:8px}
#siteHeader .mobile-mega-block{min-width:0;max-width:100%}
#siteHeader .mobile-mega-block summary,#siteHeader .mobile-mega-block a{white-space:normal;overflow-wrap:anywhere}
#siteHeader .header-brand{min-width:0;max-width:100%}
@media(max-width:640px){
 #siteHeader .header-brand{flex:1 1 auto}
 #siteHeader .header-brand .brand-copy{min-width:0}
 #siteHeader .header-brand .brand-copy strong{font-size:clamp(13px,4.3vw,17px)!important}
 #siteHeader .header-actions{flex:0 0 38px;gap:0}
 #siteHeader .header-shell{max-width:100%;box-sizing:border-box}
 #siteHeader .mobile-nav{max-height:calc(100dvh - 84px);overflow-x:hidden;overflow-y:auto}
}

/* Saved menu-button colors apply to both closed/open and light/dark states. */
html #siteHeader .mobile-nav-toggle,
html[data-theme="dark"] #siteHeader .mobile-nav-toggle{
 background:var(--header-toggle-bg,#ffffff)!important;
 color:var(--header-toggle-icon,#15314e)!important;
 border-radius:8px;
}
html #siteHeader .mobile-nav-toggle span,
html[data-theme="dark"] #siteHeader .mobile-nav-toggle span{
 background:var(--header-toggle-icon,#15314e)!important;
}
