/*
 * Spazio Casa — menu UX / SEO / CRO v2
 *
 * CSS additivo: si attiva solo quando sc-menu-v2.js applica la classe
 * .sc-menu-v2 al documento. In assenza di JavaScript resta il menu nativo.
 */

.sc-menu-v2 {
    --sc-menu-red: #e52329;
    --sc-menu-red-dark: #bd151b;
    --sc-menu-ink: #202124;
    --sc-menu-muted: #62666a;
    --sc-menu-border: #e2e4e7;
    --sc-menu-surface: #ffffff;
    --sc-menu-soft: #f6f7f8;
    --sc-menu-focus: #1264a3;
    --sc-menu-drawer-width: 100vw;
}

/*
 * Il menu sticky deve coprire i contenuti in scorrimento e restare sopra agli
 * hero di pagina che usano uno z-index proprio (per esempio Contatti).
 */
html.sc-menu-v2 #iqitmegamenu-horizontal.cbp-sticky {
    background-color: #fff !important;
    opacity: 1 !important;
    z-index: 1000 !important;
}

html.sc-menu-v2-open,
body.sc-menu-v2-open {
    overflow: hidden !important;
    overscroll-behavior: none;
}

/*
 * Drawer telefonico e tablet reale del tema nt-merren.
 * Il pannello scorre sopra la pagina: il contenuto non viene più traslato e
 * quindi non introduce movimento laterale o spazio bianco.
 */
.sc-menu-v2 #side_ntmobilemenu.sc-menu-v2__drawer {
    position: fixed !important;
    top: 0 !important;
    right: auto !important;
    bottom: 0 !important;
    left: 0 !important;
    z-index: 2147482000 !important;
    visibility: hidden;
    width: var(--sc-menu-drawer-width) !important;
    max-width: none !important;
    height: 100vh !important;
    height: 100dvh !important;
    padding: 0 !important;
    overflow: hidden !important;
    color: var(--sc-menu-ink);
    background: var(--sc-menu-soft) !important;
    border: 0 !important;
    box-shadow: none;
    transform: translate3d(-100%, 0, 0) !important;
    transition:
        transform 220ms cubic-bezier(.2, .75, .25, 1),
        visibility 0s linear 220ms !important;
    will-change: transform;
}

.sc-menu-v2 .open_ntmobilemenu #side_ntmobilemenu.sc-menu-v2__drawer {
    visibility: visible !important;
    transform: translate3d(0, 0, 0) !important;
    transition:
        transform 220ms cubic-bezier(.2, .75, .25, 1),
        visibility 0s !important;
}

.sc-menu-v2 .nt-effect-0.open_ntmobilemenu .nt-pusher {
    right: 0 !important;
    transform: none !important;
}

.sc-menu-v2 .open_ntmobilemenu #nt-pusher-after {
    position: fixed !important;
    inset: 0 !important;
    z-index: 2147481000 !important;
    display: block !important;
    width: 100vw !important;
    height: 100vh !important;
    height: 100dvh !important;
    background: rgba(13, 18, 23, .52) !important;
    opacity: 1 !important;
    transition: opacity 180ms ease !important;
}

.sc-menu-v2 #side_ntmobilemenu .divscroll {
    position: relative !important;
    width: 100% !important;
    height: 100vh !important;
    height: 100dvh !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
}

.sc-menu-v2 #side_ntmobilemenu .wrapperscroll {
    min-height: 100%;
    padding: 0 0 calc(28px + env(safe-area-inset-bottom));
    background: var(--sc-menu-soft);
}

.sc-menu-v2 #side_ntmobilemenu .nt-menu-header {
    position: sticky !important;
    top: 0;
    z-index: 40;
    min-height: 58px;
    padding: env(safe-area-inset-top) 58px 0 16px;
    color: #fff;
    background: #17191c;
    box-shadow: 0 1px 0 rgba(255, 255, 255, .08);
}

