/* BBOX 5.5.0 DESKTOP ISOLATION — migrated from former shared base.css. */
:root{
    --bbox-menu-gap:
        var(--bbox-setting-menu-gap,24px);
}

.primary-menu{
    min-height:52px;

    display:flex;
    align-items:center;
    justify-content:flex-start;

    gap:
        clamp(
            2px,
            calc(var(--bbox-menu-gap) * .32),
            11px
        );

    margin:0;
    padding:0;

    list-style:none;
}

.primary-menu>li{
    position:relative;

    min-height:52px;

    display:flex;
    align-items:center;

    border-radius:12px;
}

.primary-menu>li>a{
    position:relative;

    min-height:44px;

    display:flex;
    align-items:center;

    padding:
        8px
        11px;

    border-radius:11px;

    color:#20242b;

    text-decoration:none;

    font-size:13px;
    font-weight:700;
    line-height:1.65;

    white-space:nowrap;

    transition:
        color .18s ease,
        background .18s ease,
        transform .18s ease;
}

.primary-menu>li>a:after{
    content:"";

    position:absolute;

    inset-inline:
        11px
        11px;

    inset-block-end:3px;

    height:2px;

    border-radius:99px;

    background:
        linear-gradient(
            90deg,
            transparent,
            #d4a32b 20%,
            #d4a32b 80%,
            transparent
        );

    transform:
        scaleX(0);

    transition:
        transform .2s ease;
}

.primary-menu>li:hover>a,
.primary-menu>li:focus-within>a,
.primary-menu>li.current-menu-item>a,
.primary-menu>li.current-menu-ancestor>a,
.primary-menu>li.bbox-menu-open>a{
    color:#8c6206;

    background:
        linear-gradient(
            145deg,
            rgba(225,182,65,.10),
            rgba(225,182,65,.035)
        );
}

.primary-menu>li:hover>a:after,
.primary-menu>li:focus-within>a:after,
.primary-menu>li.current-menu-item>a:after,
.primary-menu>li.current-menu-ancestor>a:after,
.primary-menu>li.bbox-menu-open>a:after{
    transform:
        scaleX(1);
}

.primary-menu li{
    position:relative;
}

.primary-menu .bbox-menu-toggle{
    flex:0 0 auto;
}

.primary-menu>li>.bbox-menu-toggle{
    width:28px;
    height:32px;

    min-width:28px;
    min-height:32px;

    margin-inline-start:-7px;

    display:grid;
    place-items:center;

    padding:0;

    border:0;

    border-radius:9px;

    background:transparent;

    color:#9b7112;

    font-size:17px;
    line-height:1;

    cursor:pointer;

    transition:
        transform .18s ease,
        color .18s ease,
        background .18s ease;
}

.primary-menu>li>.bbox-menu-toggle:hover,
.primary-menu>li>.bbox-menu-toggle:focus-visible{
    color:#151922;

    background:
        rgba(218,173,54,.12);
}

.primary-menu>li.bbox-menu-open
> .bbox-menu-toggle{
    transform:
        rotate(180deg);
}

.primary-menu .sub-menu{
    display:none;

    position:absolute;

    inset-block-start:
        calc(100% + 8px);

    inset-inline-start:0;

    min-width:250px;

    max-width:
        min(360px,80vw);

    margin:0;
    padding:10px;

    list-style:none;

    background:
        linear-gradient(
            155deg,
            rgba(255,255,255,.995),
            rgba(251,247,237,.995)
        );

    border:
        1px solid
        rgba(211,166,50,.38);

    border-radius:18px;

    box-shadow:
        0 26px 65px rgba(13,16,22,.14),
        0 3px 10px rgba(161,113,8,.05),
        inset 0 1px 0 #fff;

    z-index:
        var(--bbox-layer-menu);
}

.primary-menu .sub-menu:before{
    content:"";

    position:absolute;

    inset-inline-start:24px;
    inset-block-start:-5px;

    width:9px;
    height:9px;

    transform:
        rotate(45deg);

    background:#fffdf8;

    border-top:
        1px solid
        rgba(211,166,50,.38);

    border-left:
        1px solid
        rgba(211,166,50,.38);
}

.primary-menu .sub-menu>li{
    position:relative;
}

