/* ============================================
   HEADER - HOMEPAGE
============================================ */

/* Base */
.sahoma-header {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    z-index: 999 !important;
    transition: background-color 0.3s ease !important;
}
.sahoma-header--home {
    background: transparent !important;
}
/* Scroll effect (all devices) */
.sahoma-header--home.scrolled {
    background: #fff !important;
}
/* Hover effect (desktop only – prevents ghost-tap on mobile making icons invisible) */
@media (hover: hover) and (pointer: fine) {
    .sahoma-header--home:hover {
        background: #fff !important;
    }
}

.sahoma-header__inner {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    height: 90px !important;
    padding: 0 20px !important;
}

/* Logo */
.sahoma-header__left {
    flex: 0 0 200px !important;
}
.sahoma-logo {
    display: inline-block !important;
    text-decoration: none !important;
}
.sahoma-logo img {
    display: block !important;
    height: auto !important;
}
.sahoma-header--home .sahoma-logo__dark {
    display: none !important;
}
.sahoma-header--home .sahoma-logo__white {
    display: block !important;
}
.sahoma-header.scrolled .sahoma-logo__white {
    display: none !important;
}
.sahoma-header.scrolled .sahoma-logo__dark {
    display: block !important;
}
@media (hover: hover) and (pointer: fine) {
    .sahoma-header:hover .sahoma-logo__white {
        display: none !important;
    }
    .sahoma-header:hover .sahoma-logo__dark {
        display: block !important;
    }
}

