/* Use a real disclosure button, avoiding font-dependent dropdown glyphs. */
.site-header .primary-menu>li{display:flex;align-items:center}
.site-header .primary-menu .menu-item-has-children>a:after{content:none}
.submenu-toggle{display:inline-flex;align-items:center;justify-content:center;width:32px;min-height:44px;padding:0;color:var(--accent);border-radius:3px;flex-shrink:0}
.submenu-toggle .i{width:16px;height:16px;transition:transform .15s}
.submenu-toggle[aria-expanded=true] .i{transform:rotate(180deg)}
.submenu-toggle:hover{background:var(--tint)}
.site-header .primary-menu .sub-menu{display:none;top:calc(100% - 1px);left:-16px;z-index:30;width:320px;max-width:calc(100vw - 40px);max-height:min(70dvh,620px);overflow:auto;padding:10px;border-radius:0 0 3px 3px;box-shadow:var(--shadow)}
.site-header .desktop-nav .primary-menu>li>.sub-menu{display:none}
.site-header .desktop-nav .primary-menu>li.is-submenu-open>.sub-menu{display:block}
html:not(.dpm-js) .site-header .desktop-nav .primary-menu>li:focus-within>.sub-menu{display:block}
@media(min-width:1101px) and (hover:hover) and (pointer:fine){
 html:not(.dpm-js) .site-header .desktop-nav .primary-menu>li:hover>.sub-menu{display:block}
}
.site-header .primary-menu .sub-menu a{padding:12px;font-size:13px;line-height:1.5;min-height:44px}
@media(max-width:1100px){
 .site-header .primary-menu>li{flex-wrap:wrap}
 .site-header .primary-menu>li>a{flex:1;min-height:48px;display:flex;align-items:center}
 .submenu-toggle{width:48px;height:48px}
 .site-header .primary-menu .sub-menu{display:none;position:static;width:100%;min-width:0;max-width:none;max-height:none;border:0;box-shadow:none;padding:0 0 12px 14px;margin:0;flex-basis:100%}
 .site-header .primary-menu .is-submenu-open>.sub-menu{display:block}
 .site-header .primary-menu .sub-menu a{font-size:13px;padding:11px 12px;min-height:44px}
}
@media(prefers-reduced-motion:reduce){.submenu-toggle .i{transition:none}}
/* If online buying is used later, keep cart access and the enquiry CTA without crowding the mobile header. */
@media(max-width:700px){
 .header-inner.has-cart{display:grid;grid-template-columns:minmax(0,1fr) auto 44px;gap:10px 6px}
 .header-inner.has-cart .brand,.header-inner.has-cart .custom-logo-link{grid-column:1;grid-row:1}
 .header-inner.has-cart .header-actions{display:contents}
 .header-inner.has-cart .header-actions .cart-link{display:inline-flex;grid-column:2;grid-row:1}
 .header-inner.has-cart .header-actions .mobile-toggle{grid-column:3;grid-row:1}
 .header-inner.has-cart .header-actions>.btn{display:inline-flex;grid-column:1/-1;grid-row:2}
}
