/* --- RÃ©initialisation et Polices --- */
* { margin: 0; padding: 0; box-sizing: border-box; }
body { font-family: 'Inter', sans-serif; color: #000; }
/* =================================
   RÈGLES DE TYPOGRAPHIE "ARISE"
   ================================= */

/* 1. Police des Titres (l'esprit "ARISE") */
h1, h2, h3, h4, h5, h6,
.panel-content h2, 
.section-details-premium h3, 
.section-savoir-faire h2 {
    font-family: 'Cormorant', serif; /* NOTRE NOUVELLE POLICE */
    font-weight: 700; /* En gras */
    text-transform: uppercase;
}

/* 2. Police de Corps (le texte lisible) */
body, p, a, span, button, li, 
.btn-discover, 
.slide-button,
.detail-item p,
.section-savoir-faire p {
    font-family: 'Inter', sans-serif;
    font-weight: 400;
}

/* On s'assure que les boutons en gras utilisent Inter */
.btn-discover, .slide-button {
    font-weight: 600;
}
/* --- Nav Bar --- */
.creative-nav {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    padding: 25px 30px; 
    z-index: 100;
    display: flex;
    justify-content: space-between;
    align-items: center;
    mix-blend-mode: difference;
}
.nav-logo img {
    height: 35px;
    filter: invert(1);
}
.nav-cart {
    display: flex;
    gap: 20px;
    filter: invert(1);
}
.nav-cart a { cursor: pointer; }
.nav-cart a svg {
    stroke-width: 2.5px;
    width: 22px;
    height: 22px;
}

/* --- Conteneur Slider --- */
.slider-container {
    height: 100vh;
    scroll-snap-type: y mandatory;
    overflow-y: scroll;
    scrollbar-width: none;
    -ms-overflow-style: none;
}
.slider-container::-webkit-scrollbar { display: none; }

/* --- Slides --- */
.slide {
    height: 100vh;
    width: 100%;
    scroll-snap-align: start;
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: hidden;
}
.slide-background {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
    background-color: #f0ebe5;
}
.slide-background img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* AJOUTÃ‰ : RÃ¨gle pour que la vidÃ©o s'adapte 
  parfaitement Ã  l'arriÃ¨re-plan du slide
*/
.slide-background video {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* --- Contenu des Slides --- */
.slide-content {
    text-align: center;
    color: #FFF;
}
.slide-title {
    font-family: 'Playfair Display', serif;
    font-size: 6vw;
    font-weight: 700;
    line-height: 1;
}
.slide-subtitle {
    font-family: 'Inter', sans-serif;
    font-size: 2vw;
    font-weight: 400;
    margin-bottom: 30px;
}
.text-wrapper {
    overflow: hidden;
}
.text-wrapper h1, .text-wrapper h2 {
    transform: translateY(100%);
}
.slide-button {
    font-family: 'Inter', sans-serif;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1px;
    font-size: 14px;
    color: #FFFFFF;
    text-decoration: none;
    padding: 12px 28px;
    border: 2px solid #FFFFFF;
    transition: all 0.3s ease;
    display: inline-block;
    margin-top: 25px; 
}
.slide-button:hover {
    background-color: #FFFFFF;
    color: #000000;
}

/* --- Styles SpÃ©cifiques (Slide 3) --- */
#slide-3 { background-color: #F0EBE5; }
.text-content { color: #000; max-width: 600px; padding: 40px; }
.text-content p {
    font-size: 18px;
    margin: 20px 0 0 0;
}
.text-content .slide-button.dark {
    margin-top: 30px;
}
.slide-button.dark { color: #000; border-color: #000; }
.slide-button.dark:hover { background-color: #000; color: #FFF; }

/* --- Panier (Cart Overlay) --- */
.cart-overlay {
    position: fixed;
    top: 0;
    right: -400px;
    width: 400px;
    max-width: 90%;
    height: 100vh;
    background-color: #FFFFFF;
    z-index: 200;
    display: flex;
    flex-direction: column;
    box-shadow: -5px 0 15px rgba(0,0,0,0.1);
    transition: right 0.5s cubic-bezier(0.77, 0, 0.175, 1);
}
.cart-overlay.open { right: 0; }
.cart-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 20px;
    border-bottom: 1px solid #f0f0f0;
}
.cart-header h2 { font-family: 'Playfair Display', serif; }
.cart-body { padding: 20px; flex-grow: 1; overflow-y: auto; }
.cart-item { display: flex; gap: 15px; margin-bottom: 20px; }
.cart-item img { width: 80px; height: 100px; object-fit: cover; }
.item-details p { font-size: 14px; margin-bottom: 5px; }
.item-quantity { margin-left: auto; font-weight: 600; }
.cart-footer { padding: 20px; border-top: 1px solid #f0f0f0; }
.checkout-button {
    display: block;
    width: 100%;
    padding: 15px;
    background-color: #000;
    color: #FFF;
    text-align: center;
    text-decoration: none;
    font-family: 'Inter', sans-serif;
    font-weight: 600;
    text-transform: uppercase;
}

/* --- Menu Overlay --- */
.menu-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    background-color: #FFFFFF; 
    z-index: 199;
    display: flex;
    justify-content: center;
    align-items: center;
    opacity: 0;
    visibility: hidden;
    transition: all 0.5s cubic-bezier(0.77, 0, 0.175, 1);
}
.menu-overlay.open {
    opacity: 1;
    visibility: visible;
}
.menu-links {
    text-align: left;
    width: 100%;
    max-width: 800px;
    padding-left: 10vw;
}
.menu-link {
    display: block;
    color: #000;
    font-size: 5vw;
    text-decoration: none;
    padding: 10px 0;
    text-transform: uppercase;
    font-weight: 600;
    transform: translateY(30px);
    opacity: 0;
    transition: all 0.4s ease;
}
.menu-link:hover {
    transform: translateX(20px);
}
.menu-overlay.open .menu-link {
    transform: translateY(0);
    opacity: 1;
    transition-delay: calc(0.1s * var(--i));
}
.menu-close {
    position: absolute;
    top: 25px;
    right: 30px;
    color: #000;
}
.menu-close svg {
    width: 30px;
    height: 30px;
    stroke-width: 2.5px;
}