/* Center nav */
.sahoma-header__center {
    flex: 1 1 auto !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

/* Nav list */
.sahoma-nav__list {
    display: flex !important;
    align-items: center !important;
    gap: 0 !important;
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}
.sahoma-nav__item {
    position: relative !important;
    text-align: center !important;
}
.sahoma-nav__link {
    display: inline-block !important;
    padding: 0.5rem 1rem 0.2rem 1rem !important;
    font-family: "Bebas Neue", sans-serif !important;
    font-size: 20px !important;
    font-weight: 400 !important;
    color: #fff !important;
    text-decoration: none !important;
    text-transform: uppercase !important;
}
.sahoma-nav__link:hover {
    text-decoration: underline !important;
    text-underline-offset: 5px !important;
    text-decoration-thickness: 1px !important;
}
.sahoma-header.scrolled .sahoma-nav__link,
.sahoma-header:hover .sahoma-nav__link {
    color: #000 !important;
}

/* Right icons */
.sahoma-header__right {
    flex: 0 0 200px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 20px !important;
}
.sahoma-header__icon {
    display: flex !important;
    align-items: center !important;
    background: none !important;
    border: none !important;
    cursor: pointer !important;
    padding: 0 !important;
    text-decoration: none !important;
    position: relative !important;
    height: 25px !important;
}
.sahoma-header__icon img,
.sahoma-header__icon svg {
    width: 25px !important;
    height: 25px !important;
    max-width: 25px !important;
    max-height: 25px !important;
    filter: brightness(0) invert(1) !important;
    transition: filter 0.3s ease !important;
}
.sahoma-header__cart {
    overflow: visible !important;
    width: auto !important;
    min-width: 0 !important;
}
.sahoma-header__cart img {
    width: 25px !important;
    height: 25px !important;
    max-width: 25px !important;
    object-fit: contain !important;
}
.sahoma-header.scrolled .sahoma-header__icon img,
.sahoma-header.scrolled .sahoma-header__icon svg {
    filter: none !important;
}
@media (hover: hover) and (pointer: fine) {
    .sahoma-header:hover .sahoma-header__icon img,
    .sahoma-header:hover .sahoma-header__icon svg {
        filter: none !important;
    }
}

/* Cart count badge */
.sahoma-cart-count {
    position: absolute !important;
    top: 5px !important;
    right: -6px !important;
    font-family: "Bebas Neue", sans-serif !important;
    font-size: 12px !important;
    color: #fff !important;
    background: transparent !important;
    transition: color 0.3s ease !important;
}
.sahoma-header.scrolled .sahoma-cart-count {
    color: #000 !important;
}
@media (hover: hover) and (pointer: fine) {
    .sahoma-header:hover .sahoma-cart-count {
        color: #000 !important;
    }
}

/* Mobile toggle */
.sahoma-mobile-toggle {
    display: none !important;
    background: none !important;
    border: none !important;
    cursor: pointer !important;
    padding: 0 !important;
    width: 25px !important;
    height: 25px !important;
    position: relative !important;
}
.sahoma-mobile-toggle img {
    width: 25px !important;
    height: 25px !important;
    filter: brightness(0) invert(1) !important;
}
.sahoma-header.scrolled .sahoma-mobile-toggle img {
    filter: none !important;
}
@media (hover: hover) and (pointer: fine) {
    .sahoma-header:hover .sahoma-mobile-toggle img {
        filter: none !important;
    }
}
.sahoma-mobile-toggle .toggle-close {
    display: none !important;
    transform: rotate(45deg) !important;
}
.sahoma-mobile-toggle.open .toggle-open {
    display: none !important;
}
.sahoma-mobile-toggle.open .toggle-close {
    display: block !important;
    filter: none !important; /* always dark when menu open */
}

/* Mobile menu overlay */
.sahoma-menu-overlay {
    display: none !important;
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    background: rgba(0,0,0,0.3) !important;
    z-index: 998 !important;
}
.sahoma-menu-overlay.active {
    display: block !important;
}

/* Mega Menu */
.sahoma-megamenu {
    display: none !important;
    position: absolute !important;
    top: 100% !important;
    left: 0 !important;
    right: 0 !important;
    background: #fff !important;
    border-top: 1px solid #000 !important;
    z-index: 998 !important;
}
.sahoma-megamenu.active {
    display: block !important;
}
.sahoma-megamenu__inner {
    display: flex !important;
    align-items: stretch !important;
    padding: 40px 7% !important;
    gap: 0 !important;
}
.sahoma-megamenu__inner--kids {
    justify-content: space-evenly !important;
    padding: 40px !important;
}

/* Mega menu columns */
.sahoma-megamenu__col {
    width: 25% !important;
    padding-left: 7% !important;
    display: flex !important;
    flex-direction: column !important;
    align-self: flex-start !important;
}
.sahoma-megamenu__col:first-child {
    padding-left: 0 !important;
}
.sahoma-megamenu__title {
    display: block !important;
    font-family: "Bebas Neue", sans-serif !important;
    font-size: 22px !important;
    font-weight: 400 !important;
    color: #000 !important;
    margin-bottom: 8px !important;
}
.sahoma-megamenu__links {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}
.sahoma-megamenu__links li {
    margin-bottom: 5px !important;
}
.sahoma-megamenu__links a {
    font-family: "EB Garamond", serif !important;
    font-size: 18px !important;
    color: #000 !important;
    text-decoration: none !important;
    transition: color 0.2s ease !important;
}
.sahoma-megamenu__links a:hover {
    color: #B46A55 !important;
}
.sahoma-megamenu__viewall {
    display: inline-block !important;
    font-family: "EB Garamond", serif !important;
    font-size: 18px !important;
    color: #B46A55 !important;
    text-decoration: none !important;
}
.sahoma-megamenu__viewall:hover {
    text-decoration: none !important;
}

/* Mega menu images */
.sahoma-megamenu .sahoma-megamenu__image {
    width: 25% !important;
    align-self: stretch !important;
    margin-left: 15px !important;
    background-size: cover !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-decoration: none !important;
}
.sahoma-megamenu .sahoma-megamenu__image span {
    font-family: "Bebas Neue", sans-serif !important;
    font-size: 25px !important;
    color: #fff !important;
}

/* Kids image blocks */
.sahoma-megamenu__image-block {
    width: 20vw !important;
    height: 17.5vw !important;
    background-size: cover !important;
    background-position: center !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-decoration: none !important;
    margin-top: 10px !important;
}
.sahoma-megamenu__image-block span {
    font-family: "Bebas Neue", sans-serif !important;
    font-size: 25px !important;
    color: #fff !important;
}

/* Mobile nav arrow */
.sahoma-nav__arrow {
    display: none !important;
}

/* Mobile slides (in nav) */
.sahoma-mobile-slides {
    display: none !important;
}

/* Desktop/Mobile visibility helpers */
.mobile-only {
    display: none !important;
}
.desktop-only {
    display: flex !important;
}

/* ============================================
   RESPONSIVE - TABLET & MOBILE
============================================ */
@media (max-width: 991px) {
    .mobile-only {
        display: flex !important;
    }
    .desktop-only {
        display: none !important;
    }

    /* Inner bar */
    .sahoma-header__inner {
        height: 70px !important;
        overflow: visible !important;
    }

    /* Même répartition qu'Elementor : middleheader=90px, rightheader=90px, leftheader=auto */
    .sahoma-header__left {
        flex: 1 1 auto !important;
        order: 2 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        min-width: 0 !important;
    }
    .sahoma-header__center {
        flex: 0 0 90px !important;
        order: 1 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
        gap: 15px !important;
    }
    .sahoma-header__right {
        flex: 0 0 90px !important;
        order: 3 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: flex-end !important;
        gap: 20px !important;
    }

    /* Toggle visible */
    .sahoma-mobile-toggle {
        display: block !important;
    }

    /* Cart count position on mobile */
    .sahoma-cart-count {
        top: 6px !important;
    }

    /* Nav as overlay panel */
    .sahoma-nav {
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        width: 100% !important;
        height: 100% !important;
        background: #fff !important;
        z-index: 9999 !important;
        overflow-y: auto !important;
        transform: translateX(-100%) !important;
        transition: transform 0.3s ease !important;
        padding-top: 70px !important;
    }
    .sahoma-nav.open {
        transform: translateX(0) !important;
    }

    /* Nav list vertical */
    .sahoma-nav__list {
        flex-direction: column !important;
        align-items: stretch !important;
        padding-bottom: 20px !important;
    }
    .sahoma-nav__item {
        text-align: left !important;
    }
    .sahoma-nav__link {
        color: #000 !important;
        padding: 8px 25px !important;
        font-size: 25px !important;
        text-align: left !important;
        width: 100% !important;
    }
    .sahoma-header.scrolled .sahoma-nav__link {
        color: #000 !important;
    }

    /* Dropdown arrow */
    .has-megamenu {
        display: flex !important;
        flex-wrap: wrap !important;
        align-items: center !important;
    }
    .sahoma-nav__arrow {
        display: block !important;
        position: absolute !important;
        right: 20px !important;
        top: 12px !important;
        width: 20px !important;
        height: 20px !important;
        cursor: pointer !important;
    }
    .sahoma-nav__arrow::after {
        content: '' !important;
        display: block !important;
        width: 10px !important;
        height: 10px !important;
        border-right: 2px solid #000 !important;
        border-bottom: 2px solid #000 !important;
        transform: rotate(45deg) !important;
        transition: transform 0.2s ease !important;
    }
    .has-megamenu.open > .sahoma-nav__arrow::after {
        transform: rotate(-135deg) !important;
    }

    /* Mega menu mobile */
    .sahoma-megamenu {
        position: static !important;
        border-top: none !important;
    }
    .sahoma-megamenu__inner {
        flex-direction: column !important;
        padding: 0 25px 15px 25px !important;
    }
    .sahoma-megamenu__col {
        width: 100% !important;
        padding-left: 0 !important;
        margin-bottom: 10px !important;
    }
    .sahoma-megamenu__links a {
        font-size: 20px !important;
        line-height: 28px !important;
    }
    .sahoma-megamenu__viewall {
        font-size: 20px !important;
        line-height: 28px !important;
    }

    /* Mobile account item */
    .sahoma-nav__item--account {
        background: #FAF1E6 !important;
        margin-top: 15px !important;
        margin-bottom: -20px !important;
        padding: 15px 0 !important;
    }
    .sahoma-nav__item--account .sahoma-nav__link {
        font-family: "EB Garamond", serif !important;
        text-transform: none !important;
        font-size: 18px !important;
        display: flex !important;
        align-items: center !important;
        gap: 10px !important;
    }
    .sahoma-nav__item--account img {
        filter: none !important;
    }

    /* Mobile slides */
    .sahoma-mobile-slides {
        display: block !important;
        margin-top: 15px !important;
        padding: 0 25px !important;
    }
    .sahoma-mobile-slides__track {
        display: flex !important;
        overflow-x: auto !important;
        scroll-snap-type: x mandatory !important;
        -webkit-overflow-scrolling: touch !important;
        scrollbar-width: none !important;
        gap: 0 !important;
    }
    .sahoma-mobile-slides__track::-webkit-scrollbar {
        display: none !important;
    }
    .sahoma-mobile-slides__item {
        flex: 0 0 100% !important;
        scroll-snap-align: start !important;
        min-height: 200px !important;
        background-size: cover !important;
        background-position: center !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        text-decoration: none !important;
    }
    .sahoma-mobile-slides__item span {
        font-family: "Bebas Neue", sans-serif !important;
        font-size: 25px !important;
        color: #fff !important;
        font-weight: 400 !important;
    }
    .sahoma-mobile-slides__dots {
        display: flex !important;
        justify-content: center !important;
        gap: 8px !important;
        margin-top: 10px !important;
        margin-bottom: 20px !important;
    }
    .sahoma-mobile-slides__dot {
        width: 50% !important;
        height: 2px !important;
        background: rgba(0,0,0,0.2) !important;
        cursor: pointer !important;
        transition: background 0.2s ease !important;
    }
    .sahoma-mobile-slides__dot.active {
        background: #000 !important;
    }
}
