@font-face {
    font-family: "Louis Vuitton Regular";
    src:
        url("fonts/louis-vuitton-regular.woff2") format("woff2"),
        url("fonts/louis-vuitton-regular.woff") format("woff"),
        url("fonts/louis-vuitton-regular.ttf") format("truetype");
    font-style: normal;
    font-weight: 400;
    font-display: swap;
}

.font-louis-vuitton-regular {
    font-family: "Louis Vuitton Regular", serif;
}

/* Header shell: transparent on top, white on scroll */
#site-header.site-header,
.site-header.dynamic-header,
.elementor-location-header {
    background-color: transparent !important;
    left: 0;
    position: fixed;
    right: 0;
    top: 0;
    transition: background-color 0.25s ease, box-shadow 0.25s ease;
    width: 100%;
    z-index: 9999;
}

#site-header.site-header,
#site-header.site-header *,
.site-header.dynamic-header,
.site-header.dynamic-header *,
.elementor-location-header,
.elementor-location-header * {
    pointer-events: none;
}

#site-header.site-header a,
#site-header.site-header button,
#site-header.site-header input,
#site-header.site-header select,
#site-header.site-header textarea,
#site-header.site-header [role="button"],
#site-header.site-header .site-navigation,
#site-header.site-header .site-navigation *,
#site-header.site-header .site-navigation-toggle,
#site-header.site-header .site-navigation-toggle *,
.site-header.dynamic-header a,
.site-header.dynamic-header button,
.site-header.dynamic-header input,
.site-header.dynamic-header select,
.site-header.dynamic-header textarea,
.site-header.dynamic-header [role="button"],
.site-header.dynamic-header .site-navigation,
.site-header.dynamic-header .site-navigation *,
.site-header.dynamic-header .site-navigation-toggle,
.site-header.dynamic-header .site-navigation-toggle *,
.elementor-location-header a,
.elementor-location-header button,
.elementor-location-header input,
.elementor-location-header select,
.elementor-location-header textarea,
.elementor-location-header [role="button"],
.elementor-location-header .elementor-menu-toggle,
.elementor-location-header .elementor-menu-toggle *,
.elementor-location-header .elementor-nav-menu,
.elementor-location-header .elementor-nav-menu *,
.elementor-location-header .elementor-icon,
.elementor-location-header .elementor-icon * {
    pointer-events: auto;
}

body:not(.sofitalib-header-scrolled) #site-header.site-header,
body:not(.sofitalib-header-scrolled) .site-header.dynamic-header,
body:not(.sofitalib-header-scrolled) .elementor-location-header {
    background-color: transparent !important;
    box-shadow: none !important;
}

body.sofitalib-header-scrolled #site-header.site-header,
body.sofitalib-header-scrolled .site-header.dynamic-header,
body.sofitalib-header-scrolled .elementor-location-header {
    background-color: #fff !important;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
}

/* Keep inner wrappers transparent so parent controls the visual state */
#site-header.site-header .header-inner,
.site-header.dynamic-header .header-inner,
.elementor-location-header .elementor-section,
.elementor-location-header .elementor-container {
    background: transparent !important;
}

/* Header text/icon color transitions */
#site-header.site-header a,
#site-header.site-header .site-title a,
#site-header.site-header .site-description,
#site-header.site-header .site-navigation-toggle,
#site-header.site-header .site-navigation ul.menu li,
.site-header.dynamic-header a,
.site-header.dynamic-header .site-title a,
.site-header.dynamic-header .site-description,
.site-header.dynamic-header .site-navigation-toggle,
.site-header.dynamic-header .site-navigation ul.menu li,
.elementor-location-header a,
.elementor-location-header .elementor-icon,
.elementor-location-header .elementor-icon i,
.elementor-location-header svg {
    transition: color 0.25s ease, fill 0.25s ease, stroke 0.25s ease, mix-blend-mode 0.25s ease;
}

/* Top (transparent) state:
   mix-blend-mode:difference gives white on dark backgrounds and black on light backgrounds. */
