/* --------------------
   header
-------------------- */
#header {
    position: sticky;
    width: 100%;
    z-index: 20;
    top: 0;
    right: 0;
    background: #fff;
    height: 77px;
    display: flex;
    align-items: center;
    pointer-events: auto;
    transition: transform 0.6s;
}

.header-mm i {
    color: var(--color1);
    font-size: 15px;
    cursor: pointer;
}

.header-mese {
    display: flex;
    align-items: center;
    gap: 1.5rem;
}

/* --------------------
    Menu Mobile
-------------------- */
#mask {
    position: fixed;
    z-index: 9999;
    background: rgba(0, 0, 0, 0.5);
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    display: none;
}

#menumobile {
    position: fixed;
    top: 0;
    bottom: 0;
    background: #FAF7F1;
    z-index: 99991;
    transition: all 0.5s;
    box-sizing: border-box;
    overflow: hidden;
    box-shadow: 0 .5rem 1rem rgba(0, 0, 0, .3) !important;
    overflow-y: auto;
    display: flex;
    flex-direction: column;
}

#menumobile img {
    max-width: 130px;
}

#nomenumobile {
    cursor: pointer;
    transition: all 0.5s;
    width: 25px;
    height: 25px;
    background: transparent;
    text-align: center;
    display: inline-flex;
    color: var(--color1);
    font-size: 18px;
    align-items: center;
    justify-content: center;
}

.title-mm {
    padding: 20px 15px 12px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.title-mm img {
    user-select: none;
}

.title-mm span {
    font-family: var(--title_font);
    font-size: 1.5rem;
}

.btn-mm {
    padding: 0 20px;
    margin-top: 20px;
}

.btn-mm a {
    display: flex;
}

.title-sub-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 20px;
    flex-flow: row-reverse;
}


.title-sub-head strong {
    font-family: var(--bold_font);
}

.main-mm {
    padding: 5px 15px;
    flex: 1;
}

.main-mm ul li a {
    color: #222;
    display: block;
    padding: 4px 0;
    position: relative;
    font-family: var(--main_font);
    font-size: 15px;
    line-height: 1.7;
    transition: all 0.5s ease;
}

.main-mm ul li ul.sub-menu li a {
    font-size: 15px !important;
}

.main-mm ul.menu li a:has(.childer.active) {
    font-size: 1.125rem;
    font-family: var(--title_font);
}

.main-mm ul.menu li a:has(.childer.active) .childer {
    top: 0.875rem;
}

.main-mm ul li a:hover {
    color: var(--color1);
}

.main-mm ul li>.sub-menu {
    z-index: 9;
    padding: 10px 20px 20px;
}

.childer i {
    cursor: pointer;
    font-size: 13px;
    text-align: center;
}

.childer {
    position: absolute;
    left: 0;
    cursor: pointer;
    top: 4px;
    width: 25px;
    height: 25px;
    background: transparent;
    color: var(--color1);
    display: flex;
    align-items: center;
    justify-content: center;
    transition: 0.5s;

}

.sub-closer {
    cursor: pointer;
    top: 10px;
    width: 25px;
    height: 25px;
    background: var(--color2);
    overflow: hidden;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
}

.sub-closer i {
    cursor: pointer;
    top: -1px;
    border: solid #fff;
    border-width: 0 2px 2px 0;
    display: inline-block;
    padding: 3px;
    transform: rotate(-45deg);
    -webkit-transform: rotate(-45deg);
    position: relative;
    left: -1px;

}

.title-subcome {
    color: var(--color2);
    font-weight: normal;
    position: relative;
    top: 2px;
}

.inner-page #header {
    position: sticky;
    top: 0;
    background: #fff;
    box-shadow: 0 4px 8px rgb(0 0 0 / 5%);
}

.sub-menu {
    display: none;
    padding-left: 20px;
}

.childer .icon-plus:before {
    transition: 0.3s;
}

.childer.active .icon-plus:before {
    content: "\e914";
}

.header-userinfo {
    display: flex;
    gap: 1.5rem;
    justify-content: flex-end;
    align-items: center;
}