.sc-menu-v2 #side_ntmobilemenu .nt-menu-title {
    min-height: 58px;
    margin: 0;
    padding: 18px 0 15px !important;
    color: #fff !important;
    background: transparent !important;
    font-size: 17px !important;
    font-weight: 700;
    line-height: 1.2;
    text-align: left !important;
    text-transform: none;
}

.sc-menu-v2 #side_ntmobilemenu .close_right_side {
    display: none !important;
}

.sc-menu-v2 #side_ntmobilemenu .sc-menu-v2__close {
    position: absolute;
    top: calc(7px + env(safe-area-inset-top));
    right: 8px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    margin: 0;
    padding: 0;
    color: #fff;
    background: transparent;
    border: 0;
    border-radius: 8px;
    cursor: pointer;
    -webkit-appearance: none;
    appearance: none;
}

.sc-menu-v2__close-icon,
.sc-menu-v2__close-icon::before {
    display: block;
    width: 22px;
    height: 2px;
    background: currentColor;
    border-radius: 2px;
    content: "";
    transform: rotate(45deg);
}

.sc-menu-v2__close-icon::before {
    transform: rotate(90deg);
}

.sc-menu-v2 #nt_mobile_menu {
    min-height: calc(100% - 58px);
    color: var(--sc-menu-ink);
    background: var(--sc-menu-soft);
}

/*
 * La ricerca Clerk resta nella posizione abituale quando il menu è chiuso e
 * viene spostata dentro il drawer solo durante l'apertura.
 */
.sc-menu-v2-open #side_ntmobilemenu #search_block_menu.sc-menu-v2__drawer-search {
    position: sticky !important;
    top: calc(58px + env(safe-area-inset-top)) !important;
    z-index: 45 !important;
    display: block !important;
    float: none !important;
    clear: both;
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: none !important;
    height: 72px !important;
    margin: 0 !important;
    padding: 12px !important;
    background: #fff !important;
    border-bottom: 1px solid var(--sc-menu-border);
    box-shadow: 0 4px 12px rgba(0, 0, 0, .06);
}

.sc-menu-v2-open #side_ntmobilemenu #search_block_menu #searchbox_menu {
    display: block !important;
    width: 100% !important;
    height: 48px !important;
}

.sc-menu-v2-open #side_ntmobilemenu #search_query_menu {
    box-sizing: border-box !important;
    width: 100% !important;
    height: 48px !important;
    padding: 0 106px 0 14px !important;
    color: var(--sc-menu-ink) !important;
    background: #fff !important;
    border: 1px solid #cfd3d8 !important;
    border-radius: 9px !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, .06) !important;
    font-size: 16px !important;
    line-height: 48px !important;
}

.sc-menu-v2-open #side_ntmobilemenu #search_query_menu:focus {
    border-color: var(--sc-menu-focus) !important;
    box-shadow: 0 0 0 3px rgba(18, 100, 163, .2) !important;
    outline: 0 !important;
}

.sc-menu-v2-open #side_ntmobilemenu #search_block_menu .button-search {
    position: absolute !important;
    top: 0 !important;
    right: 0 !important;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: 56px !important;
    height: 48px !important;
    padding: 0 !important;
    color: #fff !important;
    background: var(--sc-menu-red) !important;
    border: 0 !important;
    border-radius: 0 9px 9px 0 !important;
}

.sc-menu-v2 #side_ntmobilemenu .sc-menu-v2__search-clear {
    position: absolute !important;
    top: 2px !important;
    right: 58px !important;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    margin: 0;
    padding: 0;
    color: #52565a;
    background: #fff;
    border: 0;
    border-radius: 7px;
    cursor: pointer;
    -webkit-appearance: none;
    appearance: none;
}

.sc-menu-v2 #side_ntmobilemenu .sc-menu-v2__search-clear[hidden] {
    display: none !important;
}

