/* ============================================================
   AMITA HEADER FINAL V4
   Desktop: real centered container.
   Mobile: brand + hamburger/actions + collapsible menu.
   ============================================================ */

:root{
    --aj-header-bg:#fef7f0;
    --aj-header-text:#2b2521;
    --aj-header-accent:#e67323;
    --aj-header-container:1320px;
}

.cms-site-header{
    position:relative!important;
    z-index:1000!important;
    width:100%!important;
    margin:0!important;
    padding:0!important;
    background:var(--aj-header-bg)!important;
    border-bottom:1px solid rgba(84,57,38,.06)!important;
}

/* ---------------- DESKTOP ---------------- */
.aj-mobile-header-v4{display:none!important;}

.aj-desktop-header-v4{
    width:100%!important;
    min-height:104px!important;
    margin:0!important;
    padding:0!important;
    background:var(--aj-header-bg)!important;
}

.aj-desktop-header-v4>.container,
.aj-desktop-header-v4>.container-fluid,
.aj-desktop-header-v4>.container-xl,
.aj-desktop-header-v4>.container-xxl{
    width:calc(100% - 30px)!important;
    max-width:var(--aj-header-container)!important;
    min-height:104px!important;
    margin:0 auto!important;
    padding:0!important;
}

.aj-desktop-header-v4>.container>.row,
.aj-desktop-header-v4>.container-fluid>.row,
.aj-desktop-header-v4>.container-xl>.row,
.aj-desktop-header-v4>.container-xxl>.row{
    min-height:104px!important;
    margin:0 -6px!important;
    align-items:center!important;
}

.aj-desktop-header-v4 .cms-layout-column{
    min-height:104px!important;
    display:flex!important;
    align-items:center!important;
    position:relative!important;
    overflow:visible!important;
    padding:0 6px!important;
}

.aj-desktop-header-v4 .cms-layout-column:first-child{
    justify-content:flex-start!important;
}

.aj-desktop-header-v4 .cms-main-navigation{
    width:100%!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    margin:0!important;
    padding:0!important;
}

.aj-desktop-header-v4 .cms-menu-root{
    display:flex!important;
    flex-direction:row!important;
    flex-wrap:nowrap!important;
    justify-content:center!important;
    align-items:center!important;
    gap:18px!important;
    width:auto!important;
    margin:0!important;
    padding:0!important;
    list-style:none!important;
}

.aj-desktop-header-v4 .cms-menu-item{
    position:relative!important;
    width:auto!important;
    display:block!important;
}

.aj-desktop-header-v4 .cms-menu-link{
    width:auto!important;
    min-height:0!important;
    display:inline-flex!important;
    align-items:center!important;
    gap:5px!important;
    padding:8px 0!important;
    color:var(--aj-header-text)!important;
    font-size:14px!important;
    line-height:1.2!important;
    text-decoration:none!important;
    white-space:nowrap!important;
}

.aj-desktop-header-v4 .cms-menu-link:hover{
    color:var(--aj-header-accent)!important;
}

.aj-desktop-header-v4 .cms-layout-column:has(.cms-header-button){
    justify-content:flex-end!important;
    gap:8px!important;
    flex-wrap:nowrap!important;
}

.aj-desktop-header-v4 .cms-button-wrap{
    width:auto!important;
    flex:0 0 auto!important;
    margin:0!important;
}

.aj-desktop-header-v4 a.cms-header-button{
    width:107px!important;
    min-width:107px!important;
    height:35px!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    margin:0!important;
    padding:0 10px!important;
    border:1px solid var(--aj-header-accent)!important;
    border-radius:10px!important;
    background:transparent!important;
    color:var(--aj-header-accent)!important;
    font-size:14px!important;
    text-decoration:none!important;
    white-space:nowrap!important;
}

.aj-desktop-header-v4 a.cms-header-button:hover{
    background:var(--aj-header-accent)!important;
    color:#fff!important;
}