.header-userinfo span,
.header-userinfo button {
    display: flex;
    cursor: pointer;
    align-items: center;
    justify-content: center;
    width: 1.5rem;
    height: 1.5rem;
    background-color: transparent;
    border: none;
}

.header-userinfo>a {
    width: 1.5rem;
    height: 1.5rem;
    font-size: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.header-userinfo .count,
.quick--access-header .count {
    position: absolute;
    background-color: var(--color1);
    color: #fff;
    height: 13px;
    width: 13px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    top: -7px;
    right: -7px;
    font-size: 12px;
}

.header-userinfo span i,
.header-userinfo button i {
    color: #151515;
    font-size: 20px;
}

.header-menu-mobile-footer .header-userinfo {
    justify-content: center;
}

.nav-up #header {
    transform: translateY(-6rem);
    pointer-events: none;
}
.auth-modal-btn-mobile .pictor-auth-modal-btn {
    background: transparent;
    outline: none;
    border: none;
    padding: 0;
}
@media screen and (min-width:576px) {

    #menumobile {
        width: 450px;
        right: -450px;
    }

    .come-menumobile {
        right: 0 !important;
    }

}

@media screen and (max-width:575.99px) {

    #menumobile {
        left: 100%;
        width: 100%;
    }

    .come-menumobile {
        left: 0 !important;
    }

}

