/*
Theme Name: Hello Freiberg
Description: Theme enfant de Hello Elementor.
Author: Maxime Dreyfus
Author URI: http://t3ke.com
Template: hello-elementor
Version: 1.0
*/
html{
	background-color: #1c1c1c;
}
.elementor-element-16a5d481 {
    display: none !important;
}
.ehp-header__elements-container{
	max-width: 1410px;
	margin: auto;
	
}

/*Effet top home*/
body {
    animation: fadeIn 0.6s 1s ease-out forwards;
	opacity: 0;
	background-color: #1C1C1C;
    color: #FFF;
}

@keyframes fadeIn {
    0% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}
.elementor-74 {
    animation: softFadeBlur 2.0s ease-out forwards;
}

@keyframes softFadeBlur {
    0% {
        opacity: 0;
        filter: blur(25px) brightness(0.7);
    }
    50% {
        opacity: 0.5;
        filter: blur(10px) brightness(0.85);
    }
    100% {
        opacity: 1;
        filter: blur(0) brightness(1);
    }
}

/* SLIDER */
/* Limiter la hauteur du carrousel */

/*

@keyframes scroll-infinite {
    0% {
        transform: translateX(0);
    }
    100% {
        transform: translateX(-50%);
    }
}

.elementor-element-8489213 .swiper-wrapper {
    animation: scroll-infinite 200s linear infinite;
    display: flex;
    width: max-content;
}

.elementor-element-8489213 .swiper-wrapper::after {
    content: "";
    display: flex;
    width: 100%;
}
*/


/* Dupliquer le contenu pour un défilement infini */
.slider01 .swiper-wrapper::after,
.slider02 .swiper-wrapper::after {
    content: attr(data-content);
    display: flex;
    width: 100%;
}

/* Animation gauche pour slider01 */
.slider01 .swiper-wrapper {
    animation: slideLeft 60s linear infinite;
}

@keyframes slideLeft {
    from {
        transform: translateX(0%);
    }
    to {
        transform: translateX(-50%);
    }
}

/* Animation droite pour slider02 */
.slider02 .swiper-wrapper {
    animation: slideRight 60s linear infinite;
}

@keyframes slideRight {
    from {
        transform: translateX(-0%);
    }
    to {
        transform: translateX(50%);
    }
}

/* Vitesses différentes (optionnel) */
.slider01.speed-slow .swiper-wrapper {
    animation-duration: 60s;
}

.slider02.speed-fast .swiper-wrapper {
    animation-duration: 20s;
}

/* Effet de fondu sur les bords (optionnel) */
.slider01::before,
.slider01::after,
.slider02::before,
.slider02::after {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    width: 100px;
    z-index: 2;
    pointer-events: none;
}