/* ---------------- MOBILE / TABLET ---------------- */
@media(max-width:1319.98px){
    .aj-desktop-header-v4{display:none!important;}
    .aj-mobile-header-v4{
        display:block!important;
        width:100%!important;
        background:var(--aj-header-bg)!important;
    }

    .aj-mobile-header-inner-v4{
        width:calc(100% - 24px)!important;
        max-width:720px!important;
        margin:0 auto!important;
        padding:12px 0 10px!important;
    }

    .aj-mobile-brand-row-v4{
        display:flex!important;
        justify-content:center!important;
        align-items:center!important;
        min-height:55px!important;
        text-align:center!important;
    }

    .aj-mobile-brand-v4{
        display:inline-flex!important;
        flex-direction:column!important;
        align-items:center!important;
        color:var(--aj-header-text)!important;
        text-decoration:none!important;
        line-height:1.05!important;
    }

    .aj-mobile-brand-title-v4{
        font-family:"Lora",Georgia,serif!important;
        font-size:20px!important;
        font-weight:700!important;
    }

    .aj-mobile-brand-subtitle-v4{
        margin-top:4px!important;
        font-family:"Karma",Georgia,serif!important;
        font-size:11px!important;
        letter-spacing:1.45px!important;
        font-weight:400!important;
    }

    .aj-mobile-logo-v4{
        display:block!important;
        width:auto!important;
        max-width:190px!important;
        max-height:52px!important;
        object-fit:contain!important;
    }

    .aj-mobile-action-row-v4{
        display:flex!important;
        align-items:center!important;
        justify-content:space-between!important;
        gap:10px!important;
        min-height:46px!important;
        border-top:1px solid rgba(84,57,38,.05)!important;
    }

    .aj-mobile-toggle-v4{
        width:42px!important;
        height:35px!important;
        flex:0 0 42px!important;
        display:flex!important;
        flex-direction:column!important;
        align-items:center!important;
        justify-content:center!important;
        gap:4px!important;
        margin:0!important;
        padding:0!important;
        border:1px solid var(--aj-header-accent)!important;
        border-radius:9px!important;
        background:transparent!important;
        cursor:pointer!important;
    }

    .aj-mobile-toggle-v4 span:not(.visually-hidden){
        display:block!important;
        width:18px!important;
        height:2px!important;
        border-radius:2px!important;
        background:var(--aj-header-accent)!important;
        transition:.2s ease!important;
    }

    .aj-mobile-toggle-v4.is-open span:nth-child(1){transform:translateY(6px) rotate(45deg)!important;}
    .aj-mobile-toggle-v4.is-open span:nth-child(2){opacity:0!important;}
    .aj-mobile-toggle-v4.is-open span:nth-child(3){transform:translateY(-6px) rotate(-45deg)!important;}

    .aj-mobile-buttons-v4{
        display:flex!important;
        align-items:center!important;
        justify-content:flex-end!important;
        gap:8px!important;
        margin-left:auto!important;
    }

    .aj-mobile-action-button-v4{
        width:102px!important;
        height:35px!important;
        display:inline-flex!important;
        align-items:center!important;
        justify-content:center!important;
        border:1px solid var(--aj-header-accent)!important;
        border-radius:9px!important;
        background:transparent!important;
        color:var(--aj-header-accent)!important;
        font-size:13px!important;
        text-decoration:none!important;
        white-space:nowrap!important;
    }

    .aj-mobile-menu-panel-v4{
        display:none!important;
        width:100%!important;
        padding:8px 0 5px!important;
    }

    .aj-mobile-menu-panel-v4.is-open{display:block!important;}

    .aj-mobile-nav-v4,
    .aj-mobile-nav-v4 .cms-menu-root{
        width:100%!important;
        margin:0!important;
        padding:0!important;
    }

    .aj-mobile-nav-v4 .cms-menu-root{
        display:block!important;
        list-style:none!important;
    }

    .aj-mobile-nav-v4 .cms-menu-item{
        display:block!important;
        width:100%!important;
        border-top:1px solid rgba(84,57,38,.06)!important;
    }

    .aj-mobile-nav-v4 .cms-menu-link{
        width:100%!important;
        min-height:42px!important;
        display:flex!important;
        align-items:center!important;
        justify-content:space-between!important;
        gap:8px!important;
        padding:9px 8px!important;
        color:var(--aj-header-text)!important;
        font-size:13px!important;
        text-decoration:none!important;
    }

    .aj-mobile-nav-v4 .cms-submenu{
        position:static!important;
        display:block!important;
        width:100%!important;
        min-width:0!important;
        margin:0!important;
        padding:0 0 5px 16px!important;
        border:0!important;
        border-left:2px solid #f2c8aa!important;
        box-shadow:none!important;
        opacity:1!important;
        visibility:visible!important;
        transform:none!important;
        pointer-events:auto!important;
        list-style:none!important;
    }

    .aj-mobile-nav-v4 .cms-submenu-link{
        min-height:36px!important;
        display:flex!important;
        align-items:center!important;
        padding:7px 8px!important;
        color:var(--aj-header-text)!important;
        font-size:12px!important;
        text-decoration:none!important;
    }
}