.sc-menu-v2__search-clear-icon,
.sc-menu-v2__search-clear-icon::before {
    display: block;
    width: 16px;
    height: 2px;
    background: currentColor;
    border-radius: 2px;
    content: "";
    transform: rotate(45deg);
}

.sc-menu-v2__search-clear-icon::before {
    transform: rotate(90deg);
}

.sc-menu-v2-search-open #live-search.clerk-live-search-container.sc-menu-v2__drawer-live-search,
.sc-menu-v2-search-open #live-search-mobile.clerk-live-search-container.sc-menu-v2__drawer-live-search {
    position: fixed !important;
    top: var(--sc-menu-search-bottom, 130px) !important;
    right: auto !important;
    bottom: 0 !important;
    left: 0 !important;
    z-index: 2147483000 !important;
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: none !important;
    max-height: none !important;
    margin: 0 !important;
    padding-bottom: env(safe-area-inset-bottom) !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    background: #fff;
    border-radius: 0;
    box-shadow: 0 -1px 0 var(--sc-menu-border);
    -webkit-overflow-scrolling: touch;
}

/*
 * Scelte rapide: sono una scorciatoia CRO, non la sorgente SEO dei link.
 * Le stesse destinazioni continuano a esistere nel menu server-rendered.
 */
.sc-menu-v2__mobile-quick {
    padding: 14px 12px 12px;
    background: #fff;
    border-bottom: 1px solid var(--sc-menu-border);
}

.sc-menu-v2__eyebrow,
.sc-menu-v2__categories-title {
    margin: 0;
    color: var(--sc-menu-muted);
    font-size: 12px;
    font-weight: 700;
    line-height: 1.3;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.sc-menu-v2__quick-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    margin: 10px 0 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

.sc-menu-v2__quick-list li {
    min-width: 0;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
}

.sc-menu-v2__quick-list a {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 8px 10px;
    color: var(--sc-menu-ink) !important;
    background: var(--sc-menu-soft);
    border: 1px solid var(--sc-menu-border);
    border-radius: 8px;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.2;
    text-align: center;
    text-decoration: none !important;
}

.sc-menu-v2__quick-list a:hover,
.sc-menu-v2__quick-list a:focus,
.sc-menu-v2__quick-list a[aria-current="page"] {
    color: var(--sc-menu-red-dark) !important;
    background: #fff4f4;
    border-color: #efafb2;
}

.sc-menu-v2 #userinfo_mod_mobile_menu {
    margin: 0 !important;
    padding: 8px 12px !important;
    background: #fff;
    border-bottom: 1px solid var(--sc-menu-border);
}

.sc-menu-v2 #userinfo_mod_mobile_menu > li {
    margin: 0 !important;
    border: 0 !important;
}

.sc-menu-v2 #userinfo_mod_mobile_menu a {
    display: flex !important;
    align-items: center;
    min-height: 44px;
    padding: 8px 10px !important;
    color: var(--sc-menu-ink) !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 7px;
    font-size: 14px;
    font-weight: 700;
}

.sc-menu-v2__categories-title {
    padding: 16px 16px 8px;
    background: var(--sc-menu-soft);
}

.sc-menu-v2 #nt_mobile_menu_ul {
    margin: 0 !important;
    padding: 0 0 8px !important;
    background: #fff;
    list-style: none !important;
}

.sc-menu-v2 #nt_mobile_menu_ul li {
    position: relative;
    box-sizing: border-box;
    margin: 0 !important;
    padding: 0 !important;
    background: #fff;
}

.sc-menu-v2 #nt_mobile_menu_ul > li {
    border-bottom: 1px solid var(--sc-menu-border) !important;
}