.primary-menu .sub-menu a{
    display:block;

    padding:
        10px
        12px;

    border-radius:11px;

    color:#343942;

    text-decoration:none;

    font-size:12.5px;
    font-weight:650;
    line-height:1.8;

    transition:
        background .16s ease,
        color .16s ease,
        padding .16s ease;
}

.primary-menu .sub-menu>li:hover>a,
.primary-menu .sub-menu>li:focus-within>a{
    padding-inline-start:16px;

    color:#7c5807;

    background:
        linear-gradient(
            90deg,
            rgba(219,176,59,.12),
            rgba(219,176,59,.035)
        );
}

.primary-menu
li:not(.bbox-menu-enhanced):hover
> .sub-menu,

.primary-menu
li:not(.bbox-menu-enhanced):focus-within
> .sub-menu{
    display:block;
}

.primary-menu
.sub-menu
.sub-menu{
    inset-inline-start:
        calc(100% + 8px);

    inset-block-start:-8px;
}

.desktop-menu
.bbox-hide-desktop{
    display:none;
}

/* BBOX 5.1.5 PREMIUM MENU TOGGLE START */

.primary-menu
.bbox-menu-toggle{
    font-size:0;
}

.primary-menu
.bbox-menu-chevron{
    display:block;

    width:7px;
    height:7px;

    border-inline-end:
        1.5px solid
        currentColor;

    border-block-end:
        1.5px solid
        currentColor;

    transform:
        rotate(45deg)
        translate(-1px,-1px);

    transform-origin:center;

    transition:
        transform .2s ease,
        color .2s ease;
}

.primary-menu
li.bbox-menu-open
> .bbox-menu-toggle
> .bbox-menu-chevron{
    transform:
        rotate(225deg)
        translate(-1px,-1px);
}

.primary-menu
> li
> .bbox-menu-toggle{
    width:22px;
    height:30px;

    min-width:22px;
    min-height:30px;

    margin-inline-start:-5px;

    background:transparent !important;

    border:0 !important;

    box-shadow:none !important;

    color:#9a6c08;
}

.primary-menu
> li
> .bbox-menu-toggle:hover,
.primary-menu
> li
> .bbox-menu-toggle:focus-visible{
    color:#33270b;

    background:
        rgba(215,168,46,.08) !important;
}

/* BBOX 5.1.5 PREMIUM MENU TOGGLE END */

/* BBOX 5.1.6 DESKTOP MENU INDICATOR START */

/*
 * Desktop menus use hover/focus + gold active line as the visual cue.
 * No arrow / chevron / plus / minus is displayed.
 *
 * The toggle remains in DOM for controller/accessibility contracts,
 * but is visually removed on desktop.
 */

.desktop-menu
.primary-menu
> li
> .bbox-menu-toggle{
    position:absolute !important;

    width:1px !important;
    height:1px !important;

    min-width:1px !important;
    min-height:1px !important;

    margin:0 !important;
    padding:0 !important;

    overflow:hidden !important;

    clip:rect(0 0 0 0) !important;
    clip-path:inset(50%) !important;

    white-space:nowrap !important;

    border:0 !important;

    opacity:0 !important;

    pointer-events:none !important;
}

.desktop-menu
.primary-menu
.bbox-menu-chevron{
    display:none !important;

    width:0 !important;
    height:0 !important;

    border:0 !important;

    transform:none !important;
}

/*
 * Give parent links slightly more breathing room now that the
 * visible arrow has been removed.
 */

.desktop-menu
.primary-menu
> li.menu-item-has-children
> a{
    padding-inline:
        13px;
}

/*
 * Open / hover / keyboard-focus indication is entirely premium gold.
 */

.desktop-menu
.primary-menu
> li.menu-item-has-children:hover
> a,

.desktop-menu
.primary-menu
> li.menu-item-has-children:focus-within
> a,

.desktop-menu
.primary-menu
> li.menu-item-has-children.bbox-menu-open
> a{
    color:#815b06;

    background:
        linear-gradient(
            145deg,
            rgba(224,181,62,.12),
            rgba(224,181,62,.035)
        );

    box-shadow:
        inset 0 -1px 0 rgba(207,153,26,.12);
}

/* BBOX 5.1.6 DESKTOP MENU INDICATOR END */