@media(max-width:420px){
    .aj-mobile-action-button-v4{
        width:92px!important;
        font-size:12px!important;
    }

    .aj-mobile-buttons-v4{gap:6px!important;}
}


/* Responsive header stability patch */
@media(max-width:1319.98px){
    .aj-mobile-header-inner-v4{max-width:960px!important}
    .aj-mobile-action-row-v4{width:100%!important;min-width:0!important}
    .aj-mobile-buttons-v4{min-width:0!important;max-width:calc(100% - 52px)!important}
    .aj-mobile-action-button-v4{
        width:auto!important;
        min-width:88px!important;
        max-width:124px!important;
        padding:0 12px!important;
        flex:1 1 auto!important;
    }
    .aj-mobile-menu-panel-v4.is-open{
        max-height:58vh!important;
        overflow-y:auto!important;
        overscroll-behavior:contain!important;
        background:var(--aj-header-bg)!important;
        border-top:1px solid rgba(84,57,38,.06)!important;
    }
}
@media(max-width:520px){
    .aj-mobile-header-inner-v4{width:calc(100% - 16px)!important}
    .aj-mobile-brand-title-v4{font-size:18px!important}
    .aj-mobile-brand-subtitle-v4{font-size:10px!important;letter-spacing:1.15px!important}
    .aj-mobile-action-row-v4{gap:6px!important}
    .aj-mobile-buttons-v4{gap:5px!important;max-width:calc(100% - 48px)!important}
    .aj-mobile-action-button-v4{min-width:0!important;font-size:11.5px!important;padding:0 8px!important}
}


/* Final responsive navigation cleanup */
@media(max-width:1319.98px){
    .aj-desktop-header-v4{display:none!important}
    .aj-mobile-header-v4{display:block!important}

    .aj-mobile-header-inner-v4{
        width:calc(100% - 28px)!important;
        max-width:980px!important;
        padding:9px 0 8px!important;
    }

    .aj-mobile-brand-row-v4{
        min-height:48px!important;
    }

    .aj-mobile-action-row-v4{
        min-height:42px!important;
        gap:8px!important;
    }

    .aj-mobile-menu-panel-v4.is-open{
        max-height:58vh!important;
        overflow-y:auto!important;
        overflow-x:hidden!important;
        padding:4px 0 6px!important;
        scrollbar-width:thin;
    }

    .aj-mobile-nav-v4 .cms-menu-link{
        min-height:38px!important;
        padding:7px 8px!important;
        font-size:13px!important;
    }

    .aj-mobile-nav-v4 .cms-submenu{
        padding:0 0 3px 14px!important;
    }

    .aj-mobile-nav-v4 .cms-submenu-link{
        min-height:32px!important;
        padding:5px 8px!important;
        font-size:12px!important;
    }
}

@media(min-width:1320px){
    .aj-desktop-header-v4{display:block!important}
    .aj-mobile-header-v4{display:none!important}
}

@media(max-width:600px){
    .aj-mobile-header-inner-v4{
        width:calc(100% - 16px)!important;
        padding:7px 0!important;
    }

    .aj-mobile-brand-row-v4{min-height:44px!important}

    .aj-mobile-brand-title-v4{font-size:18px!important}
    .aj-mobile-brand-subtitle-v4{
        margin-top:2px!important;
        font-size:9.5px!important;
        letter-spacing:1px!important;
    }

    .aj-mobile-action-row-v4{
        min-height:40px!important;
        gap:5px!important;
    }

    .aj-mobile-toggle-v4{
        width:40px!important;
        height:34px!important;
        flex-basis:40px!important;
    }

    .aj-mobile-buttons-v4{
        gap:5px!important;
        max-width:calc(100% - 46px)!important;
    }

    .aj-mobile-action-button-v4{
        height:34px!important;
        min-width:0!important;
        max-width:none!important;
        padding:0 8px!important;
        font-size:11.5px!important;
    }

    .aj-mobile-menu-panel-v4.is-open{
        max-height:56vh!important;
    }
}


