/* Separate WordPress primary and catalog menus. */
.navigation-inner { position: relative; gap: 16px; }
.main-navigation { flex: 1; }
.MainMenu, .CategoryMenu { list-style: none; margin: 0; padding: 0; }
.main-navigation .MainMenu { display: flex; flex-wrap: wrap; align-items: center; gap: 16px; }
.main-navigation .sub-menu { z-index: 50; max-width: calc(100vw - 40px); }
.main-navigation .sub-menu .sub-menu { top: 0; }
.main-navigation .sub-menu.opens-inward { inset-inline-start: auto; inset-inline-end: 100%; }
.main-navigation .MainMenu > li > .sub-menu.opens-inward { inset-inline-end: 0; }
.main-navigation .current-menu-item > a, .main-navigation .current-menu-ancestor > a { color: var(--tw-brand); }
.catalog-toggle { background: transparent; border: 0; padding-inline: 0; font: inherit; font-size: 13px; font-weight: 700; cursor: pointer; min-height: 48px; }
.catalog-toggle[aria-expanded="true"] { color: var(--product-accent); }
.catalog-panel { position: absolute; top: 100%; inset-inline: 0; z-index: 55; background: var(--tw-surface); border: 1px solid var(--tw-border); box-shadow: var(--tw-shadow); border-radius: 0 0 10px 10px; }
.catalog-panel[hidden] { display: none; }
.CategoryMenu { position: relative; min-height: 390px; max-height: min(65vh, 600px); overflow-y: auto; background: linear-gradient(to left, var(--tw-background) 220px, var(--tw-surface) 220px); }
.CategoryMenu > .menu-item { position: static; width: 220px; padding: 0; }
.CategoryMenu > .menu-item > a { padding: 18px 16px 18px 42px; white-space: normal; }
.CategoryMenu > .menu-item > .submenu-toggle { inset-inline-start: 178px; inset-inline-end: auto; top: auto; margin-top: -52px; }
.CategoryMenu > .menu-item.is-open > a { background: var(--tw-surface); color: var(--product-accent); }
.CategoryMenu > .menu-item > .sub-menu { inset-inline-start: 220px; inset-inline-end: 0; top: 0; width: auto; min-height: 100%; padding: 24px; border: 0; box-shadow: none; border-radius: 0; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; align-content: start; }
.CategoryMenu > .menu-item.is-open > .sub-menu { display: grid; }
.CategoryMenu > .menu-item > .sub-menu > .menu-item { padding: 0; }
.CategoryMenu > .menu-item > .sub-menu > .menu-item > a { font-weight: 700; border-inline-start: 3px solid var(--product-accent); padding-block: 5px; margin-bottom: 12px; }
.CategoryMenu > .menu-item > .sub-menu > .menu-item > .submenu-toggle { display: none; }
.CategoryMenu .sub-menu .sub-menu { position: static; display: block; width: auto; padding: 0; border: 0; box-shadow: none; }
.CategoryMenu .sub-menu .sub-menu a { color: var(--tw-muted); font-size: 12px; }
.CategoryMenu .sub-menu a:hover { color: var(--product-accent); }
@media(max-width: 1199px) { .main-navigation .MainMenu { gap: 7px; } .navigation-inner { gap: 10px; } .CategoryMenu > .menu-item > .sub-menu { gap: 12px; padding: 18px; } }
@media(max-width: 991px) {
 .main-navigation { flex: 1 0 100%; }
 .main-navigation .MainMenu { display: block; }
 .catalog-toggle { font-size: 12px; }
 .catalog-panel { max-height: 70vh; overflow-y: auto; }
 .CategoryMenu { min-height: 0; max-height: none; overflow: visible; background: var(--tw-surface); }
 .CategoryMenu > .menu-item { position: relative; width: 100%; padding-inline-end: 44px; }
 .CategoryMenu > .menu-item > .submenu-toggle { inset-inline-start: auto; inset-inline-end: 0; top: 3px; margin-top: 0; }
 .CategoryMenu > .menu-item > .sub-menu { position: static; min-height: 0; padding: 8px 12px; width: 100%; }
 .CategoryMenu > .menu-item.is-open > .sub-menu { display: block; }
 .CategoryMenu > .menu-item > .sub-menu > .menu-item { padding-inline-end: 36px; }
 .CategoryMenu > .menu-item > .sub-menu > .menu-item > .submenu-toggle { display: grid; }
 .CategoryMenu .sub-menu .sub-menu { display: none; }
 .CategoryMenu .sub-menu .menu-item.is-open > .sub-menu { display: block; }
 .main-navigation .sub-menu { max-width: 100%; }
}
/* One mobile panel, two independent WordPress menu tabs. */
#mobile-menu-panel[hidden] { display: none; }
@media(min-width: 992px) { #mobile-menu-panel { display: none; } }
@media(max-width: 991px) {
 .catalog-navigation { display: none; }
 #mobile-menu-panel { order: 5; flex: 0 0 100%; width: 100%; min-width: 0; max-height: 70dvh; overflow-y: auto; margin-top: 8px; border: 1px solid var(--tw-border); background: var(--tw-surface); }
 .mobile-menu-tabs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); position: sticky; top: 0; z-index: 3; background: var(--tw-surface); }
 .mobile-menu-tabs button { min-height: 62px; padding: 12px 6px; font: inherit; font-size: 14px; font-weight: 700; border: 0; border-bottom: 3px solid transparent; background: #f5f5f5; color: var(--tw-muted); cursor: pointer; }
 .mobile-menu-tabs button[aria-selected="true"] { color: var(--tw-text); background: #eaeaea; border-bottom-color: var(--tw-primary); }
 #mobile-menu-panel > nav { display: block; position: static; width: 100%; max-height: none; overflow: visible; border: 0; box-shadow: none; border-radius: 0; }
 #mobile-menu-panel > nav[hidden] { display: none; }
 #mobile-menu-panel ul { margin: 0; padding: 0; list-style: none; }
 #mobile-menu-panel .menu-item { position: relative; width: 100%; padding: 0; border-bottom: 1px solid var(--tw-border); }
 #mobile-menu-panel .menu-item > a { display: flex; align-items: center; min-height: 64px; margin: 0; padding: 16px 18px; border: 0; white-space: normal; overflow-wrap: anywhere; font-size: 14px; font-weight: 700; }
 #mobile-menu-panel .menu-item-has-children > a { margin-inline-end: 54px; }
 #mobile-menu-panel .submenu-toggle { display: grid; top: 0; inset-inline-start: auto; inset-inline-end: 0; margin: 0; width: 54px; height: 64px; border-inline-start: 1px solid var(--tw-border); border-radius: 0; }
 #mobile-menu-panel .submenu-toggle .icon { transform: rotate(90deg); }
 #mobile-menu-panel .submenu-toggle[aria-expanded="true"] .icon { transform: rotate(180deg); }
 #mobile-menu-panel .sub-menu { display: none; position: static; min-height: 0; width: 100%; border: 0; box-shadow: none; background: var(--tw-background); }
 #mobile-menu-panel .menu-item.is-open > .sub-menu { display: block; }
 #mobile-menu-panel .sub-menu > .menu-item > a { padding-inline-start: 28px; font-size: 13px; font-weight: 400; }
 #mobile-menu-panel .sub-menu .sub-menu > .menu-item > a { padding-inline-start: 40px; }
 #mobile-menu-panel button:focus-visible { outline: 2px solid var(--tw-brand); outline-offset: -3px; }
}
/* Full-height mobile overlay; the page underneath never moves with the menu. */
html.mobile-menu-open, html.mobile-menu-open body { overflow: hidden; overscroll-behavior: none; }
.mobile-menu-drawer { position: fixed; inset: 0 0 0 auto; margin: 0; padding: 0; width: min(86vw, 420px); max-width: 100vw; height: 100dvh; max-height: 100dvh; border: 0; background: var(--tw-surface); color: var(--tw-text); overflow: hidden; }
.mobile-menu-drawer::backdrop { background: rgb(0 0 0 / 60%); }
.mobile-menu-close { display: grid; place-items: center; width: 44px; height: 44px; margin-inline-start: auto; padding: 0; border: 0; background: var(--tw-surface); color: var(--tw-text); font: 28px Arial, sans-serif; cursor: pointer; }
@media(max-width: 991px) {
 .mobile-menu-drawer #mobile-menu-panel { width: 100%; height: calc(100dvh - 44px); max-height: none; margin: 0; border: 0; overflow-y: auto; overscroll-behavior: contain; padding-bottom: env(safe-area-inset-bottom, 0px); }
}