body:not(.sofitalib-header-scrolled) #site-header.site-header a,
body:not(.sofitalib-header-scrolled) #site-header.site-header .site-title a,
body:not(.sofitalib-header-scrolled) #site-header.site-header .site-description,
body:not(.sofitalib-header-scrolled) #site-header.site-header .site-navigation-toggle,
body:not(.sofitalib-header-scrolled) #site-header.site-header .site-navigation ul.menu li,
body:not(.sofitalib-header-scrolled) .site-header.dynamic-header a,
body:not(.sofitalib-header-scrolled) .site-header.dynamic-header .site-title a,
body:not(.sofitalib-header-scrolled) .site-header.dynamic-header .site-description,
body:not(.sofitalib-header-scrolled) .site-header.dynamic-header .site-navigation-toggle,
body:not(.sofitalib-header-scrolled) .site-header.dynamic-header .site-navigation ul.menu li,
body:not(.sofitalib-header-scrolled) .elementor-location-header a,
body:not(.sofitalib-header-scrolled) .elementor-location-header .elementor-icon,
body:not(.sofitalib-header-scrolled) .elementor-location-header .elementor-icon i,
body:not(.sofitalib-header-scrolled) .elementor-location-header svg {
    color: #fff !important;
    fill: currentColor;
    mix-blend-mode: difference;
    stroke: currentColor;
}

body:not(.sofitalib-header-scrolled) #site-header.site-header .site-navigation-toggle-icon:before,
body:not(.sofitalib-header-scrolled) #site-header.site-header .site-navigation-toggle-icon:after,
body:not(.sofitalib-header-scrolled) .site-header.dynamic-header .site-navigation-toggle-icon:before,
body:not(.sofitalib-header-scrolled) .site-header.dynamic-header .site-navigation-toggle-icon:after {
    background-color: currentColor !important;
}

/* Scrolled state: white header with black text/icons */
body.sofitalib-header-scrolled #site-header.site-header a,
body.sofitalib-header-scrolled #site-header.site-header .site-title a,
body.sofitalib-header-scrolled #site-header.site-header .site-description,
body.sofitalib-header-scrolled #site-header.site-header .site-navigation-toggle,
body.sofitalib-header-scrolled #site-header.site-header .site-navigation ul.menu li,
body.sofitalib-header-scrolled .site-header.dynamic-header a,
body.sofitalib-header-scrolled .site-header.dynamic-header .site-title a,
body.sofitalib-header-scrolled .site-header.dynamic-header .site-description,
body.sofitalib-header-scrolled .site-header.dynamic-header .site-navigation-toggle,
body.sofitalib-header-scrolled .site-header.dynamic-header .site-navigation ul.menu li,
body.sofitalib-header-scrolled .elementor-location-header a,
body.sofitalib-header-scrolled .elementor-location-header .elementor-icon,
body.sofitalib-header-scrolled .elementor-location-header .elementor-icon i,
body.sofitalib-header-scrolled .elementor-location-header svg {
    color: #111 !important;
    fill: currentColor;
    mix-blend-mode: normal !important;
    stroke: currentColor;
}

body.sofitalib-header-scrolled #site-header.site-header .site-navigation-toggle-icon:before,
body.sofitalib-header-scrolled #site-header.site-header .site-navigation-toggle-icon:after,
body.sofitalib-header-scrolled .site-header.dynamic-header .site-navigation-toggle-icon:before,
body.sofitalib-header-scrolled .site-header.dynamic-header .site-navigation-toggle-icon:after {
    background-color: currentColor !important;
}

/* Keep dropdown menus readable in all states */
.site-header .site-navigation ul.menu li ul,
.site-navigation-dropdown ul.menu,
.elementor-location-header .elementor-nav-menu--dropdown,
.elementor-location-header .sub-menu {
    background: #fff !important;
}

.site-header .site-navigation ul.menu li ul a,
.site-navigation-dropdown ul.menu li a,
.elementor-location-header .elementor-nav-menu--dropdown a,
.elementor-location-header .sub-menu a {
    color: #111 !important;
    mix-blend-mode: normal !important;
}

/* Account for admin bar offset on logged-in view */
body.admin-bar #site-header.site-header,
body.admin-bar .site-header.dynamic-header,
body.admin-bar .elementor-location-header {
    top: 32px;
}

@media (max-width: 782px) {
    body.admin-bar #site-header.site-header,
    body.admin-bar .site-header.dynamic-header,
    body.admin-bar .elementor-location-header {
        top: 46px;
    }
}