/* Mobile/tablet menu compact organization v3 */
@media(max-width:1319.98px){
    .aj-mobile-nav-v4{
        padding:0!important;
        margin:0!important;
    }

    .aj-mobile-nav-v4 .cms-menu-item{
        margin:0!important;
        padding:0!important;
        border-bottom:1px solid rgba(84,57,38,.07)!important;
    }

    .aj-mobile-nav-v4 .cms-menu-link{
        min-height:34px!important;
        padding:6px 8px!important;
        margin:0!important;
        font-size:13px!important;
        line-height:1.25!important;
        display:flex!important;
        align-items:center!important;
        justify-content:space-between!important;
    }

    .aj-mobile-nav-v4 .cms-menu-item.has-submenu > .cms-menu-link{
        padding-bottom:5px!important;
    }

    .aj-mobile-nav-v4 .cms-submenu{
        margin:0!important;
        padding:0 0 2px 12px!important;
        border-left:1px solid rgba(187,109,48,.24)!important;
        background:transparent!important;
    }

    .aj-mobile-nav-v4 .cms-submenu li{
        margin:0!important;
        padding:0!important;
        min-height:0!important;
    }

    .aj-mobile-nav-v4 .cms-submenu-link{
        min-height:30px!important;
        padding:4px 8px!important;
        margin:0!important;
        font-size:12px!important;
        line-height:1.2!important;
        display:flex!important;
        align-items:center!important;
        border-radius:6px!important;
    }

    .aj-mobile-nav-v4 .cms-submenu-link:hover,
    .aj-mobile-nav-v4 .cms-submenu-link.active{
        background:rgba(232,37,32,.06)!important;
    }

    .aj-mobile-nav-v4 .cms-menu-item.has-submenu + .cms-menu-item{
        margin-top:0!important;
    }

    .aj-mobile-menu-panel-v4.is-open{
        padding:2px 8px 6px!important;
        max-height:54vh!important;
    }

    .aj-mobile-nav-v4 .cms-menu-link::after,
    .aj-mobile-nav-v4 .cms-menu-toggle{
        margin-left:auto!important;
    }
}

@media(max-width:600px){
    .aj-mobile-nav-v4 .cms-menu-link{
        min-height:32px!important;
        padding:5px 7px!important;
        font-size:12.5px!important;
    }

    .aj-mobile-nav-v4 .cms-submenu{
        padding-left:10px!important;
    }

    .aj-mobile-nav-v4 .cms-submenu-link{
        min-height:28px!important;
        padding:4px 7px!important;
        font-size:11.8px!important;
    }

    .aj-mobile-menu-panel-v4.is-open{
        max-height:52vh!important;
        padding-left:6px!important;
        padding-right:6px!important;
    }
}


/* Exact mobile submenu gap fix v4 — actual markup uses .has-children */
@media(max-width:1319.98px){

    .aj-mobile-nav-v4 .cms-menu-item.has-children{
        margin:0!important;
        padding:0!important;
    }

    .aj-mobile-nav-v4 .cms-menu-item.has-children > .cms-menu-link{
        margin:0!important;
        padding-top:5px!important;
        padding-bottom:5px!important;
        min-height:32px!important;
        line-height:1.2!important;
    }

    .aj-mobile-nav-v4 .cms-menu-item.has-children > .cms-submenu{
        position:static!important;
        top:auto!important;
        left:auto!important;
        right:auto!important;
        transform:none!important;

        margin:-3px 0 0 0!important;
        margin-block-start:-3px!important;
        margin-block-end:0!important;

        padding:0 0 3px 10px!important;
        min-height:0!important;
        height:auto!important;

        border:0!important;
        border-left:1px solid rgba(187,109,48,.22)!important;
        border-radius:0!important;
        box-shadow:none!important;
        background:transparent!important;

        opacity:1!important;
        visibility:visible!important;
        pointer-events:auto!important;

        display:block!important;
        list-style:none!important;
    }

    .aj-mobile-nav-v4 .cms-menu-item.has-children > .cms-submenu > .cms-submenu-item{
        margin:0!important;
        padding:0!important;
        min-height:0!important;
        height:auto!important;
    }

    .aj-mobile-nav-v4 .cms-menu-item.has-children > .cms-submenu > .cms-submenu-item:first-child{
        margin-top:0!important;
        padding-top:0!important;
    }

    .aj-mobile-nav-v4 .cms-menu-item.has-children > .cms-submenu .cms-submenu-link{
        margin:0!important;
        padding:4px 8px!important;
        min-height:27px!important;
        height:auto!important;
        line-height:1.15!important;
        font-size:12px!important;
    }

    /* Prevent generic desktop submenu rules from reserving visual space */
    .aj-mobile-nav-v4 .cms-submenu{
        top:auto!important;
        left:auto!important;
        transform:none!important;
    }
}

@media(max-width:600px){
    .aj-mobile-nav-v4 .cms-menu-item.has-children > .cms-submenu{
        margin-top:-4px!important;
        padding-left:8px!important;
        padding-bottom:2px!important;
    }

    .aj-mobile-nav-v4 .cms-menu-item.has-children > .cms-submenu .cms-submenu-link{
        min-height:25px!important;
        padding:3px 7px!important;
        font-size:11.7px!important;
    }
}
