/* =========================================================
   LABYRINTH GLOBAL SCROLL SYSTEM
========================================================= */

.labyrinth-homepage,
.labyrinth-homepage * { box-sizing:border-box; }

.labyrinth-homepage { width:100%; position:relative; }
.labyrinth-homepage img { max-width:100%; }
.labyrinth-homepage h1,
.labyrinth-homepage h2,
.labyrinth-homepage h3,
.labyrinth-homepage p { margin-top:0; }

html.labyrinth-scroll-active,
html.labyrinth-scroll-active body {
    scroll-behavior:auto !important;
    scroll-snap-type:none !important;
}

body { overflow-x:hidden; }

/* =========================================================
   DESKTOP
   One scroll panel = one complete viewport.
   Products + Benefits are intentionally one panel.
========================================================= */

@media (min-width:768px) {
    .labyrinth-homepage .lab-desktop-scroll-panel {
        position:relative !important;
        width:100% !important;
        height:100dvh !important;
        min-height:100dvh !important;
        max-height:100dvh !important;
        overflow:hidden !important;
        scroll-margin-top:0 !important;
        opacity:1 !important;
        transform:none !important;
        transition:none !important;
    }

    .labyrinth-homepage .lab-commerce-scroll-group {
        display:flex !important;
        flex-direction:column !important;
        justify-content:center !important;
        align-items:stretch !important;
        gap:0 !important;
        background:#eeeae8 !important;
    }

    .labyrinth-homepage .lab-commerce-scroll-group > .lab-products-section {
        flex:0 0 auto !important;
        width:100% !important;
    }

    .labyrinth-homepage .lab-commerce-scroll-group > .lab-benefits-section {
        flex:0 0 auto !important;
        width:100% !important;
    }
}

/* =========================================================
   MOBILE
   Every category, product and benefit is its own panel.
========================================================= */

@media (max-width:767px) {

    .labyrinth-homepage .lab-mobile-scroll-panel {
        position:relative !important;
        width:100% !important;
        height:100svh !important;
        min-height:100svh !important;
        max-height:100svh !important;
        overflow:hidden !important;
        scroll-margin-top:0 !important;
        opacity:1 !important;
        transform:none !important;
        transition:none !important;
        touch-action:none !important;
    }

    /* Category cards become individual full-screen panels. */
    .labyrinth-homepage .lab-categories-section {
        height:auto !important;
        min-height:0 !important;
        max-height:none !important;
        padding:0 16px !important;
        overflow:visible !important;
        background:#eeebeb !important;
    }

    .labyrinth-homepage .lab-categories-grid {
        display:block !important;
        width:100% !important;
        max-width:none !important;
        margin:0 !important;
    }

    .labyrinth-homepage .lab-categories-grid .lab-category-card {
        width:100% !important;
        height:100svh !important;
        min-height:100svh !important;
        max-height:100svh !important;
        margin:0 !important;
        display:block !important;
    }

    /* Signature remains one complete panel. */
    .labyrinth-homepage .lab-signature-section.lab-mobile-scroll-panel {
        overflow:hidden !important;
    }

    /* Products: one product per vertical panel. */
    .labyrinth-homepage .lab-commerce-scroll-group {
        display:block !important;
        height:auto !important;
        min-height:0 !important;
        max-height:none !important;
        overflow:visible !important;
        background:#eeeae8 !important;
    }

    .labyrinth-homepage .lab-products-section {
        height:auto !important;
        min-height:0 !important;
        max-height:none !important;
        padding:0 !important;
        overflow:visible !important;
        background:#eeeae8 !important;
    }

    .labyrinth-homepage .lab-products-heading {
        position:absolute !important;
        z-index:10 !important;
        top:18px !important;
        left:18px !important;
        right:18px !important;
        width:auto !important;
        margin:0 !important;
    }

    .labyrinth-homepage .lab-products-grid {
        display:block !important;
        width:100% !important;
        max-width:none !important;
        margin:0 !important;
        padding:0 !important;
        overflow:visible !important;
    }

    .labyrinth-homepage .lab-products-grid .lab-product-card {
        width:100% !important;
        height:100svh !important;
        min-height:100svh !important;
        max-height:100svh !important;
        margin:0 !important;
        display:flex !important;
        flex-direction:column !important;
        box-shadow:none !important;
        overflow:hidden !important;
    }

    .labyrinth-homepage .lab-products-grid .lab-product-image-wrap {
        flex:1 1 auto !important;
        min-height:0 !important;
        aspect-ratio:auto !important;
    }

    .labyrinth-homepage .lab-products-grid .lab-product-info {
        flex:0 0 auto !important;
        padding:18px 20px 24px !important;
    }

    /* Benefits: one column = one complete panel. */
    .labyrinth-homepage .lab-benefits-section {
        height:auto !important;
        min-height:0 !important;
        max-height:none !important;
        padding:0 !important;
        overflow:visible !important;
    }

    .labyrinth-homepage .lab-benefits-grid {
        display:block !important;
        width:100% !important;
        max-width:none !important;
        margin:0 !important;
    }

    .labyrinth-homepage .lab-benefits-grid .lab-benefit-card {
        width:100% !important;
        height:100svh !important;
        min-height:100svh !important;
        max-height:100svh !important;
        margin:0 !important;
        padding:28px 24px !important;
        display:flex !important;
        align-items:center !important;
        justify-content:flex-start !important;
        border:0 !important;
    }
}