@media screen and (max-width:767.99px) {

    .auth-modal-btn-mobile,
    .cart-mobile span {
        display: flex;
        align-items: center;
        gap: 8px;
        font-size: 13px;
        font-family: var(--main_font);
        color: var(--color1);
        text-decoration: none;
        transition: all 0.3s ease;
        cursor: pointer;
        &:hover {
            color: var(--color2);
            text-decoration: none;
        }
    }

    .cart-mobile .count {
        position: absolute;
        background-color: var(--color1);
        color: #fff;
        height: 13px;
        width: 13px;
        display: flex;
        align-items: center;
        justify-content: center;
        border-radius: 50%;
        top: -7px;
        right: -7px;
        font-size: 12px;
    }

    .header-menu-mobile-footer {
        padding: 20px 15px;
        background-color: #f6f1eb;
        margin-top: auto;
        display: flex;
        align-items: flex-start;
        flex-direction: column;
        gap: 1rem;

    }

    .header-menu-mobile-footer .icon-profile,
    .header-menu-mobile-footer .icon-shopping {
        font-size: 20px;
        width: 24px;
        height: 24px;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .header-menu-mobile-footer .icon-profile {
        color: var(--color1);
    }

    .header-menu-mobile-footer .icon-shopping {
        color: var(--color1);
    }
}

/* --------------------------------------------------------------------------------------------
   1.3.0 - Desktop navigation + mega menu (includes/mega-menu.php)
   992px and wider: no hamburger; the "Main Menu" is centred under the logo and top items with
   sub-items open a full-width panel (hover / keyboard focus; custom.js adds touch + Escape).
   -------------------------------------------------------------------------------------------- */
.pm-nav {
    display: none;
}

@media screen and (min-width: 992px) {
    :root:has(#header.has-desktop-nav) {
        --pictor-header-h: 121px;
    }

    #header.has-desktop-nav {
        height: auto;
        flex-direction: column;
        align-items: stretch;
    }

    #header.has-desktop-nav > .container-fluid > .row {
        height: 72px;
    }

    #header.has-desktop-nav .header-mm {
        display: none !important;
    }

    .nav-up #header.has-desktop-nav {
        transform: translateY(-100%);
    }

    #header.has-desktop-nav .pm-nav {
        display: block;
        border-top: 1px solid #EFEBE4;
    }

    .pm-nav-list {
        list-style: none;
        margin: 0;
        padding: 0;
        height: 48px;
        display: flex;
        justify-content: center;
        gap: 3rem;
    }

    .pm-item {
        display: flex;
    }

    .pm-top {
        display: flex;
        align-items: center;
        height: 48px;
        font-size: 15px;
        color: var(--color1);
        border-bottom: 2px solid transparent;
        transition: border-color 0.2s ease;
    }

    .pm-top:hover,
    .pm-item.has-panel:hover > .pm-top,
    .pm-item:focus-within > .pm-top,
    .pm-item.is-active > .pm-top {
        color: var(--color1);
        border-bottom-color: var(--color1);
    }

    .pm-panel {
        position: absolute;
        top: 100%;
        left: 0;
        right: 0;
        z-index: 1;
        background: #fff;
        border-top: 1px solid #EFEBE4;
        box-shadow: 0 12px 24px rgb(0 0 0 / 6%);
        visibility: hidden;
        opacity: 0;
        transform: translateY(-6px);
        /* small delays: moving the mouse across the menu does not flash panels */
        transition: opacity 0.2s ease 0.12s, transform 0.2s ease 0.12s, visibility 0s linear 0.32s;
    }

    /* page dimmed under an open panel; does not catch the mouse, so leaving the panel closes it */
    .pm-panel::after {
        content: '';
        position: absolute;
        top: 100%;
        left: 0;
        right: 0;
        height: 100vh;
        background: rgba(26, 26, 26, 0.35);
        pointer-events: none;
    }

    .pm-item.has-panel:hover > .pm-panel,
    .pm-item.has-panel:focus-within > .pm-panel,
    .pm-item.has-panel.is-open > .pm-panel {
        visibility: visible;
        opacity: 1;
        transform: none;
        transition-delay: 0.12s, 0.12s, 0s;
    }

    .pm-item.has-panel.is-suppressed > .pm-panel {
        visibility: hidden;
        opacity: 0;
        transition: none;
    }

    .pm-panel-inner {
        max-width: 1440px;
        margin: 0 auto;
        padding: 2.5rem 4rem 3rem;
        display: flex;
        justify-content: space-between;
        gap: 3.5rem;
        max-height: calc(100vh - var(--pictor-header-h, 121px) - 2rem);
        overflow-y: auto;
    }

    .pm-columns {
        display: flex;
        gap: 3.5rem;
        flex: 1 1 auto;
    }

    .pm-col {
        min-width: 150px;
        max-width: 260px;
    }

    .pm-col-title {
        display: block;
        margin-bottom: 1.1rem;
        font-size: 13px;
        color: var(--color2);
    }

    .pm-links,
    .pm-sublinks {
        list-style: none;
        margin: 0;
        padding: 0;
    }

    .pm-links {
        display: flex;
        flex-direction: column;
        gap: 0.85rem;
        font-size: 15px;
    }

    .pm-links a {
        color: var(--color1);
    }

    .pm-links a:hover,
    .pm-links a:focus-visible,
    .pm-links a.is-current {
        text-decoration: underline;
        text-underline-offset: 6px;
    }

    .pm-sublinks {
        display: flex;
        flex-wrap: wrap;
        gap: 0.25rem 0.75rem;
        margin-top: 0.4rem;
        font-size: 13px;
    }

    .pm-sublinks a {
        color: var(--color2);
    }

    .pm-links .pm-all {
        margin-top: 0.35rem;
    }

    .pm-links .pm-all a {
        font-size: 13px;
        border-bottom: 1px solid var(--color1);
        padding-bottom: 2px;
        text-decoration: none;
    }

    .pm-promos {
        display: grid;
        grid-auto-flow: column;
        grid-auto-columns: 220px;
        gap: 1.25rem;
        flex: 0 0 auto;
    }

    .pm-promo {
        display: flex;
        flex-direction: column;
        gap: 0.75rem;
        color: var(--color1);
    }

    .pm-promo-img {
        display: block;
        aspect-ratio: 1 / 1;
        overflow: hidden;
        background: #F1EEE8;
    }

    .pm-promo-img img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        transition: transform 0.4s ease;
    }

    .pm-promo:hover .pm-promo-img img {
        transform: scale(1.03);
    }

    .pm-promo-title {
        font-size: 14px;
    }
}

@media screen and (min-width: 992px) and (max-width: 1199.98px) {
    .pm-nav-list {
        gap: 2rem;
    }

    .pm-panel-inner {
        padding: 2rem 2rem 2.5rem;
        gap: 2rem;
    }

    .pm-columns {
        gap: 2rem;
    }

    .pm-promos {
        grid-auto-columns: 160px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .pm-panel,
    .pm-promo-img img {
        transition: none !important;
    }
}
