/*! Header menu widget (elementor/widgets/header/banta_menu.php, Jiawaz_Nav_Walker, js/jiawaz-nav.js)
    The widget's style controls only write CSS variables on the wrapper; the desktop and mobile blocks below
    read them, so desktop styles never reach the mobile drawer. Fallbacks = the theme's design defaults.
------------------------------------------------->*/
.jz-nav-wrap{
    --jz-dir: 1; /* 1 = RTL, -1 = LTR: sign of the horizontal slides */
    --jz-ease: cubic-bezier(.2, .8, .2, 1);
    --jz-tint: rgba(var(--colorPrimaryRGB), .08);
    --jz-muted: color-mix(in srgb, var(--colorText) 72%, transparent);
    position: relative;
}
html[dir=ltr] .jz-nav-wrap,
.jz-nav-wrap[dir=ltr]{
    --jz-dir: -1;
}
html[dir=ltr] .jz-nav-wrap[dir=rtl]{
    --jz-dir: 1;
}
:where(.jz-nav-wrap) ul{
    list-style: none;
    margin: 0;
    padding: 0;
}
.jz-nav__link{
    display: flex;
    align-items: center;
    gap: var(--jz-icon-gap, 8px);
    position: relative;
    color: inherit;
    text-decoration: none;
    outline-offset: 2px;
}
.jz-nav__link:focus-visible,
.jz-nav-wrap button:focus-visible{
    outline: 2px solid var(--colorPrimary);
}
.jz-nav__label{
    display: flex;
    flex-direction: column;
    min-width: 0;
}
.jz-nav__desc{
    margin-top: 2px;
    color: var(--jz-desc-color, var(--jz-muted));
    font-size: 12px;
    font-weight: 400;
    line-height: 1.6;
    white-space: normal;
}
.jz-nav__icon{
    display: inline-flex;
    flex-shrink: 0;
    align-items: center;
    justify-content: center;
    font-size: var(--jz-icon-size, 18px);
    line-height: 1;
}
.jz-nav__icon img{
    display: block;
    width: 1.15em;
    height: 1.15em;
    object-fit: contain;
    border-radius: 4px;
}
.jz-nav__badge{
    display: inline-flex;
    flex-shrink: 0;
    align-items: center;
    padding: var(--jz-badge-pad, 1px 6px);
    border-radius: var(--jz-badge-radius, 6px);
    background: var(--jz-badge-bg, var(--jz-badge-bg-def, var(--colorPrimary)));
    color: var(--jz-badge-color, #fff);
    font-size: 10px;
    font-weight: 600;
    line-height: 1.7;
    white-space: nowrap;
}
.jz-nav__arrow{
    display: inline-flex;
    flex-shrink: 0;
}
.jz-nav__arrow svg,
.jz-nav__toggle svg,
.jz-nav__back svg{
    width: 14px;
    height: 14px;
    transition: transform 200ms var(--jz-ease);
}
.jz-nav-wrap button{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
    color: inherit;
    font: inherit;
    cursor: pointer;
}
/* mobile-only parts */
.jz-nav-backdrop,
.jz-nav-head,
.jz-nav-foot,
.jz-nav__sub-head,
.jz-nav-wrap .jz-nav__toggle,
.jz-nav-wrap .jz-nav__all{
    display: none;
}
/* editor: a drawer re-opened after a re-render appears without the slide */
.jz-nav--instant,
.jz-nav--instant *{
    transition: none !important;
}

/* =========================================================== desktop */
@media (min-width: 993px) {
    .jz-nav{
        position: relative;
    }
    .jz-nav__list{
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: var(--jz-gap, 4px);
        justify-content: center;
    }
    .jz-nav--align-right .jz-nav__list{
        justify-content: right;
    }
    .jz-nav--align-left .jz-nav__list{
        justify-content: left;
    }

    /* top-level items */
    .jz-nav__item--d0{
        position: relative;
    }
    .jz-nav__item--d0.jz-has-mega{
        position: static; /* the mega panel is placed relative to .jz-nav (js/jiawaz-nav.js) */
    }
    .jz-nav__item--d0 > .jz-nav__link{
        height: var(--jz-item-h, 40px);
        padding: var(--jz-item-pad, 0 14px);
        border-radius: var(--jz-item-radius, 9px);
        background: var(--jz-item-bg, transparent);
        color: var(--jz-item-color, var(--colorText));
        font-size: 15px;
        font-weight: 500;
        white-space: nowrap;
        transition: color 200ms, background-color 200ms;
    }
    .jz-nav__item--d0 > .jz-nav__link .jz-nav__icon,
    .jz-nav__item--d0 > .jz-nav__link .jz-nav__arrow{
        color: var(--jz-item-icon, currentColor);
        transition: color 200ms;
    }
    .jz-nav__item--d0 > .jz-nav__link .jz-nav__arrow{
        margin-inline-start: -2px;
        opacity: .7;
    }
    .jz-nav__item--d0 > .jz-nav__link .jz-nav__badge{
        position: absolute;
        top: -7px;
        inset-inline-end: 2px;
    }
    .jz-nav__item--d0:hover > .jz-nav__link,
    .jz-nav__item--d0.is-open > .jz-nav__link,
    .jz-nav__item--d0:has(:focus-visible) > .jz-nav__link{
        padding: var(--jz-item-pad-h, var(--jz-item-pad, 0 14px));
        border-radius: var(--jz-item-radius-h, var(--jz-item-radius, 9px));
        background: var(--jz-item-bg-h, transparent);
        color: var(--jz-item-color-h, var(--colorPrimary));
    }
    .jz-nav--fx-background .jz-nav__item--d0:hover > .jz-nav__link,
    .jz-nav--fx-background .jz-nav__item--d0.is-open > .jz-nav__link,
    .jz-nav--fx-background .jz-nav__item--d0:has(:focus-visible) > .jz-nav__link{
        background: var(--jz-item-bg-h, var(--jz-tint));
    }
    .jz-nav__item--d0:hover > .jz-nav__link .jz-nav__icon,
    .jz-nav__item--d0:hover > .jz-nav__link .jz-nav__arrow,
    .jz-nav__item--d0.is-open > .jz-nav__link .jz-nav__arrow{
        color: var(--jz-item-icon-h, currentColor);
    }
    .jz-nav__item--d0:hover > .jz-nav__link .jz-nav__arrow svg,
    .jz-nav__item--d0.is-open > .jz-nav__link .jz-nav__arrow svg,
    .jz-nav__item--d0:has(:focus-visible) > .jz-nav__link .jz-nav__arrow svg{
        transform: rotate(180deg);
    }
    .jz-nav__item--d0.current-menu-item > .jz-nav__link,
    .jz-nav__item--d0.current-menu-ancestor > .jz-nav__link{
        background: var(--jz-item-bg-a, var(--jz-item-bg, transparent));
        color: var(--jz-item-color-a, var(--colorPrimary));
    }
    .jz-nav--fx-background .jz-nav__item--d0.current-menu-item > .jz-nav__link,
    .jz-nav--fx-background .jz-nav__item--d0.current-menu-ancestor > .jz-nav__link{
        background: var(--jz-item-bg-a, var(--jz-tint));
    }
    /* underline / dot indicators */
    .jz-nav--fx-underline .jz-nav__item--d0 > .jz-nav__link::after,
    .jz-nav--fx-dot .jz-nav__item--d0 > .jz-nav__link::after{
        content: '';
        position: absolute;
        bottom: 3px;
        background: var(--jz-item-line, var(--colorPrimary));
        transition: transform 250ms var(--jz-ease), opacity 250ms;
        pointer-events: none;
    }
    .jz-nav--fx-underline .jz-nav__item--d0 > .jz-nav__link::after{
        inset-inline: 14px;
        height: 2px;
        border-radius: 2px;
        transform: scaleX(0);
    }
    .jz-nav--fx-dot .jz-nav__item--d0 > .jz-nav__link::after{
        left: 50%;
        width: 5px;
        height: 5px;
        margin-left: -2.5px;
        border-radius: 50%;
        opacity: 0;
        transform: translateY(3px);
    }
    .jz-nav--fx-underline .jz-nav__item--d0:is(:hover, .is-open, .current-menu-item, .current-menu-ancestor) > .jz-nav__link::after{
        transform: scaleX(1);
    }
    .jz-nav--fx-dot .jz-nav__item--d0:is(:hover, .is-open, .current-menu-item, .current-menu-ancestor) > .jz-nav__link::after{
        opacity: 1;
        transform: none;
    }

    /* ---- dropdowns and mega panels: hidden state, open state, animation */
    .jz-nav__drop--menu,
    .jz-mega{
        position: absolute;
        top: 100%;
        z-index: 60;
        margin-top: var(--jz-drop-offset, 8px);
        opacity: 0;
        visibility: hidden;
        transform: var(--jz-drop-from, translateY(8px));
        transform-origin: top center;
        /* closing waits a moment (hover intent: crossing a gap or a corner doesn't close it) and is faster than opening */
        transition: opacity 150ms ease 120ms, transform 150ms ease 120ms, visibility 0s linear 270ms;
        text-align: start;
    }
    /* invisible bridge over the gap between the item and the panel, so the pointer never "leaves" */
    .jz-nav__drop--menu::before,
    .jz-mega::before{
        content: '';
        position: absolute;
        inset-inline: 0;
        bottom: 100%;
        height: calc(var(--jz-drop-offset, 8px) + 2px);
    }
    .jz-nav--anim-fade{
        --jz-drop-from: none;
    }
    .jz-nav--anim-scale{
        --jz-drop-from: scale(.97);
    }
    .jz-nav--anim-none .jz-nav__drop--menu,
    .jz-nav--anim-none .jz-mega{
        transform: none;
        transition: none;
    }
    /* (in "click" mode the top level opens by click, deeper flyouts still by hover) */
    .jz-nav--open-hover .jz-nav__item:hover > :is(.jz-nav__drop--menu, .jz-mega),
    .jz-nav__drop--menu .jz-nav__item:hover > .jz-nav__drop--menu,
    .jz-nav__item:has(:focus-visible) > :is(.jz-nav__drop--menu, .jz-mega),
    .jz-nav__item.is-open > :is(.jz-nav__drop--menu, .jz-mega){
        opacity: 1;
        visibility: visible;
        transform: none;
        transition: opacity 180ms ease, transform 220ms var(--jz-ease), visibility 0s;
    }
    /* Esc closes the panel while the pointer / focus is still inside the item */
    .jz-nav__item.is-suppressed > :is(.jz-nav__drop--menu, .jz-mega){
        opacity: 0 !important;
        visibility: hidden !important;
    }

    /* ---- classic dropdown */
    .jz-nav__drop--menu{
        inset-inline-start: 0;
        min-width: var(--jz-drop-w, 230px);
        padding: var(--jz-drop-pad, 8px);
        border: 1px solid rgba(17, 24, 39, .06);
        border-radius: var(--jz-drop-radius, 14px);
        background: var(--jz-drop-bg, #fff);
        box-shadow: 0 16px 40px -12px rgba(17, 24, 39, .18), 0 2px 8px rgba(17, 24, 39, .05);
    }
    .jz-nav__item.jz-flip > .jz-nav__drop--menu{
        inset-inline-start: auto;
        inset-inline-end: 0;
    }
    /* flyouts of deeper levels open beside their item */
    .jz-nav__drop--menu .jz-nav__drop--menu{
        top: calc(-1 * var(--jz-drop-pad-top, 9px));
        inset-inline-start: 100%;
        margin-top: 0;
        margin-inline-start: 6px;
        transform: var(--jz-drop-from-side, translateX(calc(-6px * var(--jz-dir))));
    }
    .jz-nav__drop--menu .jz-nav__drop--menu::before{
        inset-block: 0;
        inset-inline-start: -8px;
        inset-inline-end: auto;
        bottom: auto;
        width: 8px;
        height: auto;
    }
    .jz-nav__drop--menu .jz-nav__item.jz-flip > .jz-nav__drop--menu{
        inset-inline-start: auto;
        inset-inline-end: 100%;
        margin-inline-start: 0;
        margin-inline-end: 6px;
    }
    .jz-nav--anim-fade .jz-nav__drop--menu .jz-nav__drop--menu{
        --jz-drop-from-side: none;
    }
    .jz-nav__drop--menu .jz-nav__sub{
        display: flex;
        flex-direction: column;
        gap: var(--jz-sub-gap, 2px);
    }
    .jz-nav__drop--menu .jz-nav__item{
        position: relative;
    }
    .jz-nav__drop--menu .jz-nav__link{
        padding: var(--jz-sub-pad, 9px 12px);
        border-radius: var(--jz-sub-radius, 9px);
        background: var(--jz-sub-bg, transparent);
        color: var(--jz-sub-color, var(--colorText));
        font-size: 14px;
        font-weight: 400;
        line-height: 1.6;
        transition: color 150ms, background-color 150ms;
    }
    .jz-nav__drop--menu .jz-nav__icon{
        font-size: var(--jz-sub-icon-size, 18px);
        color: var(--jz-sub-icon, var(--colorPrimary));
    }
    .jz-nav__drop--menu .jz-nav__arrow{
        margin-inline-start: auto;
        opacity: .6;
    }
    .jz-nav__drop--menu .jz-nav__arrow svg{
        transform: rotate(calc(90deg * var(--jz-dir)));
    }
    .jz-nav__drop--menu .jz-nav__item:hover > .jz-nav__link,
    .jz-nav__drop--menu .jz-nav__item.is-open > .jz-nav__link,
    .jz-nav__drop--menu .jz-nav__link:focus-visible,
    .jz-nav__drop--menu .current-menu-item > .jz-nav__link{
        padding: var(--jz-sub-pad-h, var(--jz-sub-pad, 9px 12px));
        border-radius: var(--jz-sub-radius-h, var(--jz-sub-radius, 9px));
        background: var(--jz-sub-bg-h, var(--jz-tint));
        color: var(--jz-sub-color-h, var(--colorPrimary));
    }
    .jz-nav__drop--menu .jz-nav__item:hover > .jz-nav__link .jz-nav__icon{
        color: var(--jz-sub-icon-h, var(--jz-sub-icon, var(--colorPrimary)));
    }

    /* ---- mega menu panel (left / width set by js/jiawaz-nav.js; before that: the menu's width) */
    .jz-mega{
        left: var(--jz-mega-x, 0);
        right: auto;
        width: var(--jz-mega-w, 100%);
        padding: var(--jz-mega-pad, 24px);
        border: 1px solid rgba(17, 24, 39, .06);
        border-radius: var(--jz-mega-radius, 18px);
        background: var(--jz-mega-bg, var(--jz-drop-bg, #fff));
        box-shadow: 0 24px 60px -20px rgba(17, 24, 39, .22), 0 2px 10px rgba(17, 24, 39, .05);
    }
    .jz-mega__inner{
        display: flex;
        gap: var(--jz-mega-gap-x, 28px);
        align-items: stretch;
        max-height: var(--jz-mega-max-h, min(72vh, 620px));
        overflow-y: auto;
        overscroll-behavior: contain;
        scrollbar-width: thin;
    }
    .jz-mega__list{
        flex: 1 1 auto;
        min-width: 0;
    }
    /* inside a mega panel every level is laid out in place */
    .jz-mega__group{
        position: static;
    }
    .jz-mega .jz-nav__arrow{
        display: none;
    }
    .jz-mega .jz-nav__link{
        line-height: 1.6;
        transition: color 150ms, background-color 150ms, transform 200ms var(--jz-ease);
    }
    /* column titles (second level) */
    .jz-mega .jz-nav__item--d1 > .jz-nav__link{
        padding: var(--jz-mh-pad, 0 0 8px);
        color: var(--jz-mh-color, var(--colorText));
        font-size: 15px;
        font-weight: 700;
    }
    .jz-mega .jz-nav__item--d1 > .jz-nav__link:hover{
        color: var(--jz-mh-color-h, var(--colorPrimary));
    }
    .jz-mega .jz-nav__item--d1 > .jz-nav__link .jz-nav__icon{
        color: var(--colorPrimary);
    }
    .jz-nav--mh-accent .jz-mega--columns .jz-nav__item--d1 > .jz-nav__link::before{
        content: '';
        order: -1;
        flex-shrink: 0;
        width: 3px;
        height: 16px;
        border-radius: 3px;
        background: var(--jz-mh-accent, var(--colorPrimary));
    }
    /* links (third level and deeper) */
    .jz-mega__group .jz-nav__link{
        padding: var(--jz-ml-pad, 5px 0);
        border-radius: var(--jz-ml-radius, 6px);
        color: var(--jz-ml-color, var(--jz-muted));
        font-size: 14px;
        font-weight: 400;
    }
    .jz-mega__group .jz-nav__link:hover,
    .jz-mega__group .jz-nav__link:focus-visible,
    .jz-mega__group .current-menu-item > .jz-nav__link{
        background: var(--jz-ml-bg-h, transparent);
        color: var(--jz-ml-color-h, var(--colorPrimary));
        transform: translateX(calc(-3px * var(--jz-dir)));
    }
    .jz-mega__group .jz-mega__group{
        padding-inline-start: 12px;
    }
    .jz-mega__group .jz-mega__group .jz-nav__link{
        font-size: 13px;
    }

    /* layout: columns */
    .jz-mega--columns .jz-mega__list,
    .jz-mega--cards .jz-mega__list{
        display: grid;
        grid-template-columns: repeat(var(--jz-mega-cols, 4), minmax(0, 1fr));
        gap: var(--jz-mega-gap-y, 22px) var(--jz-mega-gap-x, 28px);
        align-content: start;
    }

    /* layout: vertical tabs (second level = tabs, their sub-items = the panel beside them) */
    .jz-mega--tabs{
        padding: 0;
        overflow: hidden;
    }
    .jz-mega--tabs .jz-mega__inner{
        gap: 0;
        max-height: none;
        overflow: visible;
    }
    .jz-mega--tabs .jz-mega__list{
        position: relative;
        display: flex;
        flex-direction: column;
        gap: 2px;
        min-height: var(--jz-tabs-h, 340px);
        padding: 10px;
    }
    .jz-mega--tabs .jz-mega__list::before{
        content: '';
        position: absolute;
        inset-block: 0;
        inset-inline-start: 0;
        width: calc(var(--jz-tabs-w, 230px) + 20px);
        border-inline-end: 1px solid rgba(17, 24, 39, .06);
        background: var(--jz-tabs-bg, rgba(var(--colorPrimaryRGB), .04));
    }
    .jz-mega--tabs .jz-mega__list > .jz-nav__item--d1{
        position: static;
    }
    .jz-mega--tabs .jz-mega__list > .jz-nav__item--d1 > .jz-nav__link{
        position: relative;
        z-index: 1;
        width: var(--jz-tabs-w, 230px);
        padding: var(--jz-tab-pad, 10px 14px);
        border-radius: var(--jz-tab-radius, 10px);
        background: var(--jz-tab-bg, transparent);
        color: var(--jz-tab-color, var(--colorText));
        font-size: 14px;
        font-weight: 500;
    }
    .jz-nav--mh-accent .jz-mega--tabs .jz-mega__list > .jz-nav__item--d1 > .jz-nav__link::before{
        content: none;
    }
    .jz-mega--tabs .jz-mega__list > .jz-nav__item--d1 > .jz-nav__link .jz-nav__arrow{
        display: inline-flex;
        margin-inline-start: auto;
        opacity: .5;
    }
    .jz-mega--tabs .jz-mega__list > .jz-nav__item--d1 > .jz-nav__link .jz-nav__arrow svg{
        transform: rotate(calc(90deg * var(--jz-dir)));
    }
    .jz-mega--tabs .jz-mega__list > .jz-nav__item--d1.is-active > .jz-nav__link{
        background: var(--jz-tab-bg-a, var(--jz-mega-bg, #fff));
        color: var(--jz-tab-color-a, var(--colorPrimary));
        box-shadow: 0 2px 10px rgba(17, 24, 39, .06);
    }
    .jz-mega--tabs .jz-mega__list > .jz-nav__item--d1 > .jz-mega__group{
        position: absolute;
        inset-block: 0;
        inset-inline-start: calc(var(--jz-tabs-w, 230px) + 20px);
        inset-inline-end: 0;
        padding: var(--jz-mega-pad, 24px);
        overflow-y: auto;
        opacity: 0;
        visibility: hidden;
        transition: opacity 150ms ease, visibility 0s linear 150ms;
    }
    .jz-mega--tabs .jz-mega__list > .jz-nav__item--d1.is-active > .jz-mega__group{
        opacity: 1;
        /* inherit, not visible: a "visible" child of the closed (hidden) mega panel stayed hoverable, so
           the empty area under the menu opened the mega menu */
        visibility: inherit;
        transition: opacity 200ms ease, visibility 0s;
    }
    .jz-mega--tabs .jz-mega__list > .jz-nav__item--d1 > .jz-mega__group > .jz-nav__sub{
        display: grid;
        grid-template-columns: repeat(var(--jz-mega-cols, 3), minmax(0, 1fr));
        gap: var(--jz-mega-gap-y, 18px) var(--jz-mega-gap-x, 24px);
        align-content: start;
    }
    /* inside a tab: its children are titles, their children links */
    .jz-mega--tabs .jz-nav__item--d2 > .jz-nav__link{
        color: var(--jz-mh-color, var(--colorText));
        font-weight: 600;
    }
    .jz-mega--tabs .jz-nav__item--d2 > .jz-mega__group{
        padding-inline-start: 0;
    }
    .jz-mega--tabs .jz-mega__promo{
        margin: 14px;
        margin-inline-start: 0;
    }

    /* layout: cards (second level = cards with image / icon, title and description) */
    .jz-mega--cards .jz-mega__list{
        gap: var(--jz-mega-gap-y, 12px) var(--jz-mega-gap-x, 12px);
    }
    .jz-mega--cards .jz-nav__item--d1{
        padding: var(--jz-card-pad, 14px);
        border: 1px solid var(--jz-card-border, transparent);
        border-radius: var(--jz-card-radius, 14px);
        background: var(--jz-card-bg, rgba(var(--colorPrimaryRGB), .04));
        transition: background-color 200ms, border-color 200ms, box-shadow 200ms;
    }
    .jz-mega--cards .jz-nav__item--d1:hover,
    .jz-mega--cards .jz-nav__item--d1:has(:focus-visible){
        background: var(--jz-card-bg-h, rgba(var(--colorPrimaryRGB), .09));
    }
    .jz-mega--cards .jz-nav__item--d1 > .jz-nav__link{
        gap: 12px;
        padding: 0;
        align-items: center;
    }
    .jz-nav--mh-accent .jz-mega--cards .jz-nav__item--d1 > .jz-nav__link::before{
        content: none;
    }
    .jz-mega--cards .jz-nav__item--d1 > .jz-nav__link .jz-nav__icon{
        width: var(--jz-card-media, 46px);
        height: var(--jz-card-media, 46px);
        border-radius: 12px;
        background: var(--jz-card-media-bg, #fff);
        font-size: calc(var(--jz-card-media, 46px) * .48);
        overflow: hidden;
    }
    .jz-mega--cards .jz-nav__item--d1 > .jz-nav__link .jz-nav__icon img{
        width: 100%;
        height: 100%;
        border-radius: 0;
        object-fit: cover;
    }
    .jz-mega--cards .jz-nav__item--d1 > .jz-nav__link .jz-nav__badge{
        align-self: flex-start;
        margin-inline-start: auto;
    }
    .jz-mega--cards .jz-nav__item--d1 > .jz-mega__group{
        margin-top: 10px;
    }
    .jz-mega--cards .jz-nav__item--d1 > .jz-mega__group > .jz-nav__sub{
        display: flex;
        flex-wrap: wrap;
        gap: 2px 14px;
    }
    .jz-mega--cards .jz-nav__item--d2 > .jz-nav__link{
        padding: 2px 0;
        font-size: 13px;
    }

    /* promo box */
    .jz-mega__promo{
        position: relative;
        display: flex;
        flex: 0 0 var(--jz-promo-w, 250px);
        align-items: flex-end;
        min-height: 200px;
        border-radius: var(--jz-promo-radius, 14px);
        overflow: hidden;
        background: linear-gradient(135deg, var(--colorPrimary), var(--colorSecondary));
        color: var(--jz-promo-color, #fff);
        text-decoration: none;
        isolation: isolate;
    }
    .jz-mega__promo-img{
        position: absolute;
        inset: 0;
        z-index: -1;
        width: 100%;
        height: 100%;
        object-fit: cover;
        transition: transform 600ms var(--jz-ease);
    }
    a.jz-mega__promo:hover .jz-mega__promo-img{
        transform: scale(1.05);
    }
    .jz-mega__promo-body{
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: 4px;
        width: 100%;
        padding: 40px 18px 18px;
        background: linear-gradient(to top, var(--jz-promo-overlay, rgba(0, 0, 0, .62)), transparent);
    }
    .jz-mega__promo--plain .jz-mega__promo-body{
        background: none;
    }
    .jz-mega__promo-title{
        font-size: 16px;
        font-weight: 700;
        line-height: 1.5;
    }
    .jz-mega__promo-text{
        font-size: 13px;
        line-height: 1.7;
        opacity: .88;
    }
    .jz-mega__promo-btn{
        display: inline-flex;
        align-items: center;
        height: 34px;
        margin-top: 8px;
        padding: 0 14px;
        border-radius: 9px;
        background: var(--jz-promo-btn-bg, #fff);
        color: var(--jz-promo-btn-color, var(--colorPrimary));
        font-size: 13px;
        font-weight: 600;
        transition: transform 200ms var(--jz-ease);
    }
    a.jz-mega__promo:hover .jz-mega__promo-btn{
        transform: translateX(calc(-3px * var(--jz-dir)));
    }
}

/* =========================================================== mobile drawer */
@media (max-width: 992px) {
    .jz-nav-wrap{
        --jz-gap-edge: var(--jz-drawer-gap, 12px);
    }
    .jz-nav-backdrop{
        display: block;
        position: fixed;
        inset: 0;
        z-index: 1040;
        background: var(--jz-backdrop, rgba(15, 23, 42, .5));
        opacity: 0;
        visibility: hidden;
        transition: opacity 250ms ease, visibility 0s linear 250ms;
    }
    .jz-nav-panel{
        position: fixed;
        z-index: 1045;
        top: var(--jz-gap-edge);
        bottom: var(--jz-gap-edge);
        inset-inline-start: var(--jz-gap-edge);
        display: flex;
        flex-direction: column;
        width: min(var(--jz-drawer-w, 320px), calc(100vw - 2 * var(--jz-gap-edge) - 40px));
        border-radius: var(--jz-drawer-radius, 20px);
        overflow: hidden;
        background: var(--jz-drawer-bg, var(--colorBg, #fff));
        box-shadow: 0 24px 60px rgba(15, 23, 42, .28);
        visibility: hidden;
        /* also the containing block of the sliding sub-levels (position: fixed inside a transformed box) */
        transform: translateX(calc((100% + var(--jz-gap-edge) + 30px) * var(--jz-dir)));
        transition: transform 320ms var(--jz-ease), visibility 0s linear 320ms;
        text-align: start;
    }
    /* below the WordPress admin bar of logged-in users */
    body.admin-bar .jz-nav-panel{
        top: calc(var(--jz-gap-edge) + 32px);
    }
    .jz-nav--side-end .jz-nav-panel{
        inset-inline-start: auto;
        inset-inline-end: var(--jz-gap-edge);
        transform: translateX(calc((100% + var(--jz-gap-edge) + 30px) * var(--jz-dir) * -1));
    }
    .jz-nav-wrap.is-open .jz-nav-backdrop,
    .jz-nav--preview-drawer .jz-nav-backdrop{
        opacity: 1;
        visibility: visible;
        transition: opacity 250ms ease, visibility 0s;
    }
    .jz-nav-wrap.is-open .jz-nav-panel,
    .jz-nav--preview-drawer .jz-nav-panel{
        visibility: visible;
        transform: translateX(0);
        transition: transform 320ms var(--jz-ease), visibility 0s;
    }
    body.jz-nav-open{
        overflow: hidden;
    }

    /* header (and the header of each sub-level) */
    .jz-nav-head,
    .jz-nav__sub-head{
        display: flex;
        flex-shrink: 0;
        align-items: center;
        gap: 8px;
        height: var(--jz-m-head-h, 64px);
        padding: 0 12px;
        background: linear-gradient(135deg, var(--colorPrimary), var(--colorSecondary));
        color: var(--jz-m-head-color, #fff);
    }
    .jz-nav-head__logo{
        display: flex;
        align-items: center;
        margin-inline-end: auto;
    }
    .jz-nav-head__logo img{
        display: block;
        width: var(--jz-m-logo-w, auto);
        max-width: 150px;
        height: auto;
        max-height: calc(var(--jz-m-head-h, 64px) - 24px);
        object-fit: contain;
    }
    .jz-nav-head__title,
    .jz-nav__sub-title{
        flex: 1 1 auto;
        min-width: 0;
        overflow: hidden;
        font-size: 15px;
        font-weight: 700;
        white-space: nowrap;
        text-overflow: ellipsis;
    }
    .jz-nav-head__title{
        margin-inline-end: auto;
    }
    .jz-nav-wrap .jz-nav-head__btn,
    .jz-nav-wrap .jz-nav__back{
        display: inline-flex;
        align-items: center;
        justify-content: center;
        flex-shrink: 0;
        padding: 0;
        line-height: 1;
        width: 40px;
        height: 40px;
        border-radius: 12px;
        background: var(--jz-m-head-btn, rgba(255, 255, 255, .16));
        color: inherit;
        font-size: 19px;
        text-decoration: none;
        transition: background-color 200ms;
    }
    .jz-nav-wrap .jz-nav-head__btn:active,
    .jz-nav-wrap .jz-nav__back:active{
        background: rgba(255, 255, 255, .28);
    }
    .jz-nav-head__btn i{
        display: block;
        line-height: 1;
    }
    .jz-nav-head__btn i::before{
        display: block;
        margin: 0 !important;
    }
    .jz-nav__back svg{
        width: 18px;
        height: 18px;
        transform: rotate(calc(-90deg * var(--jz-dir))); /* points back: right in RTL */
    }

    /* list */
    .jz-nav{
        position: relative;
        flex: 1 1 auto;
        min-height: 0;
        overflow-y: auto;
        overscroll-behavior: contain;
    }
    .jz-nav__list,
    .jz-nav__sub{
        display: flex;
        flex-direction: column;
        padding: var(--jz-m-list-pad, 8px 12px);
    }
    .jz-nav__list,
    .jz-nav--m-drilldown .jz-nav__drop > .jz-nav__sub,
    .jz-nav--m-drilldown .jz-mega__list{
        padding-top: var(--jz-m-list-top, 14px);
    }
    .jz-nav__item{
        position: static;
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        border-bottom: 1px solid var(--jz-m-divider, rgba(17, 24, 39, .06));
    }
    .jz-nav__item:last-child{
        border-bottom: 0;
    }
    .jz-nav-wrap .jz-nav__link{
        flex: 1 1 0;
        min-width: 0;
        min-height: var(--jz-m-item-h, 48px);
        padding: 6px 8px;
        border-radius: 10px;
        background: transparent;
        color: var(--jz-m-color, var(--colorText));
        /* !important: the desktop Typography controls (menu, submenu, mega menu) write font-size on every device */
        font-size: var(--jz-m-fs, 14px) !important;
        font-weight: var(--jz-m-fw, 500) !important;
        line-height: 1.6;
        transform: none;
    }
    .jz-nav-wrap .jz-nav__link::before,
    .jz-nav-wrap .jz-nav__link::after{
        content: none !important;
    }
    .jz-nav-wrap .jz-nav__link:active,
    .jz-nav-wrap .current-menu-item > .jz-nav__link{
        background: var(--jz-m-bg-a, var(--jz-tint));
        color: var(--jz-m-color-a, var(--colorPrimary));
    }
    .jz-nav-wrap .jz-nav__icon{
        width: 24px;
        color: var(--jz-m-icon, var(--colorPrimary));
        font-size: 18px;
    }
    .jz-nav-wrap .jz-nav__icon img{
        width: 22px;
        height: 22px;
    }
    .jz-nav-wrap .jz-nav__arrow{
        display: none;
    }
    .jz-nav-wrap .jz-nav__toggle{
        display: inline-flex;
        flex-shrink: 0;
        width: 40px;
        height: 40px;
        border-radius: 10px;
        background: var(--jz-m-toggle-bg, transparent);
        color: var(--jz-m-color, var(--colorText));
    }
    .jz-nav-wrap .jz-nav__toggle:active{
        background: var(--jz-tint);
    }
    .jz-nav--m-drilldown .jz-nav__toggle svg{
        transform: rotate(calc(90deg * var(--jz-dir))); /* points forward: left in RTL */
    }
    .jz-nav-wrap .jz-mega__promo{
        display: none;
    }
    /* "All of …": the parent's own page, when tapping a parent opens its submenu */
    .jz-nav--m-parent-open .jz-nav__item.jz-nav__all{
        display: flex;
    }
    .jz-nav-wrap .jz-nav__all > .jz-nav__link{
        color: var(--jz-m-color-a, var(--colorPrimary));
        font-weight: 600 !important;
    }

    /* all sub-levels: reset the desktop panel styles (also those written by the border / shadow controls) */
    .jz-nav-wrap .jz-nav__drop{
        min-width: 0;
        width: auto;
        margin: 0;
        padding: 0;
        border: 0 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        background: var(--jz-drawer-bg, var(--colorBg, #fff));
    }
    .jz-mega__inner{
        display: block;
    }

    /* sub-levels, drill-down: each one slides over the drawer with its own header */
    .jz-nav--m-drilldown .jz-nav__drop{
        position: fixed;
        inset: 0;
        z-index: 2;
        display: flex;
        flex-direction: column;
        visibility: hidden;
        transform: translateX(calc(-100% * var(--jz-dir)));
        transition: transform 280ms var(--jz-ease), visibility 0s linear 280ms;
    }
    .jz-nav--m-drilldown .jz-nav__drop.is-open{
        visibility: visible;
        transform: translateX(0);
        transition: transform 280ms var(--jz-ease), visibility 0s;
    }
    .jz-nav--m-drilldown .jz-nav__drop > .jz-nav__sub,
    .jz-nav--m-drilldown .jz-mega__inner{
        flex: 1 1 auto;
        min-height: 0;
        overflow-y: auto;
        overscroll-behavior: contain;
    }
    .jz-nav--m-drilldown .jz-mega__inner > .jz-nav__sub{
        overflow: visible;
    }

    /* sub-levels, accordion: opened below their item */
    .jz-nav--m-accordion .jz-nav__drop{
        display: none;
        flex-basis: 100%;
        background: transparent;
    }
    .jz-nav--m-accordion .jz-nav__sub-head{
        display: none;
    }
    .jz-nav--m-accordion .jz-nav__item.is-expanded > .jz-nav__drop{
        display: block;
        animation: jz-nav-expand 220ms var(--jz-ease);
    }
    .jz-nav--m-accordion .jz-nav__drop .jz-nav__sub{
        margin: 0 0 8px;
        margin-inline-start: 18px;
        padding: 0;
        padding-inline-start: 8px;
        border-inline-start: 2px solid var(--jz-m-divider, rgba(17, 24, 39, .08));
    }
    .jz-nav--m-accordion .jz-nav__drop .jz-nav__item{
        border-bottom: 0;
    }
    .jz-nav--m-accordion .jz-nav__drop .jz-nav__link{
        min-height: 40px;
        font-weight: 400 !important;
    }
    .jz-nav--m-accordion .jz-nav__item.is-expanded > .jz-nav__toggle svg{
        transform: rotate(180deg);
    }
    .jz-nav--m-accordion .jz-nav__item.is-expanded > .jz-nav__link{
        color: var(--jz-m-color-a, var(--colorPrimary));
    }

    /* mega menu promo boxes (only when enabled for mobile) */
    .jz-nav--m-promo .jz-mega__promo{
        position: relative;
        display: flex;
        align-items: flex-end;
        min-height: 140px;
        margin: 4px 12px 12px;
        border-radius: 14px;
        overflow: hidden;
        background: linear-gradient(135deg, var(--colorPrimary), var(--colorSecondary));
        color: #fff;
        text-decoration: none;
        isolation: isolate;
    }
    .jz-nav--m-promo .jz-mega__promo-img{
        position: absolute;
        inset: 0;
        z-index: -1;
        width: 100%;
        height: 100%;
        object-fit: cover;
    }
    .jz-nav--m-promo .jz-mega__promo-body{
        display: flex;
        flex-direction: column;
        gap: 2px;
        width: 100%;
        padding: 30px 14px 14px;
        background: linear-gradient(to top, rgba(0, 0, 0, .6), transparent);
        font-size: 13px;
    }
    .jz-nav--m-promo .jz-mega__promo-title{
        font-weight: 700;
    }
    .jz-nav--m-promo .jz-mega__promo-btn{
        display: none;
    }

    /* footer */
    .jz-nav-foot{
        display: flex;
        flex-direction: column;
        flex-shrink: 0;
        gap: 12px;
        padding: 14px;
        border-top: 1px solid var(--jz-m-divider, rgba(17, 24, 39, .06));
        background: var(--jz-m-foot-bg, transparent);
    }
    .jz-nav-foot__buttons{
        display: flex;
        gap: 8px;
    }
    .jz-nav-btn{
        display: inline-flex;
        flex: 1 1 0;
        align-items: center;
        justify-content: center;
        gap: 6px;
        min-width: 0;
        height: 42px;
        padding: 0 12px;
        border: 1px solid transparent;
        border-radius: var(--jz-m-btn-radius, 10px);
        font-size: 14px;
        font-weight: 600;
        text-decoration: none;
        white-space: nowrap;
    }
    .jz-nav-btn--primary{
        background: var(--jz-m-btn-bg, var(--colorPrimary));
        color: var(--jz-m-btn-color, #fff);
    }
    .jz-nav-btn--light{
        background: rgba(var(--colorPrimaryRGB), .12);
        color: var(--colorPrimary);
    }
    .jz-nav-btn--outline{
        border-color: rgba(var(--colorPrimaryRGB), .4);
        color: var(--colorPrimary);
    }
    .jz-nav-btn svg{
        width: 1em;
        height: 1em;
        fill: currentColor;
    }
    .jz-nav-foot__social{
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        gap: 8px;
    }
    .jz-nav-foot__social a{
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: var(--jz-m-social-size, 40px);
        height: var(--jz-m-social-size, 40px);
        border-radius: 12px;
        background: var(--jz-m-social-bg, var(--jz-tint));
        color: var(--jz-m-social-color, var(--colorPrimary));
        font-size: 17px;
        text-decoration: none;
        transition: background-color 200ms;
    }
    .jz-nav-foot__social svg{
        width: 1em;
        height: 1em;
        fill: currentColor;
    }
    .jz-nav-foot__text{
        color: var(--jz-m-text-color, var(--jz-muted));
        font-size: 12px;
        line-height: 1.8;
        text-align: center;
    }
}

@media (max-width: 782px) {
    body.admin-bar .jz-nav-panel{
        top: calc(var(--jz-gap-edge, 12px) + 46px);
    }
}

@keyframes jz-nav-expand{
    from{
        opacity: 0;
        transform: translateY(-4px);
    }
}

@media (prefers-reduced-motion: reduce) {
    .jz-nav-wrap *,
    .jz-nav-wrap *::before,
    .jz-nav-wrap *::after{
        animation-duration: 1ms !important;
        transition-duration: 1ms !important;
        transition-delay: 0s !important;
    }
}
