/* ==========================================================================
   SMTBOX Master Navigation & Dropdown Architecture
   Clean Specificity Cascade, Token-Driven
   ========================================================================== */

/* Canonical 8-Tier Cascade Layers Apex Declaration (Idempotent) */
@layer reset, vendor, tokens, base, layout, components, utilities, overrides;

@layer components {

/* 1. Master Dropdown Container */
html body :where(#wrapper) #header .header-bottom-nav .nav-dropdown,
html body :where(#wrapper) #header .header-nav .nav-dropdown,
html body :where(#wrapper) #header .nav-dropdown,
html body :where(#wrapper) #header .is-portal-dropdown,
html body :where(#wrapper) #header ul.sub-menu,
.header-bottom-nav .nav-dropdown,
.header-nav .nav-dropdown,
.main-navigation .sub-menu,
.main-navigation .nav-dropdown,
:where(#wrapper) #header .nav-dropdown,
:where(#wrapper) #header .is-portal-dropdown,
:where(#wrapper) #header ul.sub-menu {
    position: absolute;
    top: 100%;
    inset-inline-start: 0;
    content-visibility: visible;
    display: none;
    flex-direction: column;
    height: auto;
    max-height: none;
    min-height: 0;
    min-width: var(--smt-dropdown-width-default, 260px);
    max-width: var(--smt-dropdown-width-categories, 430px);
    background: var(--smt-color-bg-white, #ffffff);
    border: 1px solid rgba(0, 39, 128, 0.12);
    border-top: none;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15);
    border-radius: 0 0 6px 6px;
    list-style: none;
    padding: 8px 0;
    margin: 0;
    z-index: var(--smt-z-dropdown, 1040);
    overflow: visible;
    box-sizing: border-box;
}

/* Navigation Container Paint Unclip (prevents container content-visibility from clipping dropdowns) */
#header .container,
#header .flex-row.container,
#wide-nav .flex-row.container,
.header-bottom .flex-row.container {
    content-visibility: visible !important;
    contain: none !important;
}

/* Modern CSS Anchor Positioning & Popover API (Progressive Enhancement) */
@supports (position-anchor: --nav-trigger) or (anchor-name: --nav-trigger) {
    .header-bottom-nav > li.has-dropdown,
    .header-bottom-nav > li.categorylist,
    .header-nav > li.has-dropdown {
        anchor-name: --nav-trigger;
    }
    .header-bottom-nav .nav-dropdown,
    .header-nav .nav-dropdown {
        position-anchor: --nav-trigger;
        position-try-fallbacks: flip-inline;
        position-try-options: flip-inline;
    }
}

/* Level 1 Dropdown Boundary Flipping (Right-Edge Viewport Collision) */
.nav-dropdown.nav-dropdown--flipped,
.is-portal-dropdown.nav-dropdown--flipped {
    inset-inline-start: auto;
    inset-inline-end: 0;
    left: auto;
    right: 0;
}

html body :where(#wrapper) #header .header-bottom-nav > li:hover > .nav-dropdown,
html body :where(#wrapper) #header .header-bottom-nav > li:focus-within > .nav-dropdown,
html body :where(#wrapper) #header .header-bottom-nav > li:hover > .sub-menu,
html body :where(#wrapper) #header .header-bottom-nav > li:focus-within > .sub-menu,
html body :where(#wrapper) #header .header-nav > li:hover > .nav-dropdown,
html body :where(#wrapper) #header .header-nav > li:focus-within > .nav-dropdown,
html body :where(#wrapper) #header .header-nav > li:hover > .sub-menu,
html body :where(#wrapper) #header .header-nav > li:focus-within > .sub-menu,
html body :where(#wrapper) #header .categorylist:hover > .nav-dropdown,
html body :where(#wrapper) #header .categorylist:focus-within > .nav-dropdown,
html body :where(#wrapper) #header .categorylist:hover > .sub-menu,
html body :where(#wrapper) #header .categorylist:focus-within > .sub-menu,
html body :where(#wrapper) #header .has-dropdown:hover > .nav-dropdown,
html body :where(#wrapper) #header .has-dropdown:focus-within > .nav-dropdown,
html body :where(#wrapper) #header .has-dropdown:hover > .sub-menu,
html body :where(#wrapper) #header .has-dropdown:focus-within > .sub-menu,
html body :where(#wrapper) #header .is-portal-dropdown.is-portal-open,
html body :where(#wrapper) #header .is-portal-active > .nav-dropdown,
.is-portal-dropdown.is-portal-open,
.is-portal-active > .nav-dropdown,
.has-dropdown:hover > .nav-dropdown,
.has-dropdown:focus-within > .nav-dropdown,
.has-dropdown:hover > .sub-menu,
.has-dropdown:focus-within > .sub-menu,
.categorylist:hover > .nav-dropdown,
.categorylist:focus-within > .nav-dropdown,
.categorylist:hover > .sub-menu,
.categorylist:focus-within > .sub-menu,
.header-bottom-nav li:hover > .sub-menu,
.header-bottom-nav li:focus-within > .sub-menu,
.header-bottom-nav li:hover > .nav-dropdown,
.header-bottom-nav li:focus-within > .nav-dropdown,
.header-nav li:hover > .sub-menu,
.header-nav li:focus-within > .sub-menu,
.header-nav li:hover > .nav-dropdown,
.header-nav li:focus-within > .nav-dropdown,
.main-navigation li:hover > .sub-menu,
.main-navigation li:focus-within > .sub-menu,
.main-navigation li:hover > .nav-dropdown,
.main-navigation li:focus-within > .nav-dropdown,
li.menu-item-has-children:hover > .sub-menu,
li.menu-item-has-children:focus-within > .sub-menu,
li.menu-item-has-children:hover > .nav-dropdown,
li.menu-item-has-children:focus-within > .nav-dropdown {
    display: block;
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}

/* Suppress redundant speech-bubble and border pseudo-element arrows on header dropdowns */
html body #header .header-bottom-nav > li.has-dropdown::before,
html body #header .header-bottom-nav > li.has-dropdown::after,
html body #header .header-bottom-nav > li.has-dropdown:hover::before,
html body #header .header-bottom-nav > li.has-dropdown:hover::after,
html body #header .header-bottom-nav > li.has-dropdown > .nav-dropdown::before,
html body #header .header-bottom-nav > li.has-dropdown > .nav-dropdown::after,
html body #header .header-bottom-nav > li.has-dropdown:hover > .nav-dropdown::before,
html body #header .header-bottom-nav > li.has-dropdown:hover > .nav-dropdown::after,
html body #header .header-bottom-nav > li.current-dropdown > .nav-dropdown::before,
html body #header .header-bottom-nav > li.current-dropdown > .nav-dropdown::after,
html body #header .header-bottom-nav > li.categorylist::before,
html body #header .header-bottom-nav > li.categorylist::after,
html body #header .header-bottom-nav > li.categorylist:hover::before,
html body #header .header-bottom-nav > li.categorylist:hover::after,
html body #header .header-bottom-nav > li.categorylist > .nav-dropdown::before,
html body #header .header-bottom-nav > li.categorylist > .nav-dropdown::after,
html body .nav-dropdown a::before,
html body .nav-dropdown a::after,
html body .nav-dropdown li::before,
html body .nav-dropdown li::after,
html body .nav-dropdown .menu-item-has-children > a::before,
html body .nav-dropdown .menu-item-has-children > a::after,
html body .nav-dropdown li.menu-item-has-children > a::before,
html body .nav-dropdown li.menu-item-has-children > a::after,
html body .widget_nav_menu li.menu-item-has-children > a::before,
html body .widget_nav_menu li.menu-item-has-children > a::after,
html body .is-portal-dropdown a::before,
html body .is-portal-dropdown a::after,
html body .is-portal-dropdown li::before,
html body .is-portal-dropdown li::after,
html body .is-portal-item > a::before,
html body .is-portal-item > a::after,
html body .sub-menu a::before,
html body .sub-menu a::after,
html body .sub-menu li::before,
html body .sub-menu li::after,
.nav-dropdown a::before,
.nav-dropdown a::after,
.nav-dropdown li::before,
.nav-dropdown li::after,
.nav-dropdown .menu-item-has-children > a::before,
.nav-dropdown .menu-item-has-children > a::after,
.nav-dropdown li.menu-item-has-children > a::before,
.nav-dropdown li.menu-item-has-children > a::after,
.widget_nav_menu li.menu-item-has-children > a::before,
.widget_nav_menu li.menu-item-has-children > a::after,
.is-portal-dropdown a::before,
.is-portal-dropdown a::after,
.is-portal-dropdown li::before,
.is-portal-dropdown li::after,
.is-portal-item > a::before,
.is-portal-item > a::after,
.sub-menu a::before,
.sub-menu a::after,
.sub-menu li::before,
.sub-menu li::after {
    display: none;
    content: none;
    border: none;
    width: 0;
    height: 0;
}

/* Category Menu Specific Width & Inner Page Popover Float Engine */
html body:not(.home) #header .header-bottom-nav > li.categorylist > .nav-dropdown,
html body.archive #header .header-bottom-nav > li.categorylist > .nav-dropdown,
html body.single-product #header .header-bottom-nav > li.categorylist > .nav-dropdown,
html body.page #header .header-bottom-nav > li.categorylist > .nav-dropdown,
html body.blog #header .header-bottom-nav > li.categorylist > .nav-dropdown,
html body #header .header-bottom-nav > li.categorylist > .nav-dropdown,
html body:not(.home) .categorylist > .nav-dropdown,
html body.archive .categorylist > .nav-dropdown,
html body.single-product .categorylist > .nav-dropdown,
html body.page .categorylist > .nav-dropdown,
html body.blog .categorylist > .nav-dropdown,
body:not(.home) .categorylist > .nav-dropdown,
.archive .categorylist > .nav-dropdown,
.single-product .categorylist > .nav-dropdown,
.page .categorylist > .nav-dropdown,
.blog .categorylist > .nav-dropdown,
.categorylist > .nav-dropdown {
    position: absolute;
    top: 100%;
    inset-inline-start: 0;
    display: none;
    z-index: var(--smt-z-dropdown);
}

html body:not(.home) #header .header-bottom-nav > li.categorylist:hover > .nav-dropdown,
html body.archive #header .header-bottom-nav > li.categorylist:hover > .nav-dropdown,
html body.single-product #header .header-bottom-nav > li.categorylist:hover > .nav-dropdown,
html body.page #header .header-bottom-nav > li.categorylist:hover > .nav-dropdown,
html body.blog #header .header-bottom-nav > li.categorylist:hover > .nav-dropdown,
html body #header .header-bottom-nav > li.categorylist:hover > .nav-dropdown,
html body #header .header-bottom-nav > li.categorylist > .nav-dropdown.is-portal-open,
html body #header .header-bottom-nav > li.categorylist.is-portal-active > .nav-dropdown,
html body:not(.home) .categorylist:hover > .nav-dropdown,
html body.archive .categorylist:hover > .nav-dropdown,
html body.single-product .categorylist:hover > .nav-dropdown,
html body.page .categorylist:hover > .nav-dropdown,
html body.blog .categorylist:hover > .nav-dropdown,
body:not(.home) .categorylist:hover > .nav-dropdown,
.archive .categorylist:hover > .nav-dropdown,
.single-product .categorylist:hover > .nav-dropdown,
.page .categorylist:hover > .nav-dropdown,
.blog .categorylist:hover > .nav-dropdown,
.categorylist:hover > .nav-dropdown,
.categorylist > .nav-dropdown.is-portal-open,
.categorylist.is-portal-active > .nav-dropdown {
    display: block;
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}

.categorylist > .nav-dropdown,
.is-portal-dropdown.category-dropdown {
    width: min(var(--smt-dropdown-width-categories), calc(100vw - 24px));
}

/* 2. Dropdown List Items */
html body :where(#wrapper) #header .header-bottom-nav > li > .nav-dropdown > li.nav-dropdown-col,
html body :where(#wrapper) #header .header-bottom-nav > li > .nav-dropdown > li,
html body :where(#wrapper) #header .nav-dropdown > li.nav-dropdown-col,
html body :where(#wrapper) #header .nav-dropdown > li,
html body #header .nav-dropdown > li.nav-dropdown-col,
html body #header .nav-dropdown > li,
.nav-dropdown > li.nav-dropdown-col,
.nav-dropdown li.nav-dropdown-col,
.nav-dropdown > li,
.is-portal-dropdown > li,
.is-portal-dropdown li.is-portal-item,
.is-portal-sub-ul > li,
.is-portal-sub-ul li.is-portal-item,
li.is-portal-item,
.nav-dropdown li,
.sub-menu li {
    display: block;
    width: 100%;
    min-width: 100%;
    max-width: 100%;
    float: none;
    clear: both;
    position: relative;
    list-style: none;
    margin: 0;
    padding: 0;
    border: none;
    border-radius: 0px;
    background: var(--smt-color-bg-white, #ffffff);
    transition: background var(--smt-transition-fast, 0.15s ease);
    box-sizing: border-box;
}

html body :where(#wrapper) #header .nav-dropdown a,
html body :where(#wrapper) #header .is-portal-dropdown a,
html body :where(#wrapper) #header .sub-menu a,
html body :where(#wrapper) #header .is-portal-sub-ul a,
html body #header .nav-dropdown a,
html body #header .is-portal-dropdown a,
html body #header .sub-menu a,
html body #header .is-portal-sub-ul a,
html body .nav-dropdown a,
html body .is-portal-dropdown a,
html body .sub-menu a,
html body .is-portal-sub-ul a,
.nav-dropdown > li > a,
.is-portal-dropdown > li > a,
.is-portal-dropdown li.is-portal-item > a,
.is-portal-sub-ul > li > a,
.is-portal-sub-ul li.is-portal-item > a,
a.is-portal-link,
.nav-dropdown a,
.sub-menu a,
.is-portal-sub-ul a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 16px;
    font-size: 13.5px;
    font-weight: 500;
    color: var(--smt-color-text-main, #334155);
    background: var(--smt-color-bg-white, #ffffff);
    text-decoration: none;
    line-height: 1.4;
    border-bottom: 1px solid var(--smt-color-border-light, #eef2f6);
    border-top: none;
    border-inline-start: none;
    border-inline-end: none;
    border-radius: 0px;
    box-sizing: border-box;
    cursor: pointer;
    pointer-events: auto;
    width: 100%;
    margin: 0;
    transition: color var(--smt-transition-fast, 0.15s ease), background var(--smt-transition-fast, 0.15s ease);
}

.nav-dropdown > li:last-child > a,
.is-portal-dropdown > li:last-child > a,
.is-portal-dropdown li.is-portal-item:last-child > a,
.is-portal-sub-ul > li:last-child > a,
.is-portal-sub-ul li.is-portal-item:last-child > a,
.sub-menu > li:last-child > a {
    border-bottom: none;
}

/* 3. Level 1 & Submenu Active & Hover State (Brand Red #CF0921 + White Text #ffffff) */
html body :where(#wrapper) #header .header-bottom-nav .nav-dropdown > li:hover,
html body :where(#wrapper) #header .header-bottom-nav .nav-dropdown li:hover,
html body #header .header-bottom-nav .nav-dropdown > li:hover,
html body #header .header-bottom-nav .nav-dropdown li:hover,
html body .nav-dropdown > li:hover,
html body .nav-dropdown > li.is-active-parent,
html body .is-portal-dropdown > li:hover,
html body .is-portal-dropdown > li.is-active-parent,
html body .nav-dropdown .sub-menu > li:hover,
html body .nav-dropdown .sub-menu > li.is-active-parent,
html body .is-portal-sub-ul > li:hover,
html body .is-portal-sub-ul > li.is-active-parent,
.nav-dropdown > li:hover,
.nav-dropdown > li.is-active-parent,
.is-portal-dropdown > li:hover,
.is-portal-dropdown > li.is-active-parent,
.nav-dropdown .sub-menu > li:hover,
.nav-dropdown .sub-menu > li.is-active-parent,
.is-portal-sub-ul > li:hover,
.is-portal-sub-ul > li.is-active-parent {
    background-color: var(--smt-color-primary, #002780);
}

html body :where(#wrapper) #header .header-bottom-nav .nav-dropdown > li:hover > a,
html body :where(#wrapper) #header .header-bottom-nav .nav-dropdown li:hover > a,
html body :where(#wrapper) #header .nav-dropdown li:hover > a,
html body :where(#wrapper) #header .nav-dropdown a:hover,
html body #header .header-bottom-nav .nav-dropdown > li:hover > a,
html body #header .header-bottom-nav .nav-dropdown li:hover > a,
html body #header .nav-dropdown li:hover > a,
html body #header .nav-dropdown a:hover,
html body .nav-dark .nav-dropdown li:hover > a,
html body .nav-dark .nav-dropdown a:hover,
html body .nav-dropdown > li:hover > a,
html body .nav-dropdown > li.is-active-parent > a,
html body .nav-dropdown a:hover,
html body .is-portal-dropdown > li:hover > a,
html body .is-portal-dropdown > li.is-active-parent > a,
html body .is-portal-dropdown a:hover,
html body .nav-dropdown .sub-menu > li:hover > a,
html body .nav-dropdown .sub-menu > li.is-active-parent > a,
html body .nav-dropdown .sub-menu a:hover,
html body .is-portal-sub-ul > li:hover > a,
html body .is-portal-sub-ul > li.is-active-parent > a,
html body .is-portal-sub-ul a:hover,
.nav-dropdown > li:hover > a,
.nav-dropdown > li.is-active-parent > a,
.nav-dropdown a:hover,
.is-portal-dropdown > li:hover > a,
.is-portal-dropdown > li.is-active-parent > a,
.is-portal-dropdown a:hover,
.nav-dropdown .sub-menu > li:hover > a,
.nav-dropdown .sub-menu > li.is-active-parent > a,
.nav-dropdown .sub-menu a:hover,
.is-portal-sub-ul > li:hover > a,
.is-portal-sub-ul > li.is-active-parent > a,
.is-portal-sub-ul a:hover,
.main-navigation li:hover > a,
.main-navigation li:focus-within > a,
.main-navigation a:hover {
    color: #ffffff;
    background-color: var(--smt-color-primary, #002780);
    border-bottom: 1px solid var(--smt-color-primary, #002780);
    border-bottom-color: var(--smt-color-primary, #002780);
    font-weight: 600;
    margin: 0;
    width: 100%;
    box-sizing: border-box;
}

/* Active Navigation Tab & Item Corporate Blue Specificity Enforcement */
.current-menu-item > a,
.current_page_item > a,
.current-menu-ancestor > a,
.header-bottom-nav > li.current-menu-item > a,
.header-bottom-nav > li.current_page_item > a,
.header-bottom-nav > li.current-menu-ancestor > a,
.header-nav > li.current-menu-item > a,
.header-nav > li.current_page_item > a,
.header-nav > li.current-menu-ancestor > a,
.main-navigation li.current-menu-item > a,
.main-navigation li.current_page_item > a,
.main-navigation li.current-menu-ancestor > a,
.sub-menu > li.current-menu-item > a,
.nav-dropdown > li.current-menu-item > a {
    background-color: #002780 !important;
    color: #FFFFFF !important;
}

.nav-dropdown > li:last-child:hover > a,
.is-portal-dropdown > li:last-child:hover > a,
.is-portal-dropdown li.is-portal-item:last-child:hover > a,
.is-portal-sub-ul > li:last-child:hover > a,
.is-portal-sub-ul li.is-portal-item:last-child:hover > a,
.sub-menu > li:last-child:hover > a {
    border-bottom: none;
}

/* 4. Flyout Submenu Indicator Chevron (Universal Across All Levels) */
.nav-dropdown a .arrow,
.is-portal-dropdown a .arrow,
.sub-menu a .arrow,
.is-portal-sub-ul a .arrow {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--smt-color-accent, #CF0921);
    font-size: 11px;
    margin-inline-start: auto;
    padding-inline-start: 8px;
    transition: transform var(--smt-transition-fast), color var(--smt-transition-fast);
}

.nav-dropdown li:hover > a .arrow,
.nav-dropdown li.is-active-parent > a .arrow,
.is-portal-dropdown li:hover > a .arrow,
.is-portal-dropdown li.is-active-parent > a .arrow,
.sub-menu li:hover > a .arrow,
.sub-menu li.is-active-parent > a .arrow,
.is-portal-sub-ul li:hover > a .arrow,
.is-portal-sub-ul li.is-active-parent > a .arrow {
    color: #ffffff;
    transform: translateX(3px);
}

/* 5. Submenu Flyout (Level 2 & 3 Cascades with Zero Gap & Hit Bridge) */
html body :where(#wrapper) #header .nav-dropdown .nav-dropdown,
html body :where(#wrapper) #header .nav-dropdown .sub-menu,
html body :where(#wrapper) #header .is-portal-dropdown .sub-menu,
html body :where(#wrapper) #header .is-portal-sub-ul,
html body :where(#wrapper) #header .is-portal-sub-ul .is-portal-sub-ul,
html body :where(#wrapper) #header .sub-menu .sub-menu,
html body #header .nav-dropdown .nav-dropdown,
html body #header .nav-dropdown .sub-menu,
html body #header .is-portal-dropdown .sub-menu,
html body #header .is-portal-sub-ul,
html body #header .is-portal-sub-ul .is-portal-sub-ul,
html body #header .sub-menu .sub-menu,
html body .nav-dropdown .nav-dropdown,
html body .nav-dropdown .sub-menu,
html body .is-portal-dropdown .sub-menu,
html body .is-portal-sub-ul,
html body .is-portal-sub-ul .is-portal-sub-ul,
html body .sub-menu .sub-menu,
.nav-dropdown .nav-dropdown,
.nav-dropdown .sub-menu,
.is-portal-dropdown .sub-menu,
.is-portal-sub-ul,
.is-portal-sub-ul .is-portal-sub-ul,
.sub-menu .sub-menu {
    position: absolute;
    top: -2px;
    inset-inline-start: 100%;
    margin: 0;
    margin-inline-start: 0px;
    display: none;
    height: auto;
    max-height: none;
    min-height: 0;
    min-width: var(--smt-dropdown-width-default, 280px);
    width: max-content;
    max-width: 450px;
    background: var(--smt-color-bg-white, #ffffff);
    border: 1px solid rgba(0, 39, 128, 0.12);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15);
    border-radius: 0 6px 6px 6px;
    list-style: none;
    padding: 8px 0;
    z-index: calc(var(--smt-z-dropdown, 1040) + 10);
}

/* Level 2 & 3 Submenu Boundary Flipping (Bug #1 Fix: Viewport Collision) */
.sub-menu.nav-dropdown--flipped,
.nav-dropdown .sub-menu.nav-dropdown--flipped,
.nav-dropdown.flyout-left .sub-menu,
.nav-dropdown .is-portal-sub-ul.nav-dropdown--flipped,
.is-portal-sub-ul.nav-dropdown--flipped {
    inset-inline-start: auto;
    inset-inline-end: 100%;
    left: auto;
    right: 100%;
}

/* Hit bridge: eliminates mouseover dead zones across sub-item gutters (LTR rightward opening) */
.nav-dropdown .sub-menu::before,
.is-portal-dropdown .sub-menu::before,
.is-portal-sub-ul::before,
.is-portal-sub-ul .is-portal-sub-ul::before,
.sub-menu .sub-menu::before {
    content: '';
    display: block;
    position: absolute;
    top: -15px;
    bottom: -15px;
    inset-inline-start: -20px;
    width: 25px;
    background: transparent;
    pointer-events: auto;
    z-index: 1;
}

/* Flipped Hit Bridge: bridges cursor gap when submenu flips to the left (AUD-NAV-03) */
.nav-dropdown--flipped::before,
.is-portal-sub-ul.nav-dropdown--flipped::before,
.nav-dropdown .sub-menu.nav-dropdown--flipped::before,
.is-portal-sub-ul .is-portal-sub-ul.nav-dropdown--flipped::before,
.flyout-left .is-portal-sub-ul::before,
.nav-dropdown.flyout-left .sub-menu::before {
    inset-inline-start: auto;
    inset-inline-end: -20px;
    left: auto;
    right: -20px;
}

/* Safe Hover Top Bridge: bridges any gutter between header trigger and dropdown */
.header-bottom-nav > li > .nav-dropdown::before,
.header-bottom-nav > li > ul.sub-menu::before,
.header-nav > li > .nav-dropdown::before,
.header-nav > li > ul.sub-menu::before,
.main-navigation li > .sub-menu::before,
.main-navigation li > .nav-dropdown::before,
.is-portal-dropdown::before {
    content: '';
    display: block;
    position: absolute;
    top: -15px;
    inset-inline-start: 0;
    inset-inline-end: 0;
    height: 18px;
    background: transparent;
    pointer-events: auto;
    z-index: 1;
}

/* Level 1 -> Level 2 Submenu Display Contract */
html body :where(#wrapper) #header .nav-dropdown > li:hover > .sub-menu,
html body :where(#wrapper) #header .nav-dropdown > li:hover > .nav-dropdown,
html body :where(#wrapper) #header .nav-dropdown > li:hover > .is-portal-sub-ul,
html body :where(#wrapper) #header .nav-dropdown > li.is-active-parent > .sub-menu,
html body :where(#wrapper) #header .nav-dropdown > li.is-active-parent > .is-portal-sub-ul,
html body #header .nav-dropdown > li:hover > .sub-menu,
html body #header .nav-dropdown > li:hover > .nav-dropdown,
html body #header .nav-dropdown > li:hover > .is-portal-sub-ul,
html body #header .nav-dropdown > li.is-active-parent > .sub-menu,
html body #header .nav-dropdown > li.is-active-parent > .is-portal-sub-ul,
html body .nav-dropdown > li:hover > .sub-menu,
html body .nav-dropdown > li:hover > .nav-dropdown,
html body .nav-dropdown > li:hover > .is-portal-sub-ul,
html body .nav-dropdown > li.is-active-parent > .sub-menu,
html body .nav-dropdown > li.is-active-parent > .is-portal-sub-ul,
html body .is-portal-dropdown > li:hover > .sub-menu,
html body .is-portal-dropdown > li:hover > .is-portal-sub-ul,
html body .is-portal-dropdown > li.is-active-parent > .sub-menu,
html body .is-portal-dropdown > li.is-active-parent > .is-portal-sub-ul,
.nav-dropdown > li:hover > .sub-menu,
.nav-dropdown > li:hover > .nav-dropdown,
.nav-dropdown > li:hover > .is-portal-sub-ul,
.nav-dropdown > li.is-active-parent > .sub-menu,
.nav-dropdown > li.is-active-parent > .is-portal-sub-ul,
.is-portal-dropdown > li:hover > .sub-menu,
.is-portal-dropdown > li:hover > .is-portal-sub-ul,
.is-portal-dropdown > li.is-active-parent > .sub-menu,
.is-portal-dropdown > li.is-active-parent > .is-portal-sub-ul {
    display: block;
    visibility: visible;
    opacity: 1;
    pointer-events: auto;
}

/* Level 2 -> Level 3 Submenu Display Contract */
html body :where(#wrapper) #header .nav-dropdown .sub-menu > li:hover > .sub-menu,
html body :where(#wrapper) #header .nav-dropdown .sub-menu > li:hover > ul,
html body :where(#wrapper) #header .nav-dropdown .sub-menu > li.is-active-parent > .sub-menu,
html body :where(#wrapper) #header .nav-dropdown .sub-menu > li.is-active-parent > ul,
html body #header .nav-dropdown .sub-menu > li:hover > .sub-menu,
html body #header .nav-dropdown .sub-menu > li:hover > ul,
html body #header .nav-dropdown .sub-menu > li.is-active-parent > .sub-menu,
html body #header .nav-dropdown .sub-menu > li.is-active-parent > ul,
html body .nav-dropdown .sub-menu > li:hover > .sub-menu,
html body .nav-dropdown .sub-menu > li:hover > ul,
html body .nav-dropdown .sub-menu > li.is-active-parent > .sub-menu,
html body .nav-dropdown .sub-menu > li.is-active-parent > ul,
html body .is-portal-sub-ul > li:hover > .is-portal-sub-ul,
html body .is-portal-sub-ul > li:hover > ul,
html body .is-portal-sub-ul > li.is-active-parent > .is-portal-sub-ul,
html body .is-portal-sub-ul > li.is-active-parent > ul,
html body .sub-menu li:hover > .sub-menu,
html body .sub-menu li.is-active-parent > .sub-menu,
.nav-dropdown .sub-menu > li:hover > .sub-menu,
.nav-dropdown .sub-menu > li:hover > ul,
.nav-dropdown .sub-menu > li.is-active-parent > .sub-menu,
.nav-dropdown .sub-menu > li.is-active-parent > ul,
.is-portal-sub-ul > li:hover > .is-portal-sub-ul,
.is-portal-sub-ul > li:hover > ul,
.is-portal-sub-ul > li.is-active-parent > .is-portal-sub-ul,
.is-portal-sub-ul > li.is-active-parent > ul,
.sub-menu li:hover > .sub-menu,
.sub-menu li.is-active-parent > .sub-menu {
    display: block;
    visibility: visible;
    opacity: 1;
    pointer-events: auto;
}

html body :where(#wrapper) #header .nav-dropdown .sub-menu > li > a,
html body :where(#wrapper) #header .is-portal-dropdown .sub-menu > li > a,
html body #header .nav-dropdown .sub-menu > li > a,
html body #header .is-portal-dropdown .sub-menu > li > a,
html body .nav-dropdown .sub-menu > li > a,
html body .is-portal-dropdown .sub-menu > li > a,
html body .is-portal-sub-ul > li > a,
html body .is-portal-sub-ul .is-portal-sub-ul > li > a,
html body .sub-menu .sub-menu > li > a,
.nav-dropdown .sub-menu > li > a,
.is-portal-dropdown .sub-menu > li > a,
.is-portal-sub-ul > li > a,
.is-portal-sub-ul .is-portal-sub-ul > li > a,
.sub-menu .sub-menu > li > a {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    padding: 9px 15px;
    font-size: 13px;
    font-weight: 400;
    color: var(--smt-color-text-main, #334155);
    background: var(--smt-color-bg-white, #ffffff);
    text-decoration: none;
    border-bottom: 1px solid var(--smt-color-border-light, #eef2f6);
    border-top: none;
    border-inline-start: none;
    border-inline-end: none;
    border-radius: 0px;
    box-sizing: border-box;
    margin: 0;
    width: 100%;
    transition: background var(--smt-transition-fast), color var(--smt-transition-fast);
    cursor: pointer;
    pointer-events: auto;
}

html body :where(#wrapper) #header .nav-dropdown .sub-menu > li:hover > a,
html body :where(#wrapper) #header .is-portal-dropdown .sub-menu > li:hover > a,
html body #header .nav-dropdown .sub-menu > li:hover > a,
html body #header .is-portal-dropdown .sub-menu > li:hover > a,
html body .nav-dropdown .sub-menu > li:hover > a,
html body .is-portal-dropdown .sub-menu > li:hover > a,
html body .is-portal-sub-ul > li:hover > a,
html body .is-portal-sub-ul .is-portal-sub-ul > li:hover > a,
html body .sub-menu .sub-menu > li:hover > a,
.nav-dropdown .sub-menu > li:hover > a,
.is-portal-dropdown .sub-menu > li:hover > a,
.is-portal-sub-ul > li:hover > a,
.is-portal-sub-ul .is-portal-sub-ul > li:hover > a,
.sub-menu .sub-menu > li:hover > a {
    background-color: var(--smt-color-accent, #CF0921);
    color: #ffffff;
    border-bottom: 1px solid var(--smt-color-accent, #CF0921);
    border-bottom-color: var(--smt-color-accent, #CF0921);
    margin: 0;
    width: 100%;
    box-sizing: border-box;
}

/* 6. Clean Dropdown Boundary Lock (Suppresses duplicate arrow pseudo-elements) */
.smt-dropdown-arrow li.has-dropdown:after,
.smt-dropdown-arrow li.has-dropdown:before,
.nav-dropdown-has-arrow li.has-dropdown:after,
.nav-dropdown-has-arrow li.has-dropdown:before,
.nav-dropdown-has-arrow:before,
.nav-dropdown-has-arrow:after {
    display: none;
    content: none;
}

/* 7. Mobile Off-Canvas Navigation Drawer (#main-menu) */
#main-menu.mobile-sidebar {
    position: fixed;
    top: 0;
    inset-inline-start: 0;
    width: min(320px, 85vw);
    height: 100vh;
    background: #ffffff;
    box-shadow: 4px 0 24px rgba(0, 0, 0, 0.2);
    transform: translateX(-100%);
    transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1);
    z-index: var(--smt-z-drawer);
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    box-sizing: border-box;
}

#main-menu.mobile-sidebar.is-open,
.has-off-canvas #main-menu.mobile-sidebar {
    transform: translateX(0);
}

#main-menu .close-menu {
    position: absolute;
    top: 12px;
    inset-inline-end: 12px;
    width: 36px;
    height: 36px;
    background: transparent;
    border: none;
    color: var(--smt-color-text-main, #334155);
    font-size: 24px;
    line-height: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    z-index: 10;
    border-radius: 4px;
    transition: background-color var(--smt-transition-fast), color var(--smt-transition-fast);
}

#main-menu .close-menu:hover,
#main-menu .close-menu:focus {
    background-color: var(--smt-color-bg-light, #f8fafc);
    color: var(--smt-color-accent, #CF0921);
    outline: 2px solid var(--smt-color-accent, #CF0921);
    outline-offset: 1px;
}

#main-menu .sidebar-menu {
    padding: 20px 0;
}

#main-menu .nav-sidebar,
#main-menu.mobile-sidebar ul.nav {
    list-style: none;
    padding: 0;
    margin: 0;
}

#main-menu .nav-sidebar > li > a,
#main-menu.mobile-sidebar ul.nav > li > a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 13px 18px;
    font-size: 13.5px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--smt-color-text-main);
    border-bottom: 1px solid var(--smt-color-border-light);
    line-height: 1.4;
    text-decoration: none;
    transition: background-color var(--smt-transition-fast), color var(--smt-transition-fast);
}

#main-menu .nav-sidebar > li:hover > a,
#main-menu .nav-sidebar > li.active > a,
#main-menu.mobile-sidebar ul.nav > li:hover > a {
    background-color: var(--smt-color-bg-light);
    color: var(--smt-color-accent);
    border-inline-start: 3px solid var(--smt-color-accent);
}

} /* End @layer components */


/* ==========================================================================
   T359 Fix: Header Dropdowns Architecture Repair
   Replaces T354's 260px clamp with centered full-width mega menu (1150px)
   anchored to header bottom edge; sizes standard dropdowns to content;
   contains second-level flyouts inside panel with opaque readable background.
   ========================================================================== */

@media (min-width: 850px) {

/* 1. SMT Machines Parts Categories: Full-Width (1150px), Centred, Anchored to Header Bottom Edge */
.header-bottom-nav > li.categorylist {
    position: relative !important;
}

.header-bottom-nav li.categorylist > .nav-dropdown,
.header-bottom-nav li.categorylist > .nav-dropdown.nav-dropdown-full,
li.categorylist.current-dropdown > .nav-dropdown,
li.categorylist.current-dropdown > .nav-dropdown-full,
li.categorylist:hover > .nav-dropdown,
li.categorylist:hover > .nav-dropdown-full,
li.categorylist.is-portal-active > .nav-dropdown,
li.categorylist.is-portal-active > .nav-dropdown-full {
    display: block !important;
    position: absolute !important;
    top: 100% !important;
    left: 50vw !important;
    transform: translateX(-50%) !important;
    width: 1150px !important;
    max-width: 1150px !important;
    min-width: 1150px !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #ffffff !important;
    border: 2px solid #002780 !important;
    border-top: none !important;
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.2) !important;
    z-index: 999999 !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    min-height: 480px !important;
    box-sizing: border-box !important;
}

/* Category Level-1 Column (12 items on left rail, width 370px to eliminate any label truncation) */
.header-bottom-nav li.categorylist > .nav-dropdown > li,
.header-bottom-nav li.categorylist > .nav-dropdown > li.nav-dropdown-col,
.header-bottom-nav li.categorylist > .nav-dropdown > li.is-portal-item {
    display: block !important;
    width: 370px !important;
    min-width: 370px !important;
    max-width: 370px !important;
    float: none !important;
    border: none !important;
    padding: 0 !important;
    margin: 0 !important;
    position: static !important;
}

.header-bottom-nav li.categorylist > .nav-dropdown > li > a,
.header-bottom-nav li.categorylist > .nav-dropdown > li.is-portal-item > a {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 10px 18px !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #333333 !important;
    text-decoration: none !important;
    border-bottom: 1px solid #f0f0f0 !important;
    background: #ffffff !important;
    white-space: nowrap !important;
    overflow: visible !important;
    line-height: 1.3 !important;
    transition: background 0.15s ease, color 0.15s ease !important;
}

.header-bottom-nav li.categorylist > .nav-dropdown > li:hover > a,
.header-bottom-nav li.categorylist > .nav-dropdown > li.is-active-parent > a {
    background: #002780 !important;
    color: #ffffff !important;
}

/* Category Level-2 Flyout: Contained completely inside the 1150px panel bounds on the right */
.header-bottom-nav li.categorylist > .nav-dropdown > li > ul.sub-menu,
.header-bottom-nav li.categorylist > .nav-dropdown > li > .is-portal-sub-ul {
    display: none !important;
    position: absolute !important;
    top: 0 !important;
    left: 370px !important;
    right: 0 !important;
    bottom: 0 !important;
    width: auto !important;
    height: 100% !important;
    background: #ffffff !important;
    border-left: 1px solid #e2e8f0 !important;
    border-top: none !important;
    border-right: none !important;
    border-bottom: none !important;
    box-shadow: none !important;
    z-index: 1000000 !important;
    padding: 25px 30px !important;
    margin: 0 !important;
    box-sizing: border-box !important;
    column-count: 2 !important;
    column-gap: 30px !important;
    overflow-y: auto !important;
}

.header-bottom-nav li.categorylist > .nav-dropdown > li:hover > ul.sub-menu,
.header-bottom-nav li.categorylist > .nav-dropdown > li.is-active-parent > ul.sub-menu,
.header-bottom-nav li.categorylist > .nav-dropdown > li:hover > .is-portal-sub-ul,
.header-bottom-nav li.categorylist > .nav-dropdown > li.is-active-parent > .is-portal-sub-ul {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
}

.header-bottom-nav li.categorylist > .nav-dropdown > li > ul.sub-menu > li,
.header-bottom-nav li.categorylist > .nav-dropdown > li > .is-portal-sub-ul > li {
    display: block !important;
    break-inside: avoid !important;
    margin-bottom: 9px !important;
    padding: 0 !important;
    width: 100% !important;
}

.header-bottom-nav li.categorylist > .nav-dropdown > li > ul.sub-menu > li > a,
.header-bottom-nav li.categorylist > .nav-dropdown > li > .is-portal-sub-ul > li > a {
    font-size: 13px !important;
    color: #2d3748 !important;
    padding: 3px 0 !important;
    display: block !important;
    text-decoration: none !important;
    transition: color 0.15s ease !important;
    line-height: 1.4 !important;
}

.header-bottom-nav li.categorylist > .nav-dropdown > li > ul.sub-menu > li > a:hover,
.header-bottom-nav li.categorylist > .nav-dropdown > li > .is-portal-sub-ul > li > a:hover {
    color: #002780 !important;
    font-weight: 600 !important;
}

/* 2. Standard Header Dropdowns: SMT Feeders, SMT Nozzles, Support Centre */
.header-bottom-nav > li:not(.categorylist) {
    position: relative !important;
}

.header-bottom-nav > li:not(.categorylist) > .nav-dropdown {
    position: absolute !important;
    top: 100% !important;
    left: 0 !important;
    right: auto !important;
    transform: none !important;
    background: #ffffff !important;
    border: 1px solid #e2e8f0 !important;
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15) !important;
    margin: 0 !important;
    z-index: 999999 !important;
    box-sizing: border-box !important;
}

/* SMT Feeders & SMT Nozzles: clean vertical single-column dropdowns */
#menu-item-63872 > .nav-dropdown,
#menu-item-63871 > .nav-dropdown {
    width: 280px !important;
    min-width: 280px !important;
    max-width: 300px !important;
    padding: 10px 0 !important;
}

#menu-item-63872 > .nav-dropdown > li,
#menu-item-63871 > .nav-dropdown > li {
    display: block !important;
    width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
}

#menu-item-63872 > .nav-dropdown > li > a,
#menu-item-63871 > .nav-dropdown > li > a {
    display: block !important;
    padding: 9px 20px !important;
    font-size: 13px !important;
    color: #333333 !important;
    text-decoration: none !important;
    white-space: nowrap !important;
    transition: background 0.15s ease, color 0.15s ease !important;
}

#menu-item-63872 > .nav-dropdown > li:hover > a,
#menu-item-63871 > .nav-dropdown > li:hover > a {
    background: #f7fafc !important;
    color: #002780 !important;
}

/* Support Centre: multi-column layout sized to content, all items inside panel */
#menu-item-62512 > .nav-dropdown {
    width: 760px !important;
    min-width: 760px !important;
    max-width: 760px !important;
    padding: 20px !important;
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    gap: 20px !important;
}

#menu-item-62512 > .nav-dropdown > li {
    display: block !important;
    flex: 1 1 0 !important;
    min-width: 150px !important;
    margin: 0 !important;
    padding: 0 !important;
}

#menu-item-62512 > .nav-dropdown > li > a {
    display: block !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    color: #002780 !important;
    padding: 6px 0 !important;
    border-bottom: 2px solid #002780 !important;
    margin-bottom: 10px !important;
    text-decoration: none !important;
    white-space: normal !important;
    line-height: 1.3 !important;
}

#menu-item-62512 > .nav-dropdown > li > ul.sub-menu {
    display: block !important;
    position: static !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

#menu-item-62512 > .nav-dropdown > li > ul.sub-menu > li {
    display: block !important;
    margin-bottom: 8px !important;
}

#menu-item-62512 > .nav-dropdown > li > ul.sub-menu > li > a {
    font-size: 12px !important;
    font-weight: 500 !important;
    color: #4a5568 !important;
    padding: 3px 0 !important;
    display: block !important;
    text-decoration: none !important;
    transition: color 0.15s ease !important;
}

#menu-item-62512 > .nav-dropdown > li > ul.sub-menu > li > a:hover {
    color: #002780 !important;
}

} /* End @media (min-width: 850px) */