/* Mobile category cards: full viewport scroll panel; inner image is sized in categories.css. */
@media (max-width:767px) {
    .labyrinth-homepage .lab-categories-section .lab-category-card.lab-mobile-scroll-panel {
        width:100% !important;
        height:100svh !important;
        min-height:100svh !important;
        max-height:100svh !important;
        padding:0 !important;
        margin:0 !important;
        overflow:hidden !important;
    }
}

/* =========================================
   TRANSPARENT HEADER OVER HERO
   ========================================= */

header,
.site-header,
#masthead,
.elementor-location-header,
.ekit-template-content-header,
.hfe-site-header {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    z-index: 99999 !important;

    background: transparent !important;
    background-color: transparent !important;
    box-shadow: none !important;
    border: none !important;
}

/* Keep header above all homepage sections */
header *,
.site-header *,
#masthead *,
.elementor-location-header *,
.ekit-template-content-header *,
.hfe-site-header * {
    position: relative;
}

/* Homepage starts underneath the transparent header */
.labyrinth-homepage {
    position: relative;
    z-index: 1;
}

/* Hero stays underneath header */
.labyrinth-homepage .lab-hero-section {
    position: relative;
    z-index: 1;
}


/* =========================================================
   LIGHT SECTION HEADER THEME
   Categories + Signature use light backgrounds, so the
   transparent header switches its navigation/logo to black.
========================================================= */
header.labyrinth-header-light,
.site-header.labyrinth-header-light,
#masthead.labyrinth-header-light,
.elementor-location-header.labyrinth-header-light,
.ekit-template-content-header.labyrinth-header-light,
[data-elementor-type="header"].labyrinth-header-light,
.hfe-site-header.labyrinth-header-light {
    background: transparent !important;
    background-color: transparent !important;
}

header.labyrinth-header-light a,
header.labyrinth-header-light button,
header.labyrinth-header-light .menu-item,
.site-header.labyrinth-header-light a,
.site-header.labyrinth-header-light button,
#masthead.labyrinth-header-light a,
#masthead.labyrinth-header-light button,
.elementor-location-header.labyrinth-header-light a,
.elementor-location-header.labyrinth-header-light button,
.ekit-template-content-header.labyrinth-header-light a,
.ekit-template-content-header.labyrinth-header-light button,
.hfe-site-header.labyrinth-header-light a,
.hfe-site-header.labyrinth-header-light button,
[data-elementor-type="header"].labyrinth-header-light a,
[data-elementor-type="header"].labyrinth-header-light button {
    color:#000 !important;
}

header.labyrinth-header-light svg,
.site-header.labyrinth-header-light svg,
#masthead.labyrinth-header-light svg,
.elementor-location-header.labyrinth-header-light svg,
.ekit-template-content-header.labyrinth-header-light svg,
.hfe-site-header.labyrinth-header-light svg,
[data-elementor-type="header"].labyrinth-header-light svg {
    fill:#000 !important;
    stroke:#000 !important;
}