.sc-menu-v2 #nt_mobile_menu_ul li > a,
.sc-menu-v2 #nt_mobile_menu_ul li > .sc-menu-v2__group-label {
    position: relative;
    z-index: 1;
    box-sizing: border-box;
    display: flex !important;
    align-items: center;
    width: 100%;
    min-height: 48px;
    margin: 0 !important;
    padding: 10px 54px 10px 16px !important;
    color: var(--sc-menu-ink) !important;
    background: #fff !important;
    border: 0 !important;
    font-size: 15px;
    font-weight: 600;
    line-height: 1.3;
    text-decoration: none !important;
    touch-action: manipulation;
    overflow-wrap: anywhere;
}

.sc-menu-v2 #nt_mobile_menu_ul > li > a,
.sc-menu-v2 #nt_mobile_menu_ul > li > .sc-menu-v2__group-label {
    min-height: 54px;
    font-size: 16px;
    font-weight: 700;
}

.sc-menu-v2 #nt_mobile_menu_ul li > a:hover,
.sc-menu-v2 #nt_mobile_menu_ul li > a:focus,
.sc-menu-v2 #nt_mobile_menu_ul li > a[aria-current="page"] {
    color: var(--sc-menu-red-dark) !important;
    background: #fff7f7 !important;
}

.sc-menu-v2 #nt_mobile_menu_ul a#nt_mo_ma_1 {
    gap: 8px;
}

.sc-menu-v2 #nt_mobile_menu_ul .mo_ml_level_1 > a,
.sc-menu-v2 #nt_mobile_menu_ul .mo_ml_level_1 > .sc-menu-v2__group-label {
    padding-left: 24px !important;
    font-weight: 650;
}

.sc-menu-v2 #nt_mobile_menu_ul .mo_ml_level_2 > a,
.sc-menu-v2 #nt_mobile_menu_ul .mo_ml_level_2 > .sc-menu-v2__group-label {
    padding-left: 36px !important;
    color: #373a3d !important;
    font-size: 14px;
    font-weight: 500;
}

.sc-menu-v2 #nt_mobile_menu_ul .mo_ml_level_3 > a,
.sc-menu-v2 #nt_mobile_menu_ul .mo_ml_level_3 > .sc-menu-v2__group-label {
    padding-left: 48px !important;
    color: #4f5357 !important;
    font-size: 14px;
    font-weight: 500;
}

.sc-menu-v2 #nt_mobile_menu_ul .sc-menu-v2__native-opener {
    display: none !important;
    pointer-events: none !important;
}

.sc-menu-v2 #nt_mobile_menu_ul .sc-menu-v2__toggle {
    position: absolute;
    top: 3px;
    right: 4px;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    margin: 0;
    padding: 0;
    color: #383c40;
    background: transparent;
    border: 0;
    border-radius: 8px;
    cursor: pointer;
    touch-action: manipulation;
    -webkit-appearance: none;
    appearance: none;
}

/*
 * I gruppi senza una pagina propria sono disclosure a riga intera. Questo
 * evita il tap perso su Safari iOS quando l'utente tocca il testo anziché il +.
 * Le categorie con URL reale conservano invece link e pulsante distinti.
 */
.sc-menu-v2 #nt_mobile_menu_ul
    .sc-menu-v2__group-label.sc-menu-v2__toggle {
    position: relative;
    top: auto;
    right: auto;
    z-index: 1;
    justify-content: flex-start;
    width: 100%;
    height: auto;
    min-height: 54px;
    padding: 10px 54px 10px 16px !important;
    text-align: left;
}

.sc-menu-v2 #nt_mobile_menu_ul
    .sc-menu-v2__group-label.sc-menu-v2__toggle .sc-menu-v2__toggle-icon {
    position: absolute;
    top: 50%;
    right: 19px;
    transform: translateY(-50%);
}

.sc-menu-v2 #nt_mobile_menu_ul
    .mo_ml_level_1 > .sc-menu-v2__group-label.sc-menu-v2__toggle {
    min-height: 48px;
    padding-left: 24px !important;
}

.sc-menu-v2 #nt_mobile_menu_ul
    .mo_ml_level_2 > .sc-menu-v2__group-label.sc-menu-v2__toggle {
    min-height: 48px;
    padding-left: 36px !important;
}