.slider01::before,
.slider02::before {
    left: 0;
    background: linear-gradient(to right, #251f1e, transparent);
}

.slider01::after,
.slider02::after {
    right: 0;
    background: linear-gradient(to left, #251f1e, transparent);
}

/* ========================================
   BOUTON BURGER - Blanc en haut à droite
   ======================================== */

@media (max-width: 1024px) {
    
    /* Conteneur du bouton burger */
    .ehp-header__menu-cart-container {
        position: fixed !important;
        top: 20px !important;
        right: 20px !important;
        z-index: 10001 !important;
    }

    /* Bouton burger */
    .ehp-header__button-toggle {
        background: transparent !important;
        border: none !important;
        padding: 10px !important;
        cursor: pointer !important;
        transition: transform 0.3s ease !important;
    }

    .ehp-header__button-toggle:hover {
        transform: scale(1.1);
    }

    /* Icône burger blanche */
    .ehp-header__toggle-icon--open svg {
        fill: #ffffff !important;
        width: 28px !important;
        height: 28px !important;
        transition: all 0.3s ease;
    }

    /* Icône close (X) blanche */
    .ehp-header__toggle-icon--close svg {
        fill: #ffffff !important;
        width: 24px !important;
        height: 24px !important;
    }

    /* ========================================
       MENU MOBILE - Animation slide élégante
       ======================================== */

    .ehp-header__navigation {
        position: fixed !important;
        top: 0 !important;
        right: -100% !important;
        width: 100% !important;
        max-width: 400px !important;
        height: 100vh !important;
        background: linear-gradient(135deg, #3c3c3b 0%, #2a2a29 100%) !important;
        padding: 100px 40px 40px 40px !important;
        overflow-y: auto !important;
        transition: right 0.6s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.6s ease !important;
        z-index: 10000 !important;
        opacity: 0 !important;
        display: block !important;
        visibility: hidden !important;
    }

    /* Menu ouvert - Slide depuis la droite */
    .ehp-header__navigation[aria-hidden="false"] {
        right: 0 !important;
        opacity: 1 !important;
        visibility: visible !important;
    }

    /* Overlay sombre derrière le menu */
    .ehp-header__navigation::before {
        content: '';
        position: fixed;
        top: 0;
        left: -100vw;
        width: 100vw;
        height: 100vh;
        background: rgba(0, 0, 0, 0);
        transition: all 0.6s ease;
        pointer-events: none;
        z-index: -1;
    }

    .ehp-header__navigation[aria-hidden="false"]::before {
        background: rgba(0, 0, 0, 0.7);
        left: -100vw;
        pointer-events: all;
    }

    /* ========================================
       LISTE DES LIENS
       ======================================== */

    .ehp-header__menu {
        list-style: none !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    /* ========================================
       LIENS DU MENU - Animation cascade
       ======================================== */

    .ehp-header__item {
        display: block !important;
        padding: 20px 0 !important;
        color: #ffffff !important;
        font-size: 1.8rem !important;
        font-weight: 300 !important;
        letter-spacing: 2px !important;
        text-transform: uppercase !important;
        text-decoration: none !important;
        border-bottom: 1px solid rgba(255, 255, 255, 0.1) !important;
        transform: translateX(50px);
        opacity: 0;
        transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
        position: relative;
        overflow: hidden;
    }

    /* Animation cascade des liens quand menu ouvert */
    .ehp-header__navigation[aria-hidden="false"] .ehp-header__item {
        transform: translateX(0);
        opacity: 1;
    }

    .ehp-header__navigation[aria-hidden="false"] .menu-item:nth-child(1) .ehp-header__item {
        transition-delay: 0.1s;
    }

    .ehp-header__navigation[aria-hidden="false"] .menu-item:nth-child(2) .ehp-header__item {
        transition-delay: 0.15s;
    }

    .ehp-header__navigation[aria-hidden="false"] .menu-item:nth-child(3) .ehp-header__item {
        transition-delay: 0.2s;
    }

    .ehp-header__navigation[aria-hidden="false"] .menu-item:nth-child(4) .ehp-header__item {
        transition-delay: 0.25s;
    }

    .ehp-header__navigation[aria-hidden="false"] .menu-item:nth-child(5) .ehp-header__item {
        transition-delay: 0.3s;
    }

    /* ========================================
       BOUTON CTA (Réserver) DANS LE MENU
       ======================================== */

    .ehp-header__navigation .ehp-header__ctas-container {
        margin-top: 40px !important;
        transform: translateY(30px);
        opacity: 0;
        transition: all 0.5s ease 0.35s;
    }

    .ehp-header__navigation[aria-hidden="false"] .ehp-header__ctas-container {
        transform: translateY(0);
        opacity: 1;
    }

    .ehp-header__navigation .ehp-button {
        width: 100% !important;
        background: #b41c1e !important;
        color: #ffffff !important;
        padding: 18px 30px !important;
        font-size: 15px !important;
        letter-spacing: 2px !important;
        text-align: center !important;
        border: none !important;
        transition: all 0.3s ease !important;
    }

    .ehp-header__navigation .ehp-button:hover {
        background: #3c3c3b !important;
        transform: translateY(-3px);
        box-shadow: 0 10px 30px rgba(180, 28, 30, 0.4);
    }

    /* ========================================
       EMPÊCHER LE SCROLL DU BODY
       ======================================== */

    body:has(.ehp-header__navigation[aria-hidden="false"]) {
        overflow: hidden !important;
    }

    /* Alternative si :has() ne fonctionne pas */
    body.menu-open {
        overflow: hidden !important;
    }

    /* ========================================
       RESPONSIVE AJUSTEMENTS
       ======================================== */

    @media (max-width: 480px) {
        .ehp-header__navigation {
            max-width: 100% !important;
            padding: 80px 30px 30px 30px !important;
        }

        .ehp-header__item {
            font-size: 1.4rem !important;
            padding: 15px 0 !important;
        }

        .ehp-header__menu-cart-container {
            top: 15px !important;
            right: 15px !important;
        }
    }

}

/* ========================================
   DESKTOP - Cacher ces éléments sur grand écran
   ======================================== */

@media (min-width: 1025px) {
    .ehp-header__button-toggle {
        display: none !important;
    }
}

/* FOOTER */
footer .ehp-flex-footer__site-link-container{
	display:none;
}
footer .ehp-flex-footer__groups-row{
	padding:10px;
}
@media (max-width: 1024px) {
	.ehp-header__ctas-container a.is-type-button{
		width: 200px !important;
	}
}