/* Logo image: turn the existing light/white logo into black without
   replacing the admin/theme logo asset. */
header.labyrinth-header-light .custom-logo,
header.labyrinth-header-light .site-logo img,
header.labyrinth-header-light .site-branding img,
header.labyrinth-header-light [class*="logo"] img,
.site-header.labyrinth-header-light .custom-logo,
.site-header.labyrinth-header-light .site-logo img,
.site-header.labyrinth-header-light .site-branding img,
.site-header.labyrinth-header-light [class*="logo"] img,
#masthead.labyrinth-header-light .custom-logo,
#masthead.labyrinth-header-light .site-logo img,
#masthead.labyrinth-header-light .site-branding img,
#masthead.labyrinth-header-light [class*="logo"] img,
.elementor-location-header.labyrinth-header-light [class*="logo"] img,
.ekit-template-content-header.labyrinth-header-light [class*="logo"] img,
.hfe-site-header.labyrinth-header-light [class*="logo"] img,
[data-elementor-type="header"].labyrinth-header-light img[alt*="logo" i],
[data-elementor-type="header"].labyrinth-header-light [class*="logo"] img {
    filter:brightness(0) !important;
}

/* =========================================================
   HEADER LOGO + MOBILE HAMBURGER — LIGHT SECTIONS
   Categories / Signature use a light background.
   The existing white logo image is converted to black.
========================================================= */

header.labyrinth-header-light img[src*="Labyrinth-R4aa"],
.site-header.labyrinth-header-light img[src*="Labyrinth-R4aa"],
#masthead.labyrinth-header-light img[src*="Labyrinth-R4aa"],
.elementor-location-header.labyrinth-header-light img[src*="Labyrinth-R4aa"],
[data-elementor-type="header"].labyrinth-header-light img[src*="Labyrinth-R4aa"],
.ekit-template-content-header.labyrinth-header-light img[src*="Labyrinth-R4aa"],
.hfe-site-header.labyrinth-header-light img[src*="Labyrinth-R4aa"] {
    filter: brightness(0) !important;
}

/* Mobile Elementor header is a separate header layout. */
@media (max-width: 767px) {
    header.labyrinth-header-light .elementor-element-3763a629 img[src*="Labyrinth-R4aa"],
    .site-header.labyrinth-header-light .elementor-element-3763a629 img[src*="Labyrinth-R4aa"],
    #masthead.labyrinth-header-light .elementor-element-3763a629 img[src*="Labyrinth-R4aa"],
    .elementor-location-header.labyrinth-header-light .elementor-element-3763a629 img[src*="Labyrinth-R4aa"],
    [data-elementor-type="header"].labyrinth-header-light .elementor-element-3763a629 img[src*="Labyrinth-R4aa"],
    .ekit-template-content-header.labyrinth-header-light .elementor-element-3763a629 img[src*="Labyrinth-R4aa"],
    .hfe-site-header.labyrinth-header-light .elementor-element-3763a629 img[src*="Labyrinth-R4aa"],
    .elementor-element-3763a629.labyrinth-header-light img[src*="Labyrinth-R4aa"] {
        filter: brightness(0) !important;
    }

    /* Mobile hamburger uses spans, not SVG, so fill the bars directly. */
    header.labyrinth-header-light .elementor-element-3763a629 .elementskit-menu-hamburger-icon,
    .site-header.labyrinth-header-light .elementor-element-3763a629 .elementskit-menu-hamburger-icon,
    #masthead.labyrinth-header-light .elementor-element-3763a629 .elementskit-menu-hamburger-icon,
    .elementor-location-header.labyrinth-header-light .elementor-element-3763a629 .elementskit-menu-hamburger-icon,
    [data-elementor-type="header"].labyrinth-header-light .elementor-element-3763a629 .elementskit-menu-hamburger-icon,
    .ekit-template-content-header.labyrinth-header-light .elementor-element-3763a629 .elementskit-menu-hamburger-icon,
    .hfe-site-header.labyrinth-header-light .elementor-element-3763a629 .elementskit-menu-hamburger-icon,
    .elementor-element-3763a629.labyrinth-header-light .elementskit-menu-hamburger-icon {
        background-color: #000 !important;
        border-color: #000 !important;
    }
}