.sc-menu-v2 #nt_mobile_menu_ul
    .mo_ml_level_3 > .sc-menu-v2__group-label.sc-menu-v2__toggle {
    min-height: 48px;
    padding-left: 48px !important;
}

.sc-menu-v2__toggle-icon {
    position: relative;
    display: block;
    width: 18px;
    height: 18px;
}

.sc-menu-v2__toggle-icon::before,
.sc-menu-v2__toggle-icon::after {
    position: absolute;
    top: 8px;
    left: 2px;
    width: 14px;
    height: 2px;
    background: currentColor;
    border-radius: 2px;
    content: "";
    transition: transform 160ms ease, opacity 160ms ease;
}

.sc-menu-v2__toggle-icon::after {
    transform: rotate(90deg);
}

.sc-menu-v2__toggle[aria-expanded="true"] {
    color: var(--sc-menu-red-dark);
    background: #fff1f1;
}

.sc-menu-v2__toggle[aria-expanded="true"] .sc-menu-v2__toggle-icon::after {
    opacity: 0;
    transform: rotate(0);
}

.sc-menu-v2 #nt_mobile_menu_ul .sc-menu-v2__panel {
    display: none !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #fafafa !important;
    border: 0 !important;
}

.sc-menu-v2 #nt_mobile_menu_ul .sc-menu-v2__panel.sc-menu-v2__panel-open {
    display: block !important;
}

.sc-menu-v2 #nt_mobile_menu_ul .sc-menu-v2__panel > li {
    background: #fafafa;
    border-top: 1px solid #eceef0 !important;
}

.sc-menu-v2 #nt_mobile_menu_ul .sc-menu-v2__panel > li > a,
.sc-menu-v2 #nt_mobile_menu_ul .sc-menu-v2__panel > li > .sc-menu-v2__group-label {
    background: #fafafa !important;
}

.sc-menu-v2 #nt_mobile_menu_ul a[href*="/best-sales"],
.sc-menu-v2 #nt_mobile_menu_ul a[href*="/content/category/"],
.sc-menu-v2 #nt_mobile_menu_ul a[href*="/contact-us"] {
    color: #34383c !important;
    background: var(--sc-menu-soft) !important;
}

/*
 * Tutti gli elementi flottanti restano nel DOM ma non coprono il menu né
 * ricevono interazioni finché il drawer è aperto. Il pannello consenso vero
 * non viene nascosto: solo il badge compatto.
 */
html.sc-menu-v2-open etrusted-widget,
html.sc-menu-v2-open [id*="trustbadge"],
html.sc-menu-v2-open #jivo-iframe-container,
html.sc-menu-v2-open #jivo_container,
html.sc-menu-v2-open jdiv,
html.sc-menu-v2-open #cookiescript_badge,
html.sc-menu-v2-open #rightbar,
html.sc-menu-v2-open #to_top_wrap {
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

/*
 * Tablet: un solo modello mentale. Il drawer si usa tra 768 e 1023 px e,
 * sui dispositivi touch senza hover, fino a 1366 px (iPad Pro incluso),
 * invece del mega-menu desktop o del vecchio #iqitmegamenu-accordion.
 */
@media (min-width: 768px) and (max-width: 1023px),
    (min-width: 768px) and (max-width: 1366px) and (hover: none),
    (min-width: 768px) and (max-width: 1366px) and (pointer: coarse) {
    .sc-menu-v2.sc-menu-v2-mobile-ready {
        --sc-menu-drawer-width: calc(100vw - 40px);
    }

    .sc-menu-v2.sc-menu-v2-mobile-ready
        #side_ntmobilemenu.sc-menu-v2__drawer {
        max-width: 480px !important;
        box-shadow: 16px 0 38px rgba(0, 0, 0, .24);
    }

    .sc-menu-v2-search-open
        #live-search.clerk-live-search-container.sc-menu-v2__drawer-live-search,
    .sc-menu-v2-search-open
        #live-search-mobile.clerk-live-search-container.sc-menu-v2__drawer-live-search {
        width: var(--sc-menu-drawer-width) !important;
        max-width: 480px !important;
    }

    .sc-menu-v2.sc-menu-v2-mobile-ready #cbp-hrmenu {
        display: none !important;
    }

    .sc-menu-v2.sc-menu-v2-mobile-ready #iqitmegamenu-mobile {
        display: block !important;
    }

    .sc-menu-v2.sc-menu-v2-mobile-ready #iqitmegamenu-accordion,
    .sc-menu-v2.sc-menu-v2-mobile-ready #cbp-close-mobile,
    .sc-menu-v2.sc-menu-v2-mobile-ready #cbp-spmenu-overlay,
    .sc-menu-v2.sc-menu-v2-mobile-ready
        #iqitmegamenu-mobile .cbp-mobilesubmenu {
        display: none !important;
    }

    .sc-menu-v2 #nt_mobile_menu_ul .responsiveInykator {
        display: none !important;
    }

    .sc-menu-v2.sc-menu-v2-mobile-ready #iqitmegamenu-shower {
        box-sizing: border-box;
        display: flex !important;
        align-items: center;
        min-height: 48px;
        padding: 0 16px;
        color: var(--sc-menu-ink);
        background: #fff;
        border: 1px solid var(--sc-menu-border);
        cursor: pointer;
    }

    .sc-menu-v2.sc-menu-v2-mobile-ready
        #iqitmegamenu-shower > .container {
        display: flex !important;
        align-items: center;
        gap: 8px;
        box-sizing: border-box;
        width: 100% !important;
        padding: 0 !important;
        text-align: left !important;
    }

    .sc-menu-v2.sc-menu-v2-mobile-ready
        #iqitmegamenu-shower .iqitmegamenu-icon {
        float: none !important;
        margin: 0 !important;
    }

    .sc-menu-v2.sc-menu-v2-mobile-ready
        .sc-menu-v2__mobile-quick .sc-menu-v2__quick-list {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

/*
 * Mega-menu desktop: gerarchia più leggibile, pannelli contenuti nel viewport,
 * apertura intenzionale con un piccolo ritardo e focus sempre visibile.
 */
@media (min-width: 1024px) {
    .sc-menu-v2 #cbp-hrmenu.sc-menu-v2__desktop > ul > li > a {
        min-height: 48px;
        text-decoration: none;
    }

    .sc-menu-v2 #cbp-hrmenu.sc-menu-v2__desktop > ul > li > a:focus {
        position: relative;
        z-index: 2;
    }

    .sc-menu-v2 #cbp-hrmenu.sc-menu-v2__desktop >
        ul > li.cbp-has-submeu.cbp-hropen:not(.sc-menu-v2__hover-ready) >
        .cbp-hrsub {
        visibility: hidden !important;
        opacity: 0 !important;
        pointer-events: none !important;
    }

    .sc-menu-v2 #cbp-hrmenu.sc-menu-v2__desktop >
        ul > li.sc-menu-v2__hover-ready > .cbp-hrsub {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
        pointer-events: auto !important;
    }

    .sc-menu-v2 #cbp-hrmenu .cbp-hrsub {
        transition: opacity 120ms ease, visibility 120ms ease;
    }

    .sc-menu-v2 #cbp-hrmenu .cbp-hrsub-inner {
        max-height: calc(100vh - 170px);
        max-height: calc(100dvh - 170px);
        padding: 20px !important;
        overflow-x: hidden;
        overflow-y: auto;
        background: #fff;
        border-color: var(--sc-menu-border) !important;
        border-radius: 0 0 12px 12px;
        box-shadow: 0 14px 34px rgba(0, 0, 0, .16) !important;
        overscroll-behavior: contain;
    }

    .sc-menu-v2 #cbp-hrmenu .cbp-menu-column-inner {
        min-width: 0;
        padding: 0 12px 16px;
    }

    .sc-menu-v2 #cbp-hrmenu .cbp-column-title {
        margin-bottom: 7px;
        padding-bottom: 8px !important;
        color: var(--sc-menu-ink) !important;
        border-bottom-color: var(--sc-menu-border) !important;
        font-size: 13px !important;
        line-height: 1.35 !important;
    }

    .sc-menu-v2 #cbp-hrmenu .cbp-links a,
    .sc-menu-v2 #cbp-hrmenu .cbp-category-tree a {
        display: inline-flex;
        align-items: center;
        min-height: 30px;
        padding: 4px 0;
        line-height: 1.35 !important;
    }

    .sc-menu-v2 #cbp-hrmenu .cbp-links li a {
        position: relative;
        padding-left: 12px;
    }

    .sc-menu-v2__desktop-quick-holder {
        margin: -20px -20px 20px;
        padding: 14px 20px;
        background: var(--sc-menu-soft);
        border-bottom: 1px solid var(--sc-menu-border);
    }

    .sc-menu-v2__desktop-quick .sc-menu-v2__eyebrow {
        color: #53575b;
    }

    .sc-menu-v2__desktop-quick .sc-menu-v2__quick-list {
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
        margin-top: 8px !important;
    }

    .sc-menu-v2__desktop-quick .sc-menu-v2__quick-list li {
        flex: 0 0 auto;
    }

    .sc-menu-v2__desktop-quick .sc-menu-v2__quick-list a {
        min-height: 38px;
        padding: 7px 14px;
        background: #fff;
        border-radius: 999px;
        font-size: 13px;
    }
}

@media (min-width: 340px) and (max-width: 767px) {
    .sc-menu-v2__mobile-quick .sc-menu-v2__quick-list {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 360px) {
    .sc-menu-v2 {
        --sc-menu-drawer-width: 100vw;
    }

    .sc-menu-v2 #nt_mobile_menu_ul li > a,
    .sc-menu-v2 #nt_mobile_menu_ul li > .sc-menu-v2__group-label {
        padding-left: 13px !important;
        font-size: 14px;
    }
}

.sc-menu-v2 #side_ntmobilemenu a:focus,
.sc-menu-v2 #side_ntmobilemenu button:focus,
.sc-menu-v2 #cbp-hrmenu a:focus {
    outline: 3px solid var(--sc-menu-focus) !important;
    outline-offset: -3px;
}

@supports selector(:focus-visible) {
    .sc-menu-v2 #side_ntmobilemenu a:focus:not(:focus-visible),
    .sc-menu-v2 #side_ntmobilemenu button:focus:not(:focus-visible),
    .sc-menu-v2 #cbp-hrmenu a:focus:not(:focus-visible) {
        outline: 0 !important;
    }

    .sc-menu-v2 #side_ntmobilemenu a:focus-visible,
    .sc-menu-v2 #side_ntmobilemenu button:focus-visible,
    .sc-menu-v2 #cbp-hrmenu a:focus-visible {
        outline: 3px solid var(--sc-menu-focus) !important;
        outline-offset: -3px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .sc-menu-v2 #side_ntmobilemenu.sc-menu-v2__drawer,
    .sc-menu-v2 #cbp-hrmenu .cbp-hrsub,
    .sc-menu-v2__toggle-icon::before,
    .sc-menu-v2__toggle-icon::after {
        scroll-behavior: auto !important;
        transition-duration: .01ms !important;
    }
}

@media (forced-colors: active) {
    .sc-menu-v2 #side_ntmobilemenu.sc-menu-v2__drawer,
    .sc-menu-v2 #nt_mobile_menu_ul > li,
    .sc-menu-v2__quick-list a {
        border: 1px solid CanvasText !important;
    }
}
