/* Fichier : lab-ella-styles.css
 * Description : Styles pour les sections Meilleures Ventes, Tendances dans Notre Communauté ELLA et Save with Sets de Lab Ella
 * Date : 3 mai 2025
 */

/* ==========================================================================
   Variables globales
   ========================================================================== */
:root {
    --cream: #FAF9F6;
    --dark: #333333;
    --rose: #F9E4E6;
    --gold: #E8C7A7;
    --shadow: rgba(0, 0, 0, 0.05);
    --light-shadow: rgba(0, 0, 0, 0.03);
    --transition: all 0.3s ease;
    --border-radius: 12px;
    --font-primary: 'Montserrat', sans-serif;
    --font-secondary: 'Playfair Display', serif;
    --font-size-title: 32px;
    --font-size-subtitle: 16px;
    --spacing-gap: 20px;
    --spacing-padding: 20px;
}

body {
    overflow-x: hidden !important;
}

/* ==========================================================================
   Section : Best Sellers (Lab Ella Bestsellers Carousel)
   Description : Style moderne, responsive, inspiré de Glow Recipe "New & Best-Selling"
   ========================================================================== */

/* Variables */
:root {
    --cream: #FAF9F6;
    --dark: #333333;
    --rose: #F9E4E6;
    --gold: #E8C7A7;
    --gold-dark: #D4A774;
    --shadow: rgba(0, 0, 0, 0.05);
    --light-shadow: rgba(0, 0, 0, 0.03);
    --transition: all 0.3s ease;
    --border-radius: 10px;
    --font-primary: 'Montserrat', sans-serif;
    --font-secondary: 'Playfair Display', serif;
    --font-size-title: 32px;
    --font-size-subtitle: 16px;
    --spacing-gap: 12px;
    --spacing-padding: 10px;
}

/* Conteneur principal */
.section-container.lab-ella-bestsellers {
    font-family: var(--font-primary);
    max-width: 1400px;
    margin: 15px auto 30px;
    padding: 10px;
    background: var(--cream);
    border-radius: var(--border-radius);
    overflow: hidden;
}

/* MOBILE - Réduire la marge énorme */
@media (max-width: 768px) {
    .section-container.lab-ella-bestsellers {
        margin: 0px auto 15px !important;
        padding: 10px !important;
        margin-top: -10px !important;
    }
    
    /* Gérer le conflit scroll vertical/horizontal - TOUTES LES SECTIONS */
    .section-container.lab-ella-bestsellers.swiping,
    section.community-videos.swiping,
    .section-container.lab-ella-save-with-sets.swiping {
        touch-action: auto !important; /* Scroll libre */
        overflow-y: visible !important; /* Scroll vertical toujours libre */
    }
    
    .section-container.lab-ella-bestsellers:not(.swiping),
    section.community-videos:not(.swiping),
    .section-container.lab-ella-save-with-sets:not(.swiping) {
        touch-action: pan-y !important;
    }
    
    .section-container.lab-ella-bestsellers .carousel,
    section.community-videos .carousel,
    .section-container.lab-ella-save-with-sets .carousel {
        touch-action: auto !important; /* Scroll libre */
        -webkit-overflow-scrolling: touch !important;
    }
}

/* En-tête */
.section-container.lab-ella-bestsellers .section-header {
    text-align: center;
    margin-bottom: 10px;
}

.section-container.lab-ella-bestsellers .section-title {
    font-family: var(--font-secondary);
    font-size: var(--font-size-title);
    font-weight: 500;
    margin-bottom: 5px;
    color: var(--dark);
    letter-spacing: 1px;
    text-transform: uppercase;
    position: relative;
}

.section-container.lab-ella-bestsellers .section-title::after {
    content: '';
    width: 50px;
    height: 2px;
    background: var(--gold);
    position: absolute;
    bottom: -5px;
    left: 50%;
    transform: translateX(-50%);
}

.section-container.lab-ella-bestsellers .section-subtitle {
    font-family: var(--font-primary);
    font-size: var(--font-size-subtitle);
    color: #666;
    font-weight: 300;
    font-style: italic;
    margin: 0 auto;
    max-width: 600px;
    line-height: 1.4;
}

/* Carrousel */
.section-container.lab-ella-bestsellers .carousel-wrapper {
    position: relative;
    overflow: hidden;
    margin: 0 auto;
    z-index: 5;
    width: 100%;
    box-sizing: border-box;
    padding: 0 60px;
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 500px;
}

.section-container.lab-ella-bestsellers .carousel {
    display: flex;
    gap: var(--spacing-gap);
    transition: transform 0.6s cubic-bezier(0.25, 0.1, 0.25, 1);
    touch-action: auto; /* Scroll libre */
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    overflow-x: auto; /* Scroll horizontal activé */
    overflow-y: hidden; /* Scroll vertical désactivé */
    -webkit-overflow-scrolling: touch;
    width: auto;
    box-sizing: border-box;
    justify-content: flex-start;
    min-width: 100%;
    padding: 0 60px 0 0;
}

.section-container.lab-ella-bestsellers .carousel::-webkit-scrollbar {
    display: none;
}

.section-container.lab-ella-bestsellers .carousel {
    -ms-overflow-style: none;
    scrollbar-width: none;
}

/* Gestion du scroll - SIMPLIFIÉ POUR ÉVITER LES BLOCAGES */
.section-container.lab-ella-bestsellers {
    touch-action: auto; /* Permet le scroll vertical par défaut */
    overflow: visible; /* Toujours permettre le scroll */
}

/* Navigation carrousel */
.section-container.lab-ella-bestsellers .carousel-prev,
.section-container.lab-ella-bestsellers .carousel-next {
    position: absolute;
    top: 35%; /* Positionner au centre de l'image (pas de la carte entière) */
    transform: translateY(-50%);
    width: 50px;
    height: 50px;
    background: rgba(255, 255, 255, 0.9);
    border: 2px solid var(--gold);
    border-radius: 50%;
    color: var(--dark);
    font-size: 24px;
    font-weight: 700;
    transition: var(--transition);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 10;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    cursor: pointer;
}

/* MOBILE - Ajuster la position des flèches pour les images plus petites */
@media (max-width: 768px) {
    .section-container.lab-ella-bestsellers .carousel-prev,
    .section-container.lab-ella-bestsellers .carousel-next {
        top: 40% !important; /* Centrer au milieu de l'image sur mobile */
        width: 40px !important;
        height: 40px !important;
        font-size: 18px !important;
    }
}

.section-container.lab-ella-bestsellers .carousel-prev:hover,
.section-container.lab-ella-bestsellers .carousel-next:hover,
.section-container.lab-ella-bestsellers .carousel-prev.active,
.section-container.lab-ella-bestsellers .carousel-next.active {
    background: var(--dark);
    color: #fff;
    transform: translateY(-50%) scale(1.1);
}

.section-container.lab-ella-bestsellers .carousel-prev {
    left: 20px;
}

.section-container.lab-ella-bestsellers .carousel-next {
    right: 20px;
}

.section-container.lab-ella-bestsellers .carousel-prev.disabled,
.section-container.lab-ella-bestsellers .carousel-next.disabled {
    opacity: 0.5;
    cursor: not-allowed;
    transform: translateY(-50%);
}

/* Carte produit */
.section-container.lab-ella-bestsellers .section-card.bestseller-product {
    position: relative;
    background: transparent;
    border-radius: var(--border-radius);
    overflow: visible; /* Changé de hidden à visible pour éviter de couper le bouton */
    box-shadow: none;
    transition: transform 0.4s ease;
    display: flex;
    flex-direction: column;
    scroll-snap-align: center;
    flex: 0 0 calc(25% - 9px);
    min-width: 300px;
    max-width: 340px;
    height: 500px; /* Augmenté de 480px à 500px pour donner plus d'espace */
    margin: 10px 0;
    opacity: 0;
    transform: translateY(20px);
    animation: slideIn 1s cubic-bezier(0.25, 0.1, 0.25, 1) forwards;
    border: none;
}

.section-container.lab-ella-bestsellers .section-card.bestseller-product:nth-child(1) { animation-delay: 0.1s; }
.section-container.lab-ella-bestsellers .section-card.bestseller-product:nth-child(2) { animation-delay: 0.2s; }
.section-container.lab-ella-bestsellers .section-card.bestseller-product:nth-child(3) { animation-delay: 0.3s; }
.section-container.lab-ella-bestsellers .section-card.bestseller-product:nth-child(4) { animation-delay: 0.4s; }
.section-container.lab-ella-bestsellers .section-card.bestseller-product:nth-child(5) { animation-delay: 0.5s; }

@keyframes slideIn {
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.section-container.lab-ella-bestsellers .section-card.bestseller-product:hover {
    transform: translateY(-6px);
}

/* Image produit */
.section-container.lab-ella-bestsellers .section-card.bestseller-product .section-image-wrapper {
    position: relative;
    width: 100%;
    height: 350px;
    aspect-ratio: 1 / 1;
    border-radius: var(--border-radius) var(--border-radius) 0 0;
    overflow: hidden;
    background: transparent;
}

/* MOBILE - Corriger section-image-wrapper */
@media (max-width: 768px) {
    .section-container.lab-ella-bestsellers .section-card.bestseller-product .section-image-wrapper {
        height: 350px !important;
        overflow: visible !important;
    }
}

.section-container.lab-ella-bestsellers .section-card.bestseller-product .section-image {
    height: 100%;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
}

.section-container.lab-ella-bestsellers .section-card.bestseller-product .section-image img {
    height: 100%;
    width: 100%;
    object-fit: cover;
    transition: opacity 0.5s ease;
    position: absolute;
    top: 0;
    left: 0;
    border-radius: 10px; /* Ajout du border-radius de 10px */
}

/* IMAGES PRODUITS - SANS CLIGNOTEMENT */
.section-container.lab-ella-bestsellers .section-card.bestseller-product .section-image img.primary {
    opacity: 1;
    z-index: 2;
}

.section-container.lab-ella-bestsellers .section-card.bestseller-product .section-image img.secondary {
    opacity: 0;
    z-index: 1;
}

/* HOVER SEULEMENT SUR DESKTOP - PAS SUR MOBILE */
@media (min-width: 769px) {
    .section-container.lab-ella-bestsellers .section-card.bestseller-product:hover .section-image img.primary {
        opacity: 0;
    }

    .section-container.lab-ella-bestsellers .section-card.bestseller-product:hover .section-image img.secondary {
        opacity: 1;
    }
}

/* MOBILE - PAS DE HOVER, IMAGE FIXE */
@media (max-width: 768px) {
    .section-container.lab-ella-bestsellers .section-card.bestseller-product .section-image img.secondary {
        display: none !important; /* Cacher complètement la 2ème image sur mobile */
    }
    
    .section-container.lab-ella-bestsellers .section-card.bestseller-product .section-image img.primary {
        opacity: 1 !important; /* Toujours visible */
        position: relative !important; /* Pas d'absolute qui peut causer des bugs */
    }
}

.section-container.lab-ella-bestsellers .section-card.bestseller-product .product-badge {
    position: absolute;
    top: 12px;
    left: 12px;
    padding: 5px 10px;
    font-size: 12px;
    font-weight: 600;
    background: #fff;
    color: var(--dark);
    border: 1px solid var(--dark);
    z-index: 3;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    transition: var(--transition);
}

.section-container.lab-ella-bestsellers .section-card.bestseller-product .product-badge:hover {
    background: var(--dark);
    color: #fff;
    border-color: #fff;
}

/* Détails produit */
.section-container.lab-ella-bestsellers .section-card.bestseller-product .section-details {
    padding: 10px;
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    text-align: center;
    min-height: 160px;
    background: var(--cream);
    border-radius: 0 0 var(--border-radius) var(--border-radius);
    position: relative;
    z-index: 2;
}

.section-container.lab-ella-bestsellers .section-card.bestseller-product .section-details-title {
    font-family: var(--font-secondary);
    font-size: 15px;
    font-weight: 600;
    margin: 0 0 6px 0; /* Augmenté de 4px à 6px pour plus d'espace avec les avis */
    color: var(--dark);
    line-height: 1.3;
    max-height: 40px;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    text-transform: uppercase;
}

.section-container.lab-ella-bestsellers .section-card.bestseller-product .section-details-title:hover {
    color: var(--gold);
    text-decoration: none;
}

.section-container.lab-ella-bestsellers .section-card.bestseller-product .product-rating {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 2px;
    gap: 3px;
    font-size: 14px; /* Augmenté de 12px à 14px */
}

.section-container.lab-ella-bestsellers .section-card.bestseller-product .star {
    color: var(--gold);
    font-size: 14px; /* Augmenté de 12px à 14px */
}

.section-container.lab-ella-bestsellers .section-card.bestseller-product .rating-count,
.section-container.lab-ella-bestsellers .section-card.bestseller-product .no-reviews {
    font-size: 14px; /* Augmenté de 12px à 14px */
    color: #666;
    opacity: 0.6;
}

.section-container.lab-ella-bestsellers .section-card.bestseller-product .product-price {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 120px;
    font-weight: 600;
    gap: 5px;
}

/* Bouton Ajouter au Panier */
.section-container.lab-ella-bestsellers .section-card.bestseller-product .add-to-cart-btn {
    position: absolute;
    bottom: 0px;
    left: 6px;
    right: 6px;
    width: calc(100% - 12px);
    padding: 10px 8px;
    background: #fff;
    color: var(--dark);
    border: 1px solid var(--dark);
    border-radius: 5px;
    cursor: pointer;
    font-family: var(--font-primary);
    font-size: 13px;
    font-weight: 500;
    transition: opacity 0.3s ease, transform 0.3s ease, background 0.3s ease, color 0.3s ease, border-color 0.3s ease;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 8px;
    text-transform: uppercase;
    box-sizing: border-box;
    white-space: nowrap;
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
    z-index: 3;
}

/* Cacher complètement add-to-cart-btn lorsqu'options-card est active */
.section-container.lab-ella-bestsellers .section-card.bestseller-product .options-card.active ~ .add-to-cart-btn {
    opacity: 0;
    visibility: hidden;
    display: none; /* Ajouté pour s'assurer qu'il est complètement caché */
}

/* Flèche élégante après le prix (TND), pointant vers le haut, style chevron simple "^" */
.section-container.lab-ella-bestsellers .section-card.bestseller-product .add-to-cart-btn::after {
    content: '';
    position: absolute;
    top: 50%;
    right: 10px;
    transform: translateY(-50%);
    width: 0;
    height: 0;
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
    border-bottom: 5px solid var(--dark);
    transition: border-bottom-color 0.3s ease;
}

.section-container.lab-ella-bestsellers .section-card.bestseller-product .add-to-cart-btn:hover::after,
.section-container.lab-ella-bestsellers .section-card.bestseller-product .add-to-cart-btn.active::after {
    border-bottom-color: #fff;
}

.section-container.lab-ella-bestsellers .section-card.bestseller-product .add-to-cart-btn:hover,
.section-container.lab-ella-bestsellers .section-card.bestseller-product .add-to-cart-btn.active {
    background: var(--dark);
    color: #fff;
    border-color: #fff;
}

.section-container.lab-ella-bestsellers .section-card.bestseller-product .add-to-cart-text,
.section-container.lab-ella-bestsellers .section-card.bestseller-product .add-to-cart-price {
    font-size: 13px;
    white-space: nowrap;
}

.section-container.lab-ella-bestsellers .section-card.bestseller-product .add-to-cart-text {
    flex: 1;
    text-align: center;
}

.section-container.lab-ella-bestsellers .section-card.bestseller-product .add-to-cart-price {
    flex-shrink: 0;
    margin-right: 30px;
}

/* Carte d'options */
.section-container.lab-ella-bestsellers .section-card.bestseller-product .options-card {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: auto;
    background: linear-gradient(145deg, var(--rose), #fdeded);
    z-index: 15; /* Augmenté pour être au-dessus des cartes de variantes */
    border-radius: var(--border-radius) var(--border-radius) 0 0;
    box-shadow: 0 8px 20px var(--shadow);
    border: 1px solid rgba(232, 199, 167, 0.2);
    opacity: 0;
    visibility: hidden;
    transform: translateY(100%);
    transition: all 1s cubic-bezier(0.25, 0.1, 0.25, 1);
    isolation: isolate; /* Créer un nouveau contexte de stacking */
}

.section-container.lab-ella-bestsellers .section-card.bestseller-product .options-card.preparing {
    display: block;
    visibility: visible;
    opacity: 0;
    transform: translateY(100%);
}

.section-container.lab-ella-bestsellers .section-card.bestseller-product .options-card.active {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.section-container.lab-ella-bestsellers .section-card.bestseller-product .options-card-inner {
    padding: 15px;
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.section-container.lab-ella-bestsellers .section-card.bestseller-product .close-options {
    position: absolute;
    top: 15px; /* Augmenté de 10px à 15px pour plus d'espace */
    right: 15px; /* Augmenté de 10px à 15px */
    width: 32px; /* Augmenté de 28px à 32px */
    height: 32px;
    background: var(--rose); /* Changé de #fff à var(--rose) pour plus d'harmonie */
    border: 1px solid var(--dark);
    border-radius: 50%;
    font-size: 16px; /* Augmenté de 14px à 16px */
    color: var(--dark);
    cursor: pointer;
    transition: var(--transition);
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1); /* Ajout d'une ombre pour plus de visibilité */
    z-index: 20; /* Assurer qu'il soit toujours au-dessus */
}

.section-container.lab-ella-bestsellers .section-card.bestseller-product .close-options:hover {
    background: var(--dark); /* Changé pour un contraste plus fort au hover */
    color: #fff; /* Texte blanc au hover pour lisibilité */
    transform: rotate(90deg);
}

.section-container.lab-ella-bestsellers .section-card.bestseller-product .close-options::before {
    content: "×";
    font-size: 18px; /* Augmenté de 16px à 18px */
}

/* Groupes d'options */
.section-container.lab-ella-bestsellers .section-card.bestseller-product .option-group {
    margin-bottom: 15px;
}

.section-container.lab-ella-bestsellers .section-card.bestseller-product .option-label {
    font-family: var(--font-secondary);
    font-size: 13px;
    font-weight: 500;
    margin-bottom: 8px;
    color: var(--dark);
    text-transform: uppercase;
    letter-spacing: 1px;
}

/* Options de couleur */
.section-container.lab-ella-bestsellers .section-card.bestseller-product .color-option {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    border: 2px solid transparent;
    display: inline-block;
    position: relative;
    cursor: pointer;
    margin: 0 4px;
    background-size: cover;
    background-position: center;
    transition: var(--transition);
}

.section-container.lab-ella-bestsellers .section-card.bestseller-product .color-option:hover {
    transform: scale(1.1);
    border-color: var(--dark);
}

.section-container.lab-ella-bestsellers .section-card.bestseller-product .color-option.active {
    border-color: var(--gold-dark);
    box-shadow: 0 0 0 2px #fff, 0 0 0 4px var(--gold-dark);
}

.section-container.lab-ella-bestsellers .section-card.bestseller-product .color-option .color-name {
    position: absolute;
    bottom: -28px;
    left: 50%;
    transform: translateX(-50%);
    background: var(--dark);
    color: var(--cream);
    padding: 3px 8px;
    border-radius: 4px;
    font-size: 11px;
    white-space: nowrap;
    opacity: 0;
    visibility: hidden;
    transition: var(--transition);
}

.section-container.lab-ella-bestsellers .section-card.bestseller-product .color-option:hover .color-name {
    opacity: 1;
    visibility: visible;
}

.section-container.lab-ella-bestsellers .section-card.bestseller-product .color-option[title="Bronze"] {
    background-color: var(--gold) !important;
}

.section-container.lab-ella-bestsellers .section-card.bestseller-product .color-option[title="Noisette"] {
    background-color: #8B4513 !important;
}

.section-container.lab-ella-bestsellers .section-card.bestseller-product .color-option[title="Rose"] {
    background-color: var(--rose) !important;
}

.section-container.lab-ella-bestsellers .section-card.bestseller-product .color-option[title="Rose Gold"] {
    background-color: var(--gold) !important;
}

.section-container.lab-ella-bestsellers .section-card.bestseller-product .variant-selection.error {
    border: 1px solid #FF6F61;
    background: rgba(255, 111, 97, 0.1);
}

/* Options de version */
.section-container.lab-ella-bestsellers .section-card.bestseller-product .version-options {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    justify-content: center;
}

.section-container.lab-ella-bestsellers .section-card.bestseller-product .version-option {
    padding: 8px 16px;
    border: 1px solid var(--dark);
    border-radius: 5px;
    cursor: pointer;
    background: #fff;
    transition: var(--transition);
    font-size: 12px;
    text-align: center;
    box-shadow: 0 2px 6px var(--light-shadow);
    color: var(--dark);
}

.section-container.lab-ella-bestsellers .section-card.bestseller-product .version-option:hover {
    background: #f5f5f5;
    border-color: var(--dark);
}

.section-container.lab-ella-bestsellers .section-card.bestseller-product .version-option.active {
    background: var(--gold-dark);
    border-color: var(--gold-dark);
    color: #fff;
    box-shadow: 0 2px 6px rgba(232, 199, 167, 0.5);
}

/* Options de quantité */
.section-container.lab-ella-bestsellers .section-card.bestseller-product .quantity-selector {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    background: #F9F9F9;
    border-radius: 5px;
    border: 1px solid #EAEAEA;
    width: 100px;
    height: 36px;
    margin: 0 auto;
    padding: 0;
    box-sizing: border-box;
}

.section-container.lab-ella-bestsellers .section-card.bestseller-product .quantity-btn {
    width: 22px;
    height: 22px;
    background: linear-gradient(145deg, #ffffff, #fdeded);
    border: 1px solid var(--dark);
    border-radius: 50%;
    cursor: pointer;
    font-size: 12px;
    transition: var(--transition);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 !important;
}

.section-container.lab-ella-bestsellers .section-card.bestseller-product .quantity-btn:hover {
    background: var(--rose);
}

.section-container.lab-ella-bestsellers .section-card.bestseller-product .quantity-input,
.section-container.lab-ella-bestsellers .options-card .quantity-input {
    width: 32px !important;
    height: 22px !important;
    border: 1px solid var(--dark) !important;
    border-radius: 4px !important;
    text-align: center !important;
    font-size: 11px !important;
    color: var(--dark) !important;
    background: #fff !important;
    -moz-appearance: textfield !important;
    padding: 0 2px !important;
    box-sizing: border-box !important;
}

.section-container.lab-ella-bestsellers .section-card.bestseller-product .quantity-input::-webkit-outer-spin-button,
.section-container.lab-ella-bestsellers .section-card.bestseller-product .quantity-input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

/* Options d'achat (S'abonner) */
.section-container.lab-ella-bestsellers .section-card.bestseller-product .purchase-options {
    position: sticky;
    bottom: 90px; /* Ajusté de 100px à 90px pour un espacement plus sûr */
    background: linear-gradient(145deg, var(--rose), #fdeded);
    padding: 8px 10px;
    margin: 0 -15px 18px; /* Adopté ton changement pour ajouter un espace */
    z-index: 14;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.section-container.lab-ella-bestsellers .section-card.bestseller-product .purchase-option {
    display: flex;
    align-items: center;
    gap: 6px;
    cursor: pointer;
    font-size: 13px;
    font-weight: 400;
    color: var(--dark);
    padding: 6px 10px;
    border-radius: 5px;
    transition: var(--transition);
    white-space: nowrap;
    background: transparent;
    box-shadow: none;
}

.section-container.lab-ella-bestsellers .section-card.bestseller-product .purchase-option:hover {
    color: var(--gold-dark);
    transform: scale(1.05);
    background: rgba(232, 199, 167, 0.1);
}

.section-container.lab-ella-bestsellers .section-card.bestseller-product .purchase-option input[type="checkbox"] {
    appearance: none;
    width: 15px;
    height: 15px;
    border: 1px solid var(--gold);
    border-radius: 4px;
    background: #fff;
    cursor: pointer;
    transition: var(--transition);
    position: relative;
}

.section-container.lab-ella-bestsellers .section-card.bestseller-product .purchase-option input[type="checkbox"]::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) scale(0);
    width: 10px;
    height: 10px;
    background: var(--gold);
    border-radius: 2px;
    transition: transform 0.2s ease;
}

.section-container.lab-ella-bestsellers .section-card.bestseller-product .purchase-option input[type="checkbox"]:checked::before {
    transform: translate(-50%, -50%) scale(1);
}

/* Variantes multiples */
.section-container.lab-ella-bestsellers .section-card.bestseller-product .variant-selections {
    margin-bottom: 20px; /* Augmenté pour plus d'espace avec le bouton confirmer */
    display: flex;
    flex-direction: column;
    gap: 18px; /* Augmenté pour plus d'espace entre les cartes */
    max-height: 35vh; /* Augmenté pour plus de place */
    overflow-y: auto;
    padding: 10px; /* Augmenté pour éviter les collisions */
    position: relative;
    z-index: 4; /* Assurer un bon positionnement */
}

.section-container.lab-ella-bestsellers .section-card.bestseller-product .variant-selections::-webkit-scrollbar {
    width: 6px;
}

.section-container.lab-ella-bestsellers .section-card.bestseller-product .variant-selections::-webkit-scrollbar-track {
    background: var(--cream);
    border-radius: 3px;
}

.section-container.lab-ella-bestsellers .section-card.bestseller-product .variant-selections::-webkit-scrollbar-thumb {
    background: var(--gold);
    border-radius: 3px;
}

.section-container.lab-ella-bestsellers .section-card.bestseller-product .variant-selections {
    -ms-overflow-style: auto;
    scrollbar-width: thin;
    scrollbar-color: var(--gold) var(--cream);
}

.section-container.lab-ella-bestsellers .section-card.bestseller-product .variant-selection {
    border: 1px solid rgba(232, 199, 167, 0.3);
    padding: 12px;
    border-radius: 12px;
    background: linear-gradient(145deg, #ffffff, #fef7f5); /* Harmonisé avec la carte d'options */
    margin-bottom: 15px; /* Augmenté pour plus d'espace */
    box-shadow: 0 2px 8px var(--light-shadow);
    min-height: 220px; /* Hauteur minimale pour uniformité */
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    position: relative; /* Assurer un positionnement correct */
    z-index: 5; /* Augmenté pour éviter les chevauchements avec la carte d'options */
    isolation: isolate; /* Créer un nouveau contexte de stacking */
}

.section-container.lab-ella-bestsellers .section-card.bestseller-product .variant-selection-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 8px;
    font-size: 13px;
    font-weight: 600;
    color: var(--dark);
}

/* Styles remove-selection supprimés - boutons "Retirer" supprimés */

/* Bouton Confirmer */
.section-container.lab-ella-bestsellers .section-card.bestseller-product .confirm-btn {
    position: absolute;
    bottom: 0px;
    left: 10px;
    right: 10px;
    width: calc(100% - 20px);
    padding: 10px 12px;
    background: #fff;
    color: var(--dark);
    border: 1px solid var(--dark);
    border-radius: 5px;
    cursor: pointer;
    font-family: var(--font-primary);
    font-size: 13px;
    font-weight: 500;
    transition: background 0.3s ease, color 0.3s ease, border-color 0.3s ease;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 8px;
    text-transform: uppercase;
    box-sizing: border-box;
    white-space: nowrap;
    opacity: 1;
    visibility: visible;
    z-index: 16; /* Au-dessus de la carte d'options mais en dessous du bouton fermer */
}

/* Rendre confirm-btn visible lorsqu'options-card est active */
.section-container.lab-ella-bestsellers .section-card.bestseller-product .options-card.active .confirm-btn {
    opacity: 1;
    visibility: visible;
    display: flex;
}

.section-container.lab-ella-bestsellers .section-card.bestseller-product .confirm-btn:hover,
.section-container.lab-ella-bestsellers .section-card.bestseller-product .confirm-btn.active {
    background: var(--dark);
    color: #fff;
    border-color: #fff;
}

/* Centrer le contenu du bouton Confirmer */
.section-container.lab-ella-bestsellers .section-card.bestseller-product .confirm-btn .add-to-cart-text,
.section-container.lab-ella-bestsellers .section-card.bestseller-product .confirm-btn .add-to-cart-price {
    font-size: 13px;
    white-space: nowrap;
}

.section-container.lab-ella-bestsellers .section-card.bestseller-product .confirm-btn .add-to-cart-text {
    flex: 1;
    text-align: center;
}

.section-container.lab-ella-bestsellers .section-card.bestseller-product .confirm-btn .add-to-cart-price {
    flex-shrink: 0;
    margin-right: 0;
}

/* Packs */
.section-container.lab-ella-bestsellers .section-card.bestseller-product .bundle-products {
    background: transparent;
    padding: 8px 0;
    margin-bottom: 8px;
    display: flex;
    flex-direction: column;
    gap: 6px;
    align-items: center;
    justify-content: flex-start;
    box-sizing: border-box;
    width: 100%;
    max-height: auto; /* Changé de 372px à auto */
}
/* Styles pour les bundles */
.bundle-products {
    display: flex;
    flex-direction: column;
    gap: 15px;
    background: linear-gradient(145deg, #FFF, #fef7f5);
    padding: 15px;
    border-radius: 16px;
    margin-bottom: 20px;
    border: 1px solid rgba(232, 199, 167, 0.3);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.04), 0 6px 16px rgba(0, 0, 0, 0.02);
    max-height: 45vh;
    overflow-y: auto;
}

.section-container.lab-ella-bestsellers .section-card.bestseller-product .bundle-product {
    display: flex;
    align-items: center;
    padding: 6px;
    border: 1px solid rgba(232, 199, 167, 0.2);
    border-radius: 8px;
    background: linear-gradient(145deg, #ffffff, #fef7f5) !important; /* Harmonisé avec les autres cartes */
    transition: background 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease;
    gap: 8px;
    width: 90%;
    max-width: 320px;
    box-sizing: border-box;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.05);
    cursor: pointer;
}

.section-container.lab-ella-bestsellers .section-card.bestseller-product .bundle-product:hover {
    background: linear-gradient(145deg, rgba(249, 228, 230, 0.8), rgba(232, 199, 167, 0.3)) !important; /* Harmonisé avec les autres cartes */
    border-color: var(--gold-dark);
    box-shadow: 0 4px 12px rgba(232, 199, 167, 0.2);
}

.section-container.lab-ella-bestsellers .section-card.bestseller-product .bundle-product.selected,
.section-container.lab-ella-bestsellers .section-card.bestseller-product .bundle-product.force-render {
    background: linear-gradient(145deg, var(--rose), #fdeded) !important; /* Harmonisé avec la carte d'options */
    border: 2px solid var(--gold-dark) !important;
    box-shadow: 0 4px 12px rgba(232, 199, 167, 0.3) !important;
}

.section-container.lab-ella-bestsellers .section-card.bestseller-product .bundle-product-image {
    width: 45px;
    height: 45px;
    flex-shrink: 0;
    border-radius: 6px;
    overflow: hidden;
    border: 1px solid rgba(232, 199, 167, 0.3);
}

.section-container.lab-ella-bestsellers .section-card.bestseller-product .bundle-product-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.section-container.lab-ella-bestsellers .section-card.bestseller-product .bundle-product-content {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.section-container.lab-ella-bestsellers .section-card.bestseller-product .bundle-product-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: nowrap;
}

.section-container.lab-ella-bestsellers .section-card.bestseller-product .bundle-product-label {
    display: flex;
    flex-direction: column;
    gap: 2px;
    flex: 1;
}

.section-container.lab-ella-bestsellers .section-card.bestseller-product .bundle-product-name {
    font-size: 12px;
    color: var(--dark);
    font-weight: 500;
    line-height: 1.3;
    max-height: 32px;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}

.section-container.lab-ella-bestsellers .section-card.bestseller-product .bundle-product-quantity {
    font-size: 10px;
    color: #666;
    opacity: 0.7;
    line-height: 1.2;
}

.section-container.lab-ella-bestsellers .section-card.bestseller-product .bundle-product-price {
    font-size: 12px;
    font-weight: 500;
    color: var(--dark);
    text-align: center;
    margin-top: auto;
}

.section-container.lab-ella-bestsellers .section-card.bestseller-product .bundle-product .quantity-selector {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
    margin-top: 4px;
    background: #F9F9F9;
    border-radius: 5px;
    border: 1px solid #EAEAEA;
    width: 130px;
    height: 42px;
    margin: 4px auto 0;
    padding: 0;
    box-sizing: border-box;
}

.section-container.lab-ella-bestsellers .section-card.bestseller-product .bundle-product .quantity-input {
         width: 40px;
         height: 26px;
         border: 1px solid var(--dark);
         border-radius: 6px;
         text-align: center;
         font-size: 12px;
         color: var(--dark);
         background: #fff;
         -moz-appearance: textfield;
         padding: 0 4px;
         transition: border-color 0.3s ease;
     }
     .section-container.lab-ella-bestsellers .section-card.bestseller-product .bundle-product .quantity-input:focus {
         border-color: var(--gold-dark);
         outline: none;
     }
     .section-container.lab-ella-bestsellers .section-card.bestseller-product .bundle-product .quantity-input::-webkit-outer-spin-button,
     .section-container.lab-ella-bestsellers .section-card.bestseller-product .bundle-product .quantity-input::-webkit-inner-spin-button {
         -webkit-appearance: none;
         margin: 0;
     }

.section-container.lab-ella-bestsellers .section-card.bestseller-product .bundle-product .quantity-btn {
         width: 26px;
         height: 26px;
         background: linear-gradient(145deg, #ffffff, #fdeded);
         border: 1px solid var(--dark);
         border-radius: 50%;
         cursor: pointer;
         font-size: 13px;
         transition: var(--transition);
         display: flex;
         align-items: center;
         justify-content: center;
         color: var(--dark);
     }
     .section-container.lab-ella-bestsellers .section-card.bestseller-product .bundle-product .quantity-btn:hover {
         background: var(--rose);
         color: var(--dark);
         border-color: var(--dark);
     }

.section-container.lab-ella-bestsellers .section-card.bestseller-product .bundle-discount {
    color: var(--gold-dark);
    font-size: 12px;
    font-weight: 500;
    text-align: center;
    margin-top: 6px;
    padding: 4px;
    border-radius: 6px;
    border: 1px solid rgba(232, 199, 167, 0.3);
    background: rgba(232, 199, 167, 0.1);
    box-shadow: 0 1px 3px rgba(232, 199, 167, 0.1);
}

/* Notification */
.section-container.lab-ella-bestsellers .cart-notification {
    position: fixed;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    background: linear-gradient(145deg, var(--rose), #fdeded);
    border-radius: 0 0 12px 12px;
    box-shadow: 0 4px 12px var(--shadow);
    width: 100%;
    max-width: 400px;
    z-index: 900;
    opacity: 0;
    visibility: hidden;
    transition: all 0.8s ease;
    border: 1px solid rgba(232, 199, 167, 0.2);
    border-top: none;
}

.section-container.lab-ella-bestsellers .cart-notification.show {
    opacity: 1;
    visibility: visible;
    transform: translate(-50%, 0);
}

.section-container.lab-ella-bestsellers .notification-inner {
    padding: 12px 15px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.section-container.lab-ella-bestsellers .notification-image {
    width: 40px;
    height: 40px;
    object-fit: contain;
    border-radius: 5px;
    background: var(--cream);
    padding: 2px;
}

.section-container.lab-ella-bestsellers .notification-content {
    flex: 1;
}

.section-container.lab-ella-bestsellers .notification-title {
    font-weight: 600;
    margin-bottom: 4px;
    color: var(--dark);
    font-size: 14px;
    line-height: 1.3;
}

.section-container.lab-ella-bestsellers .notification-message {
    color: #666;
    font-size: 12px;
    font-weight: 400;
}

.section-container.lab-ella-bestsellers .notification-actions {
    display: flex;
    align-items: center;
    gap: 8px;
}

.section-container.lab-ella-bestsellers .view-cart-btn {
    padding: 6px 12px;
    border-radius: 5px;
    border: 1px solid var(--dark);
    font-size: 12px;
    text-align: center;
    cursor: pointer;
    transition: var(--transition);
    background: var(--dark);
    color: var(--cream);
    text-decoration: none;
    font-weight: 500;
}

.section-container.lab-ella-bestsellers .view-cart-btn:hover {
    background: #555;
}

.section-container.lab-ella-bestsellers .close-notification {
    width: 20px;
    height: 20px;
    background: transparent;
    border: 1px solid #666;
    border-radius: 50%;
    font-size: 12px;
    cursor: pointer;
    color: #666;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: var(--transition);
}

.section-container.lab-ella-bestsellers .close-notification:hover {
    background: var(--rose);
}

/* Responsive pour la section Best Sellers */

/* Desktop grand écran (> 1200px) - Styles de base déjà définis dans le fichier, pas besoin de media query ici */

/* Desktop petit écran (992px - 1200px) */
@media (min-width: 992px) and (max-width: 1200px) {
    .section-container.lab-ella-bestsellers .carousel-wrapper {
        padding: 0 40px;
        min-height: 480px;
    }

    .section-container.lab-ella-bestsellers .carousel {
        gap: 12px;
        padding: 0 40px 0 0;
    }

    .section-container.lab-ella-bestsellers .section-card.bestseller-product {
        flex: 0 0 calc(33.33% - 8px); /* 3 cartes par rangée */
        min-width: calc(33.33% - 8px);
        max-width: calc(33.33% - 8px);
        height: 480px;
        min-height: 480px;
    }

    .section-container.lab-ella-bestsellers .section-card.bestseller-product .section-image-wrapper {
        height: 240px;
    }

    .section-container.lab-ella-bestsellers .section-card.bestseller-product .section-details {
        min-height: 150px;
    }

    .section-container.lab-ella-bestsellers .carousel-prev,
    .section-container.lab-ella-bestsellers .carousel-next {
        width: 45px;
        height: 45px;
        font-size: 20px;
    }

    .section-container.lab-ella-bestsellers .carousel-prev {
        left: 10px;
    }

    .section-container.lab-ella-bestsellers .carousel-next {
        right: 10px;
    }
}

/* iPad grand écran (768px - 991px) */
@media (min-width: 768px) and (max-width: 991px) {
    .section-container.lab-ella-bestsellers .carousel-wrapper {
        padding: 0 30px;
        min-height: 460px;
    }

    .section-container.lab-ella-bestsellers .carousel {
        gap: 10px;
        padding: 0 30px 0 0;
    }

    .section-container.lab-ella-bestsellers .section-card.bestseller-product {
        flex: 0 0 calc(50% - 5px); /* 2 cartes par rangée */
        min-width: calc(50% - 5px);
        max-width: calc(50% - 5px);
        height: 460px;
        min-height: 460px;
    }

    .section-container.lab-ella-bestsellers .section-card.bestseller-product .section-image-wrapper {
        height: 230px;
    }

    .section-container.lab-ella-bestsellers .section-card.bestseller-product .section-details {
        min-height: 140px;
    }

    .section-container.lab-ella-bestsellers .carousel-prev,
    .section-container.lab-ella-bestsellers .carousel-next {
        width: 40px;
        height: 40px;
        font-size: 18px;
    }

    .section-container.lab-ella-bestsellers .carousel-prev {
        left: 5px;
    }

    .section-container.lab-ella-bestsellers .carousel-next {
        right: 5px;
    }
}

/* iPad petit écran (576px - 767px) */
@media (min-width: 576px) and (max-width: 767px) {
    .section-container.lab-ella-bestsellers {
        touch-action: auto; /* Permet le scroll vertical par défaut */
    }

    .section-container.lab-ella-bestsellers.swiping {
        touch-action: auto; /* Scroll libre */ /* Limite au swipe horizontal pendant le swipe */
        overflow-x: auto; /* Assure le scroll horizontal */
        overflow-y: visible; /* Permet le scroll vertical après swipe */
    }

    .section-container.lab-ella-bestsellers .carousel-wrapper {
        padding: 0 10px;
        min-height: 400px;
        overflow: visible;
    }

    .section-container.lab-ella-bestsellers .carousel {
        display: flex;
        flex-wrap: nowrap;
        gap: 10px;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        scroll-behavior: smooth;
        -webkit-overflow-scrolling: touch;
        justify-content: flex-start;
        width: 100%;
        padding: 0;
        margin: 0;
        overscroll-behavior-x: contain;
        touch-action: auto; /* Scroll libre - plus de restriction */
        -webkit-user-select: none; /* Empêche la sélection pendant le swipe */
        user-select: none;
    }

    .section-container.lab-ella-bestsellers .section-card.bestseller-product {
        flex: 0 0 calc(100% - 20px);
        min-width: calc(100% - 20px);
        max-width: calc(100% - 20px);
        margin: 0 10px;
        scroll-snap-align: center;
        scroll-snap-stop: always;
        min-height: 460px;
    }

    .section-container.lab-ella-bestsellers .section-card.bestseller-product .section-image-wrapper {
        height: 220px;
    }

    .section-container.lab-ella-bestsellers .section-card.bestseller-product .section-details {
        min-height: 140px;
        margin-bottom: 60px; /* Ajustement pour le bouton */
    }

    .section-container.lab-ella-bestsellers .section-card.bestseller-product .section-details-title {
        font-size: 16px;
    }

    .section-container.lab-ella-bestsellers .section-card.bestseller-product .product-rating,
    .section-container.lab-ella-bestsellers .section-card.bestseller-product .star,
    .section-container.lab-ella-bestsellers .section-card.bestseller-product .rating-count,
    .section-container.lab-ella-bestsellers .section-card.bestseller-product .no-reviews {
        font-size: 15px;
    }

    .section-container.lab-ella-bestsellers .section-card.bestseller-product .product-price .section-price {
        font-size: 16px;
    }

    .section-container.lab-ella-bestsellers .carousel-prev,
    .section-container.lab-ella-bestsellers .carousel-next {
        width: 40px;
        height: 40px;
        font-size: 18px;
    }

    .section-container.lab-ella-bestsellers .carousel-prev {
        left: 5px;
    }

    .section-container.lab-ella-bestsellers .carousel-next {
        right: 5px;
    }

    .section-container.lab-ella-bestsellers .section-card.bestseller-product .bundle-product-image {
        width: 40px;
        height: 40px;
    }

    .section-container.lab-ella-bestsellers .section-card.bestseller-product .bundle-product {
        padding: 8px;
        gap: 8px;
    }

    .section-container.lab-ella-bestsellers .section-card.bestseller-product .bundle-products {
        gap: 5px;
    }

    .section-container.lab-ella-bestsellers .section-card.bestseller-product .bundle-product .quantity-input {
        width: 36px;
        height: 28px;
        font-size: 12px;
        padding: 0 4px;
    }

    .section-container.lab-ella-bestsellers .section-card.bestseller-product .bundle-product .quantity-btn {
        width: 26px;
        height: 26px;
        font-size: 13px;
    }

    .section-container.lab-ella-bestsellers .section-card.bestseller-product .add-to-cart-btn {
        bottom: 5px;
    }

    .section-container.lab-ella-bestsellers .section-card.bestseller-product .options-card.active {
        max-height: auto;
        bottom: 40px;
    }

    .section-container.lab-ella-bestsellers .section-card.bestseller-product .options-card-inner {
        padding: 8px;
    }

    .section-container.lab-ella-bestsellers .section-card.bestseller-product .close-options {
        top: 10px;
        right: 10px;
        z-index: 15;
    }
}

/* Mobile grand écran (480px - 575px) */
@media (min-width: 480px) and (max-width: 575px) {
    .section-container.lab-ella-bestsellers {
        touch-action: auto;
        overflow-x: hidden;
        overflow-y: visible;
    }

    .section-container.lab-ella-bestsellers.swiping {
        touch-action: auto; /* Scroll libre */
        overflow-x: auto;
        overflow-y: visible;
    }

    .section-container.lab-ella-bestsellers .carousel-wrapper {
        padding: 0 8px;
        min-height: 380px;
        overflow: visible;
    }

    .section-container.lab-ella-bestsellers .carousel {
        gap: 8px;
        touch-action: auto pinch-zoom;
        overscroll-behavior-x: contain;
        -webkit-user-select: none;
        user-select: none;
    }

    .section-container.lab-ella-bestsellers .section-card.bestseller-product {
        flex: 0 0 calc(100% - 16px);
        min-width: calc(100% - 16px);
        max-width: calc(100% - 16px);
        margin: 0 8px;
        min-height: 440px;
    }

    .section-container.lab-ella-bestsellers .section-card.bestseller-product .section-image-wrapper {
        height: 210px;
    }

    .section-container.lab-ella-bestsellers .section-card.bestseller-product .section-details {
        min-height: 130px;
        margin-bottom: 50px;
    }

    .section-container.lab-ella-bestsellers .section-card.bestseller-product .section-details-title {
        font-size: 15px;
    }

    .section-container.lab-ella-bestsellers .section-card.bestseller-product .product-rating,
    .section-container.lab-ella-bestsellers .section-card.bestseller-product .star,
    .section-container.lab-ella-bestsellers .section-card.bestseller-product .rating-count,
    .section-container.lab-ella-bestsellers .section-card.bestseller-product .no-reviews {
        font-size: 14px;
    }

    .section-container.lab-ella-bestsellers .section-card.bestseller-product .product-price .section-price {
        font-size: 15px;
    }

    .section-container.lab-ella-bestsellers .carousel-prev,
    .section-container.lab-ella-bestsellers .carousel-next {
        width: 36px;
        height: 36px;
        font-size: 16px;
    }

    .section-container.lab-ella-bestsellers .section-card.bestseller-product .bundle-product-image {
        width: 38px;
        height: 38px;
    }

    .section-container.lab-ella-bestsellers .section-card.bestseller-product .bundle-product {
        padding: 6px;
        gap: 6px;
    }

    .section-container.lab-ella-bestsellers .section-card.bestseller-product .bundle-product .quantity-input {
        width: 34px;
        height: 26px;
        font-size: 11px;
    }

    .section-container.lab-ella-bestsellers .section-card.bestseller-product .bundle-product .quantity-btn {
        width: 26px;
        height: 26px;
        font-size: 13px;
    }

    .section-container.lab-ella-bestsellers .section-card.bestseller-product .add-to-cart-btn {
        bottom: 4px;
    }

    .section-container.lab-ella-bestsellers .section-card.bestseller-product .options-card.active {
        max-height: auto;
        bottom: 38px;
    }

    .section-container.lab-ella-bestsellers .section-card.bestseller-product .options-card-inner {
        padding: 6px;
    }

    .section-container.lab-ella-bestsellers .section-card.bestseller-product .purchase-options {
        margin: 0 -15px 15px;
    }
}

  /* Mobile petit écran (< 480px) */
@media (max-width: 479px) {
    .section-container.lab-ella-bestsellers {
        touch-action: auto;
        overflow-x: hidden;
        overflow-y: visible;
    }

    .section-container.lab-ella-bestsellers.swiping {
        touch-action: auto; /* Scroll libre */
        overflow-x: auto;
        overflow-y: visible;
    }

    .section-container.lab-ella-bestsellers .carousel-wrapper {
        padding: 0;
        min-height: 400px;
        overflow: visible;
        width: 100%;
    }

    .section-container.lab-ella-bestsellers .carousel {
        display: flex;
        flex-wrap: nowrap;
        gap: 0;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        scroll-behavior: smooth;
        -webkit-overflow-scrolling: touch;
        justify-content: flex-start;
        width: 100%;
        padding: 0;
        margin: 0;
        overscroll-behavior-x: contain;
        touch-action: auto pinch-zoom;
        -webkit-user-select: none;
        user-select: none;
    }

    .section-container.lab-ella-bestsellers .section-card.bestseller-product {
        flex: 0 0 100%;
        min-width: 100%;
        max-width: 100%;
        margin: 0;
        scroll-snap-align: center;
        scroll-snap-stop: always;
        min-height: 420px;
        box-sizing: border-box;
        overflow: visible;
    }

    .section-container.lab-ella-bestsellers .section-card.bestseller-product .section-image-wrapper {
        height: 200px;
        width: 100%;
        border-radius: 10px;
    }

    .section-container.lab-ella-bestsellers .section-card.bestseller-product .section-details {
        min-height: 120px;
        margin-bottom: 40px;
        padding: 10px;
    }

    .section-container.lab-ella-bestsellers .section-card.bestseller-product .section-details-title {
        font-size: 14px;
    }

    .section-container.lab-ella-bestsellers .section-card.bestseller-product .product-rating,
    .section-container.lab-ella-bestsellers .section-card.bestseller-product .star,
    .section-container.lab-ella-bestsellers .section-card.bestseller-product .rating-count,
    .section-container.lab-ella-bestsellers .section-card.bestseller-product .no-reviews {
        font-size: 13px;
    }

    .section-container.lab-ella-bestsellers .section-card.bestseller-product .product-price .section-price {
        font-size: 14px;
    }

    .section-container.lab-ella-bestsellers .carousel-prev,
    .section-container.lab-ella-bestsellers .carousel-next {
        width: 32px;
        height: 32px;
        font-size: 14px;
    }

    .section-container.lab-ella-bestsellers .carousel-prev {
        left: 5px;
    }

    .section-container.lab-ella-bestsellers .carousel-next {
        right: 5px;
    }

    .section-container.lab-ella-bestsellers .section-card.bestseller-product .bundle-product-image {
        width: 36px;
        height: 36px;
    }

    .section-container.lab-ella-bestsellers .section-card.bestseller-product .bundle-product {
        padding: 5px;
        gap: 5px;
    }

    .section-container.lab-ella-bestsellers .section-card.bestseller-product .bundle-product .quantity-input {
        width: 40px;
        height: 26px;
        font-size: 12px;
    }

    .section-container.lab-ella-bestsellers .section-card.bestseller-product .bundle-product .quantity-btn {
        width: 26px;
        height: 26px;
        font-size: 13px;
    }

    .section-container.lab-ella-bestsellers .section-card.bestseller-product .add-to-cart-btn {
        bottom: 10px;
        width: calc(100% - 20px);
        left: 10px;
        right: 10px;
    }

    .section-container.lab-ella-bestsellers .section-card.bestseller-product .options-card.active {
        max-height: none;
        bottom: 0;
        width: 100%;
        border-radius: 0;
    }

    .section-container.lab-ella-bestsellers .section-card.bestseller-product .options-card-inner {
        padding: 10px;
    }

    .section-container.lab-ella-bestsellers .section-card.bestseller-product .close-options {
        top: 10px;
        right: 10px;
        z-index: 15;
    }

    .section-container.lab-ella-bestsellers .section-card.bestseller-product .purchase-options {
        margin: 0 -15px 15px;
    }
}

/* ==========================================================================
   Section : Save with Sets
   Description : Styles affinés pour un look élégant et cohérent avec les autres sections
   ========================================================================== */
section.save-with-sets {
    font-family: var(--font-primary);
    max-width: 1200px;
    margin: 60px auto;
    padding: 0;
    background: linear-gradient(145deg, #FFF, #FDF9F8);
    border-radius: 24px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
    overflow: visible;
    position: relative;
}

/* En-tête de la section */
.save-sets-header {
    text-align: center;
    margin-bottom: 40px;
    padding-top: 40px;
}

.save-sets-section-title {
    font-family: var(--font-secondary);
    font-size: var(--font-size-title);
    font-weight: 500;
    margin-bottom: 10px;
    color: var(--dark);
    letter-spacing: 1px;
    text-transform: uppercase;
    position: relative;
}

.save-sets-section-title::after {
    content: '';
    width: 50px;
    height: 2px;
    background: var(--gold);
    position: absolute;
    bottom: -10px;
    left: 50%;
    transform: translateX(-50%);
}

.save-sets-subtitle {
    font-family: var(--font-primary);
    font-size: var(--font-size-subtitle);
    color: #666;
    font-weight: 300;
    font-style: italic;
}

/* Conteneur du carrousel */
.save-sets-carousel-wrapper {
    position: relative;
    overflow: visible;
    margin: 60px auto;
    z-index: 5;
    width: 100%;
    box-sizing: border-box;
    padding: 0 40px;
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 500px;
}

/* Carrousel */
.save-sets-carousel {
    display: flex;
    gap: 20px;
    transition: transform 0.6s cubic-bezier(0.25, 0.1, 0.25, 1);
    touch-action: auto; /* Scroll libre */
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    width: auto;
    box-sizing: border-box;
    justify-content: flex-start;
    min-width: 100%;
    padding: 0 20px;
    margin-bottom: 40px;
}

/* Masquer la barre de défilement */
.save-sets-carousel::-webkit-scrollbar {
    display: none;
}

.save-sets-carousel {
    -ms-overflow-style: none;
    scrollbar-width: none;
}

/* Flèches du carrousel */
.save-sets-carousel-prev,
.save-sets-carousel-next {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 48px;
    height: 48px;
    background: #fff;
    border: 2px solid var(--gold);
    border-radius: 50%;
    color: var(--dark);
    font-size: 22px;
    font-weight: 600;
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 10;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    cursor: pointer;
}

.save-sets-carousel-prev:hover,
.save-sets-carousel-next:hover {
    background: var(--rose);
    color: var(--dark);
    transform: translateY(-50%) scale(1.05);
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.2);
}

.save-sets-carousel-prev {
    left: 10px;
}

.save-sets-carousel-next {
    right: 10px;
}

.save-sets-carousel-prev.disabled,
.save-sets-carousel-next.disabled {
    opacity: 0.5;
    cursor: not-allowed;
    transform: translateY(-50%);
}

/* Carte de pack */
.save-sets-card {
    position: relative;
    background: linear-gradient(145deg, #FFF, #FDF9F8);
    border: 1.5px solid var(--gold);
    border-radius: 24px;
    overflow: hidden;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08), 0 8px 24px rgba(0, 0, 0, 0.05);
    transition: transform 0.4s ease, box-shadow 0.4s ease;
    display: flex;
    flex-direction: column;
    scroll-snap-align: center;
     flex: 0 0 320px;
    min-width: 320px;
    max-width: 320px;
    height: 500px;
    height: 500px;
    margin: 0;
    opacity: 0;
    transform: translateY(20px);
    animation: slideIn 0.6s ease forwards;
    animation-delay: calc(var(--animation-order) * 0.1s);
}

.save-sets-card:nth-child(1) { animation-delay: 0.1s; }
.save-sets-card:nth-child(2) { animation-delay: 0.2s; }
.save-sets-card:nth-child(3) { animation-delay: 0.3s; }
.save-sets-card:nth-child(4) { animation-delay: 0.4s; }
.save-sets-card:nth-child(5) { animation-delay: 0.5s; }

@keyframes slideIn {
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.save-sets-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.12), 0 12px 32px rgba(0, 0, 0, 0.08);
}

/* Étiquette d’économie (en haut) */
.save-sets-savings {
    position: absolute;
    top: 15px;
    left: 50%;
    transform: translateX(-50%);
    padding: 6px 12px;
    border-radius: 20px;
    font-size: 13px;
    font-weight: 600;
    background: linear-gradient(90deg, var(--gold), #F5D5B5);
    color: var(--dark);
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
    z-index: 3;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    text-align: center;
    white-space: nowrap;
    transition: transform 0.3s ease;
}

.save-sets-card:hover .save-sets-savings {
    transform: translateX(-50%) scale(1.05);
}

/* Image du pack */
.save-sets-image-wrapper {
    position: relative;
    aspect-ratio: 1 / 1;
    border-radius: 24px 24px 0 0;
    overflow: hidden;
    background: transparent;
    width: 100%;
    height: 280px;
}

.save-sets-image {
    height: 100%;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: transparent;
}

.save-sets-image img {
    height: 100%;
    width: 100%;
    object-fit: contain;
    transition: transform 0.5s ease;
}

.save-sets-card:hover .save-sets-image img {
    transform: scale(1.05);
}

/* Détails du pack */
.save-sets-details {
    padding: 15px;
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    text-align: center;
    height: auto;
    min-height: 220px;
    background: transparent;
    border-radius: 0 0 24px 24px;
}

.save-sets-link {
    text-decoration: none;
}

.save-sets-title {
    font-family: var(--font-primary);
    font-size: 18px;
    font-weight: 500;
    margin: 0 0 10px 0;
    color: var(--dark);
    line-height: 1.4;
    max-height: 50px;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    text-transform: uppercase;
}

.save-sets-link:hover .save-sets-title {
    color: var(--gold);
}

.save-sets-price {
    color: var(--dark);
    font-size: 16px;
    font-weight: 600;
    margin: 5px 0;
    font-family: var(--font-secondary);
    letter-spacing: 0.5px;
}

.save-sets-products {
    margin: 10px 0;
    font-size: 16px;
    color: #666;
    font-style: italic;
    line-height: 1.5;
    flex-grow: 1;
    overflow-y: auto;
    max-height: 100px;
}

.save-sets-product-item {
    display: block;
    margin-bottom: 5px;
}

.save-sets-add-to-cart-btn {
    width: 100%;
    max-width: 100%;
    padding: 8px 10px;
    background: linear-gradient(135deg, #FFF, var(--rose));
    color: var(--dark);
    border: 1px solid var(--dark);
    border-radius: 5px;
    cursor: pointer;
    font-size: 13px;
    font-weight: 500;
    transition: all 0.3s ease;
    display: flex;
    justify-content: space-between;
    align-items: center;
    line-height: 1.2;
    gap: 4px;
    font-family: var(--font-primary);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
    margin: 0 auto;
    white-space: nowrap;
    overflow: visible;
}

.save-sets-add-to-cart-btn:hover,
.save-sets-add-to-cart-btn.active {
    background: linear-gradient(135deg, var(--dark), #2A2A2A);
    color: var(--cream);
    border-color: var(--dark);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    transform: translateY(-2px);
}

.save-sets-add-to-cart-text,
.save-sets-add-to-cart-price {
    font-size: 13px;
    white-space: nowrap;
    overflow: visible;
}

.save-sets-add-to-cart-text {
    flex: 1;
}

.save-sets-add-to-cart-price {
    flex-shrink: 0;
    direction: ltr;
}

/* Carte d'options */
.save-sets-options-card {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: auto;
    background: linear-gradient(145deg, var(--rose), #fdeded);
    z-index: 15;
    border-radius: 10px 10px 0 0 !important;
    box-shadow: 0 8px 20px var(--shadow);
    border: 1px solid rgba(232, 199, 167, 0.2);
    opacity: 0;
    visibility: hidden;
    transform: translateY(100%);
    transition: all 1s cubic-bezier(0.25, 0.1, 0.25, 1);
    isolation: isolate;
    overflow-y: auto !important;
    overflow-x: hidden !important;
}

.save-sets-options-card.preparing {
    display: block;
    visibility: visible;
    opacity: 0;
    transform: translateY(100%);
}

.save-sets-options-card.active {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.save-sets-options-card-inner {
    padding: 15px;
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.save-sets-close-options {
    position: sticky !important;
    top: 8px !important;
    right: 15px !important;
    float: right !important;
    margin-bottom: -32px !important;
    width: 32px !important;
    height: 32px !important;
    min-width: 32px !important;
    min-height: 32px !important;
    background: var(--rose) !important;
    border: 1px solid var(--dark) !important;
    border-radius: 50% !important;
    display: flex !important;
    z-index: 1000 !important;
    opacity: 1 !important;
    visibility: visible !important;
    font-size: 16px;
    color: var(--dark);
    cursor: pointer;
    transition: var(--transition);
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
    z-index: 20;
    padding: 0 !important;
}

.save-sets-close-options:hover {
    background: var(--dark);
    color: #fff;
    transform: rotate(90deg);
}

.save-sets-close-options::before {
    content: "×";
    font-size: 18px;
}

.save-sets-option-group {
    margin-bottom: 15px;
}

.save-sets-option-label {
    font-family: var(--font-secondary);
    font-size: 13px;
    font-weight: 500;
    margin-bottom: 8px;
    color: var(--dark);
    text-transform: uppercase;
    letter-spacing: 1px;
    text-align: center;
}

.save-sets-color-options {
    display: flex;
    gap: 14px;
    flex-wrap: wrap;
    justify-content: center;
}

.save-sets-color-option {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    border: 2px solid transparent;
    display: inline-block;
    position: relative;
    cursor: pointer;
    margin: 0 4px;
    background-size: cover;
    background-position: center;
    transition: var(--transition);
}

.save-sets-color-option:hover {
    transform: scale(1.1);
    border-color: var(--dark);
}

.save-sets-color-option.active {
    border-color: var(--gold-dark);
    box-shadow: 0 0 0 2px #fff, 0 0 0 4px var(--gold-dark);
}

.save-sets-color-option .save-sets-color-name {
    position: absolute;
    bottom: -28px;
    left: 50%;
    transform: translateX(-50%);
    background: var(--dark);
    color: var(--cream);
    padding: 3px 8px;
    border-radius: 4px;
    font-size: 11px;
    white-space: nowrap;
    opacity: 0;
    visibility: hidden;
    transition: var(--transition);
}

.save-sets-color-option:hover .save-sets-color-name {
    opacity: 1;
    visibility: visible;
}

.save-sets-color-option[title="Bronze"] {
    background-color: var(--gold) !important;
}

.save-sets-color-option[title="Noisette"] {
    background-color: #8B4513 !important;
}

.save-sets-color-option[title="Rose"] {
    background-color: var(--rose) !important;
}

.save-sets-color-option[title="Rose Gold"] {
    background-color: var(--gold) !important;
}

.save-sets-size-options {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    justify-content: center;
}

.save-sets-size-option {
    padding: 8px 16px;
    border: 1px solid rgba(232, 199, 167, 0.3);
    border-radius: 24px;
    cursor: pointer;
    background-color: #FFF;
    transition: all 0.3s ease;
    font-size: 13px;
    text-align: center;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.05);
    font-family: var(--font-primary);
    color: var(--dark);
}

.save-sets-size-option:hover {
    background-color: var(--rose);
    color: var(--dark);
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.08);
}

.save-sets-size-option.active {
    background-color: var(--gold);
    border-color: var(--gold);
    color: var(--dark);
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}

.save-sets-quantity-selector {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
}

.save-sets-quantity-btn {
    width: 20px;
    height: 20px;
    background: #FFF;
    border: 0.5px solid rgba(0, 0, 0, 0.2);
    border-radius: 50%;
    cursor: pointer;
    font-size: 10px;
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    justify-content: center;
}

.save-sets-quantity-btn:hover {
    background: var(--rose);
    color: var(--dark);
}

.save-sets-quantity-input {
    width: 32px;
    height: 20px;
    border: 1px solid rgba(0, 0, 0, 0.2);
    border-radius: 5px;
    text-align: center;
    font-size: 11px;
    color: var(--dark);
    background-color: #FFF;
    -moz-appearance: textfield;
    padding: 0 4px;
}

.save-sets-quantity-input::-webkit-outer-spin-button,
.save-sets-quantity-input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.save-sets-purchase-options {
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin-bottom: 8px;
    justify-content: center;
    align-items: flex-start;
}

.save-sets-purchase-option {
    display: flex;
    align-items: center;
    gap: 6px;
    cursor: pointer;
    font-size: 13px;
    font-weight: 400;
    color: var(--dark);
    padding: 8px 12px;
    border: 1px solid #ddd;
    border-radius: 5px;
    transition: var(--transition);
    white-space: nowrap;
    background: transparent;
    box-shadow: none;
}

.save-sets-purchase-option:hover {
    color: var(--gold-dark);
    transform: scale(1.02);
    background: rgba(232, 199, 167, 0.1);
    border-color: var(--gold);
}

/* État activé (quand abonnement est activé) */
.save-sets-purchase-option[style*="background-color: rgb(249, 228, 230)"] {
    background-color: #F9E4E6 !important;
    border-color: #E8C7A7 !important;
}

.save-sets-purchase-option span {
    cursor: pointer;
    font-size: 13px;
    font-family: var(--font-primary);
    transition: var(--transition);
}

.save-sets-variant-selections {
    margin-bottom: 12px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    max-height: 300px;
    overflow-y: auto;
    padding-right: 6px;
}

.save-sets-variant-selection {
    border: 1px solid rgba(232, 199, 167, 0.3);
    padding: 10px;
    border-radius: 12px;
    background: linear-gradient(145deg, #FFF, #fef7f5);
    margin-bottom: 6px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.03);
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.save-sets-variant-selection .save-sets-option-group {
    width: 100%;
    margin-bottom: 0;
}

.save-sets-variant-selection-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 6px;
    font-size: 12px;
    font-weight: 500;
    color: var(--dark);
}

.save-sets-remove-selection {
    background-color: transparent;
    border: 0.5px solid rgba(0, 0, 0, 0.2);
    padding: 2px 8px;
    border-radius: 12px;
    cursor: pointer;
    font-size: 11px;
    transition: all 0.3s ease;
    margin-top: 6px;
    width: auto;
    text-align: center;
    color: var(--dark);
    font-weight: 400;
}

.save-sets-remove-selection:hover {
    background-color: var(--rose);
    color: var(--dark);
}

.save-sets-confirm-btn {
    width: 100%;
    padding: 8px 10px;
    background: linear-gradient(145deg, #FFF, var(--rose));
    color: var(--dark);
    border: 1px solid var(--dark);
    border-radius: 5px;
    cursor: pointer;
    font-size: 13px;
    font-weight: 500;
    transition: all 0.3s ease;
    display: flex;
    justify-content: space-between;
    align-items: center;
    line-height: 1.2;
    gap: 4px;
    font-family: var(--font-primary);
    overflow: visible;
}

.save-sets-confirm-btn:hover,
.save-sets-confirm-btn.active {
    background: linear-gradient(145deg, var(--dark), #2A2A2A);
    color: var(--cream);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

/* Styles pour les bundles */
.save-sets-bundle-products {
    display: flex;
    flex-direction: column;
    gap: 15px;
    background: linear-gradient(145deg, #FFF, #fef7f5);
    padding: 15px;
    border-radius: 16px;
    margin-bottom: 20px;
    border: 1px solid rgba(232, 199, 167, 0.3);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.04), 0 6px 16px rgba(0, 0, 0, 0.02);
    max-height: 45vh;
    overflow-y: auto;
}

.save-sets-bundle-products::-webkit-scrollbar {
    width: 6px;
}

.save-sets-bundle-products::-webkit-scrollbar-track {
    background: rgba(0, 0, 0, 0.05);
    border-radius: 3px;
}

.save-sets-bundle-products::-webkit-scrollbar-thumb {
    background: var(--gold);
    border-radius: 3px;
}

.save-sets-bundle-products {
    -ms-overflow-style: auto;
    scrollbar-width: thin;
    scrollbar-color: var(--gold) rgba(0, 0, 0, 0.05);
}

.save-sets-bundle-product {
    display: flex;
    align-items: center !important;
    gap: 10px !important;
    padding: 12px;
    border: 1px solid #E0E0E0;
    border-radius: 12px;
    background: #FFF;
    transition: all 0.3s ease;
    cursor: pointer;
}

.save-sets-bundle-product.selected {
    background: linear-gradient(145deg, #fdeded, #FFF);
    border-color: var(--gold);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

.save-sets-bundle-product .bundle-product-content {
    display: flex;
    align-items: center;
    gap: 12px;
    flex: 1;
}

.save-sets-bundle-product .bundle-product-image {
    width: 50px;
    height: 50px;
}

.save-sets-bundle-product .bundle-product-image img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    border-radius: 8px;
}

.save-sets-bundle-product .bundle-product-header {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.save-sets-bundle-product .bundle-product-label {
    display: flex;
    align-items: center;
    gap: 5px;
}

.save-sets-bundle-product .bundle-product-name {
    font-size: 14px;
    color: var(--dark);
    font-family: var(--font-primary);
}

.save-sets-bundle-product .bundle-product-quantity {
    font-size: 12px;
    color: #666;
}

.save-sets-bundle-product .bundle-product-price {
    font-size: 14px;
    font-weight: 500;
    color: var(--dark);
}

.save-sets-bundle-discount {
    margin-top: 10px;
    font-size: 12px;
    color: #FFF;
    text-align: center;
    font-style: italic;
    background: rgba(232, 199, 167, 0.1);
    padding: 6px;
    border-radius: 6px;
}

/* Notification */
.save-sets-cart-notification {
    position: fixed;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    background: linear-gradient(145deg, var(--rose), #FFF);
    border-radius: 0 0 12px 12px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    width: 100%;
    max-width: 400px;
    z-index: 900 !important; /* Réduit pour être en dessous des popups */
    opacity: 0;
    visibility: hidden;
    transition: all 0.8s ease;
    border: 1px solid rgba(232, 199, 167, 0.2);
    border-top: none;
}

.save-sets-cart-notification.show {
    opacity: 1;
    visibility: visible;
    transform: translate(-50%, 0);
}

.save-sets-notification-inner {
    padding: 12px 15px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.save-sets-notification-image {
    width: 40px;
    height: 40px;
    object-fit: contain;
    border-radius: 5px;
    background-color: var(--cream);
    padding: 2px;
}

.save-sets-notification-content {
    flex: 1;
}

.save-sets-notification-title {
    font-weight: 600;
    margin-bottom: 4px;
    color: var(--dark);
    font-size: 14px;
    line-height: 1.3;
}

.save-sets-notification-message {
    color: #666;
    font-size: 12px;
    font-weight: 400;
}

.save-sets-notification-actions {
    display: flex;
    align-items: center;
    gap: 8px;
}

.save-sets-view-cart-btn {
    padding: 6px 12px;
    border-radius: 5px;
    border: 1px solid var(--dark);
    font-size: 12px;
    text-align: center;
    cursor: pointer;
    transition: all 0.3s ease;
    background: linear-gradient(145deg, var(--dark), #2A2A2A);
    color: var(--cream);
    text-decoration: none;
    font-weight: 500;
}

.save-sets-view-cart-btn:hover {
    background: linear-gradient(145deg, #555, #333);
}

.save-sets-close-notification {
    width: 20px;
    height: 20px;
    background: transparent;
    border: 1px solid #666;
    border-radius: 5px;
    font-size: 12px;
    cursor: pointer;
    color: #666;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
}

.save-sets-close-notification:hover {
    background-color: var(--rose);
    color: var(--dark);
}

/* Styles responsifs pour Save with Sets */
@media (max-width: 1200px) {
    .save-sets-card {
        flex: 0 0 320px;
        min-width: 320px;
        max-width: 320px;
        height: 480px;
    }
    .save-sets-carousel-wrapper {
        padding: 0 20px;
        margin: 50px auto;
    }
    .save-sets-savings {
        font-size: 12px;
        padding: 5px 10px;
    }
    .save-sets-section-title {
        font-size: var(--font-size-title);
    }
    .save-sets-price {
        font-size: 14px;
    }
    .save-sets-products {
        font-size: 15px;
        max-height: 90px;
    }
    .save-sets-add-to-cart-btn {
        padding: 8px 10px;
        font-size: 13px;
        gap: 4px;
    }
    .save-sets-add-to-cart-text,
    .save-sets-add-to-cart-price {
        font-size: 13px;
    }
}

@media (max-width: 992px) {
    .save-sets-card {
         flex: 0 0 320px;
        min-width: 320px;
        max-width: 320px;
        height: 460px;
    }
    .save-sets-carousel-wrapper {
        padding: 0 15px;
        margin: 40px auto;
    }
    .save-sets-carousel-prev,
    .save-sets-carousel-next {
        width: 36px;
        height: 36px;
        font-size: 16px;
    }
    .save-sets-carousel-prev {
        left: 0;
    }
    .save-sets-carousel-next {
        right: 0;
    }
    .save-sets-image-wrapper {
        height: 260px;
    }
    .save-sets-details {
        padding: 12px;
    }
    .save-sets-add-to-cart-btn {
        padding: 8px 10px;
        font-size: 12px;
        gap: 3px;
    }
    .save-sets-add-to-cart-text,
    .save-sets-add-to-cart-price {
        font-size: 12px;
    }
}

@media (max-width: 768px) {
    .save-with-sets .save-sets-confirm-btn {
        font-size: 16px !important;
    }
    .save-with-sets .save-sets-add-to-cart-btn {
        font-size: 16px !important;
    }
    .save-sets-add-to-cart-text,
    .save-sets-add-to-cart-price {
        font-size: 16px !important;
    }
    .save-sets-card {
          flex: 0 0 320px;
        min-width: 320px;
        max-width: 320px;
        height: 440px;
    }
    .save-sets-carousel-wrapper {
        padding: 0 10px;
        margin: 30px auto;
    }
    .save-sets-options-card-inner {
        padding: 8px;
    }
    .save-sets-carousel-prev,
    .save-sets-carousel-next {
        width: 32px;
        height: 32px;
        font-size: 14px;
    }
    .save-sets-carousel-prev {
        left: 0;
    }
    .save-sets-carousel-next {
        right: 0;
    }
    .save-sets-cart-notification {
        max-width: 90%;
    }
    .save-sets-image-wrapper {
        height: 240px;
    }
    .save-sets-details {
        padding: 10px;
    }
    .save-sets-title {
        font-size: 15px;
        max-height: 45px;
    }
    .save-sets-price {
        font-size: 13px;
    }
    .save-sets-products {
        font-size: 14px;
        max-height: 80px;
    }
    .save-sets-add-to-cart-btn {
        padding: 6px 8px;
        font-size: 11px;
        gap: 2px;
    }
    .save-sets-add-to-cart-text,
    .save-sets-add-to-cart-price {
        font-size: 11px;
    }
}

@media (max-width: 576px) {
    .save-with-sets .save-sets-confirm-btn {
        font-size: 16px !important;
    }
    .save-with-sets .save-sets-add-to-cart-btn {
        font-size: 16px !important;
    }
    .save-sets-add-to-cart-text,
    .save-sets-add-to-cart-price {
        font-size: 16px !important;
    }
    .save-sets-card {
         flex: 0 0 320px;
        min-width: 320px;
        max-width: 320px;
        height: 420px;
    }
    .save-sets-image-wrapper {
        height: 220px;
    }
    .save-sets-details {
        padding: 8px;
    }
    .save-sets-title {
        font-size: 14px;
        max-height: 40px;
    }
    .save-sets-price {
        font-size: 12px;
    }
    .save-sets-products {
        font-size: 14px;
        max-height: 70px;
    }
    .save-sets-add-to-cart-btn {
        padding: 6px 8px;
        font-size: 10px;
        gap: 2px;
    }
    .save-sets-add-to-cart-text,
    .save-sets-add-to-cart-price {
        font-size: 10px;
    }
}

.save-sets-bundle-products {
    display: flex !important;
    flex-direction: column !important;
    visibility: visible !important;
    opacity: 1 !important;
}

.save-sets-bundle-product {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
}

.save-sets-bundle-product .bundle-product-image {
    width: 60px !important;
    height: 60px !important;
}

.save-sets-bundle-product .bundle-product-name {
    font-size: 16px !important;
    font-weight: 500 !important;
}

.save-sets-bundle-product .bundle-product-price {
    font-size: 16px !important;
    font-weight: 600 !important;
    color: var(--dark) !important;
}

.save-sets-bundle-product {
    padding: 15px !important;
    gap: 15px !important;
}
/* ==========================================================================
   CORRECTION BUNDLES SAVE WITH SETS - COPIE EXACTE BESTSELLER
   ========================================================================== */

/* Cacher les checkboxes */
.save-with-sets .save-sets-bundle-product input[type="checkbox"] {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
}

/* Container bundles - style bestseller */
.save-with-sets .save-sets-bundle-products {
    background: transparent !important;
    padding: 8px 0 !important;
    margin-bottom: 8px !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 6px !important;
    align-items: center !important;
    justify-content: flex-start !important;
    box-sizing: border-box !important;
    width: 100% !important;
    max-height: 40vh !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    max-height: 250px !important;
    overflow-y: auto !important;
    border: none !important;
    box-shadow: none !important;
}

/* Scrollbar pour les bundles */
.save-with-sets .save-sets-bundle-products::-webkit-scrollbar {
    width: 6px;
}

.save-with-sets .save-sets-bundle-products::-webkit-scrollbar-track {
    background: rgba(0, 0, 0, 0.05);
    border-radius: 3px;
}

.save-with-sets .save-sets-bundle-products::-webkit-scrollbar-thumb {
    background: var(--gold);
    border-radius: 3px;
}

.save-with-sets .save-sets-bundle-products {
    -ms-overflow-style: auto;
    scrollbar-width: thin;
    scrollbar-color: var(--gold) rgba(0, 0, 0, 0.05);
}

/* Produit bundle - style bestseller */
.save-with-sets .save-sets-bundle-product {
    display: flex !important;
    align-items: center !important;
    padding: 6px !important;
    border: 1px solid rgba(232, 199, 167, 0.2) !important;
    border-radius: 8px !important;
    background: #fff !important;
    transition: background 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease !important;
    gap: 8px !important;
    width: 90% !important;
    max-width: 320px !important;
    box-sizing: border-box !important;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.05) !important;
    cursor: pointer !important;
}

.save-with-sets .save-sets-bundle-product:hover {
    background: linear-gradient(145deg, rgba(249, 228, 230, 0.5), rgba(232, 199, 167, 0.2)) !important;
    border-color: var(--gold-dark) !important;
    box-shadow: 0 4px 12px rgba(232, 199, 167, 0.2) !important;
}

.save-with-sets .save-sets-bundle-product.selected {
    background: #F9E4E6 !important;
    border: 2px solid #b89f65 !important;
    box-shadow: 0 4px 12px rgba(232, 199, 167, 0.3) !important;
}

/* Image produit */
.save-with-sets .save-sets-bundle-product .bundle-product-image {
    width: 45px !important;
    height: 45px !important;
    flex-shrink: 0 !important;
    border-radius: 6px !important;
    overflow: hidden !important;
    border: 1px solid rgba(232, 199, 167, 0.3) !important;
}

.save-with-sets .save-sets-bundle-product .bundle-product-image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}

/* Contenu produit */
.save-with-sets .save-sets-bundle-product .bundle-product-content {
    flex: 1 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 4px !important;
}

/* Header produit */
.save-with-sets .save-sets-bundle-product .bundle-product-header {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    flex-wrap: nowrap !important;
}

/* Label produit */
.save-with-sets .save-sets-bundle-product .bundle-product-label {
    display: flex !important;
    flex-direction: column !important;
    gap: 2px !important;
    flex: 1 !important;
}

/* Nom produit */
.save-with-sets .save-sets-bundle-product .bundle-product-name {
    font-size: 12px !important;
    color: var(--dark) !important;
    font-weight: 500 !important;
    line-height: 1.3 !important;
    max-height: 32px !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
}

/* Quantité produit */
.save-with-sets .save-sets-bundle-product .bundle-product-quantity {
    font-size: 10px !important;
    color: #666 !important;
    opacity: 0.7 !important;
    line-height: 1.2 !important;
}

/* Prix produit */
.save-with-sets .save-sets-bundle-product .bundle-product-price {
    font-size: 12px !important;
    font-weight: 500 !important;
    color: var(--dark) !important;
    text-align: center !important;
    margin-top: auto !important;
}

/* Sélecteur de quantité */
.save-with-sets .save-sets-bundle-product .quantity-selector {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 4px !important;
    margin-top: 4px !important;
}

/* Input quantité */
.save-with-sets .save-sets-bundle-product .quantity-input {
    width: 40px !important;
    height: 26px !important;
    border: 1px solid var(--dark) !important;
    border-radius: 6px !important;
    text-align: center !important;
    font-size: 12px !important;
    color: var(--dark) !important;
    background: #fff !important;
    -moz-appearance: textfield !important;
    padding: 0 4px !important;
    transition: border-color 0.3s ease !important;
}

.save-with-sets .save-sets-bundle-product .quantity-input:focus {
    border-color: var(--gold-dark) !important;
    outline: none !important;
}

.save-with-sets .save-sets-bundle-product .quantity-input::-webkit-outer-spin-button,
.save-with-sets .save-sets-bundle-product .quantity-input::-webkit-inner-spin-button {
    -webkit-appearance: none !important;
    margin: 0 !important;
}

/* Boutons quantité */
.save-with-sets .save-sets-bundle-product .quantity-btn {
    width: 26px !important;
    height: 26px !important;
    background: linear-gradient(145deg, #ffffff, #fdeded) !important;
    border: 1px solid var(--dark) !important;
    border-radius: 50% !important;
    cursor: pointer !important;
    font-size: 13px !important;
    transition: var(--transition) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: var(--dark) !important;
}

.save-with-sets .save-sets-bundle-product .quantity-btn:hover {
    background: var(--rose) !important;
    color: var(--dark) !important;
    border-color: var(--dark) !important;
}

/* Discount bundle */
.save-with-sets .save-sets-bundle-discount {
    color: var(--gold-dark) !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    text-align: center !important;
    margin-top: 6px !important;
    padding: 4px !important;
    border-radius: 6px !important;
    border: 1px solid rgba(232, 199, 167, 0.3) !important;
    background: rgba(232, 199, 167, 0.1) !important;
    box-shadow: 0 1px 3px rgba(232, 199, 167, 0.1) !important;
}

/* Définir les variables CSS pour un design cohérent */
:root {
    --font-primary: 'Montserrat', sans-serif;
    --font-secondary: 'Montserrat', sans-serif;
    --dark: #333;
    --gold: #e6b800;
    --rose: #f8e1e1;
    --white: #ffffff;
    --light-bg: #f9f6f2;
    --gray: #666;
    --border: #e0e0e0;
}

/* ==========================================================================
   Section : Prendre Rendez-Vous avec Dr Hela Dahmani
   Description : Élégance et luxe pour consultation pharmaceutique d'exception
   Correction : Problème de scroll résolu
   ========================================================================== */

.lab-ella-appointment {
    max-width: 1320px;
    margin: 100px auto;
    padding: 64px;
    background: linear-gradient(135deg, var(--cream) 0%, #fdf9f8 50%, var(--rose) 100%);
    border-radius: 40px;
    box-shadow: 0 16px 48px rgba(0, 0, 0, 0.08), 0 12px 32px rgba(0, 0, 0, 0.06);
    font-family: var(--font-primary);
    position: relative;
    overflow: visible !important; /* CORRECTION SCROLL */
    z-index: 1;
}

.lab-ella-appointment::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" preserveAspectRatio="none"%3E%3Ccircle cx="50" cy="50" r="40" fill="rgba(232,199,167,0.1)" /%3E%3C/svg%3E') repeat;
    opacity: 0.15; /* Réduit pour plus de subtilité */
    z-index: -1;
    animation: particleFloat 25s linear infinite; /* Ralenti pour fluidité */
}

@keyframes particleFloat {
    0% { background-position: 0 0; }
    100% { background-position: 100px 100px; }
}

.lab-ella-appointment .appointment-columns {
    display: flex;
    flex-wrap: wrap;
    gap: 64px;
    justify-content: space-between;
    overflow: visible !important; /* CORRECTION SCROLL */
}

.lab-ella-appointment .appointment-column {
    flex: 1;
    min-width: 360px;
    min-height: 600px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    position: relative;
    z-index: 2;
    overflow: visible !important; /* CORRECTION SCROLL */
}

.lab-ella-appointment .appointment-title {
    font-family: var(--font-secondary);
    font-size: var(--font-size-title);
    font-weight: 500;
    color: var(--dark);
    margin: 0 auto 20px;
    text-align: center;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    position: relative;
    opacity: 0;
    transform: translateY(30px); /* ANIMATION SIMPLIFIÉE */
    animation: elegantFadeIn 1.2s ease-out 0.2s forwards; /* ANIMATION ÉLÉGANTE */
    text-shadow: 0 4px 8px rgba(232, 199, 167, 0.2);
}

.lab-ella-appointment .appointment-title::after {
    content: '';
    width: 80px;
    height: 3px;
    background: linear-gradient(90deg, transparent, var(--gold), transparent);
    position: absolute;
    bottom: -16px;
    left: 50%;
    transform: translateX(-50%) scaleX(0);
    animation: lineGrow 1.2s ease-out 0.6s forwards; /* ANIMATION ÉLÉGANTE */
}

.lab-ella-appointment .appointment-title:hover {
    color: var(--gold);
    text-shadow: 0 0 16px rgba(232, 199, 167, 0.7);
    transition: all 0.3s ease;
}

@keyframes elegantFadeIn {
    to { opacity: 1; transform: translateY(0); }
}

@keyframes lineGrow {
    to { transform: translateX(-50%) scaleX(1); }
}

.lab-ella-appointment .appointment-bio {
    font-family: var(--font-primary);
    font-size: 18px;
    color: #333;
    line-height: 1.8;
    margin: 0 auto 64px;
    max-width: 900px;
    text-align: center;
    opacity: 0;
    transform: translateY(30px); /* ANIMATION SIMPLIFIÉE */
    animation: elegantFadeIn 1.2s ease-out 0.4s forwards; /* ANIMATION ÉLÉGANTE */
}

.lab-ella-appointment .appointment-bio em {
    font-style: italic;
    color: var(--gold);
    text-shadow: 0 2px 4px rgba(232, 199, 167, 0.4);
}

.lab-ella-appointment .expert-image-wrapper {
    width: 100%;
    max-width: 600px;
    height: 580px;
    margin: 0 auto;
    border-radius: 24px;
    overflow: hidden;
    position: relative;
    background: linear-gradient(145deg, var(--cream), #fdeded);
    box-shadow: 0 12px 32px rgba(0, 0, 0, 0.15);
    border: 3px solid var(--gold);
    transition: box-shadow 0.4s ease, transform 0.4s ease; /* TRANSITIONS RÉDUITES */
    opacity: 0;
    transform: translateY(40px); /* ANIMATION SIMPLIFIÉE - PAS DE ROTATION */
    animation: elegantFadeIn 1.4s ease-out 0.6s forwards; /* ANIMATION ÉLÉGANTE */
    display: flex;
    align-items: center;
    justify-content: center;
}

.lab-ella-appointment .expert-image-wrapper:hover {
    box-shadow: 0 20px 60px rgba(232, 199, 167, 0.6), 0 24px 80px rgba(249, 228, 230, 0.4);
    transform: translateY(-12px); /* HOVER RÉDUIT */
    filter: drop-shadow(0 0 12px rgba(232, 199, 167, 0.4));
}

.lab-ella-appointment .expert-image-wrapper::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(45deg, rgba(232, 199, 167, 0.2), rgba(249, 228, 230, 0.1)); /* RÉDUIT */
    opacity: 0;
    transition: opacity 0.4s ease; /* TRANSITION RÉDUITE */
    z-index: 1;
}

.lab-ella-appointment .expert-image-wrapper:hover::after {
    opacity: 1;
}

.lab-ella-appointment .expert-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.4s ease; /* TRANSITION RÉDUITE */
    position: relative;
    z-index: 0;
}

.lab-ella-appointment .expert-image-wrapper:hover .expert-image {
    transform: scale(1.05); /* SCALE RÉDUIT */
}

.lab-ella-appointment .appointment-form-wrapper {
    background: linear-gradient(145deg, rgba(255, 255, 255, 0.95), rgba(253, 233, 232, 0.9));
    padding: 48px;
    border-radius: 24px;
    border: 1px solid var(--rose);
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.08), inset 0 0 12px rgba(232, 199, 167, 0.15);
    position: relative;
    opacity: 0;
    transform: translateY(40px); /* ANIMATION SIMPLIFIÉE */
    animation: elegantFadeIn 1.4s ease-out 0.8s forwards; /* ANIMATION ÉLÉGANTE */
    backdrop-filter: blur(5px);
    width: 100%;
    max-width: 600px;
    margin: 0 auto;
}

.lab-ella-appointment .appointment-form-wrapper::before,
.lab-ella-appointment .appointment-form-wrapper::after {
    content: '';
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    width: 100px;
    height: 2px;
    background: linear-gradient(90deg, transparent, var(--gold), transparent);
}

.lab-ella-appointment .appointment-form-wrapper::before {
    top: -2px;
}

.lab-ella-appointment .appointment-form-wrapper::after {
    bottom: -2px;
}

.lab-ella-appointment .appointment-form {
    display: flex;
    flex-direction: column;
    gap: 28px;
}

.lab-ella-appointment .appointment-field {
    display: flex;
    flex-direction: column;
    gap: 10px;
    position: relative;
}

.lab-ella-appointment .appointment-field.inline {
    display: flex;
    flex-direction: row;
    gap: 28px;
}

.lab-ella-appointment .appointment-field label {
    font-family: 'Montserrat', sans-serif;
    font-size: 14px;
    font-weight: 600;
    color: var(--dark);
    text-transform: uppercase;
    letter-spacing: 1.2px;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
}

.lab-ella-appointment .appointment-field input,
.lab-ella-appointment .appointment-field select {
    padding: 18px;
    border: 2px solid transparent;
    border-radius: 12px;
    font-size: 17px;
    font-family: var(--font-primary);
    background: rgba(255, 255, 255, 0.95);
    transition: border-color 0.3s ease, box-shadow 0.3s ease, transform 0.3s ease; /* TRANSITIONS RÉDUITES */
    min-height: 56px;
    box-shadow: inset 0 2px 6px rgba(0, 0, 0, 0.03);
    position: relative;
    z-index: 1;
}

.lab-ella-appointment .appointment-field input:focus,
.lab-ella-appointment .appointment-field select:focus {
    border-color: var(--gold);
    box-shadow: 0 0 12px rgba(232, 199, 167, 0.5), inset 0 0 6px rgba(232, 199, 167, 0.2);
    transform: translateY(-2px); /* MOUVEMENT RÉDUIT */
    outline: none;
}

.lab-ella-appointment .appointment-field input::placeholder {
    color: #ddd;
}

.lab-ella-appointment .appointment-field select {
    appearance: none;
    background: url('data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTgiIGhlaWdodD0iMTIiIHZpZXdCb3g9IjAgMCAxOCAxMiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNMTYuNSAzLjVMOSA5TDEuNSAzLjVMMi41IDFMOSAxMC41TDE1LjUgMUwxNi41IDMuNVoiIGZpbGw9IiNkZGQiLz48L3N2Zz4=') no-repeat right 18px center;
    background-size: 14px;
    padding-right: 48px;
}

.lab-ella-appointment .calendar-field {
    position: relative;
    flex: 1;
}

.lab-ella-appointment .appointment-calendar {
    position: absolute;
    top: calc(100% + 10px);
    left: 0;
    background: linear-gradient(145deg, rgba(255, 255, 255, 0.95), rgba(253, 233, 232, 0.9));
    border: 2px solid var(--rose);
    border-radius: 20px;
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.15);
    padding: 24px;
    z-index: 100;
    display: none;
    width: 340px;
    backdrop-filter: blur(3px);
}

.lab-ella-appointment .appointment-calendar.active {
    display: block;
}

.lab-ella-appointment .calendar-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 16px;
}

.lab-ella-appointment .calendar-month-year {
    font-family: 'Montserrat', sans-serif;
    font-size: 16px;
    font-weight: 600;
    color: var(--dark);
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
}

.lab-ella-appointment .calendar-nav {
    background: transparent;
    border: none;
    font-size: 18px;
    color: var(--dark);
    cursor: pointer;
    transition: color 0.3s ease, transform 0.3s ease; /* TRANSITIONS RÉDUITES */
}

.lab-ella-appointment .calendar-nav:hover {
    color: var(--gold);
    transform: scale(1.1); /* EFFET RÉDUIT */
}

.lab-ella-appointment .calendar-days {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 10px;
    margin-bottom: 16px;
}

.lab-ella-appointment .calendar-day-header {
    font-family: 'Montserrat', sans-serif;
    font-size: 13px;
    color: #777;
    text-align: center;
}

.lab-ella-appointment .calendar-dates {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 10px;
}

.lab-ella-appointment .calendar-date {
    padding: 12px;
    text-align: center;
    font-family: 'Montserrat', sans-serif;
    font-size: 15px;
    color: var(--dark);
    cursor: pointer;
    border-radius: 10px;
    transition: background 0.3s ease, transform 0.3s ease, box-shadow 0.3s ease; /* TRANSITIONS RÉDUITES */
    position: relative;
    z-index: 1;
}

.lab-ella-appointment .calendar-date:hover:not(.disabled) {
    background: linear-gradient(145deg, var(--rose), #fdeded);
    transform: translateY(-2px); /* MOUVEMENT RÉDUIT */
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); /* OMBRE RÉDUITE */
}

.lab-ella-appointment .calendar-date.selected {
    background: linear-gradient(135deg, var(--gold), #f5d5b5);
    color: var(--white);
    font-weight: 600;
    box-shadow: 0 6px 16px rgba(232, 199, 167, 0.4);
    transform: scale(1.05);
}

.lab-ella-appointment .calendar-date.disabled {
    color: #eee;
    cursor: not-allowed;
}

.lab-ella-appointment .calendar-date.empty {
    background: transparent;
}

.lab-ella-appointment .product-autocomplete-wrapper {
    position: relative;
}

.lab-ella-appointment .product-autocomplete-input {
    width: 100%;
    padding: 18px;
    border: 2px solid transparent;
    border-radius: 12px;
    font-size: 17px;
    font-family: var(--font-primary);
    background: rgba(255, 255, 255, 0.95);
    transition: border-color 0.3s ease, box-shadow 0.3s ease, transform 0.3s ease; /* TRANSITIONS RÉDUITES */
    min-height: 56px;
}

.lab-ella-appointment .product-autocomplete-input:focus {
    border-color: var(--gold);
    box-shadow: 0 0 12px rgba(232, 199, 167, 0.5);
    transform: translateY(-2px); /* MOUVEMENT RÉDUIT */
    outline: none;
}

.lab-ella-appointment .product-autocomplete-suggestions {
    position: absolute;
    top: calc(100% + 10px);
    left: 0;
    right: 0;
    background: linear-gradient(145deg, #fff, #fdeded);
    border: 2px solid var(--rose);
    border-radius: 16px;
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.15);
    max-height: 240px;
    overflow-y: auto;
    z-index: 100;
    display: none;
}

.lab-ella-appointment .product-autocomplete-suggestions.active {
    display: block;
}

.lab-ella-appointment .product-autocomplete-suggestion {
    padding: 14px 18px;
    font-family: var(--font-primary);
    font-size: 16px;
    color: var(--dark);
    cursor: pointer;
    transition: background 0.3s ease, transform 0.3s ease; /* TRANSITIONS RÉDUITES */
}

.lab-ella-appointment .product-autocomplete-suggestion:hover {
    background: var(--rose);
    transform: translateX(3px); /* MOUVEMENT RÉDUIT */
}

.lab-ella-appointment .selected-products {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 12px;
}

.lab-ella-appointment .selected-product {
    display: flex;
    align-items: center;
    background: linear-gradient(145deg, var(--rose), #fdeded);
    padding: 10px 14px;
    border-radius: 10px;
    font-size: 15px;
    color: var(--dark);
    border: 2px solid var(--gold);
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.06);
    transition: transform 0.3s ease; /* TRANSITION RÉDUITE */
}

.lab-ella-appointment .selected-product:hover {
    transform: scale(1.03); /* SCALE RÉDUIT */
}

.lab-ella-appointment .selected-product-remove {
    margin-left: 10px;
    background: none;
    border: none;
    cursor: pointer;
    color: #c62828;
    font-size: 15px;
    transition: color 0.3s ease, transform 0.3s ease; /* TRANSITIONS RÉDUITES */
}

.lab-ella-appointment .selected-product-remove:hover {
    color: #b71c1c;
    transform: scale(1.2); /* SCALE RÉDUIT */
}

.lab-ella-appointment .appointment-submit-btn {
    background: linear-gradient(135deg, var(--gold), #f5d5b5);
    color: var(--dark);
    border: none;
    padding: 16px 40px;
    border-radius: 12px;
    font-size: 17px;
    font-weight: 600;
    font-family: 'Montserrat', sans-serif;
    cursor: pointer;
    transition: transform 0.3s ease, box-shadow 0.3s ease, background 0.3s ease; /* TRANSITIONS RÉDUITES */
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15);
    position: relative;
    overflow: hidden;
    z-index: 1;
}

.lab-ella-appointment .appointment-submit-btn:hover {
    background: linear-gradient(135deg, #f5d5b5, var(--gold));
    transform: translateY(-3px); /* MOUVEMENT RÉDUIT */
    box-shadow: 0 10px 30px rgba(232, 199, 167, 0.5); /* OMBRE RÉDUITE */
}

.lab-ella-appointment .appointment-submit-btn:active {
    transform: scale(0.98); /* SCALE RÉDUIT */
}

.lab-ella-appointment .appointment-submit-btn:disabled {
    opacity: 0.5;
    cursor: not-allowed;
    transform: none;
}

.lab-ella-appointment .appointment-submit-btn::after {
    content: '';
    position: absolute;
    top: 0;
    left: -150%;
    width: 150%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.4), transparent);
    transition: left 0.6s ease; /* TRANSITION RÉDUITE */
    z-index: -1;
}

.lab-ella-appointment .appointment-submit-btn:hover::after {
    left: 150%;
}

.lab-ella-appointment .appointment-message {
    margin-top: 20px;
    font-size: 15px;
    font-family: var(--font-primary);
    text-align: center;
    padding: 12px 20px;
    border-radius: 10px;
}

.lab-ella-appointment .appointment-message.error {
    color: #c62828;
    background: rgba(198, 40, 40, 0.15);
    border: 2px solid rgba(198, 40, 40, 0.3);
}

.lab-ella-appointment .appointment-message.success {
    color: #2e7d32;
    background: rgba(46, 125, 50, 0.15);
    border: 2px solid rgba(46, 125, 50, 0.3);
}

.lab-ella-appointment .product-options-popup {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.8);
    display: none;
    align-items: center;
    justify-content: center;
    z-index: 9999;
}

.lab-ella-appointment .product-options-popup.active {
    display: flex;
}

.lab-ella-appointment .popup-content {
    background: linear-gradient(145deg, #fff, #fdeded);
    padding: 40px;
    border-radius: 20px;
    max-width: 500px;
    width: 90%;
    max-height: 80vh;
    overflow-y: auto;
    box-shadow: 0 16px 64px rgba(0, 0, 0, 0.25);
    border: 2px solid var(--rose);
    position: relative;
    z-index: 1;
}

.lab-ella-appointment .popup-close {
    position: absolute;
    top: 16px;
    right: 16px;
    width: 32px;
    height: 32px;
    background: var(--rose);
    border: none;
    border-radius: 50%;
    font-size: 16px;
    color: var(--dark);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background 0.3s ease, transform 0.3s ease; /* TRANSITIONS RÉDUITES */
}

.lab-ella-appointment .popup-close:hover {
    background: var(--gold);
    transform: rotate(90deg); /* ROTATION RÉDUITE */
}

.lab-ella-appointment .appointment-success-popup {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.8);
    display: none;
    align-items: center;
    justify-content: center;
    z-index: 9999;
}

.lab-ella-appointment .appointment-success-popup.active {
    display: flex;
}

.lab-ella-appointment .success-popup-content {
    background: linear-gradient(145deg, #fff, #fdeded);
    padding: 48px;
    border-radius: 24px;
    max-width: 600px;
    width: 90%;
    text-align: center;
    box-shadow: 0 16px 64px rgba(0, 0, 0, 0.25);
    border: 2px solid var(--rose);
    position: relative;
    overflow: hidden;
    z-index: 1;
}

.lab-ella-appointment .success-popup-content::before {
    content: '';
    position: absolute;
    top: -50%;
    left: -50%;
    width: 200%;
    height: 200%;
    background: radial-gradient(circle, rgba(232, 199, 167, 0.1) 0%, transparent 70%);
    animation: successGlow 3s ease-in-out infinite;
    z-index: -1;
}

@keyframes successGlow {
    0%, 100% { transform: scale(1) rotate(0deg); opacity: 0.5; }
    50% { transform: scale(1.1) rotate(180deg); opacity: 0.8; }
}

.lab-ella-appointment .success-icon {
    font-size: 64px;
    color: var(--gold);
    margin-bottom: 24px;
    display: block;
    animation: successPulse 2s ease-in-out infinite;
}

@keyframes successPulse {
    0%, 100% { transform: scale(1); }
    50% { transform: scale(1.1); }
}

.lab-ella-appointment .success-title {
    font-family: var(--font-secondary);
    font-size: 28px;
    color: var(--dark);
    margin-bottom: 16px;
    font-weight: 600;
}

.lab-ella-appointment .success-message {
    font-family: var(--font-primary);
    font-size: 16px;
    color: #666;
    line-height: 1.6;
    margin-bottom: 32px;
}

.lab-ella-appointment .success-close-btn {
    background: linear-gradient(135deg, var(--gold), #f5d5b5);
    color: var(--dark);
    border: none;
    padding: 12px 32px;
    border-radius: 10px;
    font-size: 16px;
    font-weight: 600;
    font-family: 'Montserrat', sans-serif;
    cursor: pointer;
    transition: transform 0.3s ease, box-shadow 0.3s ease; /* TRANSITIONS RÉDUITES */
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.1);
}

.lab-ella-appointment .success-close-btn:hover {
    transform: translateY(-2px); /* MOUVEMENT RÉDUIT */
    box-shadow: 0 8px 25px rgba(232, 199, 167, 0.4);
}

/* Responsive Design */
@media (max-width: 1024px) {
    .lab-ella-appointment {
        margin: 60px auto;
        padding: 48px;
    }
    .lab-ella-appointment .appointment-columns {
        gap: 48px;
    }
    .lab-ella-appointment .appointment-column {
        min-width: 300px;
    }
}

@media (max-width: 768px) {
    .lab-ella-appointment {
        margin: 40px auto;
        padding: 32px;
    }
    .lab-ella-appointment .appointment-columns {
        flex-direction: column;
        gap: 32px;
    }
    .lab-ella-appointment .appointment-column {
        min-width: auto;
        min-height: auto;
    }
    .lab-ella-appointment .appointment-title {
        font-size: 24px;
    }
    .lab-ella-appointment .expert-image-wrapper {
        max-width: 100%;
        height: 400px;
    }
    .lab-ella-appointment .appointment-form-wrapper {
        padding: 32px;
        max-width: 100%;
    }
    .lab-ella-appointment .appointment-field.inline {
        flex-direction: column;
        gap: 20px;
    }
}

@media (max-width: 576px) {
    .lab-ella-appointment {
        margin: 24px auto;
        padding: 24px;
    }
    .lab-ella-appointment .appointment-title {
        font-size: 20px;
    }
    .lab-ella-appointment .appointment-bio {
        font-size: 16px;
    }
    .lab-ella-appointment .expert-image-wrapper {
        height: 320px;
    }
    .lab-ella-appointment .appointment-form-wrapper {
        padding: 24px;
    }
    .lab-ella-appointment .appointment-submit-btn {
        padding: 14px 32px;
        font-size: 16px;
    }
}

/* ==========================================================================
    Mon compte - Lab Ella 
   ========================================================================== 
   */

.woocommerce-account .woocommerce {
    max-width: 1000px;
    margin: 40px auto;
    padding: 0;
    background: transparent;
    font-family: var(--font-primary);
    overflow: visible;
}

/* Navigation */
.woocommerce-account .woocommerce-MyAccount-navigation {
    background: var(--cream);
    padding: 15px;
    border-radius: var(--border-radius);
    margin-bottom: 20px;
    text-align: center;
    display: block !important;
    visibility: visible !important;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: block;
}

.woocommerce-account .woocommerce-MyAccount-navigation li {
    display: inline-block;
    margin: 5px;
}

.woocommerce-account .woocommerce-MyAccount-navigation li a {
    display: inline-block;
    padding: 8px 20px;
    font-family: var(--font-secondary);
    font-size: 14px;
    color: var(--dark);
    text-decoration: none;
    background: #fff;
    border-radius: 20px;
    transition: var(--transition);
    box-shadow: 0 2px 5px var(--light-shadow);
}

.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a,
.woocommerce-account .woocommerce-MyAccount-navigation li a:hover {
    background: var(--rose);
    color: var(--dark);
    box-shadow: 0 4px 10px var(--shadow);
}

/* Contenu général */
.woocommerce-account .woocommerce-MyAccount-content {
    padding: 20px;
    background: #fff;
    border-radius: var(--border-radius);
    box-shadow: 0 3px 10px var(--shadow);
    margin-bottom: 20px;
}

/* En-tête */
.lab-ella-my-account-header {
    margin-bottom: 20px;
    text-align: center;
}

.lab-ella-my-account-header h1 {
    font-family: var(--font-secondary);
    font-size: 28px;
    color: var(--dark);
    margin: 0 0 10px;
}

.lab-ella-my-account-header .lab-ella-logout {
    font-size: 14px;
    color: var(--gold);
    text-decoration: none;
    font-family: var(--font-primary);
    padding: 8px 15px;
    border-radius: 20px;
    transition: var(--transition);
}

.lab-ella-my-account-header .lab-ella-logout:hover {
    background: var(--rose);
    color: var(--dark);
}

/* Actions Dashboard */
.lab-ella-my-account-actions {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 15px;
    margin-bottom: 20px;
    text-align: center;
}

.lab-ella-action-btn {
    display: block;
    padding: 12px;
    background: var(--gold);
    color: var(--dark);
    font-family: var(--font-primary);
    font-size: 14px;
    text-decoration: none;
    border-radius: 8px;
    transition: var(--transition);
    box-shadow: 0 2px 5px var(--light-shadow);
}

.lab-ella-action-btn:hover {
    background: var(--rose);
    transform: translateY(-2px);
    box-shadow: 0 4px 10px var(--shadow);
}

/* Messages "Vide" */
.woocommerce-MyAccount-content p:empty + p,
.woocommerce-MyAccount-content .woocommerce-Message--info {
    background: var(--cream);
    padding: 20px;
    border-radius: 8px;
    text-align: center;
    font-size: 14px;
    color: var(--dark);
    border: 1px solid var(--rose);
    margin: 20px 0;
    font-style: italic;
}

/* Commandes */
.woocommerce-MyAccount-orders {
    width: 100%;
    border-collapse: collapse;
    background: #fff;
    border-radius: 8px;
    overflow: hidden;
}

.woocommerce-MyAccount-orders th,
.woocommerce-MyAccount-orders td {
    padding: 12px;
    border-bottom: 1px solid var(--rose);
    font-size: 14px;
    text-align: left;
    color: var(--dark);
}

.woocommerce-MyAccount-orders th {
    background: var(--rose);
    font-family: var(--font-secondary);
    font-weight: 600;
}

.woocommerce-MyAccount-orders td {
    font-family: var(--font-primary);
}

.woocommerce-MyAccount-orders .woocommerce-orders-table__cell-order-actions a {
    display: inline-block;
    padding: 6px 12px;
    background: var(--gold);
    color: var(--dark);
    border-radius: 20px;
    text-decoration: none;
    font-size: 12px;
    font-family: var(--font-primary);
    transition: var(--transition);
}

.woocommerce-MyAccount-orders .woocommerce-orders-table__cell-order-actions a:hover {
    background: var(--rose);
}

/* Adresses */
.woocommerce-Addresses {
    display: block;
    margin: 0;
}

.woocommerce-Addresses .woocommerce-Address {
    background: var(--cream);
    padding: 15px;
    border-radius: 8px;
    box-shadow: 0 2px 5px var(--shadow);
    margin-bottom: 20px;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    transition: var(--transition);
}

.woocommerce-Addresses .woocommerce-Address:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 10px var(--shadow);
}

.woocommerce-Address header {
    margin-bottom: 10px;
}

.woocommerce-Address-title h3 {
    font-family: var(--font-secondary);
    font-size: 16px;
    color: var(--dark);
    margin: 0;
}

.woocommerce-Address .edit {
    font-size: 12px;
    color: var(--gold);
    text-decoration: none;
    font-family: var(--font-primary);
}

.woocommerce-Address .edit:hover {
    text-decoration: underline;
}

.woocommerce-Address address {
    font-size: 14px;
    color: var(--dark);
    line-height: 1.6;
    font-family: var(--font-primary);
}

/* Détails du compte */
.woocommerce-EditAccountForm {
    background: var(--cream);
    padding: 15px;
    border-radius: 8px;
    box-shadow: 0 2px 5px var(--shadow);
}

.woocommerce-EditAccountForm legend {
    font-family: var(--font-secondary);
    font-size: 18px;
    color: var(--dark);
    margin-bottom: 15px;
    text-align: center;
}

.woocommerce-EditAccountForm .form-row {
    margin-bottom: 15px;
}

.woocommerce-EditAccountForm label {
    font-size: 14px;
    color: var(--dark);
    margin-bottom: 5px;
    display: block;
    font-family: var(--font-primary);
}

.woocommerce-EditAccountForm input[type="text"],
.woocommerce-EditAccountForm input[type="email"],
.woocommerce-EditAccountForm input[type="password"] {
    width: 100%;
    padding: 10px;
    border: 1px solid var(--rose);
    border-radius: 5px;
    font-size: 14px;
    color: var(--dark);
    font-family: var(--font-primary);
    transition: var(--transition);
}

.woocommerce-EditAccountForm input[type="text"]:focus,
.woocommerce-EditAccountForm input[type="email"]:focus,
.woocommerce-EditAccountForm input[type="password"]:focus {
    border-color: var(--gold);
    outline: none;
}

.woocommerce-EditAccountForm .button {
    padding: 10px 25px;
    background: var(--gold);
    color: var(--dark);
    border: none;
    border-radius: 20px;
    font-family: var(--font-primary);
    font-size: 14px;
    transition: var(--transition);
    display: block;
    margin: 15px auto 0;
}

.woocommerce-EditAccountForm .button:hover {
    background: var(--rose);
}

/* Rendez-vous */
.lab-ella-rendezvous h2 {
    font-family: var(--font-secondary);
    font-size: 22px;
    color: var(--dark);
    margin-bottom: 20px;
    text-align: center;
}

.lab-ella-rendezvous-list {
    display: block;
}

.lab-ella-rendezvous-item {
    background: var(--cream);
    border-radius: 8px;
    padding: 15px;
    margin-bottom: 15px;
    display: grid;
    grid-template-columns: 1fr 2fr 2fr 1fr;
    gap: 10px;
    align-items: center;
    box-shadow: 0 2px 5px var(--shadow);
    transition: var(--transition);
}

.lab-ella-rendezvous-item:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 10px var(--shadow);
}

.lab-ella-rendezvous-id,
.lab-ella-rendezvous-date,
.lab-ella-rendezvous-products,
.lab-ella-rendezvous-status {
    font-size: 14px;
    color: var(--dark);
    font-family: var(--font-primary);
}

.lab-ella-rendezvous-status {
    font-weight: 600;
    color: var(--gold);
    text-align: center;
}

/* Responsivité */
@media (max-width: 768px) {
    .woocommerce-account .woocommerce {
        margin: 15px;
    }

    .woocommerce-account .woocommerce-MyAccount-navigation {
        display: block !important;
        visibility: visible !important;
        position: static !important;
        width: 100% !important;
        height: auto !important;
        opacity: 1 !important;
        overflow: visible !important;
    }

    .woocommerce-account .woocommerce-MyAccount-navigation ul {
        display: flex;
        flex-direction: column;
        gap: 8px;
    }

    .woocommerce-account .woocommerce-MyAccount-navigation li {
        display: block;
        margin: 0;
    }

    .woocommerce-account .woocommerce-MyAccount-content {
        display: block !important;
        visibility: visible !important;
        position: static !important;
        width: 100% !important;
        height: auto !important;
        opacity: 1 !important;
        overflow: visible !important;
    }

    .lab-ella-my-account-header {
        flex-direction: column;
        gap: 8px;
    }

    .lab-ella-my-account-header h1 {
        font-size: 20px;
    }

    .lab-ella-action-btn {
        padding: 10px;
        font-size: 13px;
    }

    .lab-ella-rendezvous-item {
        grid-template-columns: 1fr;
        text-align: center;
        gap: 8px;
    }

    .woocommerce-Addresses {
        display: block;
    }

    .woocommerce-Addresses .woocommerce-Address {
        margin-bottom: 15px;
    }

    .woocommerce-MyAccount-orders th,
    .woocommerce-MyAccount-orders td {
        font-size: 12px;
        padding: 8px;
    }

    .woocommerce-EditAccountForm input[type="text"],
    .woocommerce-EditAccountForm input[type="email"],
    .woocommerce-EditAccountForm input[type="password"] {
        padding: 8px;
        font-size: 13px;
    }
}

/* ========================================
   CSS FINAL LAB ELLA - AVEC VRAI BACKEND
   Garde la main section intacte
   Corrige TOUS les problèmes du feedback
   Sélecteurs ultra spécifiques anti-conflits
======================================== */

/* ===== VARIABLES LAB ELLA ===== */
:root {
    --lab-ella-cream: #FAF9F6;
    --lab-ella-rose: #F9E4E6;
    --lab-ella-gold: #E8C7A7;
    --lab-ella-dark: #333333;
    --lab-ella-text: #666666;
    --lab-ella-border: #E5E5E5;
    --lab-ella-shadow: 0 2px 10px rgba(0,0,0,0.1);
    --lab-ella-transition: all 0.3s ease;
}

/* ===== BASE PAGE PRODUIT ===== */
.lab-ella-product-page {
    font-family: 'Inter', sans-serif; /* Police moderne */
    color: var(--lab-ella-text);
    line-height: 1.6;
}

/* ========================================
   MAIN SECTION - CONSERVÉE INTACTE
======================================== */

/* Layout 55/45 */
.lab-ella-product-page .glow-recipe-main-section {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 30px !important;
    max-width: 1400px !important;
    margin: 0 auto !important;
    padding: 40px 20px !important;
}

/* Colonne Images (55%) */
.lab-ella-product-page .glow-recipe-images {
    position: relative !important;
}

.lab-ella-product-page .glow-images-container {
    display: flex !important;
    gap: 20px !important;
}

/* Vignettes */
.lab-ella-product-page .glow-image-thumbnails {
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
    width: 80px !important;
}

.lab-ella-product-page .glow-thumbnail {
    width: 80px !important;
    height: 80px !important;
    border-radius: 10px !important;
    overflow: hidden !important;
    cursor: pointer !important;
    border: 2px solid transparent !important;
    transition: var(--lab-ella-transition) !important;
    opacity: 0.7 !important;
}

.lab-ella-product-page .glow-thumbnail.active,
.lab-ella-product-page .glow-thumbnail:hover {
    border-color: var(--lab-ella-gold) !important;
    opacity: 1 !important;
    box-shadow: 0 0 10px rgba(232, 199, 167, 0.5) !important;
}

.lab-ella-product-page .glow-thumbnail img,
.lab-ella-product-page .glow-thumbnail video {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}

/* Carrousel Principal */
.lab-ella-product-page .glow-main-image-carousel {
    flex: 1 !important;
    position: relative !important;
    height: 600px !important;
    border-radius: 15px !important;
    overflow: hidden !important;
    background-color: var(--lab-ella-cream) !important;
}

.lab-ella-product-page .glow-carousel-slide {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    opacity: 0 !important;
    transition: opacity 0.5s ease !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.lab-ella-product-page .glow-carousel-slide.active {
    opacity: 1 !important;
}

.lab-ella-product-page .glow-carousel-slide img,
.lab-ella-product-page .glow-carousel-slide video {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}

/* Vidéos "See in Action" (sous carrousel) */
.lab-ella-product-page .glow-see-in-action {
    margin-top: 12px !important;
}

.lab-ella-product-page .glow-see-in-action h4 {
    font-size: 16px !important;
    font-weight: 600 !important;
    color: var(--lab-ella-dark) !important;
    margin-bottom: 15px !important;
    text-align: center !important;
}

.lab-ella-product-page .glow-video-thumbnails {
    display: flex !important;
    justify-content: center !important;
    gap: 15px !important;
    flex-wrap: wrap !important;
}

.lab-ella-product-page .glow-video-thumbnail {
    width: 150px !important;
    height: 150px !important;
    min-width: 150px !important;
    min-height: 150px !important;
    max-width: 150px !important;
    max-height: 150px !important;
    border-radius: 50% !important;
    overflow: hidden !important;
    position: relative !important;
    cursor: pointer !important;
    border: none !important;
    transition: var(--lab-ella-transition) !important;
    box-shadow: none !important;
    aspect-ratio: 1 !important;
}

.lab-ella-product-page .glow-video-thumbnail img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    transition: transform 0.3s ease !important;
    aspect-ratio: 1 !important;
    border-radius: 50% !important;
}

.lab-ella-product-page .glow-video-thumbnail:hover img {
    transform: scale(1.1) !important;
}

.lab-ella-product-page .glow-play-button {
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
    width: 40px !important;
    height: 40px !important;
    min-width: 40px !important;
    min-height: 40px !important;
    max-width: 40px !important;
    max-height: 40px !important;
    background: rgba(255, 255, 255, 0.8) !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 20px !important;
    color: var(--lab-ella-gold) !important;
    transition: var(--lab-ella-transition) !important;
    aspect-ratio: 1 !important;
}

.lab-ella-product-page .glow-video-thumbnail:hover .glow-play-button {
    background: var(--lab-ella-gold) !important;
    color: white !important;
    transform: translate(-50%, -50%) scale(1.2) !important;
}

/* Modal Vidéo */
.lab-ella-product-page .glow-video-modal {
    display: none; /* Caché par défaut */
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    background: rgba(0, 0, 0, 0.85) !important;
    z-index: 10000 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 20px !important;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease, visibility 0.3s ease !important;
}

.lab-ella-product-page .glow-video-modal.active {
    display: flex !important;
    opacity: 1;
    visibility: visible;
}

.lab-ella-product-page .glow-modal-content {
    position: relative !important;
    background: black !important;
    border-radius: 50% !important;
    overflow: hidden !important;
    width: 80vmin !important;
    height: 80vmin !important;
    max-width: 600px !important;
    max-height: 600px !important;
    aspect-ratio: 1 / 1 !important;
    border: 4px solid var(--lab-ella-gold) !important;
    box-shadow: 0 10px 40px rgba(0,0,0,0.5), 0 0 0 8px rgba(232, 199, 167, 0.3) !important;
}

.lab-ella-product-page .glow-modal-close {
    position: absolute !important;
    top: 10px !important;
right: 10px !important;

    width: 50px !important;
    height: 50px !important;
    background: #E8C7A7 !important;

    color: black !important;

    border: none !important;
    border-radius: 50% !important;
    font-size: 20px !important;
    cursor: pointer !important;
    z-index: 3000 !important;
    transition: all 0.3s ease !important;
}

.lab-ella-product-page .glow-modal-close:hover {
    background: linear-gradient(135deg, #d4a574 0%, #c19660 100%) !important;
    transform: rotate(90deg) scale(1.1) !important;
    box-shadow: 0 6px 20px rgba(0,0,0,0.4) !important;
}

.lab-ella-product-page .glow-modal-video-container {
    width: 100% !important;
    height: 100% !important;
}

.lab-ella-product-page .glow-modal-video-container iframe {
    width: 100% !important;
    height: 100% !important;
    border: none !important;
}

/* Vidéo native - centrage et dimensionnement */
.lab-ella-product-page .glow-modal-video-container video {
    width: 120% !important;
    height: 120% !important;
    position: relative !important;
    top: -10% !important;
    left: -10% !important;
    object-fit: cover !important;
    object-position: center center !important;
    border-radius: 50% !important;
}

/* Colonne Infos (45%) */
.lab-ella-product-page .glow-recipe-info {
    padding-top: 0px !important;
}

.lab-ella-product-page .glow-product-title {
    font-family: 'Playfair Display', serif !important;
    font-size: 36px !important;
    font-weight: 700 !important;
    color: var(--lab-ella-dark) !important;
    margin-bottom: 5px !important;
    line-height: 1.2 !important;
}

.lab-ella-product-page .glow-product-price {
    font-size: 28px !important;
    font-weight: 600 !important;
    color: var(--lab-ella-gold) !important;
    margin-bottom: 0 !important;
}

.lab-ella-product-page .glow-price-contenance-row {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    margin: 10px 0 !important;
    padding: 8px 12px !important;
    background: #f9f9f9 !important;
    border-radius: 6px !important;
    border: 1px solid #f0f0f0 !important;
}

.lab-ella-product-page .glow-contenance-inline {
    background: #E8C7A7 !important;
    padding: 4px 10px !important;
    border-radius: 12px !important;
    font-size: 12px !important;
    color: white !important;
    font-weight: 600 !important;
}

/* Métadonnées après prix */
.lab-ella-product-page .glow-product-meta-item {
    background: var(--lab-ella-cream) !important;
    border: 1px solid var(--lab-ella-border) !important;
    border-radius: 12px !important;
    padding: 18px 20px !important;
    margin-bottom: 15px !important;
    transition: var(--lab-ella-transition) !important;
    box-shadow: 0 2px 5px rgba(0,0,0,0.05) !important;
}

.lab-ella-product-page .glow-product-meta-item:hover {
    border-color: var(--lab-ella-gold) !important;
    box-shadow: 0 4px 15px rgba(232, 199, 167, 0.2) !important;
    transform: translateY(-2px) !important;
}

.lab-ella-product-page .glow-meta-label {
    font-weight: 600 !important;
    color: var(--lab-ella-dark) !important;
    display: block !important;
    margin-bottom: 8px !important;
    font-size: 14px !important;
}

.lab-ella-product-page .glow-meta-value {
    font-size: 15px !important;
    color: var(--lab-ella-text) !important;
}

.lab-ella-product-page .glow-product-meta-item.contenance .glow-meta-value {
    font-weight: bold !important;
    color: var(--lab-ella-gold) !important;
}

.lab-ella-product-page .glow-product-meta-item.bienfaits .glow-meta-value ul {
    list-style: none !important;
    padding-left: 0 !important;
    margin: 0 !important;
}

.lab-ella-product-page .glow-product-meta-item.bienfaits .glow-meta-value li {
    position: relative !important;
    padding-left: 20px !important;
    margin-bottom: 5px !important;
}

.lab-ella-product-page .glow-product-meta-item.bienfaits .glow-meta-value li::before {
    content: '✨' !important;
    position: absolute !important;
    left: 0 !important;
    top: 0 !important;
    color: var(--lab-ella-gold) !important;
}

.lab-ella-product-page .glow-product-meta-item.type-peau .glow-meta-value {
    font-style: italic !important;
}

/* VARIANTES WOOCOMMERCE - CORRECTION STYLE */
.lab-ella-product-page .variations_form {
    margin-bottom: 25px !important;
}

.lab-ella-product-page .variations {
    margin-bottom: 20px !important;
    border-collapse: collapse !important;
    width: 100% !important;
}

.lab-ella-product-page .variations td {
    padding: 10px 0 !important;
    vertical-align: top !important;
}

.lab-ella-product-page .variations label {
    font-weight: 600 !important;
    color: var(--lab-ella-dark) !important;
    display: block !important;
    margin-bottom: 8px !important;
    font-size: 14px !important;
}

.lab-ella-product-page .variations select {
    width: 100% !important;
    padding: 10px 15px !important;
    border: 1px solid var(--lab-ella-border) !important;
    border-radius: 8px !important;
    background-color: white !important;
    font-size: 15px !important;
    color: var(--lab-ella-text) !important;
    cursor: pointer !important;
    appearance: none !important;
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    background-image: url('data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22292.4%22%20height%3D%22292.4%22%3E%3Cpath%20fill%3D%22%23E8C7A7%22%20d%3D%22M287%2069.4a17.6%2017.6%200%200%200-13-5.4H18.4c-5%200-9.3%201.8-12.9%205.4A17.6%2017.6%200%200%200%200%2082.2c0%205%201.8%209.3%205.4%2012.9l128%20127.9c3.6%203.6%207.8%205.4%2012.8%205.4s9.2-1.8%2012.8-5.4L287%2095c3.6-3.6%205.4-7.9%205.4-12.8%200-5-1.9-9.2-5.5-12.8z%22%2F%3E%3C%2Fsvg%3E') !important;
    background-repeat: no-repeat !important;
    background-position: right 15px center !important;
    background-size: 10px 10px !important;
    padding-right: 40px !important;
}

.lab-ella-product-page .variations select:focus {
    border-color: var(--lab-ella-gold) !important;
    outline: none !important;
    box-shadow: 0 0 0 3px rgba(232, 199, 167, 0.2) !important;
}

/* Style spécifique pour les couleurs */
.lab-ella-product-page .variations .label label[for*="pa_couleur"] {
    /* Masquer le label si on utilise des swatches */
}

.lab-ella-product-page .variations .value .lab-ella-color-swatches {
    display: flex !important;
    gap: 10px !important;
    flex-wrap: wrap !important;
}

.lab-ella-product-page .lab-ella-color-swatch {
    width: 30px !important;
    height: 30px !important;
    border-radius: 50% !important;
    cursor: pointer !important;
    border: 2px solid var(--lab-ella-border) !important;
    transition: var(--lab-ella-transition) !important;
    position: relative !important;
    box-shadow: 0 1px 3px rgba(0,0,0,0.1) !important;
}

.lab-ella-product-page .lab-ella-color-swatch:hover {
    transform: scale(1.1) !important;
    border-color: var(--lab-ella-dark) !important;
}

.lab-ella-product-page .lab-ella-color-swatch.selected {
    border-color: var(--lab-ella-gold) !important;
    box-shadow: 0 0 0 3px var(--lab-ella-gold) !important;
}

.lab-ella-product-page .lab-ella-color-swatch span {
    display: none; /* Masquer le nom de la couleur */
}

/* Style pour autres attributs (taille, version...) */
.lab-ella-product-page .variations .value .lab-ella-attribute-swatches {
    display: flex !important;
    gap: 10px !important;
    flex-wrap: wrap !important;
}

.lab-ella-product-page .lab-ella-attribute-swatch {
    padding: 5px 12px !important;
    border: 1px solid var(--lab-ella-border) !important;
    border-radius: 20px !important;
    cursor: pointer !important;
    font-size: 14px !important;
    transition: var(--lab-ella-transition) !important;
    background-color: white !important;
}

.lab-ella-product-page .lab-ella-attribute-swatch:hover {
    border-color: var(--lab-ella-dark) !important;
    color: var(--lab-ella-dark) !important;
}

.lab-ella-product-page .lab-ella-attribute-swatch.selected {
    background-color: var(--lab-ella-gold) !important;
    color: white !important;
    border-color: var(--lab-ella-gold) !important;
}

.lab-ella-product-page .reset_variations {
    font-size: 13px !important;
    color: var(--lab-ella-gold) !important;
    text-decoration: underline !important;
    margin-left: 10px !important;
    cursor: pointer !important;
}

.lab-ella-product-page .woocommerce-variation-price {
    font-size: 28px !important;
    font-weight: 600 !important;
    color: var(--lab-ella-gold) !important;
    margin-bottom: 25px !important;
    display: block !important; /* Assurer affichage */
}

.lab-ella-product-page .woocommerce-variation-availability {
    font-size: 14px !important;
    margin-bottom: 15px !important;
}

/* CHECKBOX ABONNEMENT */
.lab-ella-product-page .glow-purchase-options {
    margin-bottom: 25px !important;
}

.lab-ella-product-page .glow-subscription-option label {
    display: flex !important;
    align-items: center !important;
    cursor: pointer !important;
    background: var(--lab-ella-cream) !important;
    padding: 15px !important;
    border-radius: 12px !important;
    border: 1px solid var(--lab-ella-border) !important;
    transition: var(--lab-ella-transition) !important;
}

.lab-ella-product-page .glow-subscription-option label:hover {
    border-color: var(--lab-ella-gold) !important;
    box-shadow: 0 4px 15px rgba(232, 199, 167, 0.2) !important;
}

.lab-ella-product-page .glow-subscription-option input[type="checkbox"] {
    display: none !important;
}

.lab-ella-product-page .glow-custom-checkbox {
    width: 22px !important;
    height: 22px !important;
    border: 2px solid var(--lab-ella-gold) !important;
    border-radius: 6px !important;
    margin-right: 12px !important;
    display: inline-block !important;
    position: relative !important;
    transition: var(--lab-ella-transition) !important;
    background-color: white !important;
}

.lab-ella-product-page .glow-subscription-option input[type="checkbox"]:checked + .glow-custom-checkbox {
    background-color: var(--lab-ella-gold) !important;
    border-color: var(--lab-ella-gold) !important;
}

.lab-ella-product-page .glow-custom-checkbox::after {
    content: '' !important;
    position: absolute !important;
    left: 6px !important;
    top: 2px !important;
    width: 6px !important;
    height: 12px !important;
    border: solid white !important;
    border-width: 0 3px 3px 0 !important;
    transform: rotate(45deg) scale(0) !important;
    transition: transform 0.2s ease !important;
}

.lab-ella-product-page .glow-subscription-option input[type="checkbox"]:checked + .glow-custom-checkbox::after {
    transform: rotate(45deg) scale(1) !important;
}

.lab-ella-product-page .glow-option-content {
    flex: 1 !important;
}

.lab-ella-product-page .glow-option-title {
    font-weight: 600 !important;
    color: var(--lab-ella-dark) !important;
    display: block !important;
    font-size: 15px !important;
}

.lab-ella-product-page .glow-option-discount {
    background: var(--lab-ella-gold) !important;
    color: white !important;
    font-size: 11px !important;
    font-weight: bold !important;
    padding: 2px 6px !important;
    border-radius: 4px !important;
    margin-left: 8px !important;
    display: inline-block !important;
}

/* QUANTITÉ ET PANIER - CORRECTION COMPLÈTE */
.lab-ella-product-page .glow-quantity-cart-container {
    display: flex !important;
    align-items: center !important;
    gap: 15px !important;
    margin-top: 20px !important;
}

.lab-ella-product-page .quantity {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    border: 2px solid var(--lab-ella-border) !important;
    border-radius: 8px !important;
    overflow: hidden !important;
    background: white !important;
}

.lab-ella-product-page .glow-quantity-btn {
    width: 50px !important;
    height: 50px !important;
    border: 2px solid #333 !important;
    background: linear-gradient(135deg, #333 0%, #555 100%) !important;
    color: white !important;
    font-size: 20px !important;
    font-weight: bold !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 8px !important;
    box-shadow: 0 2px 8px rgba(0,0,0,0.15) !important;
}

.lab-ella-product-page .glow-quantity-btn:hover {
    background: linear-gradient(135deg, #E8C7A7 0%, #d4a574 100%) !important;
    color: white !important;
    transform: scale(1.05) !important;
    box-shadow: 0 4px 12px rgba(232,199,167,0.4) !important;
}

.lab-ella-product-page .quantity input[type="number"] {
    width: 60px !important;
    height: 48px !important;
    text-align: center !important;
    border: none !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    color: var(--lab-ella-dark) !important;
    padding: 0 5px !important;
    appearance: none !important;
    -webkit-appearance: none !important;
    -moz-appearance: textfield !important;
    background-color: white !important;
}

.lab-ella-product-page .quantity input[type="number"]::-webkit-outer-spin-button,
.lab-ella-product-page .quantity input[type="number"]::-webkit-inner-spin-button {
    -webkit-appearance: none !important;
    margin: 0 !important;
    display: none !important;
}

.lab-ella-product-page #glow-dynamic-price {
    flex: 1 !important;
    height: 50px !important;
    background: var(--lab-ella-dark) !important;
    color: white !important;
    border: none !important;
    border-radius: 8px !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
}

.lab-ella-product-page #glow-dynamic-price:hover {
    background: var(--lab-ella-gold) !important;
    transform: translateY(-2px) !important;
}

/* ===== COMPLETE YOUR ROUTINE - CORRECTION COMPLÈTE ===== */
    width: 40px !important;
    height: 48px !important;
    background: var(--lab-ella-cream) !important;
    border: none !important;
    color: var(--lab-ella-gold) !important;
    font-size: 20px !important;
    font-weight: bold !important;
    cursor: pointer !important;
    transition: var(--lab-ella-transition) !important;
}

.lab-ella-product-page .glow-quantity-btn:hover {
    background: var(--lab-ella-gold) !important;
    color: white !important;
}

.lab-ella-product-page .glow-quantity-btn.minus {
    border-right: 1px solid var(--lab-ella-border) !important;
}

.lab-ella-product-page .glow-quantity-btn.plus {
    border-left: 1px solid var(--lab-ella-border) !important;
}

.lab-ella-product-page .single_add_to_cart_button {
    flex: 1 !important;
    padding: 14px 25px !important;
    background: linear-gradient(135deg, var(--lab-ella-dark), #2a2a2a) !important;
    color: white !important;
    border: none !important;
    border-radius: 8px !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    transition: var(--lab-ella-transition) !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    box-shadow: 0 4px 15px rgba(0,0,0,0.1) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
}

.lab-ella-product-page .single_add_to_cart_button:hover {
    background: linear-gradient(135deg, var(--lab-ella-gold), #d4a574) !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 8px 25px rgba(232, 199, 167, 0.3) !important;
}

.lab-ella-product-page .single_add_to_cart_button .glow-add-price {
    font-weight: 700 !important;
    margin-left: 5px !important;
}

/* ========================================
   SECTIONS INFÉRIEURES - CORRECTIONS
======================================== */

/* ACCORDÉON "À PROPOS DU PRODUIT" - CORRECTION */
.lab-ella-product-page .glow-about-product-section {
    max-width: 1200px !important;
    margin: 40px auto !important;
    padding: 40px 30px !important;
    background: 
        radial-gradient(circle at 20% 20%, rgba(232,199,167,0.15) 0%, transparent 50%),
        radial-gradient(circle at 80% 80%, rgba(212,165,116,0.12) 0%, transparent 50%),
        linear-gradient(135deg, #ffffff 0%, #f8f8f8 50%, #fafafa 100%) !important;
    background-size: 100% 100% !important;
    background-position: 0 0 !important;
    border-radius: 20px !important;
    box-shadow: 
        0 4px 20px rgba(0,0,0,0.08),
        inset 0 1px 0 rgba(255,255,255,0.8),
        inset 0 -1px 0 rgba(0,0,0,0.05) !important;
    border: 2px solid rgba(232,199,167,0.3) !important;
    position: relative !important;
    overflow: hidden !important;
    animation: subtleGlow 8s ease-in-out infinite !important;
}

@keyframes subtleGlow {
    0%, 100% {
        box-shadow: 
            0 4px 20px rgba(0,0,0,0.08),
            inset 0 1px 0 rgba(255,255,255,0.8),
            inset 0 -1px 0 rgba(0,0,0,0.05),
            0 0 30px rgba(232,199,167,0.1);
    }
    50% {
        box-shadow: 
            0 4px 20px rgba(0,0,0,0.08),
            inset 0 1px 0 rgba(255,255,255,0.8),
            inset 0 -1px 0 rgba(0,0,0,0.05),
            0 0 50px rgba(232,199,167,0.25);
    }
}

.lab-ella-product-page .glow-about-product-section h2 {
    font-family: 'Playfair Display', serif !important;
    font-size: 32px !important;
    color: var(--lab-ella-dark) !important;
    text-align: center !important;
    margin-bottom: 40px !important;
    position: relative !important;
}

.lab-ella-product-page .glow-about-product-section h2::after {
    content: "" !important;
    position: absolute !important;
    bottom: -15px !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    width: 80px !important;
    height: 4px !important;
    background: linear-gradient(135deg, var(--lab-ella-gold), #d4a574) !important;
    border-radius: 2px !important;
}

.lab-ella-product-page .glow-accordion {
    max-width: 800px !important;
    margin: 0 auto !important;
}

.lab-ella-product-page .glow-accordion-item {
    border: 1px solid var(--lab-ella-border) !important;
    border-radius: 12px !important;
    margin-bottom: 15px !important;
    overflow: hidden !important;
    background-color: white !important;
    box-shadow: var(--lab-ella-shadow) !important;
}

.lab-ella-product-page .glow-accordion-header {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    width: 100% !important;
    padding: 18px 25px !important;
    background: var(--lab-ella-cream) !important;
    border: none !important;
    text-align: left !important;
    cursor: pointer !important;
    font-size: 18px !important;
    font-weight: 600 !important;
    color: var(--lab-ella-dark) !important;
    transition: background-color 0.3s ease !important;
}

.lab-ella-product-page .glow-accordion-header:hover {
    background-color: #f0ebe5 !important;
}

.lab-ella-product-page .glow-accordion-icon {
    font-size: 16px !important;
    transition: transform 0.3s ease !important;
    color: var(--lab-ella-gold) !important;
}

.lab-ella-product-page .glow-accordion-item.active .glow-accordion-icon {
    transform: rotate(180deg) !important;
}

.lab-ella-product-page .glow-accordion-content {
    max-height: 0 !important;
    overflow: hidden !important;
    transition: max-height 0.4s ease-out, padding 0.4s ease-out !important;
    padding: 0 25px !important;
    background-color: white !important;
}

.lab-ella-product-page .glow-accordion-item.active .glow-accordion-content {
    max-height: 1000px !important; /* Hauteur suffisante */
    padding: 25px !important;
    transition: max-height 0.6s ease-in, padding 0.6s ease-in !important;
}

/* Style contenu texte accordéon - CORRECTION */
.lab-ella-product-page .glow-accordion-text {
    color: var(--lab-ella-text) !important;
    font-size: 15px !important;
    line-height: 1.7 !important;
}

.lab-ella-product-page .glow-accordion-text p {
    margin-bottom: 15px !important;
}

.lab-ella-product-page .glow-accordion-text strong {
    color: var(--lab-ella-dark) !important;
    font-weight: 600 !important;
}

.lab-ella-product-page .glow-accordion-text ul {
    list-style: disc !important;
    margin-left: 20px !important;
    margin-bottom: 15px !important;
}

.lab-ella-product-page .glow-accordion-text li {
    margin-bottom: 8px !important;
}

/* SECTION AVANT/APRÈS - CORRECTION */
.lab-ella-product-page .glow-before-after-section {
    max-width: 1200px !important;
    margin: 80px auto !important;
    padding: 40px 20px !important;
}

.lab-ella-product-page .glow-before-after-section h2 {
    font-family: 'Playfair Display', serif !important;
    font-size: 32px !important;
    color: var(--lab-ella-dark) !important;
    text-align: center !important;
    margin-bottom: 40px !important;
    position: relative !important;
}

.lab-ella-product-page .glow-before-after-section h2::after {
    content: "" !important;
    position: absolute !important;
    bottom: -15px !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    width: 80px !important;
    height: 4px !important;
    background: linear-gradient(135deg, var(--lab-ella-gold), #d4a574) !important;
    border-radius: 2px !important;
}

.lab-ella-product-page .glow-before-after-container {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 30px !important;
    align-items: center !important;
}

.lab-ella-product-page .glow-before-after-image {
    position: relative !important;
    overflow: hidden !important;
    border-radius: 15px !important;
    box-shadow: 0 10px 30px rgba(0,0,0,0.1) !important;
    aspect-ratio: 16 / 10 !important; /* Format paysage */
}

.lab-ella-product-page .glow-before-after-image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
    transition: transform 0.5s ease, filter 0.5s ease !important;
}

.lab-ella-product-page .glow-before-after-image:hover img {
    transform: scale(1.05) !important;
}

/* Image "Après" plus lumineuse - CORRECTION */
.lab-ella-product-page .glow-after-image img {
    filter: brightness(1.1) contrast(1.05) saturate(1.1) !important;
}

.lab-ella-product-page .glow-before-after-label {
    position: absolute !important;
    top: 15px !important;
    left: 15px !important;
    background: rgba(0, 0, 0, 0.6) !important;
    color: white !important;
    padding: 5px 12px !important;
    border-radius: 20px !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    z-index: 2 !important;
}

/* Animation shimmer - CORRECTION */
.lab-ella-product-page .glow-before-after-image::after {
    content: "" !important;
    position: absolute !important;
    top: 0 !important;
    left: -150% !important;
    width: 70% !important;
    height: 100% !important;
    background: linear-gradient(
        90deg,
        rgba(255, 255, 255, 0) 0%,
        rgba(255, 255, 255, 0.4) 50%,
        rgba(255, 255, 255, 0) 100%
    ) !important;
    transform: skewX(-25deg) !important;
    transition: left 0.8s cubic-bezier(0.25, 1, 0.5, 1) !important;
    z-index: 1 !important;
}

.lab-ella-product-page .glow-before-after-image:hover::after {
    left: 150% !important;
}

/* SECTION "VOUS AIMEREZ AUSSI" - CORRECTION */
.lab-ella-product-page .glow-related-section {
    margin: 80px auto !important;
    max-width: 100% !important;
    padding: 40px 15px !important;
    background: linear-gradient(135deg, #ffffff, var(--lab-ella-cream)) !important;
    border-radius: 25px !important;
    border: 2px solid rgba(232, 199, 167, 0.2) !important;
    box-shadow: 0 15px 40px rgba(0,0,0,0.08) !important;
    box-sizing: border-box !important;
    width: 100% !important;
}

.lab-ella-product-page .glow-related-title {
    font-family: 'Playfair Display', serif !important;
    font-size: 32px !important;
    color: var(--lab-ella-dark) !important;
    text-align: center !important;
    margin-bottom: 40px !important;
    position: relative !important;
}

.lab-ella-product-page .glow-related-title::after {
    content: "" !important;
    position: absolute !important;
    bottom: -15px !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    width: 80px !important;
    height: 4px !important;
    background: linear-gradient(135deg, var(--lab-ella-gold), #d4a574) !important;
    border-radius: 2px !important;
}

.lab-ella-product-page .glow-related-tabs {
    margin-bottom: 35px !important;
}

.lab-ella-product-page .glow-related-tab-buttons {
    display: flex !important;
    justify-content: center !important;
    gap: 15px !important;
    margin-bottom: 35px !important;
    flex-wrap: wrap !important;
}

.lab-ella-product-page .glow-related-tab-button {
    padding: 12px 24px !important;
    border: 2px solid var(--lab-ella-gold) !important;
    background: white !important;
    color: var(--lab-ella-gold) !important;
    border-radius: 25px !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    transition: var(--lab-ella-transition) !important;
    font-size: 14px !important;
    box-shadow: 0 4px 15px rgba(0,0,0,0.08) !important;
}

.lab-ella-product-page .glow-related-tab-button:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 8px 25px rgba(232, 199, 167, 0.25) !important;
}

.lab-ella-product-page .glow-related-tab-button.active {
    background: linear-gradient(135deg, var(--lab-ella-gold), #d4a574) !important;
    color: white !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 8px 25px rgba(232, 199, 167, 0.3) !important;
}

.lab-ella-product-page .glow-related-tab-content {
    display: none !important;
    animation: fadeInRelated 0.4s ease !important;
}

.lab-ella-product-page .glow-related-tab-content.active {
    display: block !important;
}

@keyframes fadeInRelated {
    from { 
        opacity: 0 !important; 
        transform: translateY(10px) !important; 
    }
    to { 
        opacity: 1 !important; 
        transform: translateY(0) !important; 
    }
}

.lab-ella-product-page .glow-related-grid {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)) !important;
    gap: 30px !important;
}

.lab-ella-product-page .glow-related-card {
    background: white !important;
    border-radius: 20px !important;
    overflow: hidden !important;
    transition: var(--lab-ella-transition) !important;
    box-shadow: 0 8px 25px rgba(0,0,0,0.08) !important;
    border: 2px solid transparent !important;
    position: relative !important;
    display: flex !important;
    flex-direction: column !important;
}

.lab-ella-product-page .glow-related-card::before {
    content: "" !important;
    position: absolute !important;
    top: 0 !important;
    left: -100% !important;
    width: 100% !important;
    height: 100% !important;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,0.2), transparent) !important;
    transition: left 0.6s ease !important;
    z-index: 1 !important;
}

.lab-ella-product-page .glow-related-card:hover {
    transform: translateY(-10px) !important;
    box-shadow: 0 20px 40px rgba(0,0,0,0.12) !important;
    border-color: var(--lab-ella-gold) !important;
}

.lab-ella-product-page .glow-related-card:hover::before {
    left: 100% !important;
}

/* Images nettes et grandes - CORRECTION */
.lab-ella-product-page .glow-related-image {
    position: relative !important;
    overflow: hidden !important;
    height: 280px !important; /* Plus grand */
    width: 100% !important;
    background-color: var(--lab-ella-cream);
}

.lab-ella-product-page .glow-related-image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    transition: var(--lab-ella-transition) !important;
    image-rendering: -webkit-optimize-contrast !important;
    image-rendering: crisp-edges !important;
    filter: none !important;
}

.lab-ella-product-page .glow-related-card:hover .glow-related-image img {
    transform: scale(1.1) !important;
}

/* Contenu centré et stylé - CORRECTION */
.lab-ella-product-page .glow-related-info {
    padding: 25px !important;
    position: relative !important;
    z-index: 2 !important;
    text-align: center !important;
    flex: 1 !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: space-between !important;
}

.lab-ella-product-page .glow-related-name {
    font-size: 18px !important;
    font-weight: 600 !important;
    color: var(--lab-ella-dark) !important;
    margin-bottom: 12px !important;
    line-height: 1.3 !important;
    font-family: 'Playfair Display', serif !important;
    text-align: center !important;
    min-height: 46px; /* Pour alignement */
}

.lab-ella-product-page .glow-related-rating {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 5px !important;
    margin-bottom: 15px !important;
}

.lab-ella-product-page .glow-related-rating .glow-star {
    font-size: 16px !important;
    color: var(--lab-ella-gold) !important;
}

.lab-ella-product-page .glow-related-review-count {
    color: var(--lab-ella-text) !important;
    font-size: 14px !important;
    margin-left: 8px !important;
}

.lab-ella-product-page .glow-related-price {
    font-size: 20px !important;
    font-weight: 700 !important;
    color: var(--lab-ella-gold) !important;
    margin-bottom: 20px !important;
    text-align: center !important;
}

.lab-ella-product-page .glow-related-add-cart {
    width: 100% !important;
    background: linear-gradient(135deg, var(--lab-ella-dark), #2a2a2a) !important;
    color: white !important;
    border: none !important;
    padding: 14px 20px !important;
    border-radius: 10px !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    transition: var(--lab-ella-transition) !important;
    font-size: 14px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    box-shadow: 0 4px 15px rgba(0,0,0,0.1) !important;
    margin-top: auto !important;
}

.lab-ella-product-page .glow-related-add-cart:hover {
    background: linear-gradient(135deg, var(--lab-ella-gold), #d4a574) !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 8px 25px rgba(232, 199, 167, 0.3) !important;
}

/* SECTION AVIS - CORRECTION */
.lab-ella-product-page .glow-reviews-section {
    margin: 80px auto !important;
    max-width: 1200px !important;
    padding: 40px !important;
    background: white !important;
    border-radius: 25px !important;
    border: 1px solid var(--lab-ella-border) !important;
    box-shadow: 0 15px 40px rgba(0,0,0,0.05) !important;
}

.lab-ella-product-page .glow-reviews-title {
    font-family: 'Playfair Display', serif !important;
    font-size: 32px !important;
    color: var(--lab-ella-dark) !important;
    text-align: center !important;
    margin-bottom: 40px !important;
    position: relative !important;
}

.lab-ella-product-page .glow-reviews-title::after {
    content: "" !important;
    position: absolute !important;
    bottom: -15px !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    width: 80px !important;
    height: 4px !important;
    background: linear-gradient(135deg, var(--lab-ella-gold), #d4a574) !important;
    border-radius: 2px !important;
}

.lab-ella-product-page .glow-reviews-summary {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    margin-bottom: 30px !important;
    padding: 20px !important;
    background: var(--lab-ella-cream) !important;
    border-radius: 15px !important;
}

.lab-ella-product-page .glow-average-rating {
    text-align: center !important;
}

.lab-ella-product-page .glow-average-score {
    font-size: 48px !important;
    font-weight: bold !important;
    color: var(--lab-ella-gold) !important;
}

.lab-ella-product-page .glow-average-stars .glow-star {
    font-size: 24px !important;
    color: var(--lab-ella-gold) !important;
}

.lab-ella-product-page .glow-total-reviews {
    font-size: 14px !important;
    color: var(--lab-ella-text) !important;
}

.lab-ella-product-page .glow-reviews-filters {
    display: flex !important;
    justify-content: center !important;
    gap: 10px !important;
    margin-bottom: 30px !important;
    flex-wrap: wrap !important;
}

.lab-ella-product-page .glow-review-filter {
    padding: 10px 20px !important;
    border: 1px solid var(--lab-ella-border) !important;
    background: white !important;
    color: var(--lab-ella-text) !important;
    border-radius: 20px !important;
    font-weight: 500 !important;
    cursor: pointer !important;
    transition: var(--lab-ella-transition) !important;
    font-size: 14px !important;
}

.lab-ella-product-page .glow-review-filter:hover {
    border-color: var(--lab-ella-dark) !important;
    color: var(--lab-ella-dark) !important;
}

.lab-ella-product-page .glow-review-filter.active {
    background: var(--lab-ella-dark) !important;
    color: white !important;
    border-color: var(--lab-ella-dark) !important;
}

.lab-ella-product-page .glow-reviews-grid {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)) !important;
    gap: 25px !important;
}

.lab-ella-product-page .glow-review-card {
    background: var(--lab-ella-cream) !important;
    border-radius: 15px !important;
    padding: 25px !important;
    border: 1px solid var(--lab-ella-border) !important;
    transition: var(--lab-ella-transition) !important;
}

.lab-ella-product-page .glow-review-card:hover {
    box-shadow: 0 8px 25px rgba(0,0,0,0.08) !important;
    transform: translateY(-5px) !important;
}

.lab-ella-product-page .glow-review-header {
    display: flex !important;
    align-items: center !important;
    margin-bottom: 15px !important;
}

.lab-ella-product-page .glow-review-avatar {
    width: 45px !important;
    height: 45px !important;
    border-radius: 50% !important;
    margin-right: 15px !important;
    background-color: var(--lab-ella-gold) !important;
    color: white !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-weight: bold !important;
    font-size: 18px !important;
}

.lab-ella-product-page .glow-review-author-info {
    flex: 1 !important;
}

.lab-ella-product-page .glow-review-author {
    font-weight: 600 !important;
    color: var(--lab-ella-dark) !important;
    display: block !important;
}

.lab-ella-product-page .glow-review-date {
    font-size: 13px !important;
    color: var(--lab-ella-text) !important;
}

.lab-ella-product-page .glow-review-rating .glow-star {
    font-size: 16px !important;
    color: var(--lab-ella-gold) !important;
}

.lab-ella-product-page .glow-review-content p {
    font-size: 15px !important;
    color: var(--lab-ella-text) !important;
    line-height: 1.7 !important;
    margin: 0 !important;
}

/* ========================================
   RESPONSIVE
======================================== */
@media (max-width: 1200px) {
    .lab-ella-product-page .glow-recipe-main-section {
        grid-template-columns: 50% 50% !important;
        gap: 20px !important;
    }
}

@media (max-width: 1024px) {
    .lab-ella-product-page .glow-recipe-main-section {
        grid-template-columns: 1fr !important;
        gap: 40px !important;
    }
    
    .lab-ella-product-page .glow-recipe-info {
        padding-top: 0 !important;
    }
    
    .lab-ella-product-page .glow-main-image-carousel {
        height: 500px !important;
    }
}

@media (max-width: 768px) {
    .lab-ella-product-page .glow-product-title {
        font-size: 28px !important;
    }
    
    .lab-ella-product-page .glow-product-price {
        font-size: 24px !important;
    }
    
    .lab-ella-product-page .glow-before-after-container {
        grid-template-columns: 1fr !important;
    }
    
    .lab-ella-product-page .glow-related-title,
    .lab-ella-product-page .glow-about-product-section {
        margin: 30px 15px !important;
        padding: 30px 20px !important;
        border-radius: 16px !important;
    }
    
    .lab-ella-product-page .glow-reviews-title,
    .lab-ella-product-page .glow-about-product-section h2,
    .lab-ella-product-page .glow-before-after-section h2 {
        font-size: 24px !important;
    }
    
    .lab-ella-product-page .glow-reviews-summary {
        flex-direction: column !important;
        gap: 15px !important;
    }
    
    
    
    .lab-ella-product-page .glow-reviews-filters {
        gap: 10px !important;
    }
    
    .lab-ella-product-page .glow-review-filter {
        padding: 8px 15px !important;
        font-size: 12px !important;
    }
    
    .lab-ella-product-page .glow-reviews-grid {
        grid-template-columns: 1fr !important;
    }
    
    /* Réduire les cercles vidéo sur mobile pour tenir sur 1 ligne */
    .lab-ella-product-page .glow-video-thumbnail {
        width: 110px !important;
        height: 110px !important;
        min-width: 110px !important;
        min-height: 110px !important;
        max-width: 110px !important;
        max-height: 110px !important;
    }
}

@media (max-width: 480px) {
    .lab-ella-product-page .glow-images-container {
        flex-direction: column !important;
    }
    
    .lab-ella-product-page .glow-image-thumbnails {
        flex-direction: row !important;
        width: 100% !important;
        justify-content: center !important;
    }
    
    .lab-ella-product-page .glow-main-image-carousel {
        height: 400px !important;
    }
    
    .lab-ella-product-page .glow-product-meta-item {
        padding: 15px !important;
    }
    
    .lab-ella-product-page .glow-video-thumbnails {
        gap: 10px !important;
    }
    
    /* Règles vidéo supprimées - utiliser les règles de base */
    
    .lab-ella-product-page .glow-related-section,
    .lab-ella-product-page .glow-reviews-section {
        padding: 25px 20px !important;
    }
    
    .lab-ella-product-page .variations td {
        display: block !important;
        width: 100% !important;
    }
    
    .lab-ella-product-page .woocommerce-variation-add-to-cart,
    .lab-ella-product-page .cart {
        flex-direction: column !important;
        align-items: stretch !important;
    }
    
    .lab-ella-product-page .quantity {
        width: 100% !important;
        justify-content: center !important;
    }
}

/* ===== CORRECTIONS FORCÉES POUR RÉSOUDRE LES PROBLÈMES ===== */

/* /* ===== CARROUSEL ROUTINE - FORÇAGE MAXIMUM SPÉCIFICITÉ ===== */
html body.single-product .lab-ella-product-page div.glow-routine-section {
    margin: 5px 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

html body.single-product .lab-ella-product-page div.glow-routine-section h3:first-child {
    font-size: 16px !important;
    font-weight: 600 !important;
    margin-bottom: 20px !important;
    text-align: center !important;
    color: #333 !important;
    letter-spacing: 0.5px !important;
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif !important;
    line-height: 1.5 !important;
}

html body.single-product .lab-ella-product-page div.glow-routine-section div.glow-routine-carousel-container {
    position: relative !important;
    overflow: hidden !important;
    padding: 0 30px !important;
    width: 100% !important;
    max-width: 600px !important;
    margin: 0 auto !important;
    border-radius: 0 !important;
}

html body.single-product .lab-ella-product-page div.glow-routine-section div.glow-routine-carousel-container div.glow-routine-carousel {
    display: flex !important;
    gap: 8px !important;
    transition: transform 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94) !important;
    width: max-content !important;
    will-change: transform !important;
    padding: 0 !important;
}

html body.single-product .lab-ella-product-page div.glow-routine-section div.glow-routine-carousel-container div.glow-routine-carousel div.glow-routine-card:nth-child(n) {
    flex: 0 0 180px !important;
    height: 110px !important;
    background: white !important;
    border-radius: 6px !important;
    padding: 10px !important;
    box-shadow: 0 1px 6px rgba(0,0,0,0.05) !important;
    border: 1px solid rgba(228, 199, 167, 0.15) !important;
    transition: all 0.3s ease !important;
    cursor: pointer !important;
    position: relative !important;
    overflow: hidden !important;
    display: flex !important;
    align-items: center !important;
}

html body.single-product .lab-ella-product-page div.glow-routine-section div.glow-routine-carousel-container div.glow-routine-carousel div.glow-routine-card:nth-child(n):hover {
    transform: translateY(-1px) !important;
    box-shadow: 0 3px 10px rgba(0,0,0,0.08) !important;
    border-color: var(--lab-ella-gold) !important;
}

html body.single-product .lab-ella-product-page div.glow-routine-section div.glow-routine-carousel-container div.glow-routine-carousel div.glow-routine-card:nth-child(n) div.glow-routine-image:first-child {
    width: 80px !important;
    height: 80px !important;
    border-radius: 50% !important;
    overflow: hidden !important;
    margin-right: 12px !important;
    flex-shrink: 0 !important;
    position: relative !important;
    border: 2px solid rgba(228, 199, 167, 0.2) !important;
}

html body.single-product .lab-ella-product-page div.glow-routine-section div.glow-routine-carousel-container div.glow-routine-carousel div.glow-routine-card:nth-child(n) div.glow-routine-image:first-child img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    transition: transform 0.3s ease !important;
}

html body.single-product .lab-ella-product-page div.glow-routine-section div.glow-routine-carousel-container div.glow-routine-carousel div.glow-routine-card:nth-child(n) div.glow-routine-info:last-child {
    flex: 1 !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: space-between !important;
    height: 100% !important;
}

html body.single-product .lab-ella-product-page div.glow-routine-section div.glow-routine-carousel-container div.glow-routine-carousel div.glow-routine-card:nth-child(n) div.glow-routine-info:last-child h4.glow-routine-name {
    font-size: 14px !important;
    font-weight: 600 !important;
    margin-bottom: 5px !important;
    height: auto !important;
    min-height: 28px !important;
    overflow: visible !important;
    display: block !important;
    -webkit-line-clamp: unset !important;
    -webkit-box-orient: unset !important;
    color: #000000 !important;
    line-height: 1.2 !important;
    background: yellow !important;
    padding: 2px !important;
    visibility: visible !important;
    opacity: 1 !important;
}

html body.single-product .lab-ella-product-page div.glow-routine-section div.glow-routine-carousel-container div.glow-routine-carousel div.glow-routine-card:nth-child(n) div.glow-routine-info:last-child div.glow-routine-price {
    font-size: 15px !important;
    font-weight: 700 !important;
    color: #ff0000 !important;
    margin-bottom: 6px !important;
    letter-spacing: -0.1px !important;
    background: lime !important;
    padding: 2px !important;
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    height: auto !important;
    min-height: 20px !important;
}

html body.single-product .lab-ella-product-page div.glow-routine-section div.glow-routine-carousel-container div.glow-routine-carousel div.glow-routine-card:nth-child(n) div.glow-routine-info:last-child button.glow-routine-add-cart {
    background: linear-gradient(135deg, #333 0%, #555 100%) !important;
    color: white !important;
    border: none !important;
    padding: 5px 10px !important;
    border-radius: 10px !important;
    font-size: 9px !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    width: 100% !important;
    transition: all 0.3s ease !important;
    text-transform: uppercase !important;
    letter-spacing: 0px !important;
}

/* ===== VIDÉOS SEE-IN-ACTION VRAIMENT CIRCULAIRES ===== */
.lab-ella-product-page .glow-see-in-action {
    margin: 30px 0 !important;
    text-align: center !important;
}

.lab-ella-product-page .glow-see-in-action h3 {
    font-size: 20px !important;
    margin-bottom: 15px !important;
}

.lab-ella-product-page .glow-video-grid {
    display: flex !important;
    justify-content: center !important;
    gap: 15px !important;
}

/* Règles vidéo supprimées - utiliser les règles de base */
    padding: 25px !important;
    background: var(--lab-ella-cream) !important;
    border-radius: 15px !important;
    border: 1px solid var(--lab-ella-border) !important;
}

.lab-ella-product-page .glow-see-in-action h4 {
    font-family: 'Playfair Display', serif !important;
    font-size: 20px !important;
    color: var(--lab-ella-dark) !important;
    margin-bottom: 20px !important;
    text-align: center !important;
}

.lab-ella-product-page .glow-video-thumbnails {
    display: flex !important;
    gap: 15px !important;
    justify-content: center !important;
    flex-wrap: wrap !important;
}

/* Règles vidéo supprimées - utiliser les règles de base */

/* 3. SECTION "VOUS AIMEREZ AUSSI" - STYLE FORCÉ */
.lab-ella-product-page .glow-related-section {
    max-width: 1200px !important;
    margin: 80px auto !important;
    padding: 40px 20px !important;
}

.lab-ella-product-page .glow-related-title {
    font-family: 'Playfair Display', serif !important;
    font-size: 32px !important;
    color: var(--lab-ella-dark) !important;
    text-align: center !important;
    margin-bottom: 40px !important;
}

.lab-ella-product-page .glow-related-grid {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)) !important;
    gap: 30px !important;
}

.lab-ella-product-page .glow-related-card {
    background: white !important;
    border-radius: 15px !important;
    padding: 20px !important;
    box-shadow: 0 4px 20px rgba(0,0,0,0.1) !important;
    border: 1px solid var(--lab-ella-border) !important;
    text-align: center !important;
    transition: all 0.3s ease !important;
}

.lab-ella-product-page .glow-related-card:hover {
    transform: translateY(-5px) !important;
    box-shadow: 0 8px 30px rgba(0,0,0,0.15) !important;
}

.lab-ella-product-page .glow-related-image {
    width: 100% !important;
    height: 250px !important;
    border-radius: 10px !important;
    overflow: hidden !important;
    margin-bottom: 15px !important;
}

.lab-ella-product-page .glow-related-image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    image-rendering: crisp-edges !important;
}

.lab-ella-product-page .glow-related-name {
    font-size: 16px !important;
    font-weight: 600 !important;
    color: var(--lab-ella-dark) !important;
    margin-bottom: 10px !important;
    text-align: center !important;
}

.lab-ella-product-page .glow-related-price {
    font-size: 20px !important;
    font-weight: 700 !important;
    color: var(--lab-ella-gold) !important;
    margin-bottom: 15px !important;
    text-align: center !important;
}

.lab-ella-product-page .glow-related-rating {
    display: flex !important;
    justify-content: center !important;
    margin-bottom: 15px !important;
}

.lab-ella-product-page .glow-related-add-btn {
    background: var(--lab-ella-dark) !important;
    color: white !important;
    border: none !important;
    padding: 12px 20px !important;
    border-radius: 8px !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
    width: 100% !important;
}

.lab-ella-product-page .glow-related-add-btn:hover {
    background: var(--lab-ella-gold) !important;
    transform: translateY(-2px) !important;
}

/* ===== LECTEUR VIDÉO SEE-IN-ACTION CIRCULAIRE ET MODERNE ===== */
.lab-ella-product-page .glow-see-in-action {
    margin: 40px 0 !important;
    text-align: center !important;
}

.lab-ella-product-page .glow-see-in-action h3 {
    font-family: 'Playfair Display', serif !important;
    font-size: 24px !important;
    color: var(--lab-ella-dark) !important;
    margin-bottom: 25px !important;
    font-weight: 600 !important;
}

.lab-ella-product-page .glow-video-grid {
    display: flex !important;
    justify-content: center !important;
    gap: 20px !important;
    flex-wrap: wrap !important;
}

/* Règles vidéo supprimées - voir section principale ligne 4518+ */

/* Responsive */
@media (max-width: 768px) {
    /* Règles vidéo supprimées - utiliser les règles de base */
    
    .lab-ella-product-page .glow-routine-card {
        flex: 0 0 180px !important;
        height: 280px !important;
    }
    
    .lab-ella-product-page .glow-routine-carousel-container {
        padding: 0 40px !important;
    }
}

/* ===== CORRECTIONS FORCÉES POUR RÉSOUDRE LES PROBLÈMES ===== */

/* ===== CARROUSEL ROUTINE - VERSION COMPACTE ET ÉLÉGANTE ===== */
.lab-ella-product-page .glow-routine-section {
    max-width: 1000px !important;
    margin: 60px auto !important;
    padding: 30px 20px !important;
    background: white !important;
}

.lab-ella-product-page .glow-routine-section h2 {
    font-family: 'Playfair Display', serif !important;
    font-size: 28px !important;
    color: var(--lab-ella-dark) !important;
    text-align: center !important;
    margin-bottom: 30px !important;
}

.lab-ella-product-page .glow-routine-carousel-container {
    position: relative !important;
    overflow: hidden !important;
    padding: 0 50px !important;
}

.lab-ella-product-page .glow-routine-carousel {
    display: flex !important;
    gap: 15px !important;
    transition: transform 0.4s ease !important;
    will-change: transform !important;
    touch-action: auto !important;
}

.lab-ella-product-page .glow-routine-card {
    flex: 0 0 220px !important;
    background: white !important;
    border-radius: 12px !important;
    padding: 15px !important;
    box-shadow: 0 3px 15px rgba(0,0,0,0.08) !important;
    border: 1px solid var(--lab-ella-border) !important;
    display: flex !important;
    flex-direction: column !important;
    height: 320px !important;
    transition: all 0.3s ease !important;
}

.lab-ella-product-page .glow-routine-card:hover {
    transform: translateY(-3px) !important;
    box-shadow: 0 6px 25px rgba(0,0,0,0.12) !important;
}

.lab-ella-product-page .glow-routine-card .glow-routine-image {
    width: 100% !important;
    height: 140px !important;
    border-radius: 8px !important;
    overflow: hidden !important;
    margin-bottom: 12px !important;
}

.lab-ella-product-page .glow-routine-card .glow-routine-image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}

.lab-ella-product-page .glow-routine-card .glow-routine-title {
    font-size: 14px !important;
    font-weight: 600 !important;
    color: var(--lab-ella-dark) !important;
    margin-bottom: 8px !important;
    line-height: 1.3 !important;
    height: 36px !important;
    overflow: hidden !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
}

.lab-ella-product-page .glow-routine-card .glow-routine-price {
    font-size: 16px !important;
    font-weight: 700 !important;
    color: var(--lab-ella-gold) !important;
    margin-bottom: 12px !important;
}

.lab-ella-product-page .glow-routine-card .glow-routine-add-btn {
    background: var(--lab-ella-dark) !important;
    color: white !important;
    border: none !important;
    padding: 10px 15px !important;
    border-radius: 6px !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
    margin-top: auto !important;
}

.lab-ella-product-page .glow-routine-card .glow-routine-add-btn:hover {
    background: var(--lab-ella-gold) !important;
    transform: translateY(-1px) !important;
}

.lab-ella-product-page #routine-prev,
.lab-ella-product-page #routine-next {
    position: absolute !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    width: 35px !important;
    height: 35px !important;
    background: white !important;
    border: 1px solid var(--lab-ella-border) !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
    z-index: 10 !important;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1) !important;
    font-size: 14px !important;
}

.lab-ella-product-page #routine-prev {

    left: 8px !important;
}

.lab-ella-product-page #routine-next {

    right: 8px !important;
}

.lab-ella-product-page .glow-routine-prev:hover,
.lab-ella-product-page .glow-routine-next:hover {
    background: var(--lab-ella-gold) !important;
    color: white !important;
    border-color: var(--lab-ella-gold) !important;
    transform: translateY(-50%) scale(1.1) !important;
}

/* 2. VIDÉOS SEE-IN-ACTION - LECTEUR CIRCULAIRE FORCÉ */
.lab-ella-product-page .glow-see-in-action {
    margin-top: 30px !important;
    padding: 0 !important;
    background: transparent !important;
    border-radius: 0 !important;
    border: none !important;
}

.lab-ella-product-page .glow-see-in-action h4 {
    font-family: 'Playfair Display', serif !important;
    font-size: 20px !important;
    color: var(--lab-ella-dark) !important;
    margin-bottom: 20px !important;
    text-align: center !important;
}

.lab-ella-product-page .glow-video-thumbnails {
    display: flex !important;
    gap: 15px !important;
    justify-content: center !important;
    flex-wrap: wrap !important;
}

/* Règles vidéo supprimées - utiliser les règles de base */

/* 3. SECTION "VOUS AIMEREZ AUSSI" - STYLE FORCÉ */
.lab-ella-product-page .glow-related-section {
    max-width: 1200px !important;
    margin: 80px auto !important;
    padding: 40px 20px !important;
}

.lab-ella-product-page .glow-related-title {
    font-family: 'Playfair Display', serif !important;
    font-size: 32px !important;
    color: var(--lab-ella-dark) !important;
    text-align: center !important;
    margin-bottom: 40px !important;
}

.lab-ella-product-page .glow-related-grid {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)) !important;
    gap: 30px !important;
}

.lab-ella-product-page .glow-related-card {
    background: white !important;
    border-radius: 15px !important;
    padding: 20px !important;
    box-shadow: 0 4px 20px rgba(0,0,0,0.1) !important;
    border: 1px solid var(--lab-ella-border) !important;
    text-align: center !important;
    transition: all 0.3s ease !important;
}

.lab-ella-product-page .glow-related-card:hover {
    transform: translateY(-5px) !important;
    box-shadow: 0 8px 30px rgba(0,0,0,0.15) !important;
}

.lab-ella-product-page .glow-related-image {
    width: 100% !important;
    height: 250px !important;
    border-radius: 10px !important;
    overflow: hidden !important;
    margin-bottom: 15px !important;
}

.lab-ella-product-page .glow-related-image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    image-rendering: crisp-edges !important;
}

.lab-ella-product-page .glow-related-name {
    font-size: 16px !important;
    font-weight: 600 !important;
    color: var(--lab-ella-dark) !important;
    margin-bottom: 10px !important;
    text-align: center !important;
}

.lab-ella-product-page .glow-related-price {
    font-size: 20px !important;
    font-weight: 700 !important;
    color: var(--lab-ella-gold) !important;
    margin-bottom: 15px !important;
    text-align: center !important;
}

.lab-ella-product-page .glow-related-rating {
    display: flex !important;
    justify-content: center !important;
    margin-bottom: 15px !important;
}

.lab-ella-product-page .glow-related-add-btn {
    background: var(--lab-ella-dark) !important;
    color: white !important;
    border: none !important;
    padding: 12px 20px !important;
    border-radius: 8px !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
    width: 100% !important;
}

.lab-ella-product-page .glow-related-add-btn:hover {
    background: var(--lab-ella-gold) !important;
    transform: translateY(-2px) !important;
}

/* ===== LECTEUR VIDÉO SEE-IN-ACTION CIRCULAIRE ET MODERNE ===== */
.lab-ella-product-page .glow-see-in-action {
    margin: 40px 0 !important;
    text-align: center !important;
}

.lab-ella-product-page .glow-see-in-action h3 {
    font-family: 'Playfair Display', serif !important;
    font-size: 24px !important;
    color: var(--lab-ella-dark) !important;
    margin-bottom: 25px !important;
    font-weight: 600 !important;
}

.lab-ella-product-page .glow-video-grid {
    display: flex !important;
    justify-content: center !important;
    gap: 20px !important;
    flex-wrap: wrap !important;
}

/* Règles vidéo supprimées - voir section principale ligne 4518+ */

/* Responsive */
@media (max-width: 768px) {
    /* Règles vidéo supprimées - utiliser les règles de base */
    
    .lab-ella-product-page .glow-routine-card {
        flex: 0 0 180px !important;
        height: 280px !important;
    }
    
    .lab-ella-product-page .glow-routine-carousel-container {
        padding: 0 40px !important;
    }
}

/* ===== CORRECTIONS FORCÉES POUR RÉSOUDRE LES PROBLÈMES ===== */

/* 1. CARROUSEL ROUTINE - STYLE FORCÉ */
.lab-ella-product-page .glow-routine-section {
    max-width: 1200px !important;
    margin: 80px auto !important;
    padding: 40px 20px !important;
    background: white !important;
}

.lab-ella-product-page .glow-routine-section h2 {
    font-family: 'Playfair Display', serif !important;
    font-size: 32px !important;
    color: var(--lab-ella-dark) !important;
    text-align: center !important;
    margin-bottom: 40px !important;
}

.lab-ella-product-page .glow-routine-carousel-container {
    position: relative !important;
    overflow: hidden !important;
    padding: 0 60px !important;
}

.lab-ella-product-page .glow-routine-carousel {
    display: flex !important;
    gap: 20px !important;
    transition: transform 0.3s ease !important;
    will-change: transform !important;
}

.lab-ella-product-page .glow-routine-card {
    flex: 0 0 280px !important;
    background: white !important;
    border-radius: 15px !important;
    padding: 20px !important;
    box-shadow: 0 4px 20px rgba(0,0,0,0.1) !important;
    border: 1px solid var(--lab-ella-border) !important;
    display: flex !important;
    flex-direction: column !important;
    height: 400px !important;
}

.lab-ella-product-page .glow-routine-card .glow-routine-image {
    width: 100% !important;
    height: 200px !important;
    border-radius: 10px !important;
    overflow: hidden !important;
    margin-bottom: 15px !important;
}

.lab-ella-product-page .glow-routine-card .glow-routine-image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}

.lab-ella-product-page .glow-routine-card .glow-routine-title {
    font-size: 16px !important;
    font-weight: 600 !important;
    color: var(--lab-ella-dark) !important;
    margin-bottom: 10px !important;
    line-height: 1.3 !important;
}

.lab-ella-product-page .glow-routine-card .glow-routine-price {
    font-size: 18px !important;
    font-weight: 700 !important;
    color: var(--lab-ella-gold) !important;
    margin-bottom: 15px !important;
}

.lab-ella-product-page .glow-routine-card .glow-routine-add-btn {
    background: var(--lab-ella-dark) !important;
    color: white !important;
    border: none !important;
    padding: 12px 20px !important;
    border-radius: 8px !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
    margin-top: auto !important;
}

.lab-ella-product-page .glow-routine-card .glow-routine-add-btn:hover {
    background: var(--lab-ella-gold) !important;
    transform: translateY(-2px) !important;
}

.lab-ella-product-page .glow-routine-prev,
.lab-ella-product-page .glow-routine-next {
    position: absolute !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    width: 40px !important;
    height: 40px !important;
    background: white !important;
    border: 1px solid var(--lab-ella-border) !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
    z-index: 10 !important;
    box-shadow: 0 2px 10px rgba(0,0,0,0.1) !important;
}

.lab-ella-product-page .glow-routine-prev {
    left: 10px !important;
}

.lab-ella-product-page .glow-routine-next {
    right: 10px !important;
}

.lab-ella-product-page .glow-routine-prev:hover,
.lab-ella-product-page .glow-routine-next:hover {
    background: var(--lab-ella-gold) !important;
    color: white !important;
    border-color: var(--lab-ella-gold) !important;
}

/* 2. VIDÉOS SEE-IN-ACTION - LECTEUR CIRCULAIRE FORCÉ */
.lab-ella-product-page .glow-see-in-action {
    margin-top: 30px !important;
    padding: 0 !important;
    background: transparent !important;
    border-radius: 0 !important;
    border: none !important;
}

.lab-ella-product-page .glow-see-in-action h4 {
    font-family: 'Playfair Display', serif !important;
    font-size: 20px !important;
    color: var(--lab-ella-dark) !important;
    margin-bottom: 20px !important;
    text-align: center !important;
}

.lab-ella-product-page .glow-video-thumbnails {
    display: flex !important;
    gap: 15px !important;
    justify-content: center !important;
    flex-wrap: wrap !important;
}

.lab-ella-product-page .glow-video-thumbnail {
    position: relative !important;
    width: 150px !important;
    height: 150px !important;
    border-radius: 50% !important;
    overflow: hidden !important;
    cursor: pointer !important;
    border: 3px solid var(--lab-ella-gold) !important;
    transition: all 0.3s ease !important;
    box-shadow: 0 4px 15px rgba(232, 199, 167, 0.3) !important;
    background: transparent !important;
}

.lab-ella-product-page .glow-video-thumbnail:hover {
    transform: scale(1.1) !important;
    box-shadow: 0 8px 25px rgba(232, 199, 167, 0.5) !important;
}

.lab-ella-product-page .glow-video-thumbnail img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    aspect-ratio: 1 !important;
    border-radius: 50% !important;
    display: block !important;
}

.lab-ella-product-page .glow-video-placeholder {
    width: 100% !important;
    height: 100% !important;
    background: linear-gradient(135deg, var(--lab-ella-gold), #d4a574) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 24px !important;
    color: white !important;
}

.lab-ella-product-page .glow-play-button {
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
    width: 40px !important;
    height: 40px !important;
    min-width: 40px !important;
    min-height: 40px !important;
    max-width: 40px !important;
    max-height: 40px !important;
    background: rgba(255, 255, 255, 0.9) !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 18px !important;
    color: var(--lab-ella-dark) !important;
    transition: all 0.3s ease !important;
    box-shadow: 0 2px 10px rgba(0,0,0,0.2) !important;
    aspect-ratio: 1 !important;
    flex-shrink: 0 !important;
}

.lab-ella-product-page .glow-video-thumbnail:hover .glow-play-button {
    background: var(--lab-ella-gold) !important;
    color: white !important;
    transform: translate(-50%, -50%) scale(1.2) !important;
}

/* 3. SECTION "VOUS AIMEREZ AUSSI" - STYLE FORCÉ */
.lab-ella-product-page .glow-related-section {
    max-width: 1200px !important;
    margin: 80px auto !important;
    padding: 40px 20px !important;
}

.lab-ella-product-page .glow-related-title {
    font-family: 'Playfair Display', serif !important;
    font-size: 32px !important;
    color: var(--lab-ella-dark) !important;
    text-align: center !important;
    margin-bottom: 40px !important;
}

.lab-ella-product-page .glow-related-grid {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)) !important;
    gap: 30px !important;
}

.lab-ella-product-page .glow-related-card {
    background: white !important;
    border-radius: 15px !important;
    padding: 20px !important;
    box-shadow: 0 4px 20px rgba(0,0,0,0.1) !important;
    border: 1px solid var(--lab-ella-border) !important;
    text-align: center !important;
    transition: all 0.3s ease !important;
}

.lab-ella-product-page .glow-related-card:hover {
    transform: translateY(-5px) !important;
    box-shadow: 0 8px 30px rgba(0,0,0,0.15) !important;
}

.lab-ella-product-page .glow-related-image {
    width: 100% !important;
    height: 250px !important;
    border-radius: 10px !important;
    overflow: hidden !important;
    margin-bottom: 15px !important;
}

.lab-ella-product-page .glow-related-image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    image-rendering: crisp-edges !important;
}

.lab-ella-product-page .glow-related-name {
    font-size: 16px !important;
    font-weight: 600 !important;
    color: var(--lab-ella-dark) !important;
    margin-bottom: 10px !important;
    text-align: center !important;
}

.lab-ella-product-page .glow-related-price {
    font-size: 20px !important;
    font-weight: 700 !important;
    color: var(--lab-ella-gold) !important;
    margin-bottom: 15px !important;
    text-align: center !important;
}

.lab-ella-product-page .glow-related-rating {
    display: flex !important;
    justify-content: center !important;
    margin-bottom: 15px !important;
}

.lab-ella-product-page .glow-related-add-btn {
    background: var(--lab-ella-dark) !important;
    color: white !important;
    border: none !important;
    padding: 12px 20px !important;
    border-radius: 8px !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
    width: 100% !important;
}

.lab-ella-product-page .glow-related-add-btn:hover {
    background: var(--lab-ella-gold) !important;
    transform: translateY(-2px) !important;
}

/* Règles vidéo sans préfixe supprimées - toutes les règles vidéo sont désormais dans la section principale (ligne 4518+) avec le préfixe .lab-ella-product-page pour garantir la spécificité CSS */

/* ==========================================================================
   Section : Page Boutique (/boutique/) - Spécifique à archive-product.php
   ========================================================================== */

/* Conteneur principal */
.shop-page {
    font-family: 'Montserrat', sans-serif;
    width: 100vw !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    background-color: #fff;
    overflow-x: hidden;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    align-items: center;
}

/* Forcer tous les conteneurs parents à être en pleine largeur */
body .shop-page,
body .shop-page .woocommerce,
body .shop-page .woocommerce-page,
body .shop-page .container,
body .shop-page .site-content,
body .shop-page #content,
body .shop-page #primary,
body .shop-page .site-main,
body .shop-page .elementor-container,
body .shop-page .elementor-section,
body .shop-page .elementor-section-boxed > .elementor-container {
    width: 100vw !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
}

/* Conteneur global pour garantir la pleine largeur */
.shop-page .full-width-wrapper {
    width: 100vw !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
}

/* Bannière (Carrousel de vidéos) */
.shop-page .shop-banner {
    position: relative;
    margin-top: 0px;
    margin-bottom: 20px;
    width: 100%;
    min-height: 200px; /* CHANGEMENT : Utiliser min-height au lieu de height pour éviter de couper les vidéos */
    background: linear-gradient(135deg, #f9e4e6 0%, #fff5f7 50%, #e8f5e9 100%);
    box-shadow: inset 0 0 20px rgba(0, 0, 0, 0.05);
    display: flex; /* AJOUT : Utiliser flexbox pour centrer le contenu */
    align-items: center; /* AJOUT : Centrer verticalement */
    justify-content: flex-start; /* AJOUT : S’assurer que le carrousel commence à gauche */
    padding: 20px 0; /* CONSERVÉ : Padding pour l’espace vertical */
    box-sizing: border-box; /* AJOUT : Inclure le padding dans les dimensions */
}

/* Carrousel de la bannière */
.shop-page .shop-banner-carousel {
    display: flex;
    gap: 20px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    padding-bottom: 0px;
    justify-content: flex-start; /* CHANGEMENT : Remplacé center par flex-start pour coller à gauche */
    width: 100%;
    background: transparent;
    padding-left: 0 !important; /* AJOUT : Supprimer tout padding à gauche */
    margin-left: 0 !important; /* AJOUT : Supprimer toute marge à gauche */
}

.shop-page .shop-banner-carousel::-webkit-scrollbar {
    display: none;
}

.shop-page .shop-banner-carousel {
    -ms-overflow-style: none;
    scrollbar-width: none;
}

.shop-page .shop-banner-video-circle-wrapper {
    flex: 0 0 120px;
    text-align: center;
    cursor: pointer;
    margin: 0 10px;
}

/* AJOUT : Assurer que le premier élément n’a pas de marge à gauche */
.shop-page .shop-banner-video-circle-wrapper:first-child {
    margin-left: 0 !important;
}

.shop-page .shop-banner-video-circle {
    width: 120px;
    height: 120px;
    border-radius: 50%;
    border: 2px solid transparent;
    overflow: hidden;
    transition: all 0.3s ease;
}

.shop-page .shop-banner-video-circle:hover {
    border-color: #F9E4E6;
    transform: scale(1.05);
}

.shop-page .shop-banner-video-circle video {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.shop-page .shop-banner-video-title {
    font-family: 'Playfair Display', serif;
    font-size: 14px;
    color: #333333;
    margin-top: 8px;
    text-transform: capitalize;
}

/* Flèches de navigation */
.shop-page .shop-banner-prev,
.shop-page .shop-banner-next {
    position: absolute;
    top: 0; /* CHANGEMENT : Étendre sur toute la hauteur de la bannière */
    bottom: 0;
    width: 20px; /* CHANGEMENT : Rectangle mince */
    height: 100%; /* CHANGEMENT : Couvre toute la hauteur de la bannière */
    background-color: rgba(255, 255, 255, 0.3); /* CHANGEMENT : Fond semi-transparent avec opacité réduite (0.3 au lieu de 0.5) */
    border: none; /* CHANGEMENT : Supprimer la bordure */
    border-radius: 0; /* CHANGEMENT : Supprimer le border-radius pour un rectangle */
    color: #333333;
    font-size: 22px;
    font-weight: 600;
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 10;
    cursor: pointer;
}

/* AJOUT : Ligne verticale fine en arrière-plan des flèches */
.shop-page .shop-banner-prev::before,
.shop-page .shop-banner-next::before {
    content: '';
    position: absolute;
    top: 10%;
    bottom: 10%;
    width: 1px;
    background-color: rgba(0, 0, 0, 0.1);
    z-index: -1;
}

.shop-page .shop-banner-prev::before {
    right: 0; /* AJOUT : Aligner la ligne au bord droit du rectangle */
}

.shop-page .shop-banner-next::before {
    left: 0; /* AJOUT : Aligner la ligne au bord gauche du rectangle */
}

.shop-page .shop-banner-prev:hover,
.shop-page .shop-banner-next:hover {
    background-color: rgba(255, 255, 255, 0.5); /* CHANGEMENT : Légère augmentation de l’opacité au survol (0.5 au lieu de 0.7) */
    transform: none; /* CHANGEMENT : Supprimer l’effet de scale pour un look plus simple */
}

.shop-page .shop-banner-prev {
    left: 0; /* CHANGEMENT : Collé au bord gauche */
    display: none; /* AJOUT : Masqué par défaut, comme sur Glow Recipe */
}

.shop-page .shop-banner-next {
    right: 0; /* CHANGEMENT : Collé au bord droit */
}

/* Popup Lecteur Vidéo */
.shop-page .video-player-popup {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.8);
    z-index: 1000;
    display: none !important;
    align-items: center;
    justify-content: center;
    opacity: 0;
    transition: opacity 0.3s ease-in-out;
}

.shop-page .video-player-popup.active {
    display: flex !important;
    opacity: 1;
}

.shop-page .video-player-container {
    position: relative;
    max-width: 600px;
    width: 90%;
    text-align: center;
}

.shop-page .video-player-circle {
    width: 400px;
    height: 400px;
    border-radius: 50%;
    overflow: hidden;
    margin: 0 auto;
    border: 2px solid transparent;
    transition: all 0.3s ease;
}

.shop-page .video-player-circle:hover {
    border-color: #F9E4E6;
}

.shop-page .video-player {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.shop-page .video-player-close {
    position: absolute;
    top: -40px;
    right: 0;
    width: 30px;
    height: 30px;
    background: #fff;
    border: 1px solid #333333;
    border-radius: 50%;
    color: #333333;
    font-size: 18px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
}

.shop-page .video-player-close:hover {
    background-color: #F9E4E6;
    transform: rotate(90deg);
}

/* Filtres */
.shop-page .shop-filters {
    display: flex;
    justify-content: center;
    gap: 15px;
    margin-bottom: 40px;
    flex-wrap: wrap;
    width: 100%;
    padding: 0 15px;
    box-sizing: border-box;
}

.shop-page .shop-filter-dropdown {
    position: relative;
}

.shop-page .shop-filter-button {
    background-color: #fff;
    border: 1px solid #333333;
    padding: 10px 20px;
    border-radius: 20px;
    cursor: pointer;
    font-size: 14px;
    font-family: 'Montserrat', sans-serif;
    color: #333333;
    display: flex;
    align-items: center;
    transition: all 0.3s ease;
}

.shop-page .shop-filter-button:hover {
    background-color: #F9E4E6;
}

.shop-page .shop-filter-button .dropdown-arrow {
    margin-left: 6px;
    font-size: 10px;
}

.shop-page .shop-filter-options {
    display: none;
    position: absolute;
    top: calc(100% + 5px);
    left: 0;
    background-color: #fff;
    min-width: 160px;
    box-shadow: 0 6px 12px rgba(0, 0, 0, 0.05);
    z-index: 100;
    border-radius: 12px;
    padding: 10px 0;
}

.shop-page .shop-filter-dropdown:hover .shop-filter-options {
    display: block;
}

.shop-page .shop-filter-option {
    color: #333333;
    padding: 8px 15px;
    text-decoration: none;
    display: block;
    font-size: 13px;
    font-family: 'Montserrat', sans-serif;
}

.shop-page .shop-filter-option:hover {
    background-color: #F9E4E6;
}

/* Grille de produits */
.shop-page .shop-product-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(400px, 1fr));
    gap: 10px;
    padding: 0 30px !important;
    margin: 0 30px !important;
    width: calc(100% - 30px) !important;
    box-sizing: border-box;
    justify-content: center;
}

/* Carte de produit - Carrée */
.shop-page .shop-product-card {
    position: relative;
    background-color: #fff;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
    transition: transform 0.4s ease, box-shadow 0.4s ease;
    display: flex;
    flex-direction: column;
    width: 400px;
    height: 600px;
    opacity: 0;
    transform: translateY(20px);
    animation: slideIn 0.6s ease forwards;
    margin: 0 auto 30px;
}

.shop-page .shop-product-card:nth-child(1) { animation-delay: 0.1s; }
.shop-page .shop-product-card:nth-child(2) { animation-delay: 0.2s; }
.shop-page .shop-product-card:nth-child(3) { animation-delay: 0.3s; }
.shop-page .shop-product-card:nth-child(4) { animation-delay: 0.4s; }
.shop-page .shop-product-card:nth-child(5) { animation-delay: 0.5s; }

@keyframes slideIn {
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.shop-page .shop-product-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.12);
}

/* Image du produit - Ratio carré */
.shop-page .section-image-wrapper {
    position: relative;
    width: 100%;
    height: 400px;
    border-radius: 16px 16px 0 0;
    overflow: hidden;
}

.shop-page .section-image {
    width: 100%;
    height: 100%;
    background-color: #F9E4E6;
    display: flex;
    align-items: center;
    justify-content: center;
}

.shop-page .section-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    transition: opacity 0.5s ease-in-out;
}

.shop-page .shop-product-image-secondary {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    transition: opacity 0.5s ease-in-out;
    opacity: 0;
    border-radius: 16px 16px 0 0;
    image-rendering: optimizeQuality; /* Améliore la qualité de rendu */
}

.shop-page .shop-product-card:hover .section-image img {
    opacity: 0;
}

.shop-page .shop-product-card:hover .shop-product-image-secondary {
    opacity: 1;
}

.shop-page .product-badge {
    position: absolute;
    top: 12px;
    left: 12px;
    padding: 6px 12px;
    border-radius: 20px; /* Coins plus arrondis pour un look moderne */
    font-family: 'Playfair Display', serif;
    font-size: 12px;
    font-weight: 600;
    background: linear-gradient(135deg, var(--gold), #f5d5b5); /* Dégradé doré élégant */
    color: var(--dark);
    border: 1px solid rgba(232, 199, 167, 0.3);
    z-index: 3;
    text-transform: uppercase;
    letter-spacing: 0.8px;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
    transition: transform 0.3s ease, box-shadow 0.3s ease, background 0.3s ease;
}

.shop-page .product-badge:hover {
    transform: scale(1.05) translateY(-2px); /* Effet de zoom et léger soulèvement */
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    background: linear-gradient(135deg, #f5d5b5, var(--gold)); /* Inversion du dégradé au survol */
}

.shop-page .product-badge.sold-out {
    background: linear-gradient(135deg, #666, #888);
    color: #fff;
}

.shop-page .product-badge.sold-out:hover {
    background: linear-gradient(135deg, #888, #666);
}

.shop-page .product-badge.best-seller {
    background: linear-gradient(135deg, var(--rose), #f7e4e6);
    color: var(--dark);
}

.shop-page .product-badge.best-seller:hover {
    background: linear-gradient(135deg, #f7e4e6, var(--rose));
}

.shop-page .product-badge.on-sale {
    background: linear-gradient(135deg, var(--gold), #f5d5b5);
    color: var(--dark);
}

.shop-page .product-badge.on-sale:hover {
    background: linear-gradient(135deg, #f5d5b5, var(--gold));
}

.shop-page .product-badge.new {
    background: linear-gradient(135deg, #fff, var(--rose)); /* Remplacement du vert par un dégradé rose-blanc */
    color: var(--dark);
}

.shop-page .product-badge.new:hover {
    background: linear-gradient(135deg, var(--rose), #fff);
}

/* Détails du produit */
.shop-page .section-details {
    padding: 15px;
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    text-align: center;
    min-height: 160px;
    margin-bottom: 20px;
}

.shop-page .section-details-title {
    font-family: 'Playfair Display', serif;
    font-size: 18px;
    font-weight: 400;
    margin-bottom: 8px;
    color: #333333;
    line-height: 1.4;
    height: 52px;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}

.shop-page .section-details-title:hover {
    color: #333333;
    text-decoration: none;
}

.shop-page .product-reviews {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin-bottom: 8px;
}

.shop-page .product-reviews .star-rating {
    font-size: 14px;
    color: #E8C7A7;
}

.shop-page .review-count {
    font-size: 14px;
    color: #666;
    font-family: 'Montserrat', sans-serif;
}

.shop-page .product-price {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 10px;
    font-weight: 500;
    gap: 8px;
}

.shop-page .regular-price {
    text-decoration: line-through;
    color: #999;
    font-size: 14px;
}

.shop-page .section-price {
    color: #333333;
    font-size: 18px;
    direction: ltr;
    font-weight: 600;
}

/* Conteneur du bouton et de la carte d'options */
.shop-page .add-to-cart-wrapper {
    position: relative;
    width: 100%;
    height: 48px; /* Réduit à la hauteur du bouton uniquement, puisque options-card est absolue */
}

/* Bouton Ajouter au Panier */
.shop-page .add-to-cart-btn {
    width: 100%;
    padding: 12px 14px;
    background-color: #fff;
    color: #333333;
    border: 1px solid #333333;
    border-radius: 5px;
    cursor: pointer;
    font-size: 15px;
    font-weight: 500;
    transition: opacity 0.5s cubic-bezier(0.22, 1, 0.36, 1), transform 0.5s cubic-bezier(0.22, 1, 0.36, 1), background-color 0.5s ease, color 0.5s ease;
    display: flex;
    justify-content: space-between;
    align-items: center;
    line-height: 1.2;
    gap: 8px;
    text-align: left;
    text-transform: uppercase;
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 2;
    opacity: 1;
    visibility: visible;
    transform: translateY(0); /* Position initiale */
}

.shop-page .add-to-cart-btn.hidden {
    opacity: 0;
    visibility: hidden;
    transform: translateY(20px); /* Animation de sortie vers le bas */
}

/* Bouton Confirmer - Superposé au même endroit que add-to-cart-btn */
.shop-page .confirm-btn {
    width: 100%;
    padding: 12px 14px;
    background-color: #fff;
    color: #333333;
    border: 1px solid #333333;
    border-radius: 5px;
    cursor: pointer;
    font-size: 15px;
    font-weight: 500;
    transition: opacity 1.2s cubic-bezier(0.22, 1, 0.36, 1), transform 1.2s cubic-bezier(0.22, 1, 0.36, 1), background-color 0.5s ease, color 0.5s ease;
    display: flex;
    justify-content: space-between;
    align-items: center;
    line-height: 1.2;
    gap: 8px;
    text-align: left;
    text-transform: uppercase;
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 11;
    opacity: 0;
    visibility: hidden;
    transform: translateY(40px);
}

/* Remplace l'ancien sélecteur par celui-ci */
.shop-page .options-card.active ~ .confirm-btn {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.shop-page .options-card.active ~ .confirm-btn:hover {
    background-color: #F9E4E6;
    color: #333333;
}

.shop-page .confirm-btn:hover,
.shop-page .confirm-btn.active {
    background-color: #F9E4E6; /* Aligné avec le hover de add-to-cart-btn si nécessaire */
    color: #333333;
}

.shop-page .add-to-cart-text,
.shop-page .add-to-cart-price {
    font-size: 15px;
    white-space: nowrap;
}

.shop-page .add-to-cart-text {
    flex: 1;
}

.shop-page .add-to-cart-price {
    flex-shrink: 0;
    direction: ltr;
}

/* Carte d'options - Positionnée juste au-dessus du bouton */
.shop-page .options-card {
    position: absolute;
    bottom: 48px;
    left: 0;
    width: 100%;
    background: linear-gradient(145deg, #F9E4E6, #fdeded);
    z-index: 10;
    border-radius: 16px 16px 0 0;
    box-shadow: 0 -2px 12px rgba(0, 0, 0, 0.1), 0 8px 20px rgba(0, 0, 0, 0.1);
    border: 1px solid rgba(232, 199, 167, 0.2);
    border-bottom: none;
    opacity: 0;
    visibility: hidden;
    transform: translateY(60px) scale(0.95); /* Ajout d'une échelle initiale */
    filter: blur(2px); /* Flou initial pour un effet sophistiqué */
    transition: opacity 1.8s cubic-bezier(0.4, 0, 0.2, 1), transform 1.8s cubic-bezier(0.4, 0, 0.2, 1), filter 1.8s cubic-bezier(0.4, 0, 0.2, 1);
    height: auto;
    max-height: 80vh;
    display: flex;
    flex-direction: column;
}

.shop-page .options-card.preparing {
    display: flex;
    visibility: visible;
    opacity: 0;
    transform: translateY(60px) scale(0.95);
    filter: blur(2px);
    height: auto;
    max-height: 0;
}

.shop-page .options-card.active {
    opacity: 1;
    visibility: visible;
    transform: translateY(0) scale(1);
    filter: blur(0);
    height: auto;
    max-height: 80vh;
    overflow-y: auto;
}

.shop-page .options-card-inner {
    padding: 15px;
    position: relative;
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    box-sizing: border-box; /* Assure que le padding est inclus dans la hauteur */
}

.shop-page .options-card::-webkit-scrollbar {
    width: 4px;
}

.shop-page .options-card::-webkit-scrollbar-track {
    background: rgba(0, 0, 0, 0.02);
    border-radius: 4px;
}

.shop-page .options-card::-webkit-scrollbar-thumb {
    background: #E8C7A7;
    border-radius: 4px;
}

.shop-page .options-card {
    -ms-overflow-style: auto;
    scrollbar-width: thin;
    scrollbar-color: #E8C7A7 rgba(0, 0, 0, 0.02);
}

.shop-page .close-options {
    position: sticky;
    top: 10px;
    right: 10px;
    width: 30px;
    height: 30px;
    background: #fff;
    border: 1px solid rgba(232, 199, 167, 0.3);
    border-radius: 50%;
    font-size: 14px;
    color: #333333;
    cursor: pointer;
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 15;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
    margin-left: auto;
}

.shop-page .close-options:hover {
    background-color: #F9E4E6;
    transform: rotate(90deg);
}

.shop-page .close-options::before {
    content: "×";
    font-size: 14px;
    font-weight: 300;
}

/* Groupes d'options */
.shop-page .option-group {
    margin-bottom: 8px;
    padding: 6px 0;
    border-bottom: 1px solid rgba(232, 199, 167, 0.15);
}

/* Options de quantité */
.shop-page .option-group.quantity-option-group {
    margin-bottom: 12px;
    padding: 8px 0;
    border-bottom: 1px solid rgba(232, 199, 167, 0.1);
}

.shop-page .option-label {
    font-size: 14px;
    font-weight: 500;
    margin-bottom: 4px;
    color: #333333;
    font-family: 'Playfair Display', serif;
    text-transform: uppercase;
    letter-spacing: 0.8px;
}

/* Options de couleur (inspirées de community-videos) */
.shop-page .color-options {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    justify-content: center;
}

.shop-page .color-option {
    width: 34px !important;
    height: 34px !important;
    border-radius: 50% !important;
    border: 2px solid transparent !important;
    display: inline-block;
    position: relative;
    cursor: pointer;
    margin: 0 5px;
    background-size: cover;
    background-position: center;
    transition: all 0.3s ease;
}

.shop-page .color-option:hover {
    transform: scale(1.1);
    border-color: #333333;
}

.shop-page .color-option.active {
    border-color: #333333;
    box-shadow: 0 0 0 2px #fff, 0 0 0 4px #333333;
}

.shop-page .color-option .color-name {
    display: none;
    position: absolute;
    bottom: -30px;
    left: 50%;
    transform: translateX(-50%);
    background-color: #333333;
    color: #FAF9F6;
    padding: 4px 8px;
    border-radius: 4px;
    font-size: 12px;
    white-space: nowrap;
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s ease;
    z-index: 3;
}

.shop-page .color-option:hover .color-name {
    display: block;
    opacity: 1;
    visibility: visible;
}

/* Options de taille */
.shop-page .size-options {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    justify-content: center;
}

.shop-page .size-option {
    padding: 8px 16px;
    border: 1px solid rgba(232, 199, 167, 0.3);
    border-radius: 24px;
    cursor: pointer;
    background-color: #fff;
    transition: all 0.3s ease;
    font-size: 13px;
    text-align: center;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.05);
    font-family: 'Montserrat', sans-serif;
    color: #333333;
}

.shop-page .size-option:hover {
    background-color: #F9E4E6;
    color: #333333;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.08);
}

.shop-page .size-option.active {
    background-color: #E8C7A7;
    border-color: #E8C7A7;
    color: #333333;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}

/* Options de quantité */
.shop-page .option-group.quantity-option-group {
    margin-bottom: 12px;
    padding: 8px 0;
    border-bottom: 1px solid rgba(232, 199, 167, 0.1);
}

.shop-page .quantity-selector {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}

.shop-page .quantity-btn {
    width: 32px;
    height: 32px;
    background: linear-gradient(145deg, #fff, #f9f6f2);
    border: 1px solid rgba(232, 199, 167, 0.3);
    border-radius: 50%;
    cursor: pointer;
    font-size: 14px;
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
}

.shop-page .quantity-btn:hover {
    background: linear-gradient(145deg, #F9E4E6, #fdeded);
    transform: scale(1.05);
}

.shop-page .quantity-input {
    width: 40px;
    height: 28px;
    border: 1px solid rgba(232, 199, 167, 0.3);
    border-radius: 8px;
    text-align: center;
    font-size: 14px;
    color: #333333;
    background: linear-gradient(145deg, #fff, #f9f6f2);
    -moz-appearance: textfield;
    padding: 0 4px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
    transition: all 0.3s ease;
}

.shop-page .quantity-input:focus {
    outline: none;
    border-color: #E8C7A7;
    box-shadow: 0 0 0 2px rgba(232, 199, 167, 0.2);
}

.shop-page .quantity-input::-webkit-outer-spin-button,
.shop-page .quantity-input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

/* Options d'achat */
.shop-page .purchase-options {
    position: sticky;
    bottom: 90px;
    background: linear-gradient(145deg, var(--rose), #fdeded);
    padding: 8px 10px;
    margin: 0 -15px 18px;
    z-index: 14;
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-bottom: 12px;
    justify-content: center;
    align-items: center;
}

.shop-page .purchase-option {
    display: flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
    font-size: 14px;
    font-weight: 400;
    color: #333333;
    padding: 8px 12px;
    border: 1px solid rgba(232, 199, 167, 0.2);
    border-radius: 8px;
    transition: all 0.3s ease;
    background: linear-gradient(145deg, #fff, #f9f6f2);
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
    width: 100%;
    max-width: 300px;
    justify-content: center;
}

.shop-page .purchase-option:hover {
    background: linear-gradient(145deg, #F9E4E6, #fdeded);
    border-color: rgba(232, 199, 167, 0.4);
    transform: translateY(-1px);
}

.shop-page .purchase-option input[type="radio"] {
    appearance: none;
    width: 16px;
    height: 16px;
    border: 1px solid #E8C7A7;
    border-radius: 50%;
    background-color: #fff;
    cursor: pointer;
    transition: all 0.3s ease;
}

.shop-page .purchase-option input[type="radio"]:checked {
    background-color: #E8C7A7;
    box-shadow: inset 0 0 0 2px #fff;
}

.shop-page .purchase-option label {
    cursor: pointer;
    font-size: 14px;
    font-family: 'Montserrat', sans-serif;
}

/* Options d'achat */
.shop-page .purchase-options {
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin-bottom: 8px;
    justify-content: center;
    align-items: flex-start;
}

.shop-page .purchase-option {
    display: flex;
    align-items: center;
    gap: 6px;
    cursor: pointer;
    font-size: 14px;
    font-weight: 400;
    color: #333333;
    padding: 6px 10px;
    border: 1px solid rgba(232, 199, 167, 0.15);
    border-radius: 6px;
    transition: all 0.3s ease;
}

.shop-page .purchase-option:hover {
    background-color: rgba(232, 199, 167, 0.1);
}

.shop-page .purchase-option input[type="radio"] {
    appearance: none;
    width: 14px;
    height: 14px;
    border: 1px solid #333333;
    border-radius: 50%;
    background-color: #fff;
    cursor: pointer;
    transition: all 0.3s ease;
}

.shop-page .purchase-option input[type="radio"]:checked {
    background-color: #F9E4E6;
    box-shadow: inset 0 0 0 2px #fff;
}

.shop-page .purchase-option label {
    cursor: pointer;
    font-size: 14px;
}

/* Variantes multiples */
.shop-page .variant-selections {
    margin-bottom: 8px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding-right: 6px;
}

.shop-page .variant-selection {
    border: 1px solid rgba(232, 199, 167, 0.15);
    padding: 8px;
    border-radius: 8px;
    background: linear-gradient(145deg, #ffffff, #fef7f5);
    margin-bottom: 6px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.04);
}

/* Bouton Ajouter une autre variante */

/* Bouton Retirer */
.shop-page .remove-selection {
    background-color: transparent;
    border: 1px solid rgba(0, 0, 0, 0.15);
    padding: 6px 10px;
    border-radius: 10px;
    cursor: pointer;
    font-size: 13px;
    transition: all 0.3s ease;
    margin-top: 6px;
    width: auto;
    text-align: center;
    color: #333333;
    font-weight: 400;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
}

.shop-page .remove-selection:hover {
    background-color: #F9E4E6;
    color: #333333;
}

/* Packs (inspirés de save_with_sets) */
.shop-page .bundle-option-group {
    margin-bottom: 8px;
}

.shop-page .bundle-products {
    background: linear-gradient(145deg, #FFF, #fef7f5) !important;
    padding: 15px;
    border-radius: 16px;
    margin-bottom: 20px;
    border: 1px solid rgba(232, 199, 167, 0.3);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.04);
    max-height: auto; /* Augmenté de 300px à 400px pour inclure tous les éléments */
    overflow-y: auto;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.shop-page .bundle-product-full {
    order: -1; /* Place le "pack entier" en haut de la liste */
    display: flex !important; /* Force l'affichage */
    visibility: visible !important; /* Force la visibilité */
    opacity: 1 !important; /* Force l'opacité */
    margin-bottom: 10px; /* Ajoute un espace en dessous pour séparation */
    background: rgba(232, 199, 167, 0.1); /* Fond léger pour le mettre en évidence */
}

.shop-page .bundle-products::-webkit-scrollbar {
    width: 4px;
}

.shop-page .bundle-products::-webkit-scrollbar-track {
    background: rgba(0, 0, 0, 0.02);
    border-radius: 4px;
}

.shop-page .bundle-products::-webkit-scrollbar-thumb {
    background: #E8C7A7;
    border-radius: 4px;
}

.shop-page .bundle-products {
    -ms-overflow-style: auto;
    scrollbar-width: thin;
    scrollbar-color: #E8C7A7 rgba(0, 0, 0, 0.02);
}

.shop-page .bundle-product {
    display: flex;
    align-items: center;
    padding: 12px;
    border: 1px solid rgba(232, 199, 167, 0.3);
    border-radius: 12px;
    background: #FFF !important;
    transition: all 0.3s ease;
    cursor: pointer;
}

.shop-page .bundle-product.selected {
    background: #F9E4E6 !important;
    border-color: #E8C7A7 !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

.shop-page .bundle-product-content {
    display: flex;
    align-items: center;
    gap: 12px;
    flex: 1;
    background: transparent !important;
}

.shop-page .bundle-product-checkbox:checked + .bundle-product-content,
.shop-page .bundle-product-radio:checked + .bundle-product-content {
    background: transparent !important;
}

.shop-page .bundle-product-header {
    display: flex !important;
    align-items: center;
    flex: 1;
    min-width: 0;
    margin-right: 10px;
    padding: 5px 0;
}

.shop-page .bundle-product-label {
    display: flex;
    align-items: center;
    gap: 5px;
    flex: 1;
    overflow: hidden;
}

.shop-page .bundle-product-name {
    font-size: 14px;
    color: #333333;
    font-family: 'Montserrat', sans-serif;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.shop-page .bundle-product-quantity {
    font-size: 12px;
    color: #666;
    flex-shrink: 0;
}

.shop-page .bundle-product-price {
    font-size: 14px;
    font-weight: 500;
    color: #333333;
    flex-shrink: 0;
}

.shop-page .bundle-product.disabled {
    opacity: 0.5;
    cursor: not-allowed;
    background: #f5f5f5 !important;
    border-color: #ddd;
}

.shop-page .bundle-product-image {
    width: 60px;
    height: 60px;
    flex-shrink: 0;
    border-radius: 6px;
    overflow: hidden;
    background-color: #FAF9F6;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
}

.shop-page .bundle-product-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.shop-page .shop-product-grid .bundle-discount {
    color: #333333 !important;
    text-align: center !important;
    font-size: 12px !important;
    margin-top: 10px !important;
}

/* Section "Produits récemment consultés" */
.shop-page .shop-recently-viewed {
    margin-top: 60px;
    position: relative;
    width: 100%;
    padding: 0 15px;
    box-sizing: border-box;
}

.shop-page .shop-recently-viewed-title {
    font-family: 'Playfair Display', serif;
    font-size: 32px;
    color: #333333;
    text-align: center;
    margin-bottom: 50px;
}

.shop-page .carousel-wrapper {
    position: relative;
    overflow: hidden;
    margin: 0 auto;
    z-index: 5;
    width: 100%;
    box-sizing: border-box;
}

.shop-page .shop-recently-viewed-carousel {
    display: flex;
    flex-wrap: nowrap;
    overflow-x: auto;
    scroll-behavior: smooth;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none; /* Firefox */
    -ms-overflow-style: none; /* IE/Edge */
    gap: 20px; /* Espace entre les cartes */
}

.shop-page .shop-recently-viewed-carousel::-webkit-scrollbar {
    display: none; /* Chrome/Safari */
}

.shop-page .shop-recently-viewed .carousel-prev,
.shop-page .shop-recently-viewed .carousel-next {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 48px;
    height: 48px;
    background: linear-gradient(145deg, #CDA776, #E8C7A7);
    color: #1C2526;
    border: none;
    border-radius: 50%;
    font-size: 22px;
    transition: all 0.3s ease;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
}

.shop-page .shop-recently-viewed .carousel-prev:hover,
.shop-page .shop-recently-viewed .carousel-next:hover {
    background: linear-gradient(145deg, #1C2526, #333);
    color: #FAF9F6;
}

.shop-page .shop-recently-viewed .carousel-prev {
    left: 10px;
}

.shop-page .shop-recently-viewed .carousel-next {
    right: 10px;
}

.shop-page .shop-recently-viewed .carousel-prev.disabled,
.shop-page .shop-recently-viewed .carousel-next.disabled {
    opacity: 0.5;
    cursor: not-allowed;
    transform: translateY(-50%);
}

.shop-page .shop-recently-viewed .shop-product-card {
    background: linear-gradient(145deg, #fff, #f9f6f2);
    border: 2px solid #CDA776;
    border-radius: 20px;
    box-shadow: 0 6px 14px rgba(0, 0, 0, 0.05), 0 8px 20px rgba(0, 0, 0, 0.03);
    transition: transform 0.4s ease, box-shadow 0.4s ease;
    width: 360px;
    height: auto !important;
    min-height: 540px !important;
    flex: 0 0 auto;
}

@media (min-width: 1200px) {
    .shop-page .shop-recently-viewed .shop-product-card {
        width: calc((100% - 60px) / 4);
    }
}

@media (min-width: 992px) and (max-width: 1199px) {
    .shop-page .shop-recently-viewed .shop-product-card {
        width: calc((100% - 40px) / 3);
    }
}

@media (min-width: 768px) and (max-width: 991px) {
    .shop-page .shop-recently-viewed .shop-product-card {
        width: calc((100% - 20px) / 2);
    }
}

@media (max-width: 767px) {
    .shop-page .shop-recently-viewed .shop-product-card {
        width: calc(100% - 30px);
        margin: 0 15px;
    }
}

.shop-page .shop-recently-viewed .shop-product-card:hover {
    transform: translateY(-10px) rotate(1deg);
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1), 0 14px 30px rgba(0, 0, 0, 0.05);
}

.shop-page .shop-recently-viewed .section-image-wrapper {
    height: 340px;
    border-radius: 20px 20px 0 0;
    background: linear-gradient(145deg, #f9f6f2, #fff);
}

.shop-page .shop-recently-viewed .section-details {
    background: transparent;
}

.shop-page .shop-recently-viewed .section-details-title {
    font-family: 'Playfair Display', serif;
    font-size: 16px;
    color: #1C2526;
    font-weight: 600;
}

.shop-page .shop-recently-viewed .product-price .section-price {
    color: #CDA776;
    font-size: 16px;
    font-weight: 700;
}

.shop-page .shop-recently-viewed .add-to-cart-btn {
    background: linear-gradient(145deg, #CDA776, #E8C7A7);
    color: #1C2526;
    border: none;
    border-radius: 8px;
    font-weight: 600;
    transition: all 0.3s ease;
}

.shop-page .shop-recently-viewed .add-to-cart-btn:hover {
    background: linear-gradient(145deg, #1C2526, #333);
    color: #FAF9F6;
}

.shop-page .shop-recently-viewed .shop-product-card .options-card {
    background: linear-gradient(145deg, #f9f6f2, #fff) !important;
    border: 2px solid #CDA776 !important;
    border-radius: 16px 16px 0 0 !important;
    box-shadow: 0 -4px 12px rgba(0, 0, 0, 0.08), 0 8px 20px rgba(0, 0, 0, 0.05) !important;
    max-height: none !important;
    height: auto !important;
    overflow: visible !important;
}

.shop-page .shop-recently-viewed .shop-product-card .options-card .options-card-title {
    display: none !important;
}

.shop-page .shop-recently-viewed .shop-product-card .options-card .bundle-products {
    background: linear-gradient(145deg, #FFF, #fef7f5) !important;
    padding: 15px !important;
    border-radius: 16px !important;
    margin-bottom: 20px !important;
    border: 1px solid rgba(232, 199, 167, 0.3) !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.04) !important;
    max-height: auto !important;
    height: auto !important;
    overflow-y: auto !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
}

.shop-page .shop-recently-viewed .shop-product-card .options-card .bundle-products .bundle-product {
    width: 100% !important;
    margin-bottom: 10px !important;
}

.shop-page .shop-recently-viewed .shop-product-card .options-card .bundle-products .bundle-product-content {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    width: 100% !important;
    padding: 10px !important;
    box-sizing: border-box !important;
}

.shop-page .shop-recently-viewed .shop-product-card .options-card .bundle-products .bundle-product-content .bundle-product-image {
    margin: 0 auto !important;
    flex: 0 0 auto !important;
}

.shop-page .shop-recently-viewed .shop-product-card .options-card .bundle-products .bundle-product-content .bundle-product-header {
    text-align: center !important;
    width: 100% !important;
}

.shop-page .shop-recently-viewed .shop-product-card .options-card .bundle-products .bundle-product-content .bundle-product-label {
    max-width: 200px !important;
    text-align: center !important;
    white-space: normal !important;
    line-height: 1.2 !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 5px !important;
}

.shop-page .shop-recently-viewed .shop-product-card .options-card .bundle-products .bundle-product-content .bundle-product-label .bundle-product-name {
    display: inline-block !important;
    text-align: center !important;
}

.shop-page .shop-recently-viewed .shop-product-card .options-card .bundle-products .bundle-product-content .bundle-product-label .bundle-product-quantity {
    display: inline-block !important;
    text-align: center !important;
}

.shop-page .shop-recently-viewed .shop-product-card .options-card .bundle-products .bundle-product-content .quantity-selector {
    margin: 0 auto !important;
    flex: 0 0 auto !important;
}

.shop-page .shop-recently-viewed .shop-product-card .options-card .bundle-products .bundle-product-content .bundle-product-price {
    text-align: center !important;
    flex: 0 0 auto !important;
}

.shop-page .shop-recently-viewed .shop-product-card .options-card .bundle-products::-webkit-scrollbar {
    width: 4px !important;
}

.shop-page .shop-recently-viewed .shop-product-card .options-card .bundle-products::-webkit-scrollbar-track {
    background: rgba(0, 0, 0, 0.02) !important;
    border-radius: 4px !important;
}

.shop-page .shop-recently-viewed .shop-product-card .options-card .bundle-products::-webkit-scrollbar-thumb {
    background: #E8C7A7 !important;
    border-radius: 4px !important;
}

.shop-page .shop-recently-viewed .shop-product-card .options-card .bundle-products {
    -ms-overflow-style: auto !important;
    scrollbar-width: thin !important;
    scrollbar-color: #E8C7A7 rgba(0, 0, 0, 0.02) !important;
}

.shop-page .shop-recently-viewed .shop-product-card .options-card .bundle-discount {
    color: #333333 !important;
    text-align: center !important;
    font-size: 13px !important;
    margin-top: 10px !important;
}

.shop-page .shop-recently-viewed .options-card .close-options {
    background: #CDA776;
    color: #1C2526;
    border: none;
}

.shop-page .shop-recently-viewed .options-card .close-options:hover {
    background: #1C2526;
    color: #FAF9F6;
}

.shop-page .shop-recently-viewed .confirm-btn {
    background: linear-gradient(145deg, #CDA776, #E8C7A7);
    color: #1C2526;
    border: none;
    border-radius: 8px;
    font-weight: 600;
}

.shop-page .shop-recently-viewed .confirm-btn:hover {
    background: linear-gradient(145deg, #1C2526, #333);
    color: #FAF9F6;
}

/* Styles responsifs */
@media (max-width: 1199px) {
    .shop-page .shop-product-grid {
        grid-template-columns: repeat(auto-fit, minmax(380px, 1fr));
        gap: 10px;
        margin: 0 15px !important;
        width: calc(100% - 30px) !important;
    }
    .shop-page .shop-product-card {
        width: 380px;
        height: 580px;
    }
    .shop-page .section-image-wrapper {
        height: 380px;
    }
}

@media (max-width: 991px) {
    .shop-page .shop-product-grid {
        grid-template-columns: repeat(auto-fit, minmax(360px, 1fr));
        gap: 10px;
        margin: 0 15px !important;
        width: calc(100% - 30px) !important;
    }
    .shop-page .shop-product-card {
        width: 360px;
        height: 560px;
    }
    .shop-page .section-image-wrapper {
        height: 360px;
    }
    .shop-page .add-to-cart-btn,
    .shop-page .confirm-btn {
        padding: 8px 10px;
        font-size: 12px;
        gap: 3px;
    }
    .shop-page .add-to-cart-text,
    .shop-page .add-to-cart-price {
        font-size: 12px;
    }
}

@media (max-width: 767px) {
    .shop-page,
    .shop-page .full-width-wrapper {
        padding: 0 !important;
        margin: 0 !important;
    }
    .shop-page .shop-product-grid {
        grid-template-columns: 1fr;
        gap: 10px;
        margin: 0 15px !important;
        width: calc(100% - 30px) !important;
    }
    .shop-page .shop-product-card {
        width: 100%;
        max-width: 360px;
        height: 560px;
        margin: 0 auto 30px !important;
    }
    .shop-page .section-image-wrapper {
        height: 360px;
    }
    .shop-page .shop-banner-video-circle-wrapper {
        flex: 0 0 100px;
    }
    .shop-page .shop-banner-video-circle {
        width: 100px;
        height: 100px;
    }
    .shop-page .video-player-circle {
        width: 300px;
        height: 300px;
    }
    .shop-page .options-card.active {
        max-height: 35vh;
        bottom: 40px;
    }
    .shop-page .options-card-inner {
        padding: 8px;
    }
    .shop-page .add-to-cart-btn,
    .shop-page .confirm-btn {
        font-size: 11px;
        padding: 6px 8px;
    }
    .shop-page .add-to-cart-text,
    .shop-page .add-to-cart-price {
        font-size: 11px;
    }
    .shop-page .size-option {
        padding: 4px 8px;
        font-size: 12px;
    }
    .shop-page .color-option {
        width: 30px !important;
        height: 30px !important;
    }
    .shop-page .quantity-btn {
        width: 22px;
        height: 22px;
        font-size: 10px;
    }
    .shop-page .quantity-input {
        width: 32px;
        height: 20px;
        font-size: 12px;
    }
    .shop-page .purchase-option {
        font-size: 12px;
        padding: 4px 6px;
    }
    .shop-page .purchase-option input[type="radio"] {
        width: 12px;
        height: 12px;
    }

    .shop-page .section-details-title,
    .shop-page .section-price {
        font-size: 16px;
    }
    .shop-page .options-card-title {
        font-size: 14px;
    }
    .shop-page .options-card .bundle-product-image {
        width: 50px;
        height: 50px;
    }
    .shop-page .options-card .bundle-products {
        padding: 8px;
        gap: 6px;
    }
    .shop-page .options-card .bundle-product {
        padding: 6px;
        gap: 6px;
    }
}

@media (max-width: 480px) {
    .shop-page .shop-banner-video-circle-wrapper {
        flex: 0 0 80px;
    }
    .shop-page .shop-banner-video-circle {
        width: 80px;
        height: 80px;
    }
    .shop-page .video-player-circle {
        width: 250px;
        height: 250px;
    }
    .shop-page .shop-product-grid {
        grid-template-columns: 1fr;
        gap: 10px;
        margin: 0 15px !important;
        width: calc(100% - 30px) !important;
    }
    .shop-page .shop-product-card {
        width: 100%;
        max-width: 340px;
        height: 540px;
        margin: 0 auto 30px !important;
    }
    .shop-page .section-image-wrapper {
        height: 340px;
    }
    .shop-page .section-details-title {
        font-size: 14px;
        height: 48px;
    }
    .shop-page .section-price {
        font-size: 14px;
    }
    .shop-page .add-to-cart-btn,
    .shop-page .confirm-btn {
        padding: 6px 8px;
        font-size: 10px;
    }
    .shop-page .add-to-cart-text,
    .shop-page .add-to-cart-price {
        font-size: 10px;
    }
    .shop-page .size-option {
        padding: 3px 6px;
        font-size: 10px;
    }
    .shop-page .color-option {
        width: 28px !important;
        height: 28px !important;
    }
    .shop-page .quantity-btn {
        width: 20px;
        height: 20px;
        font-size: 9px;
    }
    .shop-page .quantity-input {
        width: 30px;
        height: 18px;
        font-size: 10px;
    }
    .shop-page .purchase-option {
        font-size: 10px;
        padding: 3px 5px;
    }

    .shop-page .options-card .bundle-product-image {
        width: 45px;
        height: 45px;
    }
    .shop-page .options-card-title {
        font-size: 13px;
    }
}

/* Accessibilité des boutons de quantité */
.shop-page .quantity-selector {
    position: relative;
    z-index: 10;
}

.shop-page .quantity-btn {
    z-index: 11;
    pointer-events: auto;
}

.shop-page .quantity-input {
    z-index: 10;
    pointer-events: auto;
}

/* Empêcher les interférences avec les clics sur .bundle-product dans options-card */
.shop-page .options-card .bundle-product {
    position: relative;
}

.shop-page .options-card .bundle-product .quantity-selector * {
    pointer-events: auto;
}

/* CORRECTION BUNDLE POPUP - IMAGES PLUS GRANDES ET MEILLEUR LAYOUT */

/* Images bundle plus grandes dans la popup */
.shop-page .options-card .bundle-product-image {
    width: 60px !important;
    height: 60px !important;
    flex-shrink: 0 !important;
    border-radius: 8px !important;
    overflow: hidden !important;
    border: 2px solid rgba(232, 199, 167, 0.3) !important;
}

.shop-page .options-card .bundle-product-image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}

/* Meilleur layout pour le contenu bundle */
.shop-page .options-card .bundle-product {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    padding: 12px !important;
    margin-bottom: 8px !important;
    background: rgba(249, 228, 230, 0.3) !important;
    border-radius: 8px !important;
    border: 1px solid rgba(232, 199, 167, 0.2) !important;
}

.shop-page .options-card .bundle-product-content {
    flex: 1 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 4px !important;
}

.shop-page .options-card .bundle-product-name {
    font-size: 14px !important;
    font-weight: 500 !important;
    color: #333 !important;
    line-height: 1.3 !important;
}

.shop-page .options-card .bundle-product-price {
    font-size: 13px !important;
    color: #666 !important;
    font-weight: 400 !important;
}

/* Container bundle products */
.shop-page .options-card .bundle-products {
    max-height: 200px !important;
    overflow-y: auto !important;
    padding: 8px !important;
    gap: 8px !important;
    display: flex !important;
    flex-direction: column !important;
}

/* Responsive pour mobile */
@media (max-width: 768px) {
    .shop-page .options-card .bundle-product-image {
        width: 50px !important;
        height: 50px !important;
    }
    
    .shop-page .options-card .bundle-product {
        gap: 10px !important;
        padding: 10px !important;
    }
    
    .shop-page .options-card .bundle-product-name {
        font-size: 13px !important;
    }
}

@media (max-width: 480px) {
    .shop-page .options-card .bundle-product-image {
        width: 45px !important;
        height: 45px !important;
    }
    
    .shop-page .options-card .bundle-product {
        gap: 8px !important;
        padding: 8px !important;
    }
    
    .shop-page .options-card .bundle-product-name {
        font-size: 12px !important;
    }
}

/* CORRECTION CHIRURGICALE - CENTRER LE BOUTON S'ABONNER */

/* Centrer le conteneur des options d'achat */
.shop-page .purchase-option-group {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    width: 100% !important;
}

.shop-page .purchase-options {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

.shop-page .purchase-option {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    padding: 8px 16px !important;
    margin: 0 auto !important;
    border: 1px solid rgba(232, 199, 167, 0.3) !important;
    border-radius: 8px !important;
    background: rgba(249, 228, 230, 0.1) !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
    width: fit-content !important;
}

.shop-page .purchase-option:hover {
    background: rgba(249, 228, 230, 0.2) !important;
    border-color: rgba(232, 199, 167, 0.5) !important;
}

.shop-page .purchase-option input[type="radio"] {
    margin: 0 !important;
}

.shop-page .purchase-option label {
    margin: 0 !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    color: #333 !important;
    cursor: pointer !important;
}

/* Responsive */
@media (max-width: 768px) {
    .shop-page .purchase-option {
        padding: 6px 12px !important;
        gap: 6px !important;
    }
    
    .shop-page .purchase-option label {
        font-size: 13px !important;
    }
}

@media (max-width: 480px) {
    .shop-page .purchase-option {
        padding: 5px 10px !important;
        gap: 5px !important;
    }
    
    .shop-page .purchase-option label {
        font-size: 12px !important;
    }
}

/* NOUVEAU FILTRE ÉLÉGANT - STYLES */

.shop-elegant-filters {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 40px;
    padding: 0 20px;
}

.elegant-filter-container {
    display: flex;
    gap: 0;
    background: rgba(249, 228, 230, 0.1);
    border-radius: 50px;
    padding: 8px;
    border: 1px solid rgba(232, 199, 167, 0.2);
    box-shadow: 0 4px 20px rgba(232, 199, 167, 0.1);
}

.elegant-filter-btn {
    position: relative;
    background: none;
    border: none;
    padding: 12px 24px;
    cursor: pointer;
    border-radius: 40px;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    font-family: 'Montserrat', sans-serif;
    font-size: 16px;
    font-weight: 400;
    color: #666;
    overflow: hidden;
    min-width: 120px;
    text-align: center;
}

.elegant-filter-btn:hover {
    color: #333;
    background: rgba(232, 199, 167, 0.1);
    transform: translateY(-2px);
}

.elegant-filter-btn.active {
    background: linear-gradient(135deg, #E8C7A7 0%, #CDA776 100%);
    color: #fff;
    font-weight: 500;
    box-shadow: 0 6px 20px rgba(232, 199, 167, 0.4);
    transform: translateY(-2px);
}

.filter-text {
    position: relative;
    z-index: 2;
    display: block;
    transition: transform 0.3s ease;
}

.elegant-filter-btn:hover .filter-text {
    transform: scale(1.05);
}

.filter-underline {
    position: absolute;
    bottom: 8px;
    left: 50%;
    transform: translateX(-50%) scaleX(0);
    width: 60%;
    height: 2px;
    background: #E8C7A7;
    border-radius: 2px;
    transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.elegant-filter-btn:hover .filter-underline {
    transform: translateX(-50%) scaleX(1);
}

.elegant-filter-btn.active .filter-underline {
    background: rgba(255, 255, 255, 0.8);
    transform: translateX(-50%) scaleX(1);
}

/* Animation des produits */
.shop-product-card {
    transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1);
    transform: translateY(0);
    opacity: 1;
}

.shop-product-card.hiding {
    transform: translateY(-20px);
    opacity: 0;
    pointer-events: none;
}

.shop-product-card.showing {
    transform: translateY(0);
    opacity: 1;
}

/* CORRECTION 1 : FILTRE RESPONSIVE */
@media (max-width: 768px) {
    .shop-elegant-filters {
        margin: 20px 0 !important;
        padding: 0 10px !important;
    }
    
    .elegant-filter-container {
        gap: 4px !important;
        padding: 4px !important;
        flex-wrap: wrap !important;
        justify-content: center !important;
    }
    
    .elegant-filter-btn {
        padding: 8px 16px !important;
        font-size: 13px !important;
        min-width: 90px !important;
        flex: 1 !important;
        max-width: 120px !important;
    }
}

@media (max-width: 480px) {
    .shop-elegant-filters {
        margin: 15px 0 !important;
        padding: 0 5px !important;
    }
    
    .elegant-filter-container {
        flex-direction: row !important;
        border-radius: 25px !important;
        gap: 2px !important;
        padding: 3px !important;
    }
    
    .elegant-filter-btn {
        padding: 6px 12px !important;
        font-size: 11px !important;
        min-width: auto !important;
        width: 33.33% !important;
        border-radius: 20px !important;
        flex: 1 !important;
    }
}

.woocommerce-message,
.woocommerce-info,
.wc-block-components-notice-banner,
div[class*="woocommerce-message"],
div[class*="added-to-cart"],
.cart-notification {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
}

.elegant-cart-toast {
    position: fixed !important;
    top: 20px !important;
    right: 20px !important;
    z-index: 99999 !important;
    transform: translateX(400px) !important;
    opacity: 0 !important;
    transition: all 0.4s ease !important;
}
.elegant-cart-toast.show {
    transform: translateX(0) !important;
    opacity: 1 !important;
}
.toast-inner {
    background: white !important;
    padding: 16px !important;
    border-radius: 8px !important;
    box-shadow: 0 4px 20px rgba(0,0,0,0.1) !important;
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
}

/* Bouton flottant "Consultez Dr Hela Dahmani" */
.shop-page .text-an-expert-btn {
    position: fixed !important;
    top: 60% !important;
    right: -125px !important; /* Collé au bord droit de l’écran */
    transform: translateY(-50%) rotate(-90deg) !important; /* Rotation pour verticalité */
    transform-origin: center !important;
    background: #000 !important; /* Noir, comme sur Glow Recipe */
    color: #FFF !important; /* Texte blanc */
    border: 1px solid #000 !important;
    border-left: none !important; /* Pas de bordure à gauche pour coller parfaitement */
    border-radius: 6px 6px 0 0 !important; /* Coins arrondis en haut */
    padding: 14px 6px !important; /* Proportions équilibrées */
    width: auto !important;
    height: auto !important;
    font-family: 'Playfair Display', serif !important;
    font-size: 12px !important; /* Taille lisible */
    font-weight: 500 !important;
    letter-spacing: 4px !important; /* Espacement raffiné */
    text-transform: uppercase !important;
    cursor: pointer !important;
    z-index: 1000 !important;
    transition: all 0.3s ease-in-out !important;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2) !important; /* Ombre moderne */
    line-height: 1.5 !important;
    display: inline-block !important;
    text-align: center !important;
    overflow: visible !important;
}

.shop-page .text-an-expert-btn:hover {
    background: #333 !important; /* Gris foncé au survol */
    border-color: #333 !important;
    border-left: none !important;
    transform: translateY(-50%) rotate(-90deg) scale(1.02) !important;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.3) !important;
    color: #FFF !important;
}

.shop-page .text-an-expert-btn:active {
    background: #000 !important;
    border-left: none !important;
    transform: translateY(-50%) rotate(-90deg) scale(0.98) !important;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2) !important;
}

/* Responsivité */

@media (max-width: 767px) {
    .shop-page .text-an-expert-btn {
        right: -60px !important; /* VRAIMENT COLLÉ */
        padding: 12px 5px !important;
        font-size: 10px !important;
        letter-spacing: 3px !important;
        border-radius: 4px 4px 0 0 !important;
        box-shadow: 0 1px 4px rgba(0, 0, 0, 0.15) !important;
    }
}

@media (max-width: 480px) {
    .shop-page .text-an-expert-btn {
        right: -70px !important; /* VRAIMENT COLLÉ */
        padding: 10px 4px !important;
        font-size: 9px !important;
        letter-spacing: 2px !important;
        top: 50% !important; /* CENTRÉ VERTICALEMENT */
    }
}

/* Pop-up "Text an Expert" */

.shop-page .text-an-expert-popup {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    background: rgba(0, 0, 0, 0.6) !important;
    z-index: 9999 !important;
    display: none !important;
    align-items: center !important;
    justify-content: center !important;
    opacity: 0 !important;
    transition: opacity 0.3s ease !important;
}

.shop-page .text-an-expert-popup.active {
    display: flex !important;
    opacity: 1 !important;
}

.shop-page .text-an-expert-popup-content {
    background: #fff !important;
    border-radius: 12px !important;
    width: 90% !important;
    max-width: 400px !important;
    padding: 25px !important;
    position: relative !important;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3) !important;
    max-height: 90vh !important;
    overflow-y: auto !important;
}

.shop-page .text-an-expert-popup-content::-webkit-scrollbar {
    width: 6px !important;
}

.shop-page .text-an-expert-popup-content::-webkit-scrollbar-track {
    background: rgba(0, 0, 0, 0.05) !important;
    border-radius: 3px !important;
}

.shop-page .text-an-expert-popup-content::-webkit-scrollbar-thumb {
    background: #E8C7A7 !important;
    border-radius: 3px !important;
}

.shop-page .text-an-expert-popup-content {
    -ms-overflow-style: auto !important;
    scrollbar-width: thin !important;
    scrollbar-color: #E8C7A7 rgba(0, 0, 0, 0.05) !important;
}

.shop-page .text-an-expert-popup-close {
    position: absolute !important;
    top: 10px !important;
    right: 10px !important;
    width: 30px !important;
    height: 30px !important;
    background: #fff !important;
    border: 1px solid #333333 !important;
    border-radius: 50% !important;
    color: #333333 !important;
    font-size: 16px !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: all 0.3s ease !important;
    z-index: 10001 !important;
}

.shop-page .text-an-expert-popup-close:hover {
    background-color: #F9E4E6 !important;
    transform: rotate(90deg) !important;
}

.shop-page .text-an-expert-header {
    text-align: center !important;
    margin-bottom: 20px !important;
}

.shop-page .text-an-expert-doctor-image {
    width: 120px !important;
    height: 120px !important;
    border-radius: 50% !important;
    object-fit: cover !important;
    margin-bottom: 15px !important;
    border: 2px solid #E8C7A7 !important;
}

.shop-page .text-an-expert-title {
    font-family: 'Playfair Display', serif !important;
    font-size: 20px !important;
    color: #333333 !important;
    margin-bottom: 10px !important;
}

.shop-page .text-an-expert-description {
    font-family: 'Lora', serif !important;
    font-size: 14px !important;
    color: #666 !important;
    line-height: 1.5 !important;
}

.shop-page .text-an-expert-form-wrapper {
    padding: 10px !important;
}

.shop-page .text-an-expert-form {
    display: flex !important;
    flex-direction: column !important;
    gap: 15px !important;
}

.shop-page .text-an-expert-field {
    display: flex !important;
    flex-direction: column !important;
}

.shop-page .text-an-expert-field label {
    font-family: 'Playfair Display', serif !important;
    font-size: 14px !important;
    color: #333333 !important;
    margin-bottom: 5px !important;
}

.shop-page .text-an-expert-field input,
.shop-page .text-an-expert-field select {
    padding: 10px !important;
    border: 1px solid #ccc !important;
    border-radius: 5px !important;
    font-family: 'Lora', serif !important;
    font-size: 14px !important;
    color: #333333 !important;
}

.shop-page .text-an-expert-field.inline {
    flex-direction: row !important;
    gap: 10px !important;
}

.shop-page .text-an-expert-field.inline > div {
    flex: 1 !important;
}

.shop-page .calendar-field {
    position: relative !important;
    z-index: 1000 !important; /* Assure que le calendrier est au-dessus des autres éléments */
}

.shop-page .text-an-expert-calendar {
    position: fixed !important; /* Utilise fixed pour suivre le scroll */
    top: auto !important; /* Sera ajusté dynamiquement via JS */
    left: auto !important; /* Sera ajusté dynamiquement via JS */
    background: #fff !important;
    border: 1px solid #ccc !important;
    border-radius: 5px !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1) !important;
    padding: 10px !important;
    z-index: 1001 !important; /* Z-index plus élevé */
    display: none !important;
    width: 100% !important;
    max-width: 280px !important; /* Largeur maximale pour éviter le débordement */
    box-sizing: border-box !important;
}

.shop-page .text-an-expert-calendar.active {
    display: block !important;
}

/* Ajustements pour les petits écrans */
@media (max-width: 767px) {
    .shop-page .text-an-expert-calendar {
        max-width: 100% !important;
        width: calc(100% - 20px) !important;
        left: 10px !important;
        right: 10px !important;
    }
}

.shop-page .calendar-header {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    margin-bottom: 10px !important;
}

.shop-page .calendar-month-year {
    font-family: 'Playfair Display', serif !important;
    font-size: 14px !important;
    color: #333333 !important;
}

.shop-page .calendar-nav {
    background: none !important;
    border: none !important;
    font-size: 14px !important;
    color: #333333 !important;
    cursor: pointer !important;
}

.shop-page .calendar-days {
    display: grid !important;
    grid-template-columns: repeat(7, 1fr) !important;
    gap: 5px !important;
    margin-bottom: 5px !important;
}

.shop-page .calendar-day-header {
    font-family: 'Lora', serif !important;
    font-size: 12px !important;
    color: #666 !important;
    text-align: center !important;
}

.shop-page .calendar-dates {
    display: grid !important;
    grid-template-columns: repeat(7, 1fr) !important;
    gap: 5px !important;
}

.shop-page .calendar-date {
    padding: 8px !important;
    text-align: center !important;
    font-family: 'Lora', serif !important;
    font-size: 12px !important;
    color: #333333 !important;
    cursor: pointer !important;
    border-radius: 5px !important;
}

.shop-page .calendar-date:hover {
    background: #F9E4E6 !important;
}

.shop-page .calendar-date.empty {
    background: none !important;
    cursor: default !important;
}

.shop-page .calendar-date.disabled {
    color: #999 !important;
    cursor: not-allowed !important;
}

.shop-page .calendar-date.selected {
    background: #E8C7A7 !important;
    color: #fff !important;
}

.shop-page .text-an-expert-submit-btn {
    background-color: #E8C7A7 !important;
    color: #333333 !important;
    border: none !important;
    padding: 12px !important;
    border-radius: 5px !important;
    font-family: 'Playfair Display', serif !important;
    font-size: 14px !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 5px !important;
}

.shop-page .text-an-expert-submit-btn:hover {
    background-color: #F9E4E6 !important;
}

.shop-page .text-an-expert-message {
    margin-top: 10px !important;
    font-family: 'Lora', serif !important;
    font-size: 13px !important;
    padding: 10px !important;
    border-radius: 5px !important;
    display: none !important;
}

.shop-page .text-an-expert-message.error {
    color: #d32f2f !important;
    background: #ffe6e6 !important;
    display: block !important;
}

.shop-page .text-an-expert-message.success {
    display: none !important; /* Cache le message statique */
}

/* Styles responsifs pour le pop-up */
@media (max-width: 767px) {
    .shop-page .text-an-expert-popup-content {
        max-width: 90% !important;
        padding: 15px !important;
    }
    .shop-page .text-an-expert-doctor-image {
        width: 100px !important;
        height: 100px !important;
    }
    .shop-page .text-an-expert-title {
        font-size: 18px !important;
    }
    .shop-page .text-an-expert-description {
        font-size: 13px !important;
    }
    .shop-page .text-an-expert-field input,
    .shop-page .text-an-expert-field select {
        padding: 8px !important;
        font-size: 13px !important;
    }
    .shop-page .text-an-expert-field.inline {
        flex-direction: column !important;
    }
    .shop-page .text-an-expert-submit-btn {
        padding: 10px !important;
        font-size: 13px !important;
    }
}

/* Toast pour le message de succès */
body #text-an-expert-toast.text-an-expert-toast {
    position: fixed !important;
    bottom: 20px !important;
    left: 20px !important;
    background: linear-gradient(135deg, #fff, #f9e4e6) !important;
    color: var(--dark) !important;
    padding: 16px 20px !important;
    border-radius: 16px !important;
    border: 1px solid rgba(232, 199, 167, 0.3) !important;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15), 0 4px 8px rgba(0, 0, 0, 0.05) !important;
    font-family: 'Lora', serif !important;
    font-size: 14px !important;
    z-index: 1100 !important; /* Réduit pour être en dessous des popups */
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    opacity: 0 !important;
    visibility: hidden !important;
    transform: translateY(20px) scale(0.98) !important;
    transition: opacity 0.4s ease, visibility 0.4s ease, transform 0.4s ease !important;
    max-width: 420px !important;
    min-width: 300px !important;
    min-height: 40px !important;
    text-align: left !important;
    pointer-events: auto !important;
    overflow: visible !important;
    contain: paint !important;
}

body #text-an-expert-toast.text-an-expert-toast.active {
    opacity: 1 !important;
    visibility: visible !important;
    transform: translateY(0) scale(1) !important;
}

/* Si le toast .cart-notification est visible, décaler .text-an-expert-toast vers le haut */
body .cart-notification.show ~ #text-an-expert-toast.text-an-expert-toast {
    bottom: 80px !important;
}

/* S'assurer que le toast est au-dessus de tout */
body.modal-open #text-an-expert-toast.text-an-expert-toast {
    z-index: 10003 !important;
}

/* Ajouter un style pour les enfants pour garantir la visibilité */
body #text-an-expert-toast.text-an-expert-toast .toast-icon {
    font-size: 18px !important;
    font-weight: bold !important;
    color: var(--dark) !important; /* Couleur sombre pour cohérence */
    flex-shrink: 0 !important;
    transition: transform 0.3s ease !important;
}

body #text-an-expert-toast.text-an-expert-toast:hover .toast-icon {
    transform: scale(1.1) !important; /* Effet de zoom au survol */
}

body #text-an-expert-toast.text-an-expert-toast .toast-message {
    display: inline-block !important;
    visibility: visible !important;
    opacity: 1 !important;
    font-family: 'Lora', serif !important;
    font-size: 14px !important;
    line-height: 1.4 !important;
    color: var(--dark) !important;
}

/* Styles responsifs pour les toasts */
@media (max-width: 767px) {
    body .cart-notification,
    body #text-an-expert-toast.text-an-expert-toast {
        bottom: 12px !important;
        left: 12px !important;
        max-width: 90% !important;
        padding: 10px !important; /* Réduire le padding pour mobile */
    }

    body .cart-notification .notification-inner {
        gap: 10px !important; /* Réduire l'espace entre les éléments */
    }

    body .cart-notification .notification-image {
        width: 40px !important; /* Réduire la taille de l'image */
        height: 40px !important;
        padding: 3px !important;
    }

    body .cart-notification .notification-title {
        font-size: 14px !important; /* Réduire la taille du titre */
    }

    body .cart-notification .notification-message {
        font-size: 12px !important;
    }

    body .cart-notification .notification-actions {
        gap: 6px !important; /* Réduire encore l'espace entre les boutons */
    }

    body .cart-notification .view-cart-btn {
        padding: 5px 8px !important; /* Réduire le padding */
        font-size: 11px !important; /* Réduire la taille de la police */
        max-width: 100px !important; /* Limiter encore plus la largeur */
    }

    body .cart-notification .close-notification {
        width: 20px !important; /* Réduire la taille */
        height: 20px !important;
        font-size: 10px !important; /* Réduire la taille de la croix */
    }

    body #text-an-expert-toast.text-an-expert-toast {
        font-size: 13px !important;
        padding: 12px 16px !important;
    }

    body #text-an-expert-toast.text-an-expert-toast .toast-icon {
        font-size: 16px !important;
    }
}

body.modal-open {
    overflow: hidden !important;
}

.text-an-expert-popup {
    z-index: 9999 !important;
}

/* Make Your Own Kit Page - Restored Version */
.make-your-own-kit-page {
    max-width: 1440px;
    margin: 50px auto;
    padding: 40px;
    font-family: 'Playfair Display', serif;
    display: flex;
    gap: 40px;
    background: linear-gradient(135deg, #fffaf5 0%, #fff5f0 100%);
    border-radius: 20px;
    box-shadow: 0 15px 50px rgba(0, 0, 0, 0.05);
    justify-content: center;
    align-items: flex-start;
}

.make-your-own-kit-page .kit-builder {
    flex: 1;
    padding: 0 20px;
}

.make-your-own-kit-page .kit-sidebar {
    width: 340px;
    background: linear-gradient(135deg, #f8e1e4 0%, #f5d7da 100%);
    padding: 25px;
    border-radius: 12px;
    border: 1px solid #e5c29f;
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.06);
    position: sticky;
    top: 40px;
    height: fit-content;
    box-sizing: border-box;
    overflow: hidden;
}

.make-your-own-kit-page .kit-title {
    text-align: center;
    font-size: 48px;
    font-weight: 400;
    font-family: 'Playfair Display', serif;
    color: #2c2c2c;
    margin-bottom: 60px;
    letter-spacing: 2px;
    text-transform: uppercase;
    background: linear-gradient(90deg, #d4a373, #e5c29f);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.make-your-own-kit-page .kit-steps {
    display: flex;
    justify-content: center;
    gap: 20px;
    margin-bottom: 50px;
    flex-wrap: wrap;
    padding-bottom: 20px;
}

.make-your-own-kit-page .step {
    padding: 12px 40px;
    font-size: 16px;
    font-family: 'Montserrat', sans-serif;
    color: #2c2c2c;
    cursor: pointer;
    background-color: #fff;
    border: 1px solid #e5c29f;
    border-radius: 30px;
    transition: all 0.4s ease;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.05);
}

.make-your-own-kit-page .step.active {
    color: #fff;
    background: linear-gradient(135deg, #d4a373 0%, #e5c29f 100%);
    border-color: transparent;
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.1);
}

.make-your-own-kit-page .kit-step-content {
    display: none;
}

.make-your-own-kit-page .kit-step-content.active {
    display: block;
}

.make-your-own-kit-page .kit-step-content h2 {
    font-size: 34px;
    font-weight: 400;
    font-family: 'Playfair Display', serif;
    color: #2c2c2c;
    margin-bottom: 40px;
    text-align: center;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    background: linear-gradient(90deg, #d4a373, #e5c29f);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.make-your-own-kit-page .kit-products {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
    justify-items: center;
}

.make-your-own-kit-page .kit-product-card {
    background-color: #fff;
    border-radius: 15px;
    padding: 25px;
    text-align: center;
    cursor: pointer;
    transition: all 0.4s ease;
    border: 1px solid #f0e8e2;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
    width: 100%;
    max-width: 340px;
    overflow: hidden;
    position: relative;
}

.make-your-own-kit-page .kit-product-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.1);
    border-color: #d4a373;
}

.make-your-own-kit-page .kit-product-card.selected {
    border: 2px solid #d4a373;
    background-color: rgba(212, 163, 115, 0.05);
}

.make-your-own-kit-page .kit-product-card img {
    width: 100%;
    height: 260px;
    object-fit: cover;
    border-radius: 12px;
    border: 1px solid #f0e8e2;
    margin-bottom: 20px;
    transition: transform 0.4s ease;
}

.make-your-own-kit-page .kit-product-card:hover img {
    transform: scale(1.03);
}

.make-your-own-kit-page .kit-product-card h3 {
    font-size: 18px;
    font-weight: 500;
    font-family: 'Montserrat', sans-serif;
    color: #2c2c2c;
    margin: 15px 0;
    line-height: 1.4;
    text-align: center;
}

.make-your-own-kit-page .kit-product-card p {
    font-size: 16px;
    font-weight: 400;
    font-family: 'Montserrat', sans-serif;
    color: #d4a373;
    margin-bottom: 20px;
    text-align: center;
}

.make-your-own-kit-page .kit-product-card .add-to-kit-btn {
    display: block;
    margin: 0 auto;
    padding: 12px 35px;
    background: linear-gradient(135deg, #d4a373 0%, #e5c29f 100%);
    color: #fff;
    border: none;
    border-radius: 30px;
    font-size: 16px;
    font-weight: 500;
    font-family: 'Montserrat', sans-serif;
    cursor: pointer;
    transition: all 0.4s ease;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
}

.make-your-own-kit-page .kit-product-card .add-to-kit-btn:hover {
    background: linear-gradient(135deg, #e5c29f 0%, #d4a373 100%);
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);
}

.make-your-own-kit-page .kit-product-card .remove-from-kit-btn {
    display: block;
    margin: 0 auto;
    padding: 12px 35px;
    background: linear-gradient(135deg, #f8e1e4 0%, #f5d7da 100%);
    color: #2c2c2c;
    border: none;
    border-radius: 30px;
    font-size: 16px;
    font-weight: 500;
    font-family: 'Montserrat', sans-serif;
    cursor: pointer;
    transition: all 0.4s ease;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
}

.make-your-own-kit-page .kit-product-card .remove-from-kit-btn:hover {
    background: linear-gradient(135deg, #f5d7da 0%, #f8e1e4 100%);
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);
}

.make-your-own-kit-page .kit-sidebar h2 {
    font-size: 26px;
    font-weight: 400;
    font-family: 'Playfair Display', serif;
    color: #2c2c2c;
    margin-bottom: 20px;
    text-align: center;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

.make-your-own-kit-page .kit-savings {
    font-size: 14px;
    font-weight: 600;
    font-family: 'Montserrat', sans-serif;
    color: #fff;
    background: linear-gradient(135deg, #d4a373 0%, #e5c29f 100%);
    padding: 6px 14px;
    border-radius: 20px;
    display: none;
    box-shadow: 0 3px 10px rgba(0, 0, 0, 0.1);
    line-height: 1;
}

.make-your-own-kit-page .kit-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px;
    margin-bottom: 12px;
    background-color: #fff;
    border-radius: 8px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.04);
    transition: all 0.4s ease;
    border: 1px solid #f5ece5;
}

.make-your-own-kit-page .kit-item-image-wrapper {
    width: 50px;
    height: 50px;
    flex-shrink: 0;
    background-color: #f8e1e4;
    border-radius: 6px;
    overflow: hidden;
}

.make-your-own-kit-page .kit-item-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 6px;
}

.make-your-own-kit-page .kit-item-content {
    flex: 1;
}

.make-your-own-kit-page .kit-item-text {
    font-size: 14px;
    font-weight: 400;
    font-family: 'Montserrat', sans-serif;
    color: #2c2c2c;
    line-height: 1.4;
}

.make-your-own-kit-page .kit-total {
    text-align: center;
    font-size: 18px;
    font-weight: 500;
    font-family: 'Montserrat', sans-serif;
    color: #2c2c2c;
    margin: 20px 0;
}

.make-your-own-kit-page .add-to-cart-btn {
    display: block;
    width: 100%;
    margin: 0 auto;
    padding: 12px 25px;
    background: linear-gradient(135deg, #d4a373 0%, #e5c29f 100%);
    color: #fff;
    border: none;
    border-radius: 25px;
    font-size: 15px;
    font-weight: 500;
    font-family: 'Montserrat', sans-serif;
    cursor: pointer;
    transition: all 0.4s ease;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    letter-spacing: 1px;
    text-transform: uppercase;
    box-sizing: border-box;
}

.make-your-own-kit-page .add-to-cart-btn:disabled {
    background: linear-gradient(135deg, #f5d7da 0%, #f8e1e4 100%);
    cursor: not-allowed;
    box-shadow: none;
}

.make-your-own-kit-page .add-to-cart-btn:hover:not(:disabled) {
    background: linear-gradient(135deg, #e5c29f 0%, #d4a373 100%);
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.15);
}

/* Pop-up d'accessoires */
.make-your-own-kit-page .accessory-popup {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.6);
    display: none;
    justify-content: center;
    align-items: center;
    z-index: 1000;
}

.make-your-own-kit-page .accessory-popup.active {
    display: flex;
}

.make-your-own-kit-page .accessory-popup-content {
    background: #fff;
    padding: 40px;
    border-radius: 15px;
    max-width: 900px;
    width: 90%;
    text-align: center;
    position: relative;
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.15);
    border: 1px solid #e5c29f;
}

.make-your-own-kit-page .accessory-popup-content h2 {
    font-size: 28px;
    font-weight: 400;
    font-family: 'Playfair Display', serif;
    color: #2c2c2c;
    margin-bottom: 30px;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    background: linear-gradient(90deg, #d4a373, #e5c29f);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.make-your-own-kit-page .accessory-products {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 30px;
    margin-bottom: 30px;
}

.make-your-own-kit-page .accessory-product-card {
    background-color: #fff;
    border-radius: 10px;
    padding: 20px;
    text-align: center;
    cursor: pointer;
    transition: all 0.4s ease;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.05);
    border: 1px solid #f0e8e2;
    width: 100%;
    max-width: 200px;
    overflow: hidden;
}

.make-your-own-kit-page .accessory-product-card:hover {
    transform: scale(1.05);
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1);
    border-color: #d4a373;
}

.make-your-own-kit-page .accessory-product-card.selected {
    border: 2px solid #d4a373;
    background-color: rgba(212, 163, 115, 0.05);
}

.make-your-own-kit-page .accessory-product-card img {
    width: 100%;
    height: 140px;
    object-fit: cover;
    border-radius: 8px;
    border: 1px solid #f0e8e2;
    margin-bottom: 15px;
}

.make-your-own-kit-page .accessory-product-card h3 {
    font-size: 16px;
    font-weight: 500;
    font-family: 'Montserrat', sans-serif;
    color: #2c2c2c;
    margin: 10px 0;
}

.make-your-own-kit-page .accessory-product-card p {
    font-size: 14px;
    font-weight: 400;
    font-family: 'Montserrat', sans-serif;
    color: #d4a373;
}

.make-your-own-kit-page .accessory-popup-content .skip-accessory-btn,
.make-your-own-kit-page .accessory-popup-content .add-accessory-btn {
    padding: 12px 35px;
    border: none;
    border-radius: 30px;
    font-size: 16px;
    font-weight: 500;
    font-family: 'Montserrat', sans-serif;
    cursor: pointer;
    margin: 0 15px;
    transition: all 0.4s ease;
}

.make-your-own-kit-page .accessory-popup-content .skip-accessory-btn {
    background-color: #f8e1e4;
    color: #2c2c2c;
}

.make-your-own-kit-page .accessory-popup-content .skip-accessory-btn:hover {
    background-color: #f5d7da;
}

.make-your-own-kit-page .accessory-popup-content .add-accessory-btn {
    background: linear-gradient(135deg, #d4a373 0%, #e5c29f 100%);
    color: #fff;
}

.make-your-own-kit-page .accessory-popup-content .add-accessory-btn:hover {
    background: linear-gradient(135deg, #e5c29f 0%, #d4a373 100%);
}

/* Responsive Design for Make Your Own Kit Page */
@media (max-width: 1200px) {
    .make-your-own-kit-page .kit-products {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (max-width: 992px) {
    .make-your-own-kit-page .kit-products {
        grid-template-columns: repeat(2, 1fr);
    }

    .make-your-own-kit-page {
        flex-direction: column;
        padding: 20px;
    }

    .make-your-own-kit-page .kit-sidebar {
        width: 100%;
        position: static;
    }

    .make-your-own-kit-page .kit-title {
        font-size: 40px;
    }

    .make-your-own-kit-page .kit-step-content h2 {
        font-size: 30px;
    }
}

@media (max-width: 576px) {
    .make-your-own-kit-page .kit-products {
        grid-template-columns: 1fr;
    }

    .make-your-own-kit-page .kit-title {
        font-size: 32px;
    }

    .make-your-own-kit-page .kit-step-content h2 {
        font-size: 26px;
    }

    .make-your-own-kit-page .kit-product-card {
        padding: 20px;
        max-width: 300px;
    }

    .make-your-own-kit-page .kit-product-card img {
        height: 220px;
    }

    .make-your-own-kit-page .kit-item-image-wrapper {
        width: 50px;
        height: 50px;
    }

    .make-your-own-kit-page .accessory-product-card {
        max-width: 180px;
    }

    .make-your-own-kit-page .accessory-product-card img {
        height: 120px;
    }
}

/* ==========================================================================
   Section : Tendances dans Notre Communauté ELLA
   Description : Styles pour le carrousel des vidéos de la communauté, inspiré de Glow Recipe
   ========================================================================== */

.community-close-options {
    position: sticky;
    top: 10px;
    right: 10px;
    width: 30px;
    height: 30px;
    background: #fff;
    border: 1px solid rgba(232, 199, 167, 0.3);
    border-radius: 50%;
    font-size: 16px;
    color: var(--dark);
    cursor: pointer;
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 15;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
    margin-left: auto;
}

.community-close-options:hover {
    background: var(--rose);
    transform: rotate(90deg);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
}

.community-close-options::before {
    content: "×";
    font-size: 20px;
    font-weight: 300;
}

.community-color-option {
    width: 34px;
    height: 34px;
    border-radius: 50%;
    border: 2px solid transparent;
    display: inline-block;
    position: relative;
    cursor: pointer;
    margin: 0 5px;
    background-size: cover;
    background-position: center;
    transition: all 0.3s ease;
}

.community-color-option:hover {
    transform: scale(1.1);
    border-color: var(--dark);
}

.community-color-option.active {
    border-color: var(--dark);
    box-shadow: 0 0 0 2px #fff, 0 0 0 4px var(--dark);
}

.community-color-option .community-color-name {
    display: none;
    position: absolute;
    bottom: -30px;
    left: 50%;
    transform: translateX(-50%);
    background-color: var(--dark);
    color: var(--cream);
    padding: 4px 10px;
    border-radius: 4px;
    font-size: 12px;
    white-space: nowrap;
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s ease;
    z-index: 3;
    font-family: var(--font-primary);
}

.community-color-option:hover .community-color-name {
    display: block;
    opacity: 1;
    visibility: visible;
}

.community-color-option[title="Bronze"] {
    background-color: var(--gold) !important;
}

.community-color-option[title="Noisette"] {
    background-color: #8B4513 !important;
}

.community-color-option[title="Rose"] {
    background-color: var(--rose) !important;
}

.community-color-option[title="Rose Gold"] {
    background-color: var(--gold) !important;
}

.community-version-options {
    display: flex;
    gap: 14px;
    flex-wrap: wrap;
    justify-content: center;
}

.community-version-option {
    padding: 8px 16px;
    border: 1px solid rgba(232, 199, 167, 0.3);
    border-radius: 24px;
    cursor: pointer;
    background-color: #fff;
    transition: all 0.3s ease;
    font-size: 13px;
    text-align: center;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.05);
    font-family: var(--font-primary);
    color: var(--dark);
}

.community-version-option:hover {
    background-color: var(--rose);
    color: var(--dark);
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.08);
}

.community-version-option.active {
    background-color: var(--gold);
    border-color: var(--gold);
    color: var(--dark);
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}

.community-variant-selections {
    margin-bottom: 20px;
    display: flex;
    flex-direction: column;
    gap: 12px;
    max-height: 300px;
    overflow-y: auto;
    padding-right: 6px;
}

.community-variant-selection {
    border: 1px solid rgba(232, 199, 167, 0.3);
    padding: 15px;
    border-radius: var(--border-radius);
    background: linear-gradient(145deg, #ffffff, #fef7f5);
    margin-bottom: 6px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.03);
}

.community-remove-selection {
    background-color: transparent;
    border: 1px solid rgba(232, 199, 167, 0.3);
    padding: 2px 8px;
    border-radius: 12px;
    cursor: pointer;
    font-size: 12px;
    transition: all 0.3s ease;
    margin-top: 6px;
    width: auto;
    text-align: center;
    color: var(--dark);
    font-weight: 400;
}

.community-remove-selection:hover {
    background-color: var(--rose);
    color: var(--dark);
}

/* ==========================================================================
   CORRECTIF URGENT - Uniformisation des Sélecteurs de Quantité
   Date : 3 Octobre 2025
   ========================================================================== */

/* Sélecteur quantity-selector dans options-card - utilise les styles de base */

/* Background blanc pour la section quantité dans la carte d'options */
.section-container.lab-ella-bestsellers .options-card .option-group.quantity-option-group {
    background: #fff !important;
    padding: 12px !important;
    border-radius: 8px !important;
    margin: 8px 0 !important;
    border: 1px solid rgba(232, 199, 167, 0.2) !important;
}
.section-container.lab-ella-bestsellers .options-card .quantity-btn {
    width: 26px !important;
    height: 26px !important;
    min-width: 26px !important;
    min-height: 26px !important;
    background: linear-gradient(145deg, #ffffff, #fdeded) !important;
    border: 1px solid var(--dark) !important;
    border-radius: 50% !important;
    cursor: pointer !important;
    font-size: 13px !important;
    transition: var(--transition) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: var(--dark) !important;
}

/* Champ de quantité dans la carte principale - identique aux cartes secondaires */
.section-container.lab-ella-bestsellers .options-card .quantity-input {
    width: 40px !important;
    height: 26px !important;
    min-height: 20px !important;
    font-size: 12px !important;
    text-align: center !important;
    border: 1px solid var(--dark) !important;
    border-radius: 4px !important;
    background: #fff !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* quantity-input dans options-card utilise maintenant les styles harmonisés de la ligne 741 */

/* S'assurer que les styles s'appliquent aussi aux éléments ajoutés dynamiquement */
.section-container.lab-ella-bestsellers .options-card .variant-selection .quantity-selector {
    /* Hérite des styles de base .quantity-selector */
}

/* ==========================================================================
   CORRECTION CHEVAUCHEMENT CARTES VARIANTES - MOBILE ET DESKTOP
   Date: 10 Octobre 2025
   ========================================================================== */

/* CORRECTION MOBILE SIMPLIFIÉE - Garder le desktop correct */
@media (max-width: 768px) {
    .section-container.lab-ella-bestsellers .section-card.bestseller-product .variant-selection {
        min-height: 200px !important; /* Légèrement plus petit sur mobile */
        margin-bottom: 15px !important; /* Espacement normal */
        padding: 12px !important; /* Padding normal */
    }
    
    /* Boutons de quantité identiques sur mobile */
    .section-container.lab-ella-bestsellers .options-card .quantity-btn,
    .section-container.lab-ella-bestsellers .variant-selection .quantity-btn {
        width: 26px !important;
        height: 26px !important;
        min-width: 26px !important;
        min-height: 26px !important;
        font-size: 13px !important;
    }
    
    /* Champs de quantité identiques sur mobile */
    .section-container.lab-ella-bestsellers .options-card .quantity-input,
    .section-container.lab-ella-bestsellers .variant-selection .quantity-input {
        width: 40px !important;
        height: 26px !important;
        min-height: 20px !important;
        font-size: 12px !important;
    }
}

/* CORRECTION DESKTOP - Garder les styles corrects */
@media (min-width: 769px) {
    /* Boutons de quantité identiques sur desktop */
    .section-container.lab-ella-bestsellers .options-card .quantity-btn,
    .section-container.lab-ella-bestsellers .variant-selection .quantity-btn {
        width: 26px !important;
        height: 26px !important;
        min-width: 26px !important;
        min-height: 26px !important;
        font-size: 13px !important;
    }
    
    /* Champs de quantité identiques sur desktop */
    .section-container.lab-ella-bestsellers .options-card .quantity-input,
    .section-container.lab-ella-bestsellers .variant-selection .quantity-input {
        width: 40px !important;
        height: 26px !important;
        min-height: 20px !important;
        font-size: 12px !important;
    }
}

/* Hover pour les boutons de quantité dans la carte d'options */
.section-container.lab-ella-bestsellers .options-card .quantity-btn:hover {
    background: var(--rose);
    color: var(--dark);
    border-color: var(--dark);
}

/* Focus pour le champ de quantité dans la carte d'options */
.section-container.lab-ella-bestsellers .options-card .quantity-input:focus {
    border-color: var(--gold-dark);
    outline: none;
}

/* Supprimer les flèches des champs numériques dans la carte d'options */
.section-container.lab-ella-bestsellers .options-card .quantity-input::-webkit-outer-spin-button,
.section-container.lab-ella-bestsellers .options-card .quantity-input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

/* ========================================================================== 
   CORRECTIF FINAL - Cartes de Variantes et Bouton de Fermeture
   Date : 11 Octobre 2025
   ========================================================================== */

/* Min-height pour toutes les cartes variant-selection */
.section-container.lab-ella-bestsellers .section-card.bestseller-product .variant-selection {
    min-height: 220px !important;
}

/* Bouton de fermeture des cartes ajoutées - moderne et petit */
.close-variant-card {
    position: absolute !important;
    top: 8px !important;
    right: 8px !important;
    background: rgba(255, 255, 255, 0.9) !important;
    border: 1px solid rgba(232, 199, 167, 0.3) !important;
    font-size: 14px !important;
    color: var(--dark) !important;
    cursor: pointer !important;
    z-index: 25 !important;
    width: 24px !important;
    height: 24px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 50% !important;
    transition: all 0.2s ease !important;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1) !important;
    font-weight: bold !important;
}

.close-variant-card:hover {
    background: var(--rose) !important;
    border-color: var(--gold) !important;
    transform: scale(1.1) !important;
}

.close-variant-card:active {
    transform: scale(0.95) !important;
}

/* Responsive pour le bouton de fermeture */
@media (max-width: 768px) {
    .close-variant-card {
        top: 6px !important;
        right: 6px !important;
        width: 22px !important;
        height: 22px !important;
        font-size: 12px !important;
    }
    
    .section-container.lab-ella-bestsellers .section-card.bestseller-product .variant-selection {
        min-height: 200px !important; /* Légèrement plus petit sur mobile */
    }
}

@media (max-width: 480px) {
    .close-variant-card {
        top: 5px !important;
        right: 5px !important;
        width: 20px !important;
        height: 20px !important;
        font-size: 11px !important;
    }
    
    .section-container.lab-ella-bestsellers .section-card.bestseller-product .variant-selection {
        min-height: 180px !important; /* Plus petit sur très petits écrans */
    }
}

/* ========================================================================== 
   CORRECTIF CARTES VERSION - Classe spécifique et espacement forcé
   Date : 11 Octobre 2025
   ========================================================================== */

/* Classe spécifique pour les cartes VERSION */
.section-container.lab-ella-bestsellers .section-card.bestseller-product .variant-selection {
    border: 1px solid rgba(232, 199, 167, 0.3) !important;
    padding: 15px !important;
    border-radius: 12px !important;
    background: linear-gradient(145deg, #ffffff, #fef7f5) !important;
    margin-bottom: 20px !important;
    position: relative !important;
    z-index: 5 !important;
    clear: both !important;
    display: block !important;
}

/* Centrer les options de version */
.section-container.lab-ella-bestsellers .section-card.bestseller-product .variant-selection .version-options {
    justify-content: center !important;
    margin-bottom: 15px !important;
}

/* Enlever le background de quantity-option-group pour gagner de l'espace */
.section-container.lab-ella-bestsellers .section-card.bestseller-product .variant-selection .option-group.quantity-option-group {
    background: transparent !important;
    padding: 8px 0 !important;
    margin-top: 10px !important;
}

/* Conteneur des cartes VERSION avec espacement forcé */
.section-container.lab-ella-bestsellers .section-card.bestseller-product .variant-selections {
    display: block !important;
    margin-bottom: 20px !important;
    position: relative !important;
    z-index: 3 !important;
}

/* Espacement vertical forcé entre cartes VERSION */
.section-container.lab-ella-bestsellers .section-card.bestseller-product .variant-selections .variant-selection:not(:last-child) {
    margin-bottom: 25px !important;
}

/* Bouton fermeture pour cartes VERSION */
.section-container.lab-ella-bestsellers .section-card.bestseller-product .variant-selection .close-variant-card {
    position: absolute !important;
    top: 8px !important;
    right: 8px !important;
    z-index: 999 !important;
}

/* ==========================================================================
   Section : Tendances dans Notre Communauté ELLA - Styles Complets
   Description : Styles complets pour le carrousel des vidéos de la communauté
   Date : 11 Oct 2025
   ========================================================================== */

/* Conteneur principal */
.section-container.community-videos {
    font-family: var(--font-primary);
    max-width: 1400px;
    margin: 15px auto 30px;
    padding: 10px;
    background: var(--cream);
    border-radius: var(--border-radius);
    overflow: hidden;
}

/* MOBILE - Réduire la marge énorme */
@media (max-width: 768px) {
    .section-container.community-videos {
        margin: 0px auto 15px !important;
        padding: 10px !important;
        margin-top: -10px !important;
    }
    
    /* Gérer le conflit scroll vertical/horizontal */
    .section-container.community-videos.swiping {
        touch-action: auto !important; /* Scroll libre */
        overflow-y: visible !important; /* Scroll vertical toujours libre */
    }
    
    .section-container.community-videos:not(.swiping) {
        touch-action: pan-y !important;
    }
    
    .section-container.community-videos .carousel {
        touch-action: auto !important; /* Scroll libre */
        -webkit-overflow-scrolling: touch !important;
    }
}

/* En-tête */
.section-container.community-videos .section-header {
    text-align: center;
    margin-bottom: 10px;
}

.section-container.community-videos .section-title {
    font-family: var(--font-secondary);
    font-size: var(--font-size-title);
    font-weight: 500;
    margin-bottom: 5px;
    color: var(--dark);
    letter-spacing: 1px;
    text-transform: uppercase;
}

.section-container.community-videos .section-subtitle {
    font-family: var(--font-primary);
    font-size: var(--font-size-subtitle);
    color: var(--dark);
    margin-bottom: 0;
    opacity: 0.8;
}

/* Wrapper du carrousel */
.section-container.community-videos .carousel-wrapper {
    position: relative;
    overflow: hidden;
    margin: 0 -5px;
}

/* Carrousel */
.section-container.community-videos .carousel {
    display: flex;
    gap: var(--spacing-gap);
    overflow-x: auto;
    scroll-behavior: smooth;
    padding: 10px 5px;
    scrollbar-width: none;
    -ms-overflow-style: none;
}

.section-container.community-videos .carousel::-webkit-scrollbar {
    display: none;
}

/* Boutons de navigation */
.section-container.community-videos .carousel-prev,
.section-container.community-videos .carousel-next {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 40px;
    height: 40px;
    background: rgba(255, 255, 255, 0.95);
    border: 1px solid rgba(232, 199, 167, 0.3);
    border-radius: 50%;
    cursor: pointer;
    font-size: 18px;
    color: var(--dark);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 10;
    transition: var(--transition);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

.section-container.community-videos .carousel-prev {
    left: 10px;
}

.section-container.community-videos .carousel-next {
    right: 10px;
}

.section-container.community-videos .carousel-prev:hover,
.section-container.community-videos .carousel-next:hover {
    background: var(--rose);
    transform: translateY(-50%) scale(1.05);
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.15);
}

.section-container.community-videos .carousel-prev.disabled,
.section-container.community-videos .carousel-next.disabled {
    opacity: 0.3;
    cursor: not-allowed;
    pointer-events: none;
}

/* Cartes de produits */
.section-container.community-videos .section-card {
    min-width: 320px;
    max-width: 320px;
    background: #fff;
    border-radius: var(--border-radius);
    padding: 15px;
    box-shadow: var(--shadow);
    transition: var(--transition);
    position: relative;
    overflow: hidden;
    flex-shrink: 0;
}

.section-container.community-videos .section-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.12);
}

/* Images des produits */
.section-container.community-videos .section-image-wrapper {
    position: relative;
    margin-bottom: 15px;
    overflow: hidden;
    border-radius: 8px;
}

.section-container.community-videos .section-image {
    width: 100%;
    height: 200px;
    position: relative;
    overflow: hidden;
    border-radius: 8px;
}

.section-container.community-videos .section-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: var(--transition);
}

.section-container.community-videos .section-card:hover .section-image img {
    transform: scale(1.05);
}

/* Détails des produits */
.section-container.community-videos .section-details {
    margin-bottom: 15px;
}

.section-container.community-videos .section-details-title {
    font-family: var(--font-primary);
    font-size: 16px;
    font-weight: 600;
    margin-bottom: 8px;
    color: var(--dark);
    line-height: 1.3;
}

.section-container.community-videos .section-details-title a {
    color: inherit;
    text-decoration: none;
    transition: var(--transition);
}

.section-container.community-videos .section-details-title a:hover {
    color: var(--gold-dark);
}

.section-container.community-videos .product-rating {
    margin-bottom: 8px;
    font-size: 14px;
    color: #666;
}

.section-container.community-videos .product-price {
    font-family: var(--font-primary);
    font-size: 18px;
    font-weight: 700;
    color: var(--dark);
    margin-bottom: 0;
}

/* Bouton d'ajout au panier */
.section-container.community-videos .add-to-cart-btn {
    width: 100%;
    background: linear-gradient(135deg, var(--gold), var(--gold-dark));
    color: var(--dark);
    border: none;
    padding: 12px 15px;
    border-radius: 8px;
    cursor: pointer;
    font-family: var(--font-primary);
    font-weight: 600;
    font-size: 14px;
    transition: var(--transition);
    display: flex;
    justify-content: space-between;
    align-items: center;
    box-shadow: 0 2px 8px rgba(232, 199, 167, 0.3);
}

.section-container.community-videos .add-to-cart-btn:hover {
    background: linear-gradient(135deg, var(--gold-dark), var(--gold));
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(232, 199, 167, 0.4);
}

.section-container.community-videos .add-to-cart-btn.active {
    background: var(--rose);
    color: var(--dark);
}

/* Carte d'options */
.section-container.community-videos .community-options-card {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: #fff;
    border-radius: var(--border-radius);
    padding: 20px;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.15);
    transform: translateY(100%);
    opacity: 0;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    z-index: 100;
    overflow-y: auto;
}

.section-container.community-videos .community-options-card.preparing {
    transform: translateY(50%);
    opacity: 0.7;
}

.section-container.community-videos .community-options-card.active {
    transform: translateY(0);
    opacity: 1;
}

/* Header de la carte d'options */
.section-container.community-videos .options-card-header {
    display: flex;
    align-items: center;
    margin-bottom: 20px;
    padding-bottom: 15px;
    border-bottom: 1px solid rgba(232, 199, 167, 0.3);
}

.section-container.community-videos .product-image-small {
    width: 50px;
    height: 50px;
    object-fit: cover;
    border-radius: 6px;
    margin-right: 12px;
}

.section-container.community-videos .product-name-small {
    font-family: var(--font-primary);
    font-size: 14px;
    font-weight: 600;
    margin: 0 0 4px 0;
    color: var(--dark);
}

.section-container.community-videos .product-price-small {
    font-family: var(--font-primary);
    font-size: 16px;
    font-weight: 700;
    color: var(--dark);
}

/* Options d'achat */
.section-container.community-videos .purchase-options {
    margin-bottom: 20px;
}

.section-container.community-videos .purchase-option {
    margin-bottom: 10px;
    display: flex;
    align-items: center;
}

.section-container.community-videos .purchase-option input[type="radio"] {
    margin-right: 8px;
    accent-color: var(--gold);
}

.section-container.community-videos .purchase-option label {
    font-family: var(--font-primary);
    font-size: 14px;
    color: var(--dark);
    cursor: pointer;
}

/* Bouton de confirmation */
.section-container.community-videos .confirm-add-to-cart-btn {
    width: 100%;
    background: linear-gradient(135deg, var(--gold), var(--gold-dark));
    color: var(--dark);
    border: none;
    padding: 15px;
    border-radius: 8px;
    cursor: pointer;
    font-family: var(--font-primary);
    font-weight: 600;
    font-size: 16px;
    transition: var(--transition);
    display: flex;
    justify-content: space-between;
    align-items: center;
    box-shadow: 0 4px 12px rgba(232, 199, 167, 0.3);
}

.section-container.community-videos .confirm-add-to-cart-btn:hover {
    background: linear-gradient(135deg, var(--gold-dark), var(--gold));
    transform: translateY(-2px);
    box-shadow: 0 6px 16px rgba(232, 199, 167, 0.4);
}

/* Responsive */
@media (max-width: 768px) {
    .section-container.community-videos .section-card {
        min-width: 280px;
        max-width: 280px;
    }
    
    .section-container.community-videos .carousel-prev,
    .section-container.community-videos .carousel-next {
        width: 35px;
        height: 35px;
        font-size: 16px;
    }
    
    .section-container.community-videos .carousel-prev {
        left: 5px;
    }
    
    .section-container.community-videos .carousel-next {
        right: 5px;
    }
}

@media (max-width: 480px) {
    .section-container.community-videos .section-card {
        min-width: 240px;
        max-width: 240px;
        padding: 12px;
    }
    
    .section-container.community-videos .section-image {
        height: 160px;
    }
    
    .section-container.community-videos .section-details-title {
        font-size: 14px;
    }
    
    .section-container.community-videos .product-price {
        font-size: 16px;
    }
}
/* ==========================================================================
   CORRECTION CARTE D'OPTIONS COULEUR - COMMUNITY VIDEOS
   ========================================================================== */

/* Options de couleur - Section Community Videos */
section.community-videos .color-options {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    padding: 10px 0;
}

section.community-videos .color-option {
    width: 40px !important;
    height: 40px !important;
    border-radius: 50% !important;
    border: 3px solid transparent !important;
    display: inline-block;
    position: relative;
    cursor: pointer;
    margin: 0;
    background-size: cover;
    background-position: center;
    transition: all 0.3s ease;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

section.community-videos .color-option:hover {
    transform: scale(1.15);
    border-color: var(--dark) !important;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
}

section.community-videos .color-option.active {
    border-color: var(--dark) !important;
    transform: scale(1.1);
    box-shadow: 0 0 0 2px #fff, 0 0 0 5px var(--dark);
}

section.community-videos .color-option .color-name {
    position: absolute;
    bottom: -35px;
    left: 50%;
    transform: translateX(-50%);
    background-color: var(--dark);
    color: var(--cream);
    padding: 6px 12px;
    border-radius: 6px;
    font-size: 12px;
    white-space: nowrap;
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s ease;
    z-index: 10;
    font-family: var(--font-primary);
    font-weight: 500;
    pointer-events: none;
}

section.community-videos .color-option:hover .color-name {
    opacity: 1;
    visibility: visible;
    bottom: -40px;
}

/* Couleurs spécifiques */
section.community-videos .color-option[title="Bronze"] {
    background-color: #CD7F32 !important;
}

section.community-videos .color-option[title="Noisette"] {
    background-color: #8B4513 !important;
}

section.community-videos .color-option[title="Rose"] {
    background-color: #F9E4E6 !important;
}

section.community-videos .color-option[title="Rose Gold"] {
    background: linear-gradient(45deg, #E8C7A7, #F9E4E6) !important;
}

section.community-videos .color-option[title="Gold"] {
    background-color: #E8C7A7 !important;
}

/* Groupe d'options de couleur */
section.community-videos .color-option-group {
    margin-bottom: 20px;
}

section.community-videos .color-option-group .community-option-label {
    font-family: var(--font-primary);
    font-size: 14px;
    color: var(--dark);
    margin-bottom: 12px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    text-align: center;
}

/* Responsive pour les couleurs */
@media (max-width: 767px) {
    section.community-videos .color-option {
        width: 35px !important;
        height: 35px !important;
    }
    
    section.community-videos .color-options {
        gap: 10px;
    }
}

@media (max-width: 480px) {
    section.community-videos .color-option {
        width: 32px !important;
        height: 32px !important;
    }
    
    section.community-videos .color-options {
        gap: 8px;
    }
}
/* ==========================================================================
    background: var(--rose);
    border-color: var(--dark);
}
/* ==========================================================================
    background: var(--rose) !important;
    border-color: var(--dark) !important;
}
/* ==========================================================================
}

section.community-videos .community-option-group .color-option.active {
    border-color: var(--gold-dark) !important;
    box-shadow: 0 0 0 2px #fff, 0 0 0 4px var(--gold-dark) !important;
}

section.community-videos .community-option-group .color-option .color-name {
    position: absolute !important;
    bottom: -28px !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    background: var(--dark) !important;
    color: var(--cream) !important;
    padding: 3px 8px !important;
    border-radius: 4px !important;
    font-size: 11px !important;
    white-space: nowrap !important;
    opacity: 0 !important;
    visibility: hidden !important;
    transition: all 0.3s ease !important;
}

section.community-videos .community-option-group .color-option:hover .color-name {
    opacity: 1 !important;
    visibility: visible !important;
}

/* Couleurs spécifiques avec classes community */
section.community-videos .community-option-group .color-option[title="Bronze"] {
    background-color: #E8C7A7 !important;
}

section.community-videos .community-option-group .color-option[title="Noisette"] {
    background-color: #8B4513 !important;
}

section.community-videos .community-option-group .color-option[title="Rose"] {
    background-color: #F9E4E6 !important;
}

section.community-videos .community-option-group .color-option[title="Rose Gold"] {
    background-color: #E8C7A7 !important;
}

section.community-videos .community-option-group .color-option[title="Gold"] {
    background-color: #FFD700 !important;
}

/* Container des options de couleur avec classes community */
section.community-videos .community-option-group .color-options {
    display: flex !important;
    gap: 8px !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    align-items: center !important;
    padding: 10px 0 !important;
}

/* Options de version avec classes community */
section.community-videos .community-option-group .version-options {
    display: flex !important;
    gap: 10px !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
}

section.community-videos .community-option-group .version-option {
    padding: 8px 16px !important;
    border: 1px solid var(--dark) !important;
    border-radius: 5px !important;
    cursor: pointer !important;
    background: #fff !important;
    transition: all 0.3s ease !important;
    font-size: 12px !important;
    text-align: center !important;
    box-shadow: 0 2px 6px rgba(0,0,0,0.1) !important;
    color: var(--dark) !important;
}

section.community-videos .community-option-group .version-option:hover {
    background: #f5f5f5 !important;
    border-color: var(--dark) !important;
}

section.community-videos .community-option-group .version-option.active {
    background: var(--gold) !important;
    border-color: var(--gold-dark) !important;
    color: var(--dark) !important;
}

/* Groupes d'options community */
section.community-videos .community-option-group {
    margin-bottom: 15px !important;
}

section.community-videos .community-option-label {
    font-family: var(--font-primary) !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    margin-bottom: 8px !important;
    color: var(--dark) !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    text-align: center !important;
}

/* Sélecteur de quantité avec classes community */
section.community-videos .community-option-group .quantity-selector {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
}

section.community-videos .community-option-group .quantity-btn {
    width: 28px !important;
    height: 28px !important;
    border: 1px solid var(--dark) !important;
    background: #fff !important;
    color: var(--dark) !important;
    border-radius: 4px !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    transition: all 0.3s ease !important;
}

section.community-videos .community-option-group .quantity-btn:hover {
    background: var(--rose) !important;
    color: var(--dark) !important;
    border-color: var(--dark) !important;
}

section.community-videos .community-option-group .quantity-input {
    width: 40px !important;
    height: 28px !important;
    border: 1px solid var(--dark) !important;
    text-align: center !important;
    font-size: 12px !important;
    border-radius: 4px !important;
    background: #fff !important;
}

section.community-videos .community-option-group .quantity-input:focus {
    border-color: var(--gold-dark) !important;
    outline: none !important;
}
/* ==========================================================================
   CSS COMMUNITY VIDEOS - CIBLAGE DE LA VRAIE STRUCTURE HTML DU SITE LIVE
   ========================================================================== */

/* Options de couleur - COMMUNITY VIDEOS structure réelle */
section.community-videos .color-options .color-option {
    width: 32px !important;
    height: 32px !important;
    border-radius: 50% !important;
    border: 2px solid transparent !important;
    display: inline-block !important;
    position: relative !important;
    cursor: pointer !important;
    margin: 0 4px !important;
    background-size: cover !important;
    background-position: center !important;
    transition: all 0.3s ease !important;
}

section.community-videos .color-options .color-option:hover {
    transform: scale(1.1) !important;
    border-color: var(--dark) !important;
}

section.community-videos .color-options .color-option.active {
    border-color: var(--gold-dark) !important;
    box-shadow: 0 0 0 2px #fff, 0 0 0 4px var(--gold-dark) !important;
}

section.community-videos .color-options .color-option .color-name {
    position: absolute !important;
    bottom: -28px !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    background: var(--dark) !important;
    color: var(--cream) !important;
    padding: 3px 8px !important;
    border-radius: 4px !important;
    font-size: 11px !important;
    white-space: nowrap !important;
    opacity: 0 !important;
    visibility: hidden !important;
    transition: all 0.3s ease !important;
}

section.community-videos .color-options .color-option:hover .color-name {
    opacity: 1 !important;
    visibility: visible !important;
}

/* Couleurs spécifiques */
section.community-videos .color-options .color-option[title="Bronze"] {
    background-color: #E8C7A7 !important;
}

section.community-videos .color-options .color-option[title="Noisette"] {
    background-color: #8B4513 !important;
}

section.community-videos .color-options .color-option[title="Rose"] {
    background-color: #F9E4E6 !important;
}

section.community-videos .color-options .color-option[title="Rose Gold"] {
    background-color: #E8C7A7 !important;
}

section.community-videos .color-options .color-option[title="Gold"] {
    background-color: #FFD700 !important;
}

/* Container des options de couleur */
section.community-videos .color-options {
    display: flex !important;
    gap: 8px !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    align-items: center !important;
    padding: 10px 0 !important;
}

/* Options de version */
section.community-videos .version-options {
    display: flex !important;
    gap: 10px !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
}

section.community-videos .version-options .version-option {
    padding: 8px 16px !important;
    border: 1px solid var(--dark) !important;
    border-radius: 5px !important;
    cursor: pointer !important;
    background: #fff !important;
    transition: all 0.3s ease !important;
    font-size: 12px !important;
    text-align: center !important;
    box-shadow: 0 2px 6px rgba(0,0,0,0.1) !important;
    color: var(--dark) !important;
}

section.community-videos .version-options .version-option:hover {
    background: #f5f5f5 !important;
    border-color: var(--dark) !important;
}

section.community-videos .version-options .version-option.active {
    background: var(--gold) !important;
    border-color: var(--gold-dark) !important;
    color: var(--dark) !important;
}

/* Sélecteur de quantité */
section.community-videos .quantity-selector {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
}

section.community-videos .quantity-selector .quantity-btn {
    width: 28px !important;
    height: 28px !important;
    border: 1px solid var(--dark) !important;
    background: #fff !important;
    color: var(--dark) !important;
    border-radius: 4px !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    transition: all 0.3s ease !important;
}

section.community-videos .quantity-selector .quantity-btn:hover {
    background: var(--rose) !important;
    color: var(--dark) !important;
    border-color: var(--dark) !important;
}

section.community-videos .quantity-selector .quantity-input {
    width: 40px !important;
    height: 28px !important;
    border: 1px solid var(--dark) !important;
    text-align: center !important;
    font-size: 12px !important;
    border-radius: 4px !important;
    background: #fff !important;
}

section.community-videos .quantity-selector .quantity-input:focus {
    border-color: var(--gold-dark) !important;
    outline: none !important;
}

/* Bouton d'ajout de variante */

/* ========================================
   MOBILE: FORCER L'ORDRE SEE IN ACTION → ROUTINE
   ======================================== */
@media (max-width: 991px) {
    html body.single-product .lab-ella-product-page .glow-action-routine-section {
        display: flex !important;
        flex-direction: column !important;
    }
    
    html body.single-product .lab-ella-product-page .glow-action-column {
        order: 1 !important;
        width: 100% !important;
    }
    
    html body.single-product .lab-ella-product-page .glow-routine-column {
        order: 2 !important;
        width: 100% !important;
        margin-top: 50px !important;
    }
    
    /* Harmonisation titres mobile */
    html body.single-product .lab-ella-product-page .glow-action-column h4,
    html body.single-product .lab-ella-product-page .glow-routine-column h3,
    html body.single-product .lab-ella-product-page .glow-routine-section h3 {
        font-size: 16px !important;
        font-weight: 600 !important;
        font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif !important;
        color: #333 !important;
        text-align: center !important;
        margin: 0 0 20px 0 !important;
        line-height: 1.5 !important;
        letter-spacing: 0.5px !important;
    }
}

/* STYLES MANQUANTS POUR SAVE-SETS - COPIE DE BESTSELLERS */

/* Option groups */
.save-with-sets .save-sets-option-group {
    margin-bottom: 15px;
}

/* Quantity option group - STYLE BLANC AVEC BORDURE */
.save-with-sets .save-sets-options-card .save-sets-option-group.save-sets-quantity-option-group {
    background: #fff !important;
    padding: 12px !important;
    border-radius: 8px !important;
    margin: 8px 0 !important;
    border: 1px solid rgba(232, 199, 167, 0.2) !important;
}

/* Purchase options - STICKY AVEC FOND ROSE */
/* Header sticky - QUANTITÉ + X fixe en haut */
.save-with-sets .save-sets-option-group.quantity-option-group {
    position: sticky !important;
    top: 0 !important;
    background: linear-gradient(145deg, var(--rose), #fdeded) !important;
    padding: 8px 15px !important;
    margin: 0 -15px 10px !important;
    z-index: 99 !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1) !important;
}

/* Footer sticky */
.save-with-sets .save-sets-purchase-options {
    position: sticky !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    background: linear-gradient(145deg, var(--rose), #fdeded) !important;
    padding: 4px 15px !important;
    margin: 0 -15px 0 !important;
    z-index: 99 !important;
    display: flex;
    flex-direction: column;
    gap: 0 !important;
    box-shadow: 0 -4px 12px rgba(0, 0, 0, 0.1) !important;
}

/* Confirm button DANS le footer */
.save-with-sets .save-sets-confirm-btn {
    position: relative !important;
    width: 100% !important;
    margin-top: 0 !important;
}

.save-with-sets .save-sets-purchase-option {
    display: flex;
    align-items: center;
    gap: 6px;
    cursor: pointer;
    font-size: 13px;
    font-weight: 400;
    color: var(--dark);
    padding: 6px 10px;
    border-radius: 5px;
    transition: var(--transition);
    white-space: nowrap;
    background: transparent;
    box-shadow: none;
}

.save-with-sets .save-sets-purchase-option:hover {
    color: var(--gold-dark);
    transform: scale(1.05);
    background: rgba(232, 199, 167, 0.1);
}

.save-with-sets .save-sets-purchase-option input[type="checkbox"],
.save-with-sets .save-sets-purchase-option input[type="radio"] {
    appearance: none;
    width: 15px !important;
    height: 15px !important;
    min-width: 15px !important;
    min-height: 15px !important;
    max-width: 15px !important;
    max-height: 15px !important;
    border: 1px solid var(--gold);
    border-radius: 4px;
    background: #fff;
    cursor: pointer;
    transition: var(--transition);
    position: relative;
    margin: 0 !important;
    padding: 0 !important;
}

.save-with-sets .save-sets-purchase-option input[type="checkbox"]::before,
.save-with-sets .save-sets-purchase-option input[type="radio"]::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) scale(0);
    width: 7px;
    height: 7px;
    background: var(--gold-dark);
    border-radius: 2px;
    transition: var(--transition);
}

.save-with-sets .save-sets-purchase-option input[type="checkbox"]:checked::before,
.save-with-sets .save-sets-purchase-option input[type="radio"]:checked::before {
    transform: translate(-50%, -50%) scale(1);
}

.save-with-sets .save-sets-purchase-option input[type="checkbox"]:checked,
.save-with-sets .save-sets-purchase-option input[type="radio"]:checked {
    background: rgba(232, 199, 167, 0.2);
    border-color: var(--gold-dark);
}

/* Quantity buttons */
.save-with-sets .save-sets-options-card .save-sets-quantity-btn {
    width: 26px !important;
    height: 26px !important;
    min-width: 26px !important;
    min-height: 26px !important;
    background: linear-gradient(145deg, #ffffff, #fdeded) !important;
    border: 1px solid var(--dark) !important;
    border-radius: 50% !important;
    cursor: pointer !important;
    font-size: 13px !important;
    transition: var(--transition) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: var(--dark) !important;
    padding: 0 !important;
}

.save-with-sets .save-sets-options-card .save-sets-quantity-btn:hover {
    background: var(--rose) !important;
    color: var(--dark) !important;
    border-color: var(--dark) !important;
}

/* Quantity input */
.save-with-sets .save-sets-options-card .save-sets-quantity-input {
    width: 50px !important;
    height: 26px !important;
    min-width: 50px !important;
    min-height: 26px !important;
    max-width: 50px !important;
    max-height: 26px !important;
    border: 1px solid var(--dark) !important;
    border-radius: 6px !important;
    text-align: center !important;
    font-size: 13px !important;
    color: var(--dark) !important;
    background: #fff !important;
    -moz-appearance: textfield !important;
    padding: 0 4px !important;
    margin: 0 !important;
}

.save-with-sets .save-sets-options-card .save-sets-quantity-input:focus {
    border-color: var(--gold-dark) !important;
    outline: none !important;
}

.save-with-sets .save-sets-options-card .save-sets-quantity-input::-webkit-outer-spin-button,
.save-with-sets .save-sets-options-card .save-sets-quantity-input::-webkit-inner-spin-button {
    -webkit-appearance: none !important;
    margin: 0 !important;
}

/* Quantity selector */
.save-with-sets .save-sets-options-card .save-sets-quantity-selector {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
}

/* Confirm button - STYLE IDENTIQUE À BESTSELLERS */
.save-with-sets .save-sets-confirm-btn {
    width: 100% !important;
    padding: 12px 20px !important;
    background: #333 !important;
    color: #fff !important;
    border: none !important;
    border-radius: 0 !important;
    font-size: 16px !important;
    font-weight: 500 !important;
    cursor: pointer !important;
    transition: var(--transition) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2) !important;
}

.save-with-sets .save-sets-confirm-btn:hover {
    background: #2a2a2a !important;
    color: #fff !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.3) !important;
}

/* Media queries */
@media (max-width: 768px) {
    .save-with-sets .save-sets-purchase-options {
        margin: 0 -15px 0 !important;
    }
}

@media (max-width: 479px) {
    .save-with-sets .save-sets-purchase-options {
        margin: 0 -15px 0 !important;
    }
}

/* Cacher l'input caché du prix bundle */
.save-with-sets .bundle-full-price {
    display: none;
}

/* Cacher la case Pack Complet */
.save-with-sets .bundle-product-full {
    display: none !important;
}

/* ============================================
   SAVE-SETS MOBILE STYLES - VERSION COMPLÈTE
   Basé sur TOUS les styles desktop avec adaptations mobile
   ============================================ */
/* ========================================================================== 
   SAVE-SETS MOBILE - COPIE EXACTE DU DESKTOP
   ========================================================================== */
@media (max-width: 768px) {
section.save-with-sets {
    font-family: var(--font-primary);
    max-width: 1200px;
    margin: 60px auto;
    padding: 0;
    background: linear-gradient(145deg, #FFF, #FDF9F8);
    border-radius: 24px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
    overflow: visible;
    position: relative;
}

/* En-tête de la section */
.save-sets-header {
    text-align: center;
    margin-bottom: 40px;
    padding-top: 40px;
}

.save-sets-section-title {
    font-family: var(--font-secondary);
    font-size: var(--font-size-title);
    font-weight: 500;
    margin-bottom: 10px;
    color: var(--dark);
    letter-spacing: 1px;
    text-transform: uppercase;
    position: relative;
}

.save-sets-section-title::after {
    content: '';
    width: 50px;
    height: 2px;
    background: var(--gold);
    position: absolute;
    bottom: -10px;
    left: 50%;
    transform: translateX(-50%);
}

.save-sets-subtitle {
    font-family: var(--font-primary);
    font-size: var(--font-size-subtitle);
    color: #666;
    font-weight: 300;
    font-style: italic;
}

/* Conteneur du carrousel */
.save-sets-carousel-wrapper {
    position: relative;
    overflow: visible;
    margin: 60px auto;
    z-index: 5;
    width: 100%;
    box-sizing: border-box;
    padding: 0 40px;
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 500px;
}

/* Carrousel */
.save-sets-carousel {
    display: flex;
    gap: 20px;
    transition: transform 0.6s cubic-bezier(0.25, 0.1, 0.25, 1);
    touch-action: auto; /* Scroll libre */
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    width: auto;
    box-sizing: border-box;
    justify-content: flex-start;
    min-width: 100%;
    padding: 0 20px;
    margin-bottom: 40px;
}

/* Masquer la barre de défilement */
.save-sets-carousel::-webkit-scrollbar {
    display: none;
}

.save-sets-carousel {
    -ms-overflow-style: none;
    scrollbar-width: none;
}

/* Flèches du carrousel */
.save-sets-carousel-prev,
.save-sets-carousel-next {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 48px;
    height: 48px;
    background: #fff;
    border: 2px solid var(--gold);
    border-radius: 50%;
    color: var(--dark);
    font-size: 22px;
    font-weight: 600;
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 10;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    cursor: pointer;
}

.save-sets-carousel-prev:hover,
.save-sets-carousel-next:hover {
    background: var(--rose);
    color: var(--dark);
    transform: translateY(-50%) scale(1.05);
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.2);
}

.save-sets-carousel-prev {
    left: 10px;
}

.save-sets-carousel-next {
    right: 10px;
}

.save-sets-carousel-prev.disabled,
.save-sets-carousel-next.disabled {
    opacity: 0.5;
    cursor: not-allowed;
    transform: translateY(-50%);
}

/* Carte de pack */
.save-sets-card {
    position: relative;
    background: linear-gradient(145deg, #FFF, #FDF9F8);
    border: 1.5px solid var(--gold);
    border-radius: 24px;
    overflow: hidden;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08), 0 8px 24px rgba(0, 0, 0, 0.05);
    transition: transform 0.4s ease, box-shadow 0.4s ease;
    display: flex;
    flex-direction: column;
    scroll-snap-align: center;
     flex: 0 0 320px;
    min-width: 320px;
    max-width: 320px;
    height: 500px;
    height: 500px;
    margin: 0;
    opacity: 0;
    transform: translateY(20px);
    animation: slideIn 0.6s ease forwards;
    animation-delay: calc(var(--animation-order) * 0.1s);
}

.save-sets-card:nth-child(1) { animation-delay: 0.1s; }
.save-sets-card:nth-child(2) { animation-delay: 0.2s; }
.save-sets-card:nth-child(3) { animation-delay: 0.3s; }
.save-sets-card:nth-child(4) { animation-delay: 0.4s; }
.save-sets-card:nth-child(5) { animation-delay: 0.5s; }

@keyframes slideIn {
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.save-sets-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.12), 0 12px 32px rgba(0, 0, 0, 0.08);
}

/* Étiquette d’économie (en haut) */
.save-sets-savings {
    position: absolute;
    top: 15px;
    left: 50%;
    transform: translateX(-50%);
    padding: 6px 12px;
    border-radius: 20px;
    font-size: 13px;
    font-weight: 600;
    background: linear-gradient(90deg, var(--gold), #F5D5B5);
    color: var(--dark);
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
    z-index: 3;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    text-align: center;
    white-space: nowrap;
    transition: transform 0.3s ease;
}

.save-sets-card:hover .save-sets-savings {
    transform: translateX(-50%) scale(1.05);
}

/* Image du pack */
.save-sets-image-wrapper {
    position: relative;
    aspect-ratio: 1 / 1;
    border-radius: 24px 24px 0 0;
    overflow: hidden;
    background: transparent;
    width: 100%;
    height: 280px;
}

.save-sets-image {
    height: 100%;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: transparent;
}

.save-sets-image img {
    height: 100%;
    width: 100%;
    object-fit: contain;
    transition: transform 0.5s ease;
}

.save-sets-card:hover .save-sets-image img {
    transform: scale(1.05);
}

/* Détails du pack */
.save-sets-details {
    padding: 15px;
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    text-align: center;
    height: auto;
    min-height: 220px;
    background: transparent;
    border-radius: 0 0 24px 24px;
}

.save-sets-link {
    text-decoration: none;
}

.save-sets-title {
    font-family: var(--font-primary);
    font-size: 18px;
    font-weight: 500;
    margin: 0 0 10px 0;
    color: var(--dark);
    line-height: 1.4;
    max-height: 50px;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    text-transform: uppercase;
}

.save-sets-link:hover .save-sets-title {
    color: var(--gold);
}

.save-sets-price {
    color: var(--dark);
    font-size: 16px;
    font-weight: 600;
    margin: 5px 0;
    font-family: var(--font-secondary);
    letter-spacing: 0.5px;
}

.save-sets-products {
    margin: 10px 0;
    font-size: 16px;
    color: #666;
    font-style: italic;
    line-height: 1.5;
    flex-grow: 1;
    overflow-y: auto;
    max-height: 100px;
}

.save-sets-product-item {
    display: block;
    margin-bottom: 5px;
}

.save-sets-add-to-cart-btn {
    width: 100%;
    max-width: 100%;
    padding: 8px 10px;
    background: linear-gradient(135deg, #FFF, var(--rose));
    color: var(--dark);
    border: 1px solid var(--dark);
    border-radius: 5px;
    cursor: pointer;
    font-size: 13px;
    font-weight: 500;
    transition: all 0.3s ease;
    display: flex;
    justify-content: space-between;
    align-items: center;
    line-height: 1.2;
    gap: 4px;
    font-family: var(--font-primary);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
    margin: 0 auto;
    white-space: nowrap;
    overflow: visible;
}

.save-sets-add-to-cart-btn:hover,
.save-sets-add-to-cart-btn.active {
    background: linear-gradient(135deg, var(--dark), #2A2A2A);
    color: var(--cream);
    border-color: var(--dark);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    transform: translateY(-2px);
}

.save-sets-add-to-cart-text,
.save-sets-add-to-cart-price {
    font-size: 13px;
    white-space: nowrap;
    overflow: visible;
}

.save-sets-add-to-cart-text {
    flex: 1;
}

.save-sets-add-to-cart-price {
    flex-shrink: 0;
    direction: ltr;
}

/* Carte d’options */
.save-sets-options-card {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: auto;
    background: linear-gradient(145deg, var(--rose), #fdeded);
    z-index: 15;
    border-radius: 10px 10px 0 0 !important;
    box-shadow: 0 8px 20px var(--shadow);
    border: 1px solid rgba(232, 199, 167, 0.2);
    opacity: 0;
    visibility: hidden;
    transform: translateY(100%);
    transition: all 1s cubic-bezier(0.25, 0.1, 0.25, 1);
    isolation: isolate;
    overflow-y: visible !important;
    overflow-x: hidden !important;
}

.save-sets-options-card.preparing {
    display: block;
    visibility: visible;
    opacity: 0;
    transform: translateY(100%);
}

.save-sets-options-card.active {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.save-sets-options-card-inner {
    padding: 15px;
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 10px;
    max-height: 48vh;
    overflow-y: auto;
    overflow-x: hidden;
}

.save-sets-close-options {
    position: sticky !important;
    top: 8px !important;
    right: 15px !important;
    float: right !important;
    margin-bottom: -32px !important;
    width: 32px !important;
    height: 32px !important;
    min-width: 32px !important;
    min-height: 32px !important;
    background: var(--rose) !important;
    border: 1px solid var(--dark) !important;
    border-radius: 50% !important;
    display: flex !important;
    z-index: 1000 !important;
    opacity: 1 !important;
    visibility: visible !important;
    font-size: 16px;
    color: var(--dark);
    cursor: pointer;
    transition: var(--transition);
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
    z-index: 20;
    padding: 0 !important;
}

.save-sets-close-options:hover {
    background: var(--dark);
    color: #fff;
    transform: rotate(90deg);
}

.save-sets-close-options::before {
    content: "×";
    font-size: 18px;
}

.save-sets-option-group {
    margin-bottom: 15px;
}

.save-sets-option-label {
    font-family: var(--font-secondary);
    font-size: 13px;
    font-weight: 500;
    margin-bottom: 8px;
    color: var(--dark);
    text-transform: uppercase;
    letter-spacing: 1px;
    text-align: center;
}

.save-sets-color-options {
    display: flex;
    gap: 14px;
    flex-wrap: wrap;
    justify-content: center;
}

.save-sets-color-option {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    border: 2px solid transparent;
    display: inline-block;
    position: relative;
    cursor: pointer;
    margin: 0 4px;
    background-size: cover;
    background-position: center;
    transition: var(--transition);
}

.save-sets-color-option:hover {
    transform: scale(1.1);
    border-color: var(--dark);
}

.save-sets-color-option.active {
    border-color: var(--gold-dark);
    box-shadow: 0 0 0 2px #fff, 0 0 0 4px var(--gold-dark);
}

.save-sets-color-option .save-sets-color-name {
    position: absolute;
    bottom: -28px;
    left: 50%;
    transform: translateX(-50%);
    background: var(--dark);
    color: var(--cream);
    padding: 3px 8px;
    border-radius: 4px;
    font-size: 11px;
    white-space: nowrap;
    opacity: 0;
    visibility: hidden;
    transition: var(--transition);
}

.save-sets-color-option:hover .save-sets-color-name {
    opacity: 1;
    visibility: visible;
}

.save-sets-color-option[title="Bronze"] {
    background-color: var(--gold) !important;
}

.save-sets-color-option[title="Noisette"] {
    background-color: #8B4513 !important;
}

.save-sets-color-option[title="Rose"] {
    background-color: var(--rose) !important;
}

.save-sets-color-option[title="Rose Gold"] {
    background-color: var(--gold) !important;
}

.save-sets-size-options {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    justify-content: center;
}

.save-sets-size-option {
    padding: 8px 16px;
    border: 1px solid rgba(232, 199, 167, 0.3);
    border-radius: 24px;
    cursor: pointer;
    background-color: #FFF;
    transition: all 0.3s ease;
    font-size: 13px;
    text-align: center;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.05);
    font-family: var(--font-primary);
    color: var(--dark);
}

.save-sets-size-option:hover {
    background-color: var(--rose);
    color: var(--dark);
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.08);
}

.save-sets-size-option.active {
    background-color: var(--gold);
    border-color: var(--gold);
    color: var(--dark);
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}

.save-sets-quantity-selector {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
}

.save-sets-quantity-btn {
    width: 20px;
    height: 20px;
    background: #FFF;
    border: 0.5px solid rgba(0, 0, 0, 0.2);
    border-radius: 50%;
    cursor: pointer;
    font-size: 10px;
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    justify-content: center;
}

.save-sets-quantity-btn:hover {
    background: var(--rose);
    color: var(--dark);
}

.save-sets-quantity-input {
    width: 32px;
    height: 20px;
    border: 1px solid rgba(0, 0, 0, 0.2);
    border-radius: 5px;
    text-align: center;
    font-size: 11px;
    color: var(--dark);
    background-color: #FFF;
    -moz-appearance: textfield;
    padding: 0 4px;
}

.save-sets-quantity-input::-webkit-outer-spin-button,
.save-sets-quantity-input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.save-with-sets .save-sets-purchase-options {
    display: flex;
    flex-direction: column;
    gap: 0 !important;
    justify-content: center;
    align-items: flex-start;
    position: sticky !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    background: linear-gradient(145deg, var(--rose), #fdeded) !important;
    padding: 4px 15px !important;
    margin: 0 -15px 0 !important;
    z-index: 99 !important;
    box-shadow: 0 -4px 12px rgba(0, 0, 0, 0.1) !important;
}

.save-sets-purchase-option {
    display: flex;
    align-items: center;
    gap: 6px;
    cursor: pointer;
    font-size: 13px;
    font-weight: 400;
    color: var(--dark);
    padding: 8px 12px;
    border: 1px solid #ddd;
    border-radius: 5px;
    transition: var(--transition);
    white-space: nowrap;
    background: transparent;
    box-shadow: none;
}

.save-sets-purchase-option:hover {
    color: var(--gold-dark);
    transform: scale(1.02);
    background: rgba(232, 199, 167, 0.1);
    border-color: var(--gold);
}

/* État activé (quand abonnement est activé) */
.save-sets-purchase-option[style*="background-color: rgb(249, 228, 230)"] {
    background-color: #F9E4E6 !important;
    border-color: #E8C7A7 !important;
}

.save-sets-purchase-option span {
    cursor: pointer;
    font-size: 13px;
    font-family: var(--font-primary);
    transition: var(--transition);
}

.save-sets-variant-selections {
    margin-bottom: 12px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    max-height: 300px;
    overflow-y: auto;
    padding-right: 6px;
}

.save-sets-variant-selection {
    border: 1px solid rgba(232, 199, 167, 0.3);
    padding: 10px;
    border-radius: 12px;
    background: linear-gradient(145deg, #FFF, #fef7f5);
    margin-bottom: 6px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.03);
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.save-sets-variant-selection .save-sets-option-group {
    width: 100%;
    margin-bottom: 0;
}

.save-sets-variant-selection-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 6px;
    font-size: 12px;
    font-weight: 500;
    color: var(--dark);
}

.save-sets-remove-selection {
    background-color: transparent;
    border: 0.5px solid rgba(0, 0, 0, 0.2);
    padding: 2px 8px;
    border-radius: 12px;
    cursor: pointer;
    font-size: 11px;
    transition: all 0.3s ease;
    margin-top: 6px;
    width: auto;
    text-align: center;
    color: var(--dark);
    font-weight: 400;
}

.save-sets-remove-selection:hover {
    background-color: var(--rose);
    color: var(--dark);
}

.save-sets-confirm-btn {
    width: 100%;
    padding: 8px 10px;
    background: linear-gradient(145deg, #FFF, var(--rose));
    color: var(--dark);
    border: 1px solid var(--dark);
    border-radius: 5px;
    cursor: pointer;
    font-size: 13px;
    font-weight: 500;
    transition: all 0.3s ease;
    display: flex;
    justify-content: space-between;
    align-items: center;
    line-height: 1.2;
    gap: 4px;
    font-family: var(--font-primary);
    overflow: visible;
}

.save-sets-confirm-btn:hover,
.save-sets-confirm-btn.active {
    background: linear-gradient(145deg, var(--dark), #2A2A2A);
    color: var(--cream);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

/* Styles pour les bundles */
.save-sets-bundle-products {
    display: flex;
    flex-direction: column;
    gap: 15px;
    background: linear-gradient(145deg, #FFF, #fef7f5);
    padding: 15px;
    border-radius: 16px;
    margin-bottom: 20px;
    border: 1px solid rgba(232, 199, 167, 0.3);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.04), 0 6px 16px rgba(0, 0, 0, 0.02);
    max-height: 45vh;
    overflow-y: auto;
}

.save-sets-bundle-products::-webkit-scrollbar {
    width: 6px;
}

.save-sets-bundle-products::-webkit-scrollbar-track {
    background: rgba(0, 0, 0, 0.05);
    border-radius: 3px;
}

.save-sets-bundle-products::-webkit-scrollbar-thumb {
    background: var(--gold);
    border-radius: 3px;
}

.save-sets-bundle-products {
    -ms-overflow-style: auto;
    scrollbar-width: thin;
    scrollbar-color: var(--gold) rgba(0, 0, 0, 0.05);
}

.save-sets-bundle-product {
    display: flex;
    align-items: center !important;
    gap: 10px !important;
    padding: 12px;
    border: 1px solid #E0E0E0;
    border-radius: 12px;
    background: #FFF;
    transition: all 0.3s ease;
    cursor: pointer;
}

.save-sets-bundle-product.selected {
    background: linear-gradient(145deg, #fdeded, #FFF);
    border-color: var(--gold);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

.save-sets-bundle-product .bundle-product-content {
    display: flex;
    align-items: center;
    gap: 12px;
    flex: 1;
}

.save-sets-bundle-product .bundle-product-image {
    width: 50px;
    height: 50px;
}

.save-sets-bundle-product .bundle-product-image img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    border-radius: 8px;
}

.save-sets-bundle-product .bundle-product-header {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.save-sets-bundle-product .bundle-product-label {
    display: flex;
    align-items: center;
    gap: 5px;
}

.save-sets-bundle-product .bundle-product-name {
    font-size: 14px;
    color: var(--dark);
    font-family: var(--font-primary);
}

.save-sets-bundle-product .bundle-product-quantity {
    font-size: 12px;
    color: #666;
}

.save-sets-bundle-product .bundle-product-price {
    font-size: 14px;
    font-weight: 500;
    color: var(--dark);
}

.save-sets-bundle-discount {
    margin-top: 10px;
    font-size: 12px;
    color: #FFF;
    text-align: center;
    font-style: italic;
    background: rgba(232, 199, 167, 0.1);
    padding: 6px;
    border-radius: 6px;
}

/* Notification */
.save-sets-cart-notification {
    position: fixed;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    background: linear-gradient(145deg, var(--rose), #FFF);
    border-radius: 0 0 12px 12px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    width: 100%;
    max-width: 400px;
    z-index: 900 !important; /* Réduit pour être en dessous des popups */
    opacity: 0;
    visibility: hidden;
    transition: all 0.8s ease;
    border: 1px solid rgba(232, 199, 167, 0.2);
    border-top: none;
}

.save-sets-cart-notification.show {
    opacity: 1;
    visibility: visible;
    transform: translate(-50%, 0);
}

.save-sets-notification-inner {
    padding: 12px 15px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.save-sets-notification-image {
    width: 40px;
    height: 40px;
    object-fit: contain;
    border-radius: 5px;
    background-color: var(--cream);
    padding: 2px;
}

.save-sets-notification-content {
    flex: 1;
}

.save-sets-notification-title {
    font-weight: 600;
    margin-bottom: 4px;
    color: var(--dark);
    font-size: 14px;
    line-height: 1.3;
}

.save-sets-notification-message {
    color: #666;
    font-size: 12px;
    font-weight: 400;
}

.save-sets-notification-actions {
    display: flex;
    align-items: center;
    gap: 8px;
}

.save-sets-view-cart-btn {
    padding: 6px 12px;
    border-radius: 5px;
    border: 1px solid var(--dark);
    font-size: 12px;
    text-align: center;
    cursor: pointer;
    transition: all 0.3s ease;
    background: linear-gradient(145deg, var(--dark), #2A2A2A);
    color: var(--cream);
    text-decoration: none;
    font-weight: 500;
}

.save-sets-view-cart-btn:hover {
    background: linear-gradient(145deg, #555, #333);
}

.save-sets-close-notification {
    width: 20px;
    height: 20px;
    background: transparent;
    border: 1px solid #666;
    border-radius: 5px;
    font-size: 12px;
    cursor: pointer;
    color: #666;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
}

.save-sets-close-notification:hover {
    background-color: var(--rose);
    color: var(--dark);
}

/* Styles responsifs pour Save with Sets */
@media (max-width: 1200px) {
    .save-sets-card {
        flex: 0 0 320px;
        min-width: 320px;
        max-width: 320px;
        height: 480px;
    }
    .save-sets-carousel-wrapper {
        padding: 0 20px;
        margin: 50px auto;
    }
    .save-sets-savings {
        font-size: 12px;
        padding: 5px 10px;
    }
    .save-sets-section-title {
        font-size: var(--font-size-title);
    }
    .save-sets-price {
        font-size: 14px;
    }
    .save-sets-products {
        font-size: 15px;
        max-height: 90px;
    }
    .save-sets-add-to-cart-btn {
        padding: 8px 10px;
        font-size: 13px;
        gap: 4px;
    }
    .save-sets-add-to-cart-text,
    .save-sets-add-to-cart-price {
        font-size: 13px;
    }
}

@media (max-width: 992px) {
    .save-sets-card {
         flex: 0 0 320px;
        min-width: 320px;
        max-width: 320px;
        height: 460px;
    }
    .save-sets-carousel-wrapper {
        padding: 0 15px;
        margin: 40px auto;
    }
    .save-sets-carousel-prev,
    .save-sets-carousel-next {
        width: 36px;
        height: 36px;
        font-size: 16px;
    }
    .save-sets-carousel-prev {
        left: 0;
    }
    .save-sets-carousel-next {
        right: 0;
    }
    .save-sets-image-wrapper {
        height: 260px;
    }
    .save-sets-details {
        padding: 12px;
    }
    .save-sets-add-to-cart-btn {
        padding: 8px 10px;
        font-size: 12px;
        gap: 3px;
    }
    .save-sets-add-to-cart-text,
    .save-sets-add-to-cart-price {
        font-size: 12px;
    }
}

@media (max-width: 768px) {
    .save-with-sets .save-sets-confirm-btn {
        font-size: 16px !important;
    }
    .save-with-sets .save-sets-add-to-cart-btn {
        font-size: 16px !important;
    }
    .save-sets-add-to-cart-text,
    .save-sets-add-to-cart-price {
        font-size: 16px !important;
    }
    .save-sets-card {
          flex: 0 0 320px;
        min-width: 320px;
        max-width: 320px;
        height: 440px;
    }
    .save-sets-carousel-wrapper {
        padding: 0 10px;
        margin: 30px auto;
    }
    .save-sets-options-card-inner {
        padding: 8px;
    }
    .save-sets-carousel-prev,
    .save-sets-carousel-next {
        width: 32px;
        height: 32px;
        font-size: 14px;
    }
    .save-sets-carousel-prev {
        left: 0;
    }
    .save-sets-carousel-next {
        right: 0;
    }
    .save-sets-cart-notification {
        max-width: 90%;
    }
    .save-sets-image-wrapper {
        height: 240px;
    }
    .save-sets-details {
        padding: 10px;
    }
    .save-sets-title {
        font-size: 15px;
        max-height: 45px;
    }
    .save-sets-price {
        font-size: 13px;
    }
    .save-sets-products {
        font-size: 14px;
        max-height: 80px;
    }
    .save-sets-add-to-cart-btn {
        padding: 6px 8px;
        font-size: 11px;
        gap: 2px;
    }
    .save-sets-add-to-cart-text,
    .save-sets-add-to-cart-price {
        font-size: 11px;
    }
}

@media (max-width: 576px) {
    .save-with-sets .save-sets-confirm-btn {
        font-size: 16px !important;
    }
    .save-with-sets .save-sets-add-to-cart-btn {
        font-size: 16px !important;
    }
    .save-sets-add-to-cart-text,
    .save-sets-add-to-cart-price {
        font-size: 16px !important;
    }
    .save-sets-card {
         flex: 0 0 320px;
        min-width: 320px;
        max-width: 320px;
        height: 420px;
    }
    .save-sets-image-wrapper {
        height: 220px;
    }
    .save-sets-details {
        padding: 8px;
    }
    .save-sets-title {
        font-size: 14px;
        max-height: 40px;
    }
    .save-sets-price {
        font-size: 12px;
    }
    .save-sets-products {
        font-size: 14px;
        max-height: 70px;
    }
    .save-sets-add-to-cart-btn {
        padding: 6px 8px;
        font-size: 10px;
        gap: 2px;
    }
    .save-sets-add-to-cart-text,
    .save-sets-add-to-cart-price {
        font-size: 10px;
    }
}

.save-sets-bundle-products {
    display: flex !important;
    flex-direction: column !important;
    visibility: visible !important;
    opacity: 1 !important;
}

.save-sets-bundle-product {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
}

.save-sets-bundle-product .bundle-product-image {
    width: 60px !important;
    height: 60px !important;
}

.save-sets-bundle-product .bundle-product-name {
    font-size: 16px !important;
    font-weight: 500 !important;
}

.save-sets-bundle-product .bundle-product-price {
    font-size: 16px !important;
    font-weight: 600 !important;
    color: var(--dark) !important;
}

.save-sets-bundle-product {
    padding: 15px !important;
    gap: 15px !important;
}
/* ==========================================================================
   CORRECTION BUNDLES SAVE WITH SETS - COPIE EXACTE BESTSELLER
   ========================================================================== */

/* Cacher les checkboxes */
.save-with-sets .save-sets-bundle-product input[type="checkbox"] {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
}

/* Container bundles - style bestseller */
.save-with-sets .save-sets-bundle-products {
    background: transparent !important;
    padding: 8px 0 !important;
    margin-bottom: 8px !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 6px !important;
    align-items: center !important;
    justify-content: flex-start !important;
    box-sizing: border-box !important;
    width: 100% !important;
    max-height: 40vh !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    max-height: 250px !important;
    overflow-y: auto !important;
    border: none !important;
    box-shadow: none !important;
}

/* Scrollbar pour les bundles */
.save-with-sets .save-sets-bundle-products::-webkit-scrollbar {
    width: 6px;
}

.save-with-sets .save-sets-bundle-products::-webkit-scrollbar-track {
    background: rgba(0, 0, 0, 0.05);
    border-radius: 3px;
}

.save-with-sets .save-sets-bundle-products::-webkit-scrollbar-thumb {
    background: var(--gold);
    border-radius: 3px;
}

.save-with-sets .save-sets-bundle-products {
    -ms-overflow-style: auto;
    scrollbar-width: thin;
    scrollbar-color: var(--gold) rgba(0, 0, 0, 0.05);
}

/* Produit bundle - style bestseller */
.save-with-sets .save-sets-bundle-product {
    display: flex !important;
    align-items: center !important;
    padding: 6px !important;
    border: 1px solid rgba(232, 199, 167, 0.2) !important;
    border-radius: 8px !important;
    background: #fff !important;
    transition: background 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease !important;
    gap: 8px !important;
    width: 90% !important;
    max-width: 320px !important;
    box-sizing: border-box !important;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.05) !important;
    cursor: pointer !important;
}

.save-with-sets .save-sets-bundle-product:hover {
    background: linear-gradient(145deg, rgba(249, 228, 230, 0.5), rgba(232, 199, 167, 0.2)) !important;
    border-color: var(--gold-dark) !important;
    box-shadow: 0 4px 12px rgba(232, 199, 167, 0.2) !important;
}

.save-with-sets .save-sets-bundle-product.selected {
    background: #F9E4E6 !important;
    border: 2px solid #b89f65 !important;
    box-shadow: 0 4px 12px rgba(232, 199, 167, 0.3) !important;
}

/* Image produit */
.save-with-sets .save-sets-bundle-product .bundle-product-image {
    width: 45px !important;
    height: 45px !important;
    flex-shrink: 0 !important;
    border-radius: 6px !important;
    overflow: hidden !important;
    border: 1px solid rgba(232, 199, 167, 0.3) !important;
}

.save-with-sets .save-sets-bundle-product .bundle-product-image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}

/* Contenu produit */
.save-with-sets .save-sets-bundle-product .bundle-product-content {
    flex: 1 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 4px !important;
}

/* Header produit */
.save-with-sets .save-sets-bundle-product .bundle-product-header {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    flex-wrap: nowrap !important;
}

/* Label produit */
.save-with-sets .save-sets-bundle-product .bundle-product-label {
    display: flex !important;
    flex-direction: column !important;
    gap: 2px !important;
    flex: 1 !important;
}

/* Nom produit */
.save-with-sets .save-sets-bundle-product .bundle-product-name {
    font-size: 12px !important;
    color: var(--dark) !important;
    font-weight: 500 !important;
    line-height: 1.3 !important;
    max-height: 32px !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
}

/* Quantité produit */
.save-with-sets .save-sets-bundle-product .bundle-product-quantity {
    font-size: 10px !important;
    color: #666 !important;
    opacity: 0.7 !important;
    line-height: 1.2 !important;
}

/* Prix produit */
.save-with-sets .save-sets-bundle-product .bundle-product-price {
    font-size: 12px !important;
    font-weight: 500 !important;
    color: var(--dark) !important;
    text-align: center !important;
    margin-top: auto !important;
}

/* Sélecteur de quantité */
.save-with-sets .save-sets-bundle-product .quantity-selector {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 4px !important;
    margin-top: 4px !important;
}

/* Input quantité */
.save-with-sets .save-sets-bundle-product .quantity-input {
    width: 40px !important;
    height: 26px !important;
    border: 1px solid var(--dark) !important;
    border-radius: 6px !important;
    text-align: center !important;
    font-size: 12px !important;
    color: var(--dark) !important;
    background: #fff !important;
    -moz-appearance: textfield !important;
    padding: 0 4px !important;
    transition: border-color 0.3s ease !important;
}

.save-with-sets .save-sets-bundle-product .quantity-input:focus {
    border-color: var(--gold-dark) !important;
    outline: none !important;
}

.save-with-sets .save-sets-bundle-product .quantity-input::-webkit-outer-spin-button,
.save-with-sets .save-sets-bundle-product .quantity-input::-webkit-inner-spin-button {
    -webkit-appearance: none !important;
    margin: 0 !important;
}

/* Boutons quantité */
.save-with-sets .save-sets-bundle-product .quantity-btn {
    width: 26px !important;
    height: 26px !important;
    background: linear-gradient(145deg, #ffffff, #fdeded) !important;
    border: 1px solid var(--dark) !important;
    border-radius: 50% !important;
    cursor: pointer !important;
    font-size: 13px !important;
    transition: var(--transition) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: var(--dark) !important;
}

.save-with-sets .save-sets-bundle-product .quantity-btn:hover {
    background: var(--rose) !important;
    color: var(--dark) !important;
    border-color: var(--dark) !important;
}

/* Discount bundle */
.save-with-sets .save-sets-bundle-discount {
    color: var(--gold-dark) !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    text-align: center !important;
    margin-top: 6px !important;
    padding: 4px !important;
    border-radius: 6px !important;
    border: 1px solid rgba(232, 199, 167, 0.3) !important;
    background: rgba(232, 199, 167, 0.1) !important;
    box-shadow: 0 1px 3px rgba(232, 199, 167, 0.1) !important;
}

/* Définir les variables CSS pour un design cohérent */
:root {
    --font-primary: 'Montserrat', sans-serif;
    --font-secondary: 'Montserrat', sans-serif;
    --dark: #333;
    --gold: #e6b800;
    --rose: #f8e1e1;
    --white: #ffffff;
    --light-bg: #f9f6f2;
    --gray: #666;
    --border: #e0e0e0;
}

/* ==========================================================================
   Section : Prendre Rendez-Vous avec Dr Hela Dahmani
   Description : Élégance et luxe pour consultation pharmaceutique d'exception
   Correction : Problème de scroll résolu
   ========================================================================== */

.lab-ella-appointment {
    max-width: 1320px;
    margin: 100px auto;
    padding: 64px;
    background: linear-gradient(135deg, var(--cream) 0%, #fdf9f8 50%, var(--rose) 100%);
    border-radius: 40px;
    box-shadow: 0 16px 48px rgba(0, 0, 0, 0.08), 0 12px 32px rgba(0, 0, 0, 0.06);
    font-family: var(--font-primary);
    position: relative;
    overflow: visible !important; /* CORRECTION SCROLL */
    z-index: 1;
}

.lab-ella-appointment::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" preserveAspectRatio="none"%3E%3Ccircle cx="50" cy="50" r="40" fill="rgba(232,199,167,0.1)" /%3E%3C/svg%3E') repeat;
    opacity: 0.15; /* Réduit pour plus de subtilité */
    z-index: -1;
    animation: particleFloat 25s linear infinite; /* Ralenti pour fluidité */
}

@keyframes particleFloat {
    0% { background-position: 0 0; }
    100% { background-position: 100px 100px; }
}

.lab-ella-appointment .appointment-columns {
    display: flex;
    flex-wrap: wrap;
    gap: 64px;
    justify-content: space-between;
    overflow: visible !important; /* CORRECTION SCROLL */
}

.lab-ella-appointment .appointment-column {
    flex: 1;
    min-width: 360px;
    min-height: 600px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    position: relative;
    z-index: 2;
    overflow: visible !important; /* CORRECTION SCROLL */
}

.lab-ella-appointment .appointment-title {
    font-family: var(--font-secondary);
    font-size: var(--font-size-title);
    font-weight: 500;
    color: var(--dark);
    margin: 0 auto 20px;
    text-align: center;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    position: relative;
    opacity: 0;
    transform: translateY(30px); /* ANIMATION SIMPLIFIÉE */
    animation: elegantFadeIn 1.2s ease-out 0.2s forwards; /* ANIMATION ÉLÉGANTE */
    text-shadow: 0 4px 8px rgba(232, 199, 167, 0.2);
}

.lab-ella-appointment .appointment-title::after {
    content: '';
    width: 80px;
    height: 3px;
    background: linear-gradient(90deg, transparent, var(--gold), transparent);
    position: absolute;
    bottom: -16px;
    left: 50%;
    transform: translateX(-50%) scaleX(0);
    animation: lineGrow 1.2s ease-out 0.6s forwards; /* ANIMATION ÉLÉGANTE */
}

.lab-ella-appointment .appointment-title:hover {
    color: var(--gold);
    text-shadow: 0 0 16px rgba(232, 199, 167, 0.7);
    transition: all 0.3s ease;
}

@keyframes elegantFadeIn {
    to { opacity: 1; transform: translateY(0); }
}

@keyframes lineGrow {
    to { transform: translateX(-50%) scaleX(1); }
}

.lab-ella-appointment .appointment-bio {
    font-family: var(--font-primary);
    font-size: 18px;
    color: #333;
    line-height: 1.8;
    margin: 0 auto 64px;
    max-width: 900px;
    text-align: center;
    opacity: 0;
    transform: translateY(30px); /* ANIMATION SIMPLIFIÉE */
    animation: elegantFadeIn 1.2s ease-out 0.4s forwards; /* ANIMATION ÉLÉGANTE */
}

.lab-ella-appointment .appointment-bio em {
    font-style: italic;
    color: var(--gold);
    text-shadow: 0 2px 4px rgba(232, 199, 167, 0.4);
}

.lab-ella-appointment .expert-image-wrapper {
    width: 100%;
    max-width: 600px;
    height: 580px;
    margin: 0 auto;
    border-radius: 24px;
    overflow: hidden;
    position: relative;
    background: linear-gradient(145deg, var(--cream), #fdeded);
    box-shadow: 0 12px 32px rgba(0, 0, 0, 0.15);
    border: 3px solid var(--gold);
    transition: box-shadow 0.4s ease, transform 0.4s ease; /* TRANSITIONS RÉDUITES */
    opacity: 0;
    transform: translateY(40px); /* ANIMATION SIMPLIFIÉE - PAS DE ROTATION */
    animation: elegantFadeIn 1.4s ease-out 0.6s forwards; /* ANIMATION ÉLÉGANTE */
    display: flex;
    align-items: center;
    justify-content: center;
}

.lab-ella-appointment .expert-image-wrapper:hover {
    box-shadow: 0 20px 60px rgba(232, 199, 167, 0.6), 0 24px 80px rgba(249, 228, 230, 0.4);
    transform: translateY(-12px); /* HOVER RÉDUIT */
    filter: drop-shadow(0 0 12px rgba(232, 199, 167, 0.4));
}

.lab-ella-appointment .expert-image-wrapper::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(45deg, rgba(232, 199, 167, 0.2), rgba(249, 228, 230, 0.1)); /* RÉDUIT */
    opacity: 0;
    transition: opacity 0.4s ease; /* TRANSITION RÉDUITE */
    z-index: 1;
}

.lab-ella-appointment .expert-image-wrapper:hover::after {
    opacity: 1;
}

.lab-ella-appointment .expert-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.4s ease; /* TRANSITION RÉDUITE */
    position: relative;
    z-index: 0;
}

.lab-ella-appointment .expert-image-wrapper:hover .expert-image {
    transform: scale(1.05); /* SCALE RÉDUIT */
}

.lab-ella-appointment .appointment-form-wrapper {
    background: linear-gradient(145deg, rgba(255, 255, 255, 0.95), rgba(253, 233, 232, 0.9));
    padding: 48px;
    border-radius: 24px;
    border: 1px solid var(--rose);
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.08), inset 0 0 12px rgba(232, 199, 167, 0.15);
    position: relative;
    opacity: 0;
    transform: translateY(40px); /* ANIMATION SIMPLIFIÉE */
    animation: elegantFadeIn 1.4s ease-out 0.8s forwards; /* ANIMATION ÉLÉGANTE */
    backdrop-filter: blur(5px);
    width: 100%;
    max-width: 600px;
    margin: 0 auto;
}

.lab-ella-appointment .appointment-form-wrapper::before,
.lab-ella-appointment .appointment-form-wrapper::after {
    content: '';
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    width: 100px;
    height: 2px;
    background: linear-gradient(90deg, transparent, var(--gold), transparent);
}

.lab-ella-appointment .appointment-form-wrapper::before {
    top: -2px;
}

.lab-ella-appointment .appointment-form-wrapper::after {
    bottom: -2px;
}

.lab-ella-appointment .appointment-form {
    display: flex;
    flex-direction: column;
    gap: 28px;
}

.lab-ella-appointment .appointment-field {
    display: flex;
    flex-direction: column;
    gap: 10px;
    position: relative;
}

.lab-ella-appointment .appointment-field.inline {
    display: flex;
    flex-direction: row;
    gap: 28px;
}

.lab-ella-appointment .appointment-field label {
    font-family: 'Montserrat', sans-serif;
    font-size: 14px;
    font-weight: 600;
    color: var(--dark);
    text-transform: uppercase;
    letter-spacing: 1.2px;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
}

.lab-ella-appointment .appointment-field input,
.lab-ella-appointment .appointment-field select {
    padding: 18px;
    border: 2px solid transparent;
    border-radius: 12px;
    font-size: 17px;
    font-family: var(--font-primary);
    background: rgba(255, 255, 255, 0.95);
    transition: border-color 0.3s ease, box-shadow 0.3s ease, transform 0.3s ease; /* TRANSITIONS RÉDUITES */
    min-height: 56px;
    box-shadow: inset 0 2px 6px rgba(0, 0, 0, 0.03);
    position: relative;
    z-index: 1;
}

.lab-ella-appointment .appointment-field input:focus,
.lab-ella-appointment .appointment-field select:focus {
    border-color: var(--gold);
    box-shadow: 0 0 12px rgba(232, 199, 167, 0.5), inset 0 0 6px rgba(232, 199, 167, 0.2);
    transform: translateY(-2px); /* MOUVEMENT RÉDUIT */
    outline: none;
}

.lab-ella-appointment .appointment-field input::placeholder {
    color: #ddd;
}

.lab-ella-appointment .appointment-field select {
    appearance: none;
    background: url('data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTgiIGhlaWdodD0iMTIiIHZpZXdCb3g9IjAgMCAxOCAxMiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNMTYuNSAzLjVMOSA5TDEuNSAzLjVMMi41IDFMOSAxMC41TDE1LjUgMUwxNi41IDMuNVoiIGZpbGw9IiNkZGQiLz48L3N2Zz4=') no-repeat right 18px center;
    background-size: 14px;
    padding-right: 48px;
}

.lab-ella-appointment .calendar-field {
    position: relative;
    flex: 1;
}

.lab-ella-appointment .appointment-calendar {
    position: absolute;
    top: calc(100% + 10px);
    left: 0;
    background: linear-gradient(145deg, rgba(255, 255, 255, 0.95), rgba(253, 233, 232, 0.9));
    border: 2px solid var(--rose);
    border-radius: 20px;
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.15);
    padding: 24px;
    z-index: 100;
    display: none;
    width: 340px;
    backdrop-filter: blur(3px);
}

.lab-ella-appointment .appointment-calendar.active {
    display: block;
}

.lab-ella-appointment .calendar-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 16px;
}

.lab-ella-appointment .calendar-month-year {
    font-family: 'Montserrat', sans-serif;
    font-size: 16px;
    font-weight: 600;
    color: var(--dark);
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
}

.lab-ella-appointment .calendar-nav {
    background: transparent;
    border: none;
    font-size: 18px;
    color: var(--dark);
    cursor: pointer;
    transition: color 0.3s ease, transform 0.3s ease; /* TRANSITIONS RÉDUITES */
}

.lab-ella-appointment .calendar-nav:hover {
    color: var(--gold);
    transform: scale(1.1); /* EFFET RÉDUIT */
}

.lab-ella-appointment .calendar-days {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 10px;
    margin-bottom: 16px;
}

.lab-ella-appointment .calendar-day-header {
    font-family: 'Montserrat', sans-serif;
    font-size: 13px;
    color: #777;
    text-align: center;
}

.lab-ella-appointment .calendar-dates {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 10px;
}

.lab-ella-appointment .calendar-date {
    padding: 12px;
    text-align: center;
    font-family: 'Montserrat', sans-serif;
    font-size: 15px;
    color: var(--dark);
    cursor: pointer;
    border-radius: 10px;
    transition: background 0.3s ease, transform 0.3s ease, box-shadow 0.3s ease; /* TRANSITIONS RÉDUITES */
    position: relative;
    z-index: 1;
}

.lab-ella-appointment .calendar-date:hover:not(.disabled) {
    background: linear-gradient(145deg, var(--rose), #fdeded);
    transform: translateY(-2px); /* MOUVEMENT RÉDUIT */
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); /* OMBRE RÉDUITE */
}

.lab-ella-appointment .calendar-date.selected {
    background: linear-gradient(135deg, var(--gold), #f5d5b5);
    color: var(--white);
    font-weight: 600;
    box-shadow: 0 6px 16px rgba(232, 199, 167, 0.4);
    transform: scale(1.05);
}

.lab-ella-appointment .calendar-date.disabled {
    color: #eee;
    cursor: not-allowed;
}

.lab-ella-appointment .calendar-date.empty {
    background: transparent;
}

.lab-ella-appointment .product-autocomplete-wrapper {
    position: relative;
}

.lab-ella-appointment .product-autocomplete-input {
    width: 100%;
    padding: 18px;
    border: 2px solid transparent;
    border-radius: 12px;
    font-size: 17px;
    font-family: var(--font-primary);
    background: rgba(255, 255, 255, 0.95);
    transition: border-color 0.3s ease, box-shadow 0.3s ease, transform 0.3s ease; /* TRANSITIONS RÉDUITES */
    min-height: 56px;
}

.lab-ella-appointment .product-autocomplete-input:focus {
    border-color: var(--gold);
    box-shadow: 0 0 12px rgba(232, 199, 167, 0.5);
    transform: translateY(-2px); /* MOUVEMENT RÉDUIT */
    outline: none;
}

.lab-ella-appointment .product-autocomplete-suggestions {
    position: absolute;
    top: calc(100% + 10px);
    left: 0;
    right: 0;
    background: linear-gradient(145deg, #fff, #fdeded);
    border: 2px solid var(--rose);
    border-radius: 16px;
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.15);
    max-height: 240px;
    overflow-y: auto;
    z-index: 100;
    display: none;
}

.lab-ella-appointment .product-autocomplete-suggestions.active {
    display: block;
}

.lab-ella-appointment .product-autocomplete-suggestion {
    padding: 14px 18px;
    font-family: var(--font-primary);
    font-size: 16px;
    color: var(--dark);
    cursor: pointer;
    transition: background 0.3s ease, transform 0.3s ease; /* TRANSITIONS RÉDUITES */
}

.lab-ella-appointment .product-autocomplete-suggestion:hover {
    background: var(--rose);
    transform: translateX(3px); /* MOUVEMENT RÉDUIT */
}

.lab-ella-appointment .selected-products {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 12px;
}

.lab-ella-appointment .selected-product {
    display: flex;
    align-items: center;
    background: linear-gradient(145deg, var(--rose), #fdeded);
    padding: 10px 14px;
    border-radius: 10px;
    font-size: 15px;
    color: var(--dark);
    border: 2px solid var(--gold);
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.06);
    transition: transform 0.3s ease; /* TRANSITION RÉDUITE */
}

.lab-ella-appointment .selected-product:hover {
    transform: scale(1.03); /* SCALE RÉDUIT */
}

.lab-ella-appointment .selected-product-remove {
    margin-left: 10px;
    background: none;
    border: none;
    cursor: pointer;
    color: #c62828;
    font-size: 15px;
    transition: color 0.3s ease, transform 0.3s ease; /* TRANSITIONS RÉDUITES */
}

.lab-ella-appointment .selected-product-remove:hover {
    color: #b71c1c;
    transform: scale(1.2); /* SCALE RÉDUIT */
}

.lab-ella-appointment .appointment-submit-btn {
    background: linear-gradient(135deg, var(--gold), #f5d5b5);
    color: var(--dark);
    border: none;
    padding: 16px 40px;
    border-radius: 12px;
    font-size: 17px;
    font-weight: 600;
    font-family: 'Montserrat', sans-serif;
    cursor: pointer;
    transition: transform 0.3s ease, box-shadow 0.3s ease, background 0.3s ease; /* TRANSITIONS RÉDUITES */
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15);
    position: relative;
    overflow: hidden;
    z-index: 1;
}

.lab-ella-appointment .appointment-submit-btn:hover {
    background: linear-gradient(135deg, #f5d5b5, var(--gold));
    transform: translateY(-3px); /* MOUVEMENT RÉDUIT */
    box-shadow: 0 10px 30px rgba(232, 199, 167, 0.5); /* OMBRE RÉDUITE */
}

.lab-ella-appointment .appointment-submit-btn:active {
    transform: scale(0.98); /* SCALE RÉDUIT */
}

.lab-ella-appointment .appointment-submit-btn:disabled {
    opacity: 0.5;
    cursor: not-allowed;
    transform: none;
}

.lab-ella-appointment .appointment-submit-btn::after {
    content: '';
    position: absolute;
    top: 0;
    left: -150%;
    width: 150%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.4), transparent);
    transition: left 0.6s ease; /* TRANSITION RÉDUITE */
    z-index: -1;
}

.lab-ella-appointment .appointment-submit-btn:hover::after {
    left: 150%;
}

.lab-ella-appointment .appointment-message {
    margin-top: 20px;
    font-size: 15px;
    font-family: var(--font-primary);
    text-align: center;
    padding: 12px 20px;
    border-radius: 10px;
}

.lab-ella-appointment .appointment-message.error {
    color: #c62828;
    background: rgba(198, 40, 40, 0.15);
    border: 2px solid rgba(198, 40, 40, 0.3);
}

.lab-ella-appointment .appointment-message.success {
    color: #2e7d32;
    background: rgba(46, 125, 50, 0.15);
    border: 2px solid rgba(46, 125, 50, 0.3);
}

.lab-ella-appointment .product-options-popup {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.8);
    display: none;
    align-items: center;
    justify-content: center;
    z-index: 9999;
}

.lab-ella-appointment .product-options-popup.active {
    display: flex;
}

.lab-ella-appointment .popup-content {
    background: linear-gradient(145deg, #fff, #fdeded);
    padding: 40px;
    border-radius: 20px;
    max-width: 500px;
    width: 90%;
    max-height: 80vh;
    overflow-y: auto;
    box-shadow: 0 16px 64px rgba(0, 0, 0, 0.25);
    border: 2px solid var(--rose);
    position: relative;
    z-index: 1;
}

.lab-ella-appointment .popup-close {
    position: absolute;
    top: 16px;
    right: 16px;
    width: 32px;
    height: 32px;
    background: var(--rose);
    border: none;
    border-radius: 50%;
    font-size: 16px;
    color: var(--dark);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background 0.3s ease, transform 0.3s ease; /* TRANSITIONS RÉDUITES */
}

.lab-ella-appointment .popup-close:hover {
    background: var(--gold);
    transform: rotate(90deg); /* ROTATION RÉDUITE */
}

.lab-ella-appointment .appointment-success-popup {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.8);
    display: none;
    align-items: center;
    justify-content: center;
    z-index: 9999;
}

.lab-ella-appointment .appointment-success-popup.active {
    display: flex;
}

.lab-ella-appointment .success-popup-content {
    background: linear-gradient(145deg, #fff, #fdeded);
    padding: 48px;
    border-radius: 24px;
    max-width: 600px;
    width: 90%;
    text-align: center;
    box-shadow: 0 16px 64px rgba(0, 0, 0, 0.25);
    border: 2px solid var(--rose);
    position: relative;
    overflow: hidden;
    z-index: 1;
}

.lab-ella-appointment .success-popup-content::before {
    content: '';
    position: absolute;
    top: -50%;
    left: -50%;
    width: 200%;
    height: 200%;
    background: radial-gradient(circle, rgba(232, 199, 167, 0.1) 0%, transparent 70%);
    animation: successGlow 3s ease-in-out infinite;
    z-index: -1;
}

@keyframes successGlow {
    0%, 100% { transform: scale(1) rotate(0deg); opacity: 0.5; }
    50% { transform: scale(1.1) rotate(180deg); opacity: 0.8; }
}

.lab-ella-appointment .success-icon {
    font-size: 64px;
    color: var(--gold);
    margin-bottom: 24px;
    display: block;
    animation: successPulse 2s ease-in-out infinite;
}

@keyframes successPulse {
    0%, 100% { transform: scale(1); }
    50% { transform: scale(1.1); }
}

.lab-ella-appointment .success-title {
    font-family: var(--font-secondary);
    font-size: 28px;
    color: var(--dark);
    margin-bottom: 16px;
    font-weight: 600;
}

.lab-ella-appointment .success-message {
    font-family: var(--font-primary);
    font-size: 16px;
    color: #666;
    line-height: 1.6;
    margin-bottom: 32px;
}

.lab-ella-appointment .success-close-btn {
    background: linear-gradient(135deg, var(--gold), #f5d5b5);
    color: var(--dark);
    border: none;
    padding: 12px 32px;
    border-radius: 10px;
    font-size: 16px;
    font-weight: 600;
    font-family: 'Montserrat', sans-serif;
    cursor: pointer;
    transition: transform 0.3s ease, box-shadow 0.3s ease; /* TRANSITIONS RÉDUITES */
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.1);
}

.lab-ella-appointment .success-close-btn:hover {
    transform: translateY(-2px); /* MOUVEMENT RÉDUIT */
    box-shadow: 0 8px 25px rgba(232, 199, 167, 0.4);
}

/* Responsive Design */
@media (max-width: 1024px) {
    .lab-ella-appointment {
        margin: 60px auto;
        padding: 48px;
    }
    .lab-ella-appointment .appointment-columns {
        gap: 48px;
    }
    .lab-ella-appointment .appointment-column {
        min-width: 300px;
    }
}

@media (max-width: 768px) {
    .lab-ella-appointment {
        margin: 40px auto;
        padding: 32px;
    }
    .lab-ella-appointment .appointment-columns {
        flex-direction: column;
        gap: 32px;
    }
    .lab-ella-appointment .appointment-column {
        min-width: auto;
        min-height: auto;
    }
    .lab-ella-appointment .appointment-title {
        font-size: 24px;
    }
    .lab-ella-appointment .expert-image-wrapper {
        max-width: 100%;
        height: 400px;
    }
    .lab-ella-appointment .appointment-form-wrapper {
        padding: 32px;
        max-width: 100%;
    }
    .lab-ella-appointment .appointment-field.inline {
        flex-direction: column;
        gap: 20px;
    }
}

@media (max-width: 576px) {
    .lab-ella-appointment {
        margin: 24px auto;
        padding: 24px;
    }
    .lab-ella-appointment .appointment-title {
        font-size: 20px;
    }
    .lab-ella-appointment .appointment-bio {
        font-size: 16px;
    }
    .lab-ella-appointment .expert-image-wrapper {
        height: 320px;
    }
    .lab-ella-appointment .appointment-form-wrapper {
        padding: 24px;
    }
    .lab-ella-appointment .appointment-submit-btn {
        padding: 14px 32px;
        font-size: 16px;
    }
}

/* ==========================================================================
    Mon compte - Lab Ella 
   ========================================================================== 
   */

.woocommerce-account .woocommerce {
    max-width: 1000px;
    margin: 40px auto;
    padding: 0;
    background: transparent;
    font-family: var(--font-primary);
    overflow: visible;
}

/* Navigation */
.woocommerce-account .woocommerce-MyAccount-navigation {
    background: var(--cream);
    padding: 15px;
    border-radius: var(--border-radius);
    margin-bottom: 20px;
    text-align: center;
    display: block !important;
    visibility: visible !important;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: block;
}

.woocommerce-account .woocommerce-MyAccount-navigation li {
    display: inline-block;
    margin: 5px;
}

.woocommerce-account .woocommerce-MyAccount-navigation li a {
    display: inline-block;
    padding: 8px 20px;
    font-family: var(--font-secondary);
    font-size: 14px;
    color: var(--dark);
    text-decoration: none;
    background: #fff;
    border-radius: 20px;
    transition: var(--transition);
    box-shadow: 0 2px 5px var(--light-shadow);
}

.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a,
.woocommerce-account .woocommerce-MyAccount-navigation li a:hover {
    background: var(--rose);
    color: var(--dark);
    box-shadow: 0 4px 10px var(--shadow);
}

/* Contenu général */
.woocommerce-account .woocommerce-MyAccount-content {
    padding: 20px;
    background: #fff;
    border-radius: var(--border-radius);
    box-shadow: 0 3px 10px var(--shadow);
    margin-bottom: 20px;
}

/* En-tête */
.lab-ella-my-account-header {
    margin-bottom: 20px;
    text-align: center;
}

.lab-ella-my-account-header h1 {
    font-family: var(--font-secondary);
    font-size: 28px;
    color: var(--dark);
    margin: 0 0 10px;
}

.lab-ella-my-account-header .lab-ella-logout {
    font-size: 14px;
    color: var(--gold);
    text-decoration: none;
    font-family: var(--font-primary);
    padding: 8px 15px;
    border-radius: 20px;
    transition: var(--transition);
}

.lab-ella-my-account-header .lab-ella-logout:hover {
    background: var(--rose);
    color: var(--dark);
}

/* Actions Dashboard */
.lab-ella-my-account-actions {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 15px;
    margin-bottom: 20px;
    text-align: center;
}

.lab-ella-action-btn {
    display: block;
    padding: 12px;
    background: var(--gold);
    color: var(--dark);
    font-family: var(--font-primary);
    font-size: 14px;
    text-decoration: none;
    border-radius: 8px;
    transition: var(--transition);
    box-shadow: 0 2px 5px var(--light-shadow);
}

.lab-ella-action-btn:hover {
    background: var(--rose);
    transform: translateY(-2px);
    box-shadow: 0 4px 10px var(--shadow);
}

/* Messages "Vide" */
.woocommerce-MyAccount-content p:empty + p,
.woocommerce-MyAccount-content .woocommerce-Message--info {
    background: var(--cream);
    padding: 20px;
    border-radius: 8px;
    text-align: center;
    font-size: 14px;
    color: var(--dark);
    border: 1px solid var(--rose);
    margin: 20px 0;
    font-style: italic;
}

/* Commandes */
.woocommerce-MyAccount-orders {
    width: 100%;
    border-collapse: collapse;
    background: #fff;
    border-radius: 8px;
    overflow: hidden;
}

.woocommerce-MyAccount-orders th,
.woocommerce-MyAccount-orders td {
    padding: 12px;
    border-bottom: 1px solid var(--rose);
    font-size: 14px;
    text-align: left;
    color: var(--dark);
}

.woocommerce-MyAccount-orders th {
    background: var(--rose);
    font-family: var(--font-secondary);
    font-weight: 600;
}

.woocommerce-MyAccount-orders td {
    font-family: var(--font-primary);
}

.woocommerce-MyAccount-orders .woocommerce-orders-table__cell-order-actions a {
    display: inline-block;
    padding: 6px 12px;
    background: var(--gold);
    color: var(--dark);
    border-radius: 20px;
    text-decoration: none;
    font-size: 12px;
    font-family: var(--font-primary);
    transition: var(--transition);
}

.woocommerce-MyAccount-orders .woocommerce-orders-table__cell-order-actions a:hover {
    background: var(--rose);
}

/* Adresses */
.woocommerce-Addresses {
    display: block;
    margin: 0;
}

.woocommerce-Addresses .woocommerce-Address {
    background: var(--cream);
    padding: 15px;
    border-radius: 8px;
    box-shadow: 0 2px 5px var(--shadow);
    margin-bottom: 20px;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    transition: var(--transition);
}

.woocommerce-Addresses .woocommerce-Address:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 10px var(--shadow);
}

.woocommerce-Address header {
    margin-bottom: 10px;
}

.woocommerce-Address-title h3 {
    font-family: var(--font-secondary);
    font-size: 16px;
    color: var(--dark);
    margin: 0;
}

.woocommerce-Address .edit {
    font-size: 12px;
    color: var(--gold);
    text-decoration: none;
    font-family: var(--font-primary);
}

.woocommerce-Address .edit:hover {
    text-decoration: underline;
}

.woocommerce-Address address {
    font-size: 14px;
    color: var(--dark);
    line-height: 1.6;
    font-family: var(--font-primary);
}

/* Détails du compte */
.woocommerce-EditAccountForm {
    background: var(--cream);
    padding: 15px;
    border-radius: 8px;
    box-shadow: 0 2px 5px var(--shadow);
}

.woocommerce-EditAccountForm legend {
    font-family: var(--font-secondary);
    font-size: 18px;
    color: var(--dark);
    margin-bottom: 15px;
    text-align: center;
}

.woocommerce-EditAccountForm .form-row {
    margin-bottom: 15px;
}

.woocommerce-EditAccountForm label {
    font-size: 14px;
    color: var(--dark);
    margin-bottom: 5px;
    display: block;
    font-family: var(--font-primary);
}

.woocommerce-EditAccountForm input[type="text"],
.woocommerce-EditAccountForm input[type="email"],
.woocommerce-EditAccountForm input[type="password"] {
    width: 100%;
    padding: 10px;
    border: 1px solid var(--rose);
    border-radius: 5px;
    font-size: 14px;
    color: var(--dark);
    font-family: var(--font-primary);
    transition: var(--transition);
}

.woocommerce-EditAccountForm input[type="text"]:focus,
.woocommerce-EditAccountForm input[type="email"]:focus,
.woocommerce-EditAccountForm input[type="password"]:focus {
    border-color: var(--gold);
    outline: none;
}

.woocommerce-EditAccountForm .button {
    padding: 10px 25px;
    background: var(--gold);
    color: var(--dark);
    border: none;
    border-radius: 20px;
    font-family: var(--font-primary);
    font-size: 14px;
    transition: var(--transition);
    display: block;
    margin: 15px auto 0;
}

.woocommerce-EditAccountForm .button:hover {
    background: var(--rose);
}

/* Rendez-vous */
.lab-ella-rendezvous h2 {
    font-family: var(--font-secondary);
    font-size: 22px;
    color: var(--dark);
    margin-bottom: 20px;
    text-align: center;
}

.lab-ella-rendezvous-list {
    display: block;
}

.lab-ella-rendezvous-item {
    background: var(--cream);
    border-radius: 8px;
    padding: 15px;
    margin-bottom: 15px;
    display: grid;
    grid-template-columns: 1fr 2fr 2fr 1fr;
    gap: 10px;
    align-items: center;
    box-shadow: 0 2px 5px var(--shadow);
    transition: var(--transition);
}

.lab-ella-rendezvous-item:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 10px var(--shadow);
}

.lab-ella-rendezvous-id,
.lab-ella-rendezvous-date,
.lab-ella-rendezvous-products,
.lab-ella-rendezvous-status {
    font-size: 14px;
    color: var(--dark);
    font-family: var(--font-primary);
}

.lab-ella-rendezvous-status {
    font-weight: 600;
    color: var(--gold);
    text-align: center;
}

/* Responsivité */
@media (max-width: 768px) {
    .woocommerce-account .woocommerce {
        margin: 15px;
    }

    .woocommerce-account .woocommerce-MyAccount-navigation {
        display: block !important;
        visibility: visible !important;
        position: static !important;
        width: 100% !important;
        height: auto !important;
        opacity: 1 !important;
        overflow: visible !important;
    }

    .woocommerce-account .woocommerce-MyAccount-navigation ul {
        display: flex;
        flex-direction: column;
        gap: 8px;
    }

    .woocommerce-account .woocommerce-MyAccount-navigation li {
        display: block;
        margin: 0;
    }

    .woocommerce-account .woocommerce-MyAccount-content {
        display: block !important;
        visibility: visible !important;
        position: static !important;
        width: 100% !important;
        height: auto !important;
        opacity: 1 !important;
        overflow: visible !important;
    }

    .lab-ella-my-account-header {
        flex-direction: column;
        gap: 8px;
    }

    .lab-ella-my-account-header h1 {
        font-size: 20px;
    }

    .lab-ella-action-btn {
        padding: 10px;
        font-size: 13px;
    }

    .lab-ella-rendezvous-item {
        grid-template-columns: 1fr;
        text-align: center;
        gap: 8px;
    }

    .woocommerce-Addresses {
        display: block;
    }

    .woocommerce-Addresses .woocommerce-Address {
        margin-bottom: 15px;
    }

    .woocommerce-MyAccount-orders th,
    .woocommerce-MyAccount-orders td {
        font-size: 12px;
        padding: 8px;
    }

    .woocommerce-EditAccountForm input[type="text"],
    .woocommerce-EditAccountForm input[type="email"],
    .woocommerce-EditAccountForm input[type="password"] {
        padding: 8px;
        font-size: 13px;
    }
}

/* ========================================
   CSS FINAL LAB ELLA - AVEC VRAI BACKEND
   Garde la main section intacte
   Corrige TOUS les problèmes du feedback
   Sélecteurs ultra spécifiques anti-conflits
======================================== */

/* ===== VARIABLES LAB ELLA ===== */
:root {
    --lab-ella-cream: #FAF9F6;
    --lab-ella-rose: #F9E4E6;
    --lab-ella-gold: #E8C7A7;
    --lab-ella-dark: #333333;
    --lab-ella-text: #666666;
    --lab-ella-border: #E5E5E5;
    --lab-ella-shadow: 0 2px 10px rgba(0,0,0,0.1);
    --lab-ella-transition: all 0.3s ease;
}

/* ===== BASE PAGE PRODUIT ===== */
.lab-ella-product-page {
    font-family: 'Inter', sans-serif; /* Police moderne */
    color: var(--lab-ella-text);
    line-height: 1.6;
}

/* ========================================
   MAIN SECTION - CONSERVÉE INTACTE
======================================== */

/* Layout 55/45 */
.lab-ella-product-page .glow-recipe-main-section {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 30px !important;
    max-width: 1400px !important;
    margin: 0 auto !important;
    padding: 40px 20px !important;
}

/* Colonne Images (55%) */
.lab-ella-product-page .glow-recipe-images {
    position: relative !important;
}

.lab-ella-product-page .glow-images-container {
    display: flex !important;
    gap: 20px !important;
}

/* Vignettes */
.lab-ella-product-page .glow-image-thumbnails {
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
    width: 80px !important;
}

.lab-ella-product-page .glow-thumbnail {
    width: 80px !important;
    height: 80px !important;
    border-radius: 10px !important;
    overflow: hidden !important;
    cursor: pointer !important;
    border: 2px solid transparent !important;
    transition: var(--lab-ella-transition) !important;
    opacity: 0.7 !important;
}

.lab-ella-product-page .glow-thumbnail.active,
.lab-ella-product-page .glow-thumbnail:hover {
    border-color: var(--lab-ella-gold) !important;
    opacity: 1 !important;
    box-shadow: 0 0 10px rgba(232, 199, 167, 0.5) !important;
}

.lab-ella-product-page .glow-thumbnail img,
.lab-ella-product-page .glow-thumbnail video {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}

/* Carrousel Principal */
.lab-ella-product-page .glow-main-image-carousel {
    flex: 1 !important;
    position: relative !important;
    height: 600px !important;
    border-radius: 15px !important;
    overflow: hidden !important;
    background-color: var(--lab-ella-cream) !important;
}

.lab-ella-product-page .glow-carousel-slide {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    opacity: 0 !important;
    transition: opacity 0.5s ease !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.lab-ella-product-page .glow-carousel-slide.active {
    opacity: 1 !important;
}

.lab-ella-product-page .glow-carousel-slide img,
.lab-ella-product-page .glow-carousel-slide video {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}

/* Vidéos "See in Action" (sous carrousel) */
.lab-ella-product-page .glow-see-in-action {
    margin-top: 12px !important;
}

.lab-ella-product-page .glow-see-in-action h4 {
    font-size: 16px !important;
    font-weight: 600 !important;
    color: var(--lab-ella-dark) !important;
    margin-bottom: 15px !important;
    text-align: center !important;
}

.lab-ella-product-page .glow-video-thumbnails {
    display: flex !important;
    justify-content: center !important;
    gap: 15px !important;
    flex-wrap: wrap !important;
}

.lab-ella-product-page .glow-video-thumbnail {
    width: 150px !important;
    height: 150px !important;
    min-width: 150px !important;
    min-height: 150px !important;
    max-width: 150px !important;
    max-height: 150px !important;
    border-radius: 50% !important;
    overflow: hidden !important;
    position: relative !important;
    cursor: pointer !important;
    border: none !important;
    transition: var(--lab-ella-transition) !important;
    box-shadow: none !important;
    aspect-ratio: 1 !important;
}

.lab-ella-product-page .glow-video-thumbnail img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    transition: transform 0.3s ease !important;
    aspect-ratio: 1 !important;
    border-radius: 50% !important;
}

.lab-ella-product-page .glow-video-thumbnail:hover img {
    transform: scale(1.1) !important;
}

.lab-ella-product-page .glow-play-button {
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
    width: 40px !important;
    height: 40px !important;
    min-width: 40px !important;
    min-height: 40px !important;
    max-width: 40px !important;
    max-height: 40px !important;
    background: rgba(255, 255, 255, 0.8) !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 20px !important;
    color: var(--lab-ella-gold) !important;
    transition: var(--lab-ella-transition) !important;
    aspect-ratio: 1 !important;
}

.lab-ella-product-page .glow-video-thumbnail:hover .glow-play-button {
    background: var(--lab-ella-gold) !important;
    color: white !important;
    transform: translate(-50%, -50%) scale(1.2) !important;
}

/* Modal Vidéo */
.lab-ella-product-page .glow-video-modal {
    display: none; /* Caché par défaut */
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    background: rgba(0, 0, 0, 0.85) !important;
    z-index: 10000 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 20px !important;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease, visibility 0.3s ease !important;
}

.lab-ella-product-page .glow-video-modal.active {
    display: flex !important;
    opacity: 1;
    visibility: visible;
}

.lab-ella-product-page .glow-modal-content {
    position: relative !important;
    background: black !important;
    border-radius: 50% !important;
    overflow: hidden !important;
    width: 80vmin !important;
    height: 80vmin !important;
    max-width: 600px !important;
    max-height: 600px !important;
    aspect-ratio: 1 / 1 !important;
    border: 4px solid var(--lab-ella-gold) !important;
    box-shadow: 0 10px 40px rgba(0,0,0,0.5), 0 0 0 8px rgba(232, 199, 167, 0.3) !important;
}

.lab-ella-product-page .glow-modal-close {
    position: absolute !important;
    top: 10px !important;
right: 10px !important;

    width: 50px !important;
    height: 50px !important;
    background: #E8C7A7 !important;

    color: black !important;

    border: none !important;
    border-radius: 50% !important;
    font-size: 20px !important;
    cursor: pointer !important;
    z-index: 3000 !important;
    transition: all 0.3s ease !important;
}

.lab-ella-product-page .glow-modal-close:hover {
    background: linear-gradient(135deg, #d4a574 0%, #c19660 100%) !important;
    transform: rotate(90deg) scale(1.1) !important;
    box-shadow: 0 6px 20px rgba(0,0,0,0.4) !important;
}

.lab-ella-product-page .glow-modal-video-container {
    width: 100% !important;
    height: 100% !important;
}

.lab-ella-product-page .glow-modal-video-container iframe {
    width: 100% !important;
    height: 100% !important;
    border: none !important;
}

/* Vidéo native - centrage et dimensionnement */
.lab-ella-product-page .glow-modal-video-container video {
    width: 120% !important;
    height: 120% !important;
    position: relative !important;
    top: -10% !important;
    left: -10% !important;
    object-fit: cover !important;
    object-position: center center !important;
    border-radius: 50% !important;
}

/* Colonne Infos (45%) */
.lab-ella-product-page .glow-recipe-info {
    padding-top: 0px !important;
}

.lab-ella-product-page .glow-product-title {
    font-family: 'Playfair Display', serif !important;
    font-size: 36px !important;
    font-weight: 700 !important;
    color: var(--lab-ella-dark) !important;
    margin-bottom: 5px !important;
    line-height: 1.2 !important;
}

.lab-ella-product-page .glow-product-price {
    font-size: 28px !important;
    font-weight: 600 !important;
    color: var(--lab-ella-gold) !important;
    margin-bottom: 0 !important;
}

.lab-ella-product-page .glow-price-contenance-row {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    margin: 10px 0 !important;
    padding: 8px 12px !important;
    background: #f9f9f9 !important;
    border-radius: 6px !important;
    border: 1px solid #f0f0f0 !important;
}

.lab-ella-product-page .glow-contenance-inline {
    background: #E8C7A7 !important;
    padding: 4px 10px !important;
    border-radius: 12px !important;
    font-size: 12px !important;
    color: white !important;
    font-weight: 600 !important;
}

/* Métadonnées après prix */
.lab-ella-product-page .glow-product-meta-item {
    background: var(--lab-ella-cream) !important;
    border: 1px solid var(--lab-ella-border) !important;
    border-radius: 12px !important;
    padding: 18px 20px !important;
    margin-bottom: 15px !important;
    transition: var(--lab-ella-transition) !important;
    box-shadow: 0 2px 5px rgba(0,0,0,0.05) !important;
}

.lab-ella-product-page .glow-product-meta-item:hover {
    border-color: var(--lab-ella-gold) !important;
    box-shadow: 0 4px 15px rgba(232, 199, 167, 0.2) !important;
    transform: translateY(-2px) !important;
}

.lab-ella-product-page .glow-meta-label {
    font-weight: 600 !important;
    color: var(--lab-ella-dark) !important;
    display: block !important;
    margin-bottom: 8px !important;
    font-size: 14px !important;
}

.lab-ella-product-page .glow-meta-value {
    font-size: 15px !important;
    color: var(--lab-ella-text) !important;
}

.lab-ella-product-page .glow-product-meta-item.contenance .glow-meta-value {
    font-weight: bold !important;
    color: var(--lab-ella-gold) !important;
}

.lab-ella-product-page .glow-product-meta-item.bienfaits .glow-meta-value ul {
    list-style: none !important;
    padding-left: 0 !important;
    margin: 0 !important;
}

.lab-ella-product-page .glow-product-meta-item.bienfaits .glow-meta-value li {
    position: relative !important;
    padding-left: 20px !important;
    margin-bottom: 5px !important;
}

.lab-ella-product-page .glow-product-meta-item.bienfaits .glow-meta-value li::before {
    content: '✨' !important;
    position: absolute !important;
    left: 0 !important;
    top: 0 !important;
    color: var(--lab-ella-gold) !important;
}

.lab-ella-product-page .glow-product-meta-item.type-peau .glow-meta-value {
    font-style: italic !important;
}

/* VARIANTES WOOCOMMERCE - CORRECTION STYLE */
.lab-ella-product-page .variations_form {
    margin-bottom: 25px !important;
}

.lab-ella-product-page .variations {
    margin-bottom: 20px !important;
    border-collapse: collapse !important;
    width: 100% !important;
}

.lab-ella-product-page .variations td {
    padding: 10px 0 !important;
    vertical-align: top !important;
}

.lab-ella-product-page .variations label {
    font-weight: 600 !important;
    color: var(--lab-ella-dark) !important;
    display: block !important;
    margin-bottom: 8px !important;
    font-size: 14px !important;
}

.lab-ella-product-page .variations select {
    width: 100% !important;
    padding: 10px 15px !important;
    border: 1px solid var(--lab-ella-border) !important;
    border-radius: 8px !important;
    background-color: white !important;
    font-size: 15px !important;
    color: var(--lab-ella-text) !important;
    cursor: pointer !important;
    appearance: none !important;
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    background-image: url('data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22292.4%22%20height%3D%22292.4%22%3E%3Cpath%20fill%3D%22%23E8C7A7%22%20d%3D%22M287%2069.4a17.6%2017.6%200%200%200-13-5.4H18.4c-5%200-9.3%201.8-12.9%205.4A17.6%2017.6%200%200%200%200%2082.2c0%205%201.8%209.3%205.4%2012.9l128%20127.9c3.6%203.6%207.8%205.4%2012.8%205.4s9.2-1.8%2012.8-5.4L287%2095c3.6-3.6%205.4-7.9%205.4-12.8%200-5-1.9-9.2-5.5-12.8z%22%2F%3E%3C%2Fsvg%3E') !important;
    background-repeat: no-repeat !important;
    background-position: right 15px center !important;
    background-size: 10px 10px !important;
    padding-right: 40px !important;
}

.lab-ella-product-page .variations select:focus {
    border-color: var(--lab-ella-gold) !important;
    outline: none !important;
    box-shadow: 0 0 0 3px rgba(232, 199, 167, 0.2) !important;
}

/* Style spécifique pour les couleurs */
.lab-ella-product-page .variations .label label[for*="pa_couleur"] {
    /* Masquer le label si on utilise des swatches */
}

.lab-ella-product-page .variations .value .lab-ella-color-swatches {
    display: flex !important;
    gap: 10px !important;
    flex-wrap: wrap !important;
}

.lab-ella-product-page .lab-ella-color-swatch {
    width: 30px !important;
    height: 30px !important;
    border-radius: 50% !important;
    cursor: pointer !important;
    border: 2px solid var(--lab-ella-border) !important;
    transition: var(--lab-ella-transition) !important;
    position: relative !important;
    box-shadow: 0 1px 3px rgba(0,0,0,0.1) !important;
}

.lab-ella-product-page .lab-ella-color-swatch:hover {
    transform: scale(1.1) !important;
    border-color: var(--lab-ella-dark) !important;
}

.lab-ella-product-page .lab-ella-color-swatch.selected {
    border-color: var(--lab-ella-gold) !important;
    box-shadow: 0 0 0 3px var(--lab-ella-gold) !important;
}

.lab-ella-product-page .lab-ella-color-swatch span {
    display: none; /* Masquer le nom de la couleur */
}

/* Style pour autres attributs (taille, version...) */
.lab-ella-product-page .variations .value .lab-ella-attribute-swatches {
    display: flex !important;
    gap: 10px !important;
    flex-wrap: wrap !important;
}

.lab-ella-product-page .lab-ella-attribute-swatch {
    padding: 5px 12px !important;
    border: 1px solid var(--lab-ella-border) !important;
    border-radius: 20px !important;
    cursor: pointer !important;
    font-size: 14px !important;
    transition: var(--lab-ella-transition) !important;
    background-color: white !important;
}

.lab-ella-product-page .lab-ella-attribute-swatch:hover {
    border-color: var(--lab-ella-dark) !important;
    color: var(--lab-ella-dark) !important;
}

.lab-ella-product-page .lab-ella-attribute-swatch.selected {
    background-color: var(--lab-ella-gold) !important;
    color: white !important;
    border-color: var(--lab-ella-gold) !important;
}

.lab-ella-product-page .reset_variations {
    font-size: 13px !important;
    color: var(--lab-ella-gold) !important;
    text-decoration: underline !important;
    margin-left: 10px !important;
    cursor: pointer !important;
}

.lab-ella-product-page .woocommerce-variation-price {
    font-size: 28px !important;
    font-weight: 600 !important;
    color: var(--lab-ella-gold) !important;
    margin-bottom: 25px !important;
    display: block !important; /* Assurer affichage */
}

.lab-ella-product-page .woocommerce-variation-availability {
    font-size: 14px !important;
    margin-bottom: 15px !important;
}

/* CHECKBOX ABONNEMENT */
.lab-ella-product-page .glow-purchase-options {
    margin-bottom: 25px !important;
}

.lab-ella-product-page .glow-subscription-option label {
    display: flex !important;
    align-items: center !important;
    cursor: pointer !important;
    background: var(--lab-ella-cream) !important;
    padding: 15px !important;
    border-radius: 12px !important;
    border: 1px solid var(--lab-ella-border) !important;
    transition: var(--lab-ella-transition) !important;
}

.lab-ella-product-page .glow-subscription-option label:hover {
    border-color: var(--lab-ella-gold) !important;
    box-shadow: 0 4px 15px rgba(232, 199, 167, 0.2) !important;
}

.lab-ella-product-page .glow-subscription-option input[type="checkbox"] {
    display: none !important;
}

.lab-ella-product-page .glow-custom-checkbox {
    width: 22px !important;
    height: 22px !important;
    border: 2px solid var(--lab-ella-gold) !important;
    border-radius: 6px !important;
    margin-right: 12px !important;
    display: inline-block !important;
    position: relative !important;
    transition: var(--lab-ella-transition) !important;
    background-color: white !important;
}

.lab-ella-product-page .glow-subscription-option input[type="checkbox"]:checked + .glow-custom-checkbox {
    background-color: var(--lab-ella-gold) !important;
    border-color: var(--lab-ella-gold) !important;
}

.lab-ella-product-page .glow-custom-checkbox::after {
    content: '' !important;
    position: absolute !important;
    left: 6px !important;
    top: 2px !important;
    width: 6px !important;
    height: 12px !important;
    border: solid white !important;
    border-width: 0 3px 3px 0 !important;
    transform: rotate(45deg) scale(0) !important;
    transition: transform 0.2s ease !important;
}

.lab-ella-product-page .glow-subscription-option input[type="checkbox"]:checked + .glow-custom-checkbox::after {
    transform: rotate(45deg) scale(1) !important;
}

.lab-ella-product-page .glow-option-content {
    flex: 1 !important;
}

.lab-ella-product-page .glow-option-title {
    font-weight: 600 !important;
    color: var(--lab-ella-dark) !important;
    display: block !important;
    font-size: 15px !important;
}

.lab-ella-product-page .glow-option-discount {
    background: var(--lab-ella-gold) !important;
    color: white !important;
    font-size: 11px !important;
    font-weight: bold !important;
    padding: 2px 6px !important;
    border-radius: 4px !important;
    margin-left: 8px !important;
    display: inline-block !important;
}

/* QUANTITÉ ET PANIER - CORRECTION COMPLÈTE */
.lab-ella-product-page .glow-quantity-cart-container {
    display: flex !important;
    align-items: center !important;
    gap: 15px !important;
    margin-top: 20px !important;
}

.lab-ella-product-page .quantity {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    border: 2px solid var(--lab-ella-border) !important;
    border-radius: 8px !important;
    overflow: hidden !important;
    background: white !important;
}

.lab-ella-product-page .glow-quantity-btn {
    width: 50px !important;
    height: 50px !important;
    border: 2px solid #333 !important;
    background: linear-gradient(135deg, #333 0%, #555 100%) !important;
    color: white !important;
    font-size: 20px !important;
    font-weight: bold !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 8px !important;
    box-shadow: 0 2px 8px rgba(0,0,0,0.15) !important;
}

.lab-ella-product-page .glow-quantity-btn:hover {
    background: linear-gradient(135deg, #E8C7A7 0%, #d4a574 100%) !important;
    color: white !important;
    transform: scale(1.05) !important;
    box-shadow: 0 4px 12px rgba(232,199,167,0.4) !important;
}

.lab-ella-product-page .quantity input[type="number"] {
    width: 60px !important;
    height: 48px !important;
    text-align: center !important;
    border: none !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    color: var(--lab-ella-dark) !important;
    padding: 0 5px !important;
    appearance: none !important;
    -webkit-appearance: none !important;
    -moz-appearance: textfield !important;
    background-color: white !important;
}

.lab-ella-product-page .quantity input[type="number"]::-webkit-outer-spin-button,
.lab-ella-product-page .quantity input[type="number"]::-webkit-inner-spin-button {
    -webkit-appearance: none !important;
    margin: 0 !important;
    display: none !important;
}

.lab-ella-product-page #glow-dynamic-price {
    flex: 1 !important;
    height: 50px !important;
    background: var(--lab-ella-dark) !important;
    color: white !important;
    border: none !important;
    border-radius: 8px !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
}

.lab-ella-product-page #glow-dynamic-price:hover {
    background: var(--lab-ella-gold) !important;
    transform: translateY(-2px) !important;
}

/* ===== COMPLETE YOUR ROUTINE - CORRECTION COMPLÈTE ===== */
    width: 40px !important;
    height: 48px !important;
    background: var(--lab-ella-cream) !important;
    border: none !important;
    color: var(--lab-ella-gold) !important;
    font-size: 20px !important;
    font-weight: bold !important;
    cursor: pointer !important;
    transition: var(--lab-ella-transition) !important;
}

.lab-ella-product-page .glow-quantity-btn:hover {
    background: var(--lab-ella-gold) !important;
    color: white !important;
}

.lab-ella-product-page .glow-quantity-btn.minus {
    border-right: 1px solid var(--lab-ella-border) !important;
}

.lab-ella-product-page .glow-quantity-btn.plus {
    border-left: 1px solid var(--lab-ella-border) !important;
}

.lab-ella-product-page .single_add_to_cart_button {
    flex: 1 !important;
    padding: 14px 25px !important;
    background: linear-gradient(135deg, var(--lab-ella-dark), #2a2a2a) !important;
    color: white !important;
    border: none !important;
    border-radius: 8px !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    transition: var(--lab-ella-transition) !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    box-shadow: 0 4px 15px rgba(0,0,0,0.1) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
}

.lab-ella-product-page .single_add_to_cart_button:hover {
    background: linear-gradient(135deg, var(--lab-ella-gold), #d4a574) !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 8px 25px rgba(232, 199, 167, 0.3) !important;
}

.lab-ella-product-page .single_add_to_cart_button .glow-add-price {
    font-weight: 700 !important;
    margin-left: 5px !important;
}

/* ========================================
   SECTIONS INFÉRIEURES - CORRECTIONS
======================================== */

/* ACCORDÉON "À PROPOS DU PRODUIT" - CORRECTION */
.lab-ella-product-page .glow-about-product-section {
    max-width: 1200px !important;
    margin: 40px auto !important;
    padding: 40px 30px !important;
    background: 
        radial-gradient(circle at 20% 20%, rgba(232,199,167,0.15) 0%, transparent 50%),
        radial-gradient(circle at 80% 80%, rgba(212,165,116,0.12) 0%, transparent 50%),
        linear-gradient(135deg, #ffffff 0%, #f8f8f8 50%, #fafafa 100%) !important;
    background-size: 100% 100% !important;
    background-position: 0 0 !important;
    border-radius: 20px !important;
    box-shadow: 
        0 4px 20px rgba(0,0,0,0.08),
        inset 0 1px 0 rgba(255,255,255,0.8),
        inset 0 -1px 0 rgba(0,0,0,0.05) !important;
    border: 2px solid rgba(232,199,167,0.3) !important;
    position: relative !important;
    overflow: hidden !important;
    animation: subtleGlow 8s ease-in-out infinite !important;
}

@keyframes subtleGlow {
    0%, 100% {
        box-shadow: 
            0 4px 20px rgba(0,0,0,0.08),
            inset 0 1px 0 rgba(255,255,255,0.8),
            inset 0 -1px 0 rgba(0,0,0,0.05),
            0 0 30px rgba(232,199,167,0.1);
    }
    50% {
        box-shadow: 
            0 4px 20px rgba(0,0,0,0.08),
            inset 0 1px 0 rgba(255,255,255,0.8),
            inset 0 -1px 0 rgba(0,0,0,0.05),
            0 0 50px rgba(232,199,167,0.25);
    }
}

.lab-ella-product-page .glow-about-product-section h2 {
    font-family: 'Playfair Display', serif !important;
    font-size: 32px !important;
    color: var(--lab-ella-dark) !important;
    text-align: center !important;
    margin-bottom: 40px !important;
    position: relative !important;
}

.lab-ella-product-page .glow-about-product-section h2::after {
    content: "" !important;
    position: absolute !important;
    bottom: -15px !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    width: 80px !important;
    height: 4px !important;
    background: linear-gradient(135deg, var(--lab-ella-gold), #d4a574) !important;
    border-radius: 2px !important;
}

.lab-ella-product-page .glow-accordion {
    max-width: 800px !important;
    margin: 0 auto !important;
}

.lab-ella-product-page .glow-accordion-item {
    border: 1px solid var(--lab-ella-border) !important;
    border-radius: 12px !important;
    margin-bottom: 15px !important;
    overflow: hidden !important;
    background-color: white !important;
    box-shadow: var(--lab-ella-shadow) !important;
}

.lab-ella-product-page .glow-accordion-header {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    width: 100% !important;
    padding: 18px 25px !important;
    background: var(--lab-ella-cream) !important;
    border: none !important;
    text-align: left !important;
    cursor: pointer !important;
    font-size: 18px !important;
    font-weight: 600 !important;
    color: var(--lab-ella-dark) !important;
    transition: background-color 0.3s ease !important;
}

.lab-ella-product-page .glow-accordion-header:hover {
    background-color: #f0ebe5 !important;
}

.lab-ella-product-page .glow-accordion-icon {
    font-size: 16px !important;
    transition: transform 0.3s ease !important;
    color: var(--lab-ella-gold) !important;
}

.lab-ella-product-page .glow-accordion-item.active .glow-accordion-icon {
    transform: rotate(180deg) !important;
}

.lab-ella-product-page .glow-accordion-content {
    max-height: 0 !important;
    overflow: hidden !important;
    transition: max-height 0.4s ease-out, padding 0.4s ease-out !important;
    padding: 0 25px !important;
    background-color: white !important;
}

.lab-ella-product-page .glow-accordion-item.active .glow-accordion-content {
    max-height: 1000px !important; /* Hauteur suffisante */
    padding: 25px !important;
    transition: max-height 0.6s ease-in, padding 0.6s ease-in !important;
}

/* Style contenu texte accordéon - CORRECTION */
.lab-ella-product-page .glow-accordion-text {
    color: var(--lab-ella-text) !important;
    font-size: 15px !important;
    line-height: 1.7 !important;
}

.lab-ella-product-page .glow-accordion-text p {
    margin-bottom: 15px !important;
}

.lab-ella-product-page .glow-accordion-text strong {
    color: var(--lab-ella-dark) !important;
    font-weight: 600 !important;
}

.lab-ella-product-page .glow-accordion-text ul {
    list-style: disc !important;
    margin-left: 20px !important;
    margin-bottom: 15px !important;
}

.lab-ella-product-page .glow-accordion-text li {
    margin-bottom: 8px !important;
}

/* SECTION AVANT/APRÈS - CORRECTION */
.lab-ella-product-page .glow-before-after-section {
    max-width: 1200px !important;
    margin: 80px auto !important;
    padding: 40px 20px !important;
}

.lab-ella-product-page .glow-before-after-section h2 {
    font-family: 'Playfair Display', serif !important;
    font-size: 32px !important;
    color: var(--lab-ella-dark) !important;
    text-align: center !important;
    margin-bottom: 40px !important;
    position: relative !important;
}

.lab-ella-product-page .glow-before-after-section h2::after {
    content: "" !important;
    position: absolute !important;
    bottom: -15px !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    width: 80px !important;
    height: 4px !important;
    background: linear-gradient(135deg, var(--lab-ella-gold), #d4a574) !important;
    border-radius: 2px !important;
}

.lab-ella-product-page .glow-before-after-container {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 30px !important;
    align-items: center !important;
}

.lab-ella-product-page .glow-before-after-image {
    position: relative !important;
    overflow: hidden !important;
    border-radius: 15px !important;
    box-shadow: 0 10px 30px rgba(0,0,0,0.1) !important;
    aspect-ratio: 16 / 10 !important; /* Format paysage */
}

.lab-ella-product-page .glow-before-after-image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
    transition: transform 0.5s ease, filter 0.5s ease !important;
}

.lab-ella-product-page .glow-before-after-image:hover img {
    transform: scale(1.05) !important;
}

/* Image "Après" plus lumineuse - CORRECTION */
.lab-ella-product-page .glow-after-image img {
    filter: brightness(1.1) contrast(1.05) saturate(1.1) !important;
}

.lab-ella-product-page .glow-before-after-label {
    position: absolute !important;
    top: 15px !important;
    left: 15px !important;
    background: rgba(0, 0, 0, 0.6) !important;
    color: white !important;
    padding: 5px 12px !important;
    border-radius: 20px !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    z-index: 2 !important;
}

/* Animation shimmer - CORRECTION */
.lab-ella-product-page .glow-before-after-image::after {
    content: "" !important;
    position: absolute !important;
    top: 0 !important;
    left: -150% !important;
    width: 70% !important;
    height: 100% !important;
    background: linear-gradient(
        90deg,
        rgba(255, 255, 255, 0) 0%,
        rgba(255, 255, 255, 0.4) 50%,
        rgba(255, 255, 255, 0) 100%
    ) !important;
    transform: skewX(-25deg) !important;
    transition: left 0.8s cubic-bezier(0.25, 1, 0.5, 1) !important;
    z-index: 1 !important;
}

.lab-ella-product-page .glow-before-after-image:hover::after {
    left: 150% !important;
}

/* SECTION "VOUS AIMEREZ AUSSI" - CORRECTION */
.lab-ella-product-page .glow-related-section {
    margin: 80px auto !important;
    max-width: 100% !important;
    padding: 40px 15px !important;
    background: linear-gradient(135deg, #ffffff, var(--lab-ella-cream)) !important;
    border-radius: 25px !important;
    border: 2px solid rgba(232, 199, 167, 0.2) !important;
    box-shadow: 0 15px 40px rgba(0,0,0,0.08) !important;
    box-sizing: border-box !important;
    width: 100% !important;
}

.lab-ella-product-page .glow-related-title {
    font-family: 'Playfair Display', serif !important;
    font-size: 32px !important;
    color: var(--lab-ella-dark) !important;
    text-align: center !important;
    margin-bottom: 40px !important;
    position: relative !important;
}

.lab-ella-product-page .glow-related-title::after {
    content: "" !important;
    position: absolute !important;
    bottom: -15px !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    width: 80px !important;
    height: 4px !important;
    background: linear-gradient(135deg, var(--lab-ella-gold), #d4a574) !important;
    border-radius: 2px !important;
}

.lab-ella-product-page .glow-related-tabs {
    margin-bottom: 35px !important;
}

.lab-ella-product-page .glow-related-tab-buttons {
    display: flex !important;
    justify-content: center !important;
    gap: 15px !important;
    margin-bottom: 35px !important;
    flex-wrap: wrap !important;
}

.lab-ella-product-page .glow-related-tab-button {
    padding: 12px 24px !important;
    border: 2px solid var(--lab-ella-gold) !important;
    background: white !important;
    color: var(--lab-ella-gold) !important;
    border-radius: 25px !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    transition: var(--lab-ella-transition) !important;
    font-size: 14px !important;
    box-shadow: 0 4px 15px rgba(0,0,0,0.08) !important;
}

.lab-ella-product-page .glow-related-tab-button:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 8px 25px rgba(232, 199, 167, 0.25) !important;
}

.lab-ella-product-page .glow-related-tab-button.active {
    background: linear-gradient(135deg, var(--lab-ella-gold), #d4a574) !important;
    color: white !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 8px 25px rgba(232, 199, 167, 0.3) !important;
}

.lab-ella-product-page .glow-related-tab-content {
    display: none !important;
    animation: fadeInRelated 0.4s ease !important;
}

.lab-ella-product-page .glow-related-tab-content.active {
    display: block !important;
}

@keyframes fadeInRelated {
    from { 
        opacity: 0 !important; 
        transform: translateY(10px) !important; 
    }
    to { 
        opacity: 1 !important; 
        transform: translateY(0) !important; 
    }
}

.lab-ella-product-page .glow-related-grid {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)) !important;
    gap: 30px !important;
}

.lab-ella-product-page .glow-related-card {
    background: white !important;
    border-radius: 20px !important;
    overflow: hidden !important;
    transition: var(--lab-ella-transition) !important;
    box-shadow: 0 8px 25px rgba(0,0,0,0.08) !important;
    border: 2px solid transparent !important;
    position: relative !important;
    display: flex !important;
    flex-direction: column !important;
}

.lab-ella-product-page .glow-related-card::before {
    content: "" !important;
    position: absolute !important;
    top: 0 !important;
    left: -100% !important;
    width: 100% !important;
    height: 100% !important;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,0.2), transparent) !important;
    transition: left 0.6s ease !important;
    z-index: 1 !important;
}

.lab-ella-product-page .glow-related-card:hover {
    transform: translateY(-10px) !important;
    box-shadow: 0 20px 40px rgba(0,0,0,0.12) !important;
    border-color: var(--lab-ella-gold) !important;
}

.lab-ella-product-page .glow-related-card:hover::before {
    left: 100% !important;
}

/* Images nettes et grandes - CORRECTION */
.lab-ella-product-page .glow-related-image {
    position: relative !important;
    overflow: hidden !important;
    height: 280px !important; /* Plus grand */
    width: 100% !important;
    background-color: var(--lab-ella-cream);
}

.lab-ella-product-page .glow-related-image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    transition: var(--lab-ella-transition) !important;
    image-rendering: -webkit-optimize-contrast !important;
    image-rendering: crisp-edges !important;
    filter: none !important;
}

.lab-ella-product-page .glow-related-card:hover .glow-related-image img {
    transform: scale(1.1) !important;
}

/* Contenu centré et stylé - CORRECTION */
.lab-ella-product-page .glow-related-info {
    padding: 25px !important;
    position: relative !important;
    z-index: 2 !important;
    text-align: center !important;
    flex: 1 !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: space-between !important;
}

.lab-ella-product-page .glow-related-name {
    font-size: 18px !important;
    font-weight: 600 !important;
    color: var(--lab-ella-dark) !important;
    margin-bottom: 12px !important;
    line-height: 1.3 !important;
    font-family: 'Playfair Display', serif !important;
    text-align: center !important;
    min-height: 46px; /* Pour alignement */
}

.lab-ella-product-page .glow-related-rating {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 5px !important;
    margin-bottom: 15px !important;
}

.lab-ella-product-page .glow-related-rating .glow-star {
    font-size: 16px !important;
    color: var(--lab-ella-gold) !important;
}

.lab-ella-product-page .glow-related-review-count {
    color: var(--lab-ella-text) !important;
    font-size: 14px !important;
    margin-left: 8px !important;
}

.lab-ella-product-page .glow-related-price {
    font-size: 20px !important;
    font-weight: 700 !important;
    color: var(--lab-ella-gold) !important;
    margin-bottom: 20px !important;
    text-align: center !important;
}

.lab-ella-product-page .glow-related-add-cart {
    width: 100% !important;
    background: linear-gradient(135deg, var(--lab-ella-dark), #2a2a2a) !important;
    color: white !important;
    border: none !important;
    padding: 14px 20px !important;
    border-radius: 10px !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    transition: var(--lab-ella-transition) !important;
    font-size: 14px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    box-shadow: 0 4px 15px rgba(0,0,0,0.1) !important;
    margin-top: auto !important;
}

.lab-ella-product-page .glow-related-add-cart:hover {
    background: linear-gradient(135deg, var(--lab-ella-gold), #d4a574) !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 8px 25px rgba(232, 199, 167, 0.3) !important;
}

/* SECTION AVIS - CORRECTION */
.lab-ella-product-page .glow-reviews-section {
    margin: 80px auto !important;
    max-width: 1200px !important;
    padding: 40px !important;
    background: white !important;
    border-radius: 25px !important;
    border: 1px solid var(--lab-ella-border) !important;
    box-shadow: 0 15px 40px rgba(0,0,0,0.05) !important;
}

.lab-ella-product-page .glow-reviews-title {
    font-family: 'Playfair Display', serif !important;
    font-size: 32px !important;
    color: var(--lab-ella-dark) !important;
    text-align: center !important;
    margin-bottom: 40px !important;
    position: relative !important;
}

.lab-ella-product-page .glow-reviews-title::after {
    content: "" !important;
    position: absolute !important;
    bottom: -15px !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    width: 80px !important;
    height: 4px !important;
    background: linear-gradient(135deg, var(--lab-ella-gold), #d4a574) !important;
    border-radius: 2px !important;
}

.lab-ella-product-page .glow-reviews-summary {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    margin-bottom: 30px !important;
    padding: 20px !important;
    background: var(--lab-ella-cream) !important;
    border-radius: 15px !important;
}

.lab-ella-product-page .glow-average-rating {
    text-align: center !important;
}

.lab-ella-product-page .glow-average-score {
    font-size: 48px !important;
    font-weight: bold !important;
    color: var(--lab-ella-gold) !important;
}

.lab-ella-product-page .glow-average-stars .glow-star {
    font-size: 24px !important;
    color: var(--lab-ella-gold) !important;
}

.lab-ella-product-page .glow-total-reviews {
    font-size: 14px !important;
    color: var(--lab-ella-text) !important;
}

.lab-ella-product-page .glow-reviews-filters {
    display: flex !important;
    justify-content: center !important;
    gap: 10px !important;
    margin-bottom: 30px !important;
    flex-wrap: wrap !important;
}

.lab-ella-product-page .glow-review-filter {
    padding: 10px 20px !important;
    border: 1px solid var(--lab-ella-border) !important;
    background: white !important;
    color: var(--lab-ella-text) !important;
    border-radius: 20px !important;
    font-weight: 500 !important;
    cursor: pointer !important;
    transition: var(--lab-ella-transition) !important;
    font-size: 14px !important;
}

.lab-ella-product-page .glow-review-filter:hover {
    border-color: var(--lab-ella-dark) !important;
    color: var(--lab-ella-dark) !important;
}

.lab-ella-product-page .glow-review-filter.active {
    background: var(--lab-ella-dark) !important;
    color: white !important;
    border-color: var(--lab-ella-dark) !important;
}

.lab-ella-product-page .glow-reviews-grid {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)) !important;
    gap: 25px !important;
}

.lab-ella-product-page .glow-review-card {
    background: var(--lab-ella-cream) !important;
    border-radius: 15px !important;
    padding: 25px !important;
    border: 1px solid var(--lab-ella-border) !important;
    transition: var(--lab-ella-transition) !important;
}

.lab-ella-product-page .glow-review-card:hover {
    box-shadow: 0 8px 25px rgba(0,0,0,0.08) !important;
    transform: translateY(-5px) !important;
}

.lab-ella-product-page .glow-review-header {
    display: flex !important;
    align-items: center !important;
    margin-bottom: 15px !important;
}

.lab-ella-product-page .glow-review-avatar {
    width: 45px !important;
    height: 45px !important;
    border-radius: 50% !important;
    margin-right: 15px !important;
    background-color: var(--lab-ella-gold) !important;
    color: white !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-weight: bold !important;
    font-size: 18px !important;
}

.lab-ella-product-page .glow-review-author-info {
    flex: 1 !important;
}

.lab-ella-product-page .glow-review-author {
    font-weight: 600 !important;
    color: var(--lab-ella-dark) !important;
    display: block !important;
}

.lab-ella-product-page .glow-review-date {
    font-size: 13px !important;
    color: var(--lab-ella-text) !important;
}

.lab-ella-product-page .glow-review-rating .glow-star {
    font-size: 16px !important;
    color: var(--lab-ella-gold) !important;
}

.lab-ella-product-page .glow-review-content p {
    font-size: 15px !important;
    color: var(--lab-ella-text) !important;
    line-height: 1.7 !important;
    margin: 0 !important;
}

/* ========================================
   RESPONSIVE
======================================== */
@media (max-width: 1200px) {
    .lab-ella-product-page .glow-recipe-main-section {
        grid-template-columns: 50% 50% !important;
        gap: 20px !important;
    }
}

@media (max-width: 1024px) {
    .lab-ella-product-page .glow-recipe-main-section {
        grid-template-columns: 1fr !important;
        gap: 40px !important;
    }
    
    .lab-ella-product-page .glow-recipe-info {
        padding-top: 0 !important;
    }
    
    .lab-ella-product-page .glow-main-image-carousel {
        height: 500px !important;
    }
}

@media (max-width: 768px) {
    .lab-ella-product-page .glow-product-title {
        font-size: 28px !important;
    }
    
    .lab-ella-product-page .glow-product-price {
        font-size: 24px !important;
    }
    
    .lab-ella-product-page .glow-before-after-container {
        grid-template-columns: 1fr !important;
    }
    
    .lab-ella-product-page .glow-related-title,
    .lab-ella-product-page .glow-about-product-section {
        margin: 30px 15px !important;
        padding: 30px 20px !important;
        border-radius: 16px !important;
    }
    
    .lab-ella-product-page .glow-reviews-title,
    .lab-ella-product-page .glow-about-product-section h2,
    .lab-ella-product-page .glow-before-after-section h2 {
        font-size: 24px !important;
    }
    
    .lab-ella-product-page .glow-reviews-summary {
        flex-direction: column !important;
        gap: 15px !important;
    }
    
    
    
    .lab-ella-product-page .glow-reviews-filters {
        gap: 10px !important;
    }
    
    .lab-ella-product-page .glow-review-filter {
        padding: 8px 15px !important;
        font-size: 12px !important;
    }
    
    .lab-ella-product-page .glow-reviews-grid {
        grid-template-columns: 1fr !important;
    }
    
    /* Réduire les cercles vidéo sur mobile pour tenir sur 1 ligne */
    .lab-ella-product-page .glow-video-thumbnail {
        width: 110px !important;
        height: 110px !important;
        min-width: 110px !important;
        min-height: 110px !important;
        max-width: 110px !important;
        max-height: 110px !important;
    }
}

@media (max-width: 480px) {
    .lab-ella-product-page .glow-images-container {
        flex-direction: column !important;
    }
    
    .lab-ella-product-page .glow-image-thumbnails {
        flex-direction: row !important;
        width: 100% !important;
        justify-content: center !important;
    }
    
    .lab-ella-product-page .glow-main-image-carousel {
        height: 400px !important;
    }
    
    .lab-ella-product-page .glow-product-meta-item {
        padding: 15px !important;
    }
    
    .lab-ella-product-page .glow-video-thumbnails {
        gap: 10px !important;
    }
    
    /* Règles vidéo supprimées - utiliser les règles de base */
    
    .lab-ella-product-page .glow-related-section,
    .lab-ella-product-page .glow-reviews-section {
        padding: 25px 20px !important;
    }
    
    .lab-ella-product-page .variations td {
        display: block !important;
        width: 100% !important;
    }
    
    .lab-ella-product-page .woocommerce-variation-add-to-cart,
    .lab-ella-product-page .cart {
        flex-direction: column !important;
        align-items: stretch !important;
    }
    
    .lab-ella-product-page .quantity {
        width: 100% !important;
        justify-content: center !important;
    }
}

/* ===== CORRECTIONS FORCÉES POUR RÉSOUDRE LES PROBLÈMES ===== */

/* /* ===== CARROUSEL ROUTINE - FORÇAGE MAXIMUM SPÉCIFICITÉ ===== */
html body.single-product .lab-ella-product-page div.glow-routine-section {
    margin: 5px 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

html body.single-product .lab-ella-product-page div.glow-routine-section h3:first-child {
    font-size: 16px !important;
    font-weight: 600 !important;
    margin-bottom: 20px !important;
    text-align: center !important;
    color: #333 !important;
    letter-spacing: 0.5px !important;
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif !important;
    line-height: 1.5 !important;
}

html body.single-product .lab-ella-product-page div.glow-routine-section div.glow-routine-carousel-container {
    position: relative !important;
    overflow: hidden !important;
    padding: 0 30px !important;
    width: 100% !important;
    max-width: 600px !important;
    margin: 0 auto !important;
    border-radius: 0 !important;
}

html body.single-product .lab-ella-product-page div.glow-routine-section div.glow-routine-carousel-container div.glow-routine-carousel {
    display: flex !important;
    gap: 8px !important;
    transition: transform 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94) !important;
    width: max-content !important;
    will-change: transform !important;
    padding: 0 !important;
}

html body.single-product .lab-ella-product-page div.glow-routine-section div.glow-routine-carousel-container div.glow-routine-carousel div.glow-routine-card:nth-child(n) {
    flex: 0 0 180px !important;
    height: 110px !important;
    background: white !important;
    border-radius: 6px !important;
    padding: 10px !important;
    box-shadow: 0 1px 6px rgba(0,0,0,0.05) !important;
    border: 1px solid rgba(228, 199, 167, 0.15) !important;
    transition: all 0.3s ease !important;
    cursor: pointer !important;
    position: relative !important;
    overflow: hidden !important;
    display: flex !important;
    align-items: center !important;
}

html body.single-product .lab-ella-product-page div.glow-routine-section div.glow-routine-carousel-container div.glow-routine-carousel div.glow-routine-card:nth-child(n):hover {
    transform: translateY(-1px) !important;
    box-shadow: 0 3px 10px rgba(0,0,0,0.08) !important;
    border-color: var(--lab-ella-gold) !important;
}

html body.single-product .lab-ella-product-page div.glow-routine-section div.glow-routine-carousel-container div.glow-routine-carousel div.glow-routine-card:nth-child(n) div.glow-routine-image:first-child {
    width: 80px !important;
    height: 80px !important;
    border-radius: 50% !important;
    overflow: hidden !important;
    margin-right: 12px !important;
    flex-shrink: 0 !important;
    position: relative !important;
    border: 2px solid rgba(228, 199, 167, 0.2) !important;
}

html body.single-product .lab-ella-product-page div.glow-routine-section div.glow-routine-carousel-container div.glow-routine-carousel div.glow-routine-card:nth-child(n) div.glow-routine-image:first-child img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    transition: transform 0.3s ease !important;
}

html body.single-product .lab-ella-product-page div.glow-routine-section div.glow-routine-carousel-container div.glow-routine-carousel div.glow-routine-card:nth-child(n) div.glow-routine-info:last-child {
    flex: 1 !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: space-between !important;
    height: 100% !important;
}

html body.single-product .lab-ella-product-page div.glow-routine-section div.glow-routine-carousel-container div.glow-routine-carousel div.glow-routine-card:nth-child(n) div.glow-routine-info:last-child h4.glow-routine-name {
    font-size: 14px !important;
    font-weight: 600 !important;
    margin-bottom: 5px !important;
    height: auto !important;
    min-height: 28px !important;
    overflow: visible !important;
    display: block !important;
    -webkit-line-clamp: unset !important;
    -webkit-box-orient: unset !important;
    color: #000000 !important;
    line-height: 1.2 !important;
    background: yellow !important;
    padding: 2px !important;
    visibility: visible !important;
    opacity: 1 !important;
}

html body.single-product .lab-ella-product-page div.glow-routine-section div.glow-routine-carousel-container div.glow-routine-carousel div.glow-routine-card:nth-child(n) div.glow-routine-info:last-child div.glow-routine-price {
    font-size: 15px !important;
    font-weight: 700 !important;
    color: #ff0000 !important;
    margin-bottom: 6px !important;
    letter-spacing: -0.1px !important;
    background: lime !important;
    padding: 2px !important;
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    height: auto !important;
    min-height: 20px !important;
}

html body.single-product .lab-ella-product-page div.glow-routine-section div.glow-routine-carousel-container div.glow-routine-carousel div.glow-routine-card:nth-child(n) div.glow-routine-info:last-child button.glow-routine-add-cart {
    background: linear-gradient(135deg, #333 0%, #555 100%) !important;
    color: white !important;
    border: none !important;
    padding: 5px 10px !important;
    border-radius: 10px !important;
    font-size: 9px !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    width: 100% !important;
    transition: all 0.3s ease !important;
    text-transform: uppercase !important;
    letter-spacing: 0px !important;
}

/* ===== VIDÉOS SEE-IN-ACTION VRAIMENT CIRCULAIRES ===== */
.lab-ella-product-page .glow-see-in-action {
    margin: 30px 0 !important;
    text-align: center !important;
}

.lab-ella-product-page .glow-see-in-action h3 {
    font-size: 20px !important;
    margin-bottom: 15px !important;
}

.lab-ella-product-page .glow-video-grid {
    display: flex !important;
    justify-content: center !important;
    gap: 15px !important;
}

/* Règles vidéo supprimées - utiliser les règles de base */
    padding: 25px !important;
    background: var(--lab-ella-cream) !important;
    border-radius: 15px !important;
    border: 1px solid var(--lab-ella-border) !important;
}

.lab-ella-product-page .glow-see-in-action h4 {
    font-family: 'Playfair Display', serif !important;
    font-size: 20px !important;
    color: var(--lab-ella-dark) !important;
    margin-bottom: 20px !important;
    text-align: center !important;
}

.lab-ella-product-page .glow-video-thumbnails {
    display: flex !important;
    gap: 15px !important;
    justify-content: center !important;
    flex-wrap: wrap !important;
}

/* Règles vidéo supprimées - utiliser les règles de base */

/* 3. SECTION "VOUS AIMEREZ AUSSI" - STYLE FORCÉ */
.lab-ella-product-page .glow-related-section {
    max-width: 1200px !important;
    margin: 80px auto !important;
    padding: 40px 20px !important;
}

.lab-ella-product-page .glow-related-title {
    font-family: 'Playfair Display', serif !important;
    font-size: 32px !important;
    color: var(--lab-ella-dark) !important;
    text-align: center !important;
    margin-bottom: 40px !important;
}

.lab-ella-product-page .glow-related-grid {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)) !important;
    gap: 30px !important;
}

.lab-ella-product-page .glow-related-card {
    background: white !important;
    border-radius: 15px !important;
    padding: 20px !important;
    box-shadow: 0 4px 20px rgba(0,0,0,0.1) !important;
    border: 1px solid var(--lab-ella-border) !important;
    text-align: center !important;
    transition: all 0.3s ease !important;
}

.lab-ella-product-page .glow-related-card:hover {
    transform: translateY(-5px) !important;
    box-shadow: 0 8px 30px rgba(0,0,0,0.15) !important;
}

.lab-ella-product-page .glow-related-image {
    width: 100% !important;
    height: 250px !important;
    border-radius: 10px !important;
    overflow: hidden !important;
    margin-bottom: 15px !important;
}

.lab-ella-product-page .glow-related-image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    image-rendering: crisp-edges !important;
}

.lab-ella-product-page .glow-related-name {
    font-size: 16px !important;
    font-weight: 600 !important;
    color: var(--lab-ella-dark) !important;
    margin-bottom: 10px !important;
    text-align: center !important;
}

.lab-ella-product-page .glow-related-price {
    font-size: 20px !important;
    font-weight: 700 !important;
    color: var(--lab-ella-gold) !important;
    margin-bottom: 15px !important;
    text-align: center !important;
}

.lab-ella-product-page .glow-related-rating {
    display: flex !important;
    justify-content: center !important;
    margin-bottom: 15px !important;
}

.lab-ella-product-page .glow-related-add-btn {
    background: var(--lab-ella-dark) !important;
    color: white !important;
    border: none !important;
    padding: 12px 20px !important;
    border-radius: 8px !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
    width: 100% !important;
}

.lab-ella-product-page .glow-related-add-btn:hover {
    background: var(--lab-ella-gold) !important;
    transform: translateY(-2px) !important;
}

/* ===== LECTEUR VIDÉO SEE-IN-ACTION CIRCULAIRE ET MODERNE ===== */
.lab-ella-product-page .glow-see-in-action {
    margin: 40px 0 !important;
    text-align: center !important;
}

.lab-ella-product-page .glow-see-in-action h3 {
    font-family: 'Playfair Display', serif !important;
    font-size: 24px !important;
    color: var(--lab-ella-dark) !important;
    margin-bottom: 25px !important;
    font-weight: 600 !important;
}

.lab-ella-product-page .glow-video-grid {
    display: flex !important;
    justify-content: center !important;
    gap: 20px !important;
    flex-wrap: wrap !important;
}

/* Règles vidéo supprimées - voir section principale ligne 4518+ */

/* Responsive */
@media (max-width: 768px) {
    /* Règles vidéo supprimées - utiliser les règles de base */
    
    .lab-ella-product-page .glow-routine-card {
        flex: 0 0 180px !important;
        height: 280px !important;
    }
    
    .lab-ella-product-page .glow-routine-carousel-container {
        padding: 0 40px !important;
    }
}

/* ===== CORRECTIONS FORCÉES POUR RÉSOUDRE LES PROBLÈMES ===== */

/* ===== CARROUSEL ROUTINE - VERSION COMPACTE ET ÉLÉGANTE ===== */
.lab-ella-product-page .glow-routine-section {
    max-width: 1000px !important;
    margin: 60px auto !important;
    padding: 30px 20px !important;
    background: white !important;
}

.lab-ella-product-page .glow-routine-section h2 {
    font-family: 'Playfair Display', serif !important;
    font-size: 28px !important;
    color: var(--lab-ella-dark) !important;
    text-align: center !important;
    margin-bottom: 30px !important;
}

.lab-ella-product-page .glow-routine-carousel-container {
    position: relative !important;
    overflow: hidden !important;
    padding: 0 50px !important;
}

.lab-ella-product-page .glow-routine-carousel {
    display: flex !important;
    gap: 15px !important;
    transition: transform 0.4s ease !important;
    will-change: transform !important;
    touch-action: auto !important;
}

.lab-ella-product-page .glow-routine-card {
    flex: 0 0 220px !important;
    background: white !important;
    border-radius: 12px !important;
    padding: 15px !important;
    box-shadow: 0 3px 15px rgba(0,0,0,0.08) !important;
    border: 1px solid var(--lab-ella-border) !important;
    display: flex !important;
    flex-direction: column !important;
    height: 320px !important;
    transition: all 0.3s ease !important;
}

.lab-ella-product-page .glow-routine-card:hover {
    transform: translateY(-3px) !important;
    box-shadow: 0 6px 25px rgba(0,0,0,0.12) !important;
}

.lab-ella-product-page .glow-routine-card .glow-routine-image {
    width: 100% !important;
    height: 140px !important;
    border-radius: 8px !important;
    overflow: hidden !important;
    margin-bottom: 12px !important;
}

.lab-ella-product-page .glow-routine-card .glow-routine-image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}

.lab-ella-product-page .glow-routine-card .glow-routine-title {
    font-size: 14px !important;
    font-weight: 600 !important;
    color: var(--lab-ella-dark) !important;
    margin-bottom: 8px !important;
    line-height: 1.3 !important;
    height: 36px !important;
    overflow: hidden !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
}

.lab-ella-product-page .glow-routine-card .glow-routine-price {
    font-size: 16px !important;
    font-weight: 700 !important;
    color: var(--lab-ella-gold) !important;
    margin-bottom: 12px !important;
}

.lab-ella-product-page .glow-routine-card .glow-routine-add-btn {
    background: var(--lab-ella-dark) !important;
    color: white !important;
    border: none !important;
    padding: 10px 15px !important;
    border-radius: 6px !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
    margin-top: auto !important;
}

.lab-ella-product-page .glow-routine-card .glow-routine-add-btn:hover {
    background: var(--lab-ella-gold) !important;
    transform: translateY(-1px) !important;
}

.lab-ella-product-page #routine-prev,
.lab-ella-product-page #routine-next {
    position: absolute !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    width: 35px !important;
    height: 35px !important;
    background: white !important;
    border: 1px solid var(--lab-ella-border) !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
    z-index: 10 !important;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1) !important;
    font-size: 14px !important;
}

.lab-ella-product-page #routine-prev {

    left: 8px !important;
}

.lab-ella-product-page #routine-next {

    right: 8px !important;
}

.lab-ella-product-page .glow-routine-prev:hover,
.lab-ella-product-page .glow-routine-next:hover {
    background: var(--lab-ella-gold) !important;
    color: white !important;
    border-color: var(--lab-ella-gold) !important;
    transform: translateY(-50%) scale(1.1) !important;
}

/* 2. VIDÉOS SEE-IN-ACTION - LECTEUR CIRCULAIRE FORCÉ */
.lab-ella-product-page .glow-see-in-action {
    margin-top: 30px !important;
    padding: 0 !important;
    background: transparent !important;
    border-radius: 0 !important;
    border: none !important;
}

.lab-ella-product-page .glow-see-in-action h4 {
    font-family: 'Playfair Display', serif !important;
    font-size: 20px !important;
    color: var(--lab-ella-dark) !important;
    margin-bottom: 20px !important;
    text-align: center !important;
}

.lab-ella-product-page .glow-video-thumbnails {
    display: flex !important;
    gap: 15px !important;
    justify-content: center !important;
    flex-wrap: wrap !important;
}

/* Règles vidéo supprimées - utiliser les règles de base */

/* 3. SECTION "VOUS AIMEREZ AUSSI" - STYLE FORCÉ */
.lab-ella-product-page .glow-related-section {
    max-width: 1200px !important;
    margin: 80px auto !important;
    padding: 40px 20px !important;
}

.lab-ella-product-page .glow-related-title {
    font-family: 'Playfair Display', serif !important;
    font-size: 32px !important;
    color: var(--lab-ella-dark) !important;
    text-align: center !important;
    margin-bottom: 40px !important;
}

.lab-ella-product-page .glow-related-grid {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)) !important;
    gap: 30px !important;
}

.lab-ella-product-page .glow-related-card {
    background: white !important;
    border-radius: 15px !important;
    padding: 20px !important;
    box-shadow: 0 4px 20px rgba(0,0,0,0.1) !important;
    border: 1px solid var(--lab-ella-border) !important;
    text-align: center !important;
    transition: all 0.3s ease !important;
}

.lab-ella-product-page .glow-related-card:hover {
    transform: translateY(-5px) !important;
    box-shadow: 0 8px 30px rgba(0,0,0,0.15) !important;
}

.lab-ella-product-page .glow-related-image {
    width: 100% !important;
    height: 250px !important;
    border-radius: 10px !important;
    overflow: hidden !important;
    margin-bottom: 15px !important;
}

.lab-ella-product-page .glow-related-image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    image-rendering: crisp-edges !important;
}

.lab-ella-product-page .glow-related-name {
    font-size: 16px !important;
    font-weight: 600 !important;
    color: var(--lab-ella-dark) !important;
    margin-bottom: 10px !important;
    text-align: center !important;
}

.lab-ella-product-page .glow-related-price {
    font-size: 20px !important;
    font-weight: 700 !important;
    color: var(--lab-ella-gold) !important;
    margin-bottom: 15px !important;
    text-align: center !important;
}

.lab-ella-product-page .glow-related-rating {
    display: flex !important;
    justify-content: center !important;
    margin-bottom: 15px !important;
}

.lab-ella-product-page .glow-related-add-btn {
    background: var(--lab-ella-dark) !important;
    color: white !important;
    border: none !important;
    padding: 12px 20px !important;
    border-radius: 8px !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
    width: 100% !important;
}

.lab-ella-product-page .glow-related-add-btn:hover {
    background: var(--lab-ella-gold) !important;
    transform: translateY(-2px) !important;
}

/* ===== LECTEUR VIDÉO SEE-IN-ACTION CIRCULAIRE ET MODERNE ===== */
.lab-ella-product-page .glow-see-in-action {
    margin: 40px 0 !important;
    text-align: center !important;
}

.lab-ella-product-page .glow-see-in-action h3 {
    font-family: 'Playfair Display', serif !important;
    font-size: 24px !important;
    color: var(--lab-ella-dark) !important;
    margin-bottom: 25px !important;
    font-weight: 600 !important;
}

.lab-ella-product-page .glow-video-grid {
    display: flex !important;
    justify-content: center !important;
    gap: 20px !important;
    flex-wrap: wrap !important;
}

/* Règles vidéo supprimées - voir section principale ligne 4518+ */

/* Responsive */
@media (max-width: 768px) {
    /* Règles vidéo supprimées - utiliser les règles de base */
    
    .lab-ella-product-page .glow-routine-card {
        flex: 0 0 180px !important;
        height: 280px !important;
    }
    
    .lab-ella-product-page .glow-routine-carousel-container {
        padding: 0 40px !important;
    }
}

/* ===== CORRECTIONS FORCÉES POUR RÉSOUDRE LES PROBLÈMES ===== */

/* 1. CARROUSEL ROUTINE - STYLE FORCÉ */
.lab-ella-product-page .glow-routine-section {
    max-width: 1200px !important;
    margin: 80px auto !important;
    padding: 40px 20px !important;
    background: white !important;
}

.lab-ella-product-page .glow-routine-section h2 {
    font-family: 'Playfair Display', serif !important;
    font-size: 32px !important;
    color: var(--lab-ella-dark) !important;
    text-align: center !important;
    margin-bottom: 40px !important;
}

.lab-ella-product-page .glow-routine-carousel-container {
    position: relative !important;
    overflow: hidden !important;
    padding: 0 60px !important;
}

.lab-ella-product-page .glow-routine-carousel {
    display: flex !important;
    gap: 20px !important;
    transition: transform 0.3s ease !important;
    will-change: transform !important;
}

.lab-ella-product-page .glow-routine-card {
    flex: 0 0 280px !important;
    background: white !important;
    border-radius: 15px !important;
    padding: 20px !important;
    box-shadow: 0 4px 20px rgba(0,0,0,0.1) !important;
    border: 1px solid var(--lab-ella-border) !important;
    display: flex !important;
    flex-direction: column !important;
    height: 400px !important;
}

.lab-ella-product-page .glow-routine-card .glow-routine-image {
    width: 100% !important;
    height: 200px !important;
    border-radius: 10px !important;
    overflow: hidden !important;
    margin-bottom: 15px !important;
}

.lab-ella-product-page .glow-routine-card .glow-routine-image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}

.lab-ella-product-page .glow-routine-card .glow-routine-title {
    font-size: 16px !important;
    font-weight: 600 !important;
    color: var(--lab-ella-dark) !important;
    margin-bottom: 10px !important;
    line-height: 1.3 !important;
}

.lab-ella-product-page .glow-routine-card .glow-routine-price {
    font-size: 18px !important;
    font-weight: 700 !important;
    color: var(--lab-ella-gold) !important;
    margin-bottom: 15px !important;
}

.lab-ella-product-page .glow-routine-card .glow-routine-add-btn {
    background: var(--lab-ella-dark) !important;
    color: white !important;
    border: none !important;
    padding: 12px 20px !important;
    border-radius: 8px !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
    margin-top: auto !important;
}

.lab-ella-product-page .glow-routine-card .glow-routine-add-btn:hover {
    background: var(--lab-ella-gold) !important;
    transform: translateY(-2px) !important;
}

.lab-ella-product-page .glow-routine-prev,
.lab-ella-product-page .glow-routine-next {
    position: absolute !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    width: 40px !important;
    height: 40px !important;
    background: white !important;
    border: 1px solid var(--lab-ella-border) !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
    z-index: 10 !important;
    box-shadow: 0 2px 10px rgba(0,0,0,0.1) !important;
}

.lab-ella-product-page .glow-routine-prev {
    left: 10px !important;
}

.lab-ella-product-page .glow-routine-next {
    right: 10px !important;
}

.lab-ella-product-page .glow-routine-prev:hover,
.lab-ella-product-page .glow-routine-next:hover {
    background: var(--lab-ella-gold) !important;
    color: white !important;
    border-color: var(--lab-ella-gold) !important;
}

/* 2. VIDÉOS SEE-IN-ACTION - LECTEUR CIRCULAIRE FORCÉ */
.lab-ella-product-page .glow-see-in-action {
    margin-top: 30px !important;
    padding: 0 !important;
    background: transparent !important;
    border-radius: 0 !important;
    border: none !important;
}

.lab-ella-product-page .glow-see-in-action h4 {
    font-family: 'Playfair Display', serif !important;
    font-size: 20px !important;
    color: var(--lab-ella-dark) !important;
    margin-bottom: 20px !important;
    text-align: center !important;
}

.lab-ella-product-page .glow-video-thumbnails {
    display: flex !important;
    gap: 15px !important;
    justify-content: center !important;
    flex-wrap: wrap !important;
}

.lab-ella-product-page .glow-video-thumbnail {
    position: relative !important;
    width: 150px !important;
    height: 150px !important;
    border-radius: 50% !important;
    overflow: hidden !important;
    cursor: pointer !important;
    border: 3px solid var(--lab-ella-gold) !important;
    transition: all 0.3s ease !important;
    box-shadow: 0 4px 15px rgba(232, 199, 167, 0.3) !important;
    background: transparent !important;
}

.lab-ella-product-page .glow-video-thumbnail:hover {
    transform: scale(1.1) !important;
    box-shadow: 0 8px 25px rgba(232, 199, 167, 0.5) !important;
}

.lab-ella-product-page .glow-video-thumbnail img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    aspect-ratio: 1 !important;
    border-radius: 50% !important;
    display: block !important;
}

.lab-ella-product-page .glow-video-placeholder {
    width: 100% !important;
    height: 100% !important;
    background: linear-gradient(135deg, var(--lab-ella-gold), #d4a574) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 24px !important;
    color: white !important;
}

.lab-ella-product-page .glow-play-button {
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
    width: 40px !important;
    height: 40px !important;
    min-width: 40px !important;
    min-height: 40px !important;
    max-width: 40px !important;
    max-height: 40px !important;
    background: rgba(255, 255, 255, 0.9) !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 18px !important;
    color: var(--lab-ella-dark) !important;
    transition: all 0.3s ease !important;
    box-shadow: 0 2px 10px rgba(0,0,0,0.2) !important;
    aspect-ratio: 1 !important;
    flex-shrink: 0 !important;
}

.lab-ella-product-page .glow-video-thumbnail:hover .glow-play-button {
    background: var(--lab-ella-gold) !important;
    color: white !important;
    transform: translate(-50%, -50%) scale(1.2) !important;
}

/* 3. SECTION "VOUS AIMEREZ AUSSI" - STYLE FORCÉ */
.lab-ella-product-page .glow-related-section {
    max-width: 1200px !important;
    margin: 80px auto !important;
    padding: 40px 20px !important;
}

.lab-ella-product-page .glow-related-title {
    font-family: 'Playfair Display', serif !important;
    font-size: 32px !important;
    color: var(--lab-ella-dark) !important;
    text-align: center !important;
    margin-bottom: 40px !important;
}

.lab-ella-product-page .glow-related-grid {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)) !important;
    gap: 30px !important;
}

.lab-ella-product-page .glow-related-card {
    background: white !important;
    border-radius: 15px !important;
    padding: 20px !important;
    box-shadow: 0 4px 20px rgba(0,0,0,0.1) !important;
    border: 1px solid var(--lab-ella-border) !important;
    text-align: center !important;
    transition: all 0.3s ease !important;
}

.lab-ella-product-page .glow-related-card:hover {
    transform: translateY(-5px) !important;
    box-shadow: 0 8px 30px rgba(0,0,0,0.15) !important;
}

.lab-ella-product-page .glow-related-image {
    width: 100% !important;
    height: 250px !important;
    border-radius: 10px !important;
    overflow: hidden !important;
    margin-bottom: 15px !important;
}

.lab-ella-product-page .glow-related-image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    image-rendering: crisp-edges !important;
}

.lab-ella-product-page .glow-related-name {
    font-size: 16px !important;
    font-weight: 600 !important;
    color: var(--lab-ella-dark) !important;
    margin-bottom: 10px !important;
    text-align: center !important;
}

.lab-ella-product-page .glow-related-price {
    font-size: 20px !important;
    font-weight: 700 !important;
    color: var(--lab-ella-gold) !important;
    margin-bottom: 15px !important;
    text-align: center !important;
}

.lab-ella-product-page .glow-related-rating {
    display: flex !important;
    justify-content: center !important;
    margin-bottom: 15px !important;
}

.lab-ella-product-page .glow-related-add-btn {
    background: var(--lab-ella-dark) !important;
    color: white !important;
    border: none !important;
    padding: 12px 20px !important;
    border-radius: 8px !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
    width: 100% !important;
}

.lab-ella-product-page .glow-related-add-btn:hover {
    background: var(--lab-ella-gold) !important;
    transform: translateY(-2px) !important;
}

/* Règles vidéo sans préfixe supprimées - toutes les règles vidéo sont désormais dans la section principale (ligne 4518+) avec le préfixe .lab-ella-product-page pour garantir la spécificité CSS */

/* ==========================================================================
   Section : Page Boutique (/boutique/) - Spécifique à archive-product.php
   ========================================================================== */

/* Conteneur principal */
.shop-page {
    font-family: 'Montserrat', sans-serif;
    width: 100vw !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    background-color: #fff;
    overflow-x: hidden;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    align-items: center;
}

/* Forcer tous les conteneurs parents à être en pleine largeur */
body .shop-page,
body .shop-page .woocommerce,
body .shop-page .woocommerce-page,
body .shop-page .container,
body .shop-page .site-content,
body .shop-page #content,
body .shop-page #primary,
body .shop-page .site-main,
body .shop-page .elementor-container,
body .shop-page .elementor-section,
body .shop-page .elementor-section-boxed > .elementor-container {
    width: 100vw !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
}

/* Conteneur global pour garantir la pleine largeur */
.shop-page .full-width-wrapper {
    width: 100vw !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
}

/* Bannière (Carrousel de vidéos) */
.shop-page .shop-banner {
    position: relative;
    margin-top: 0px;
    margin-bottom: 20px;
    width: 100%;
    min-height: 200px; /* CHANGEMENT : Utiliser min-height au lieu de height pour éviter de couper les vidéos */
    background: linear-gradient(135deg, #f9e4e6 0%, #fff5f7 50%, #e8f5e9 100%);
    box-shadow: inset 0 0 20px rgba(0, 0, 0, 0.05);
    display: flex; /* AJOUT : Utiliser flexbox pour centrer le contenu */
    align-items: center; /* AJOUT : Centrer verticalement */
    justify-content: flex-start; /* AJOUT : S’assurer que le carrousel commence à gauche */
    padding: 20px 0; /* CONSERVÉ : Padding pour l’espace vertical */
    box-sizing: border-box; /* AJOUT : Inclure le padding dans les dimensions */
}

/* Carrousel de la bannière */
.shop-page .shop-banner-carousel {
    display: flex;
    gap: 20px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    padding-bottom: 0px;
    justify-content: flex-start; /* CHANGEMENT : Remplacé center par flex-start pour coller à gauche */
    width: 100%;
    background: transparent;
    padding-left: 0 !important; /* AJOUT : Supprimer tout padding à gauche */
    margin-left: 0 !important; /* AJOUT : Supprimer toute marge à gauche */
}

.shop-page .shop-banner-carousel::-webkit-scrollbar {
    display: none;
}

.shop-page .shop-banner-carousel {
    -ms-overflow-style: none;
    scrollbar-width: none;
}

.shop-page .shop-banner-video-circle-wrapper {
    flex: 0 0 120px;
    text-align: center;
    cursor: pointer;
    margin: 0 10px;
}

/* AJOUT : Assurer que le premier élément n’a pas de marge à gauche */
.shop-page .shop-banner-video-circle-wrapper:first-child {
    margin-left: 0 !important;
}

.shop-page .shop-banner-video-circle {
    width: 120px;
    height: 120px;
    border-radius: 50%;
    border: 2px solid transparent;
    overflow: hidden;
    transition: all 0.3s ease;
}

.shop-page .shop-banner-video-circle:hover {
    border-color: #F9E4E6;
    transform: scale(1.05);
}

.shop-page .shop-banner-video-circle video {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.shop-page .shop-banner-video-title {
    font-family: 'Playfair Display', serif;
    font-size: 14px;
    color: #333333;
    margin-top: 8px;
    text-transform: capitalize;
}

/* Flèches de navigation */
.shop-page .shop-banner-prev,
.shop-page .shop-banner-next {
    position: absolute;
    top: 0; /* CHANGEMENT : Étendre sur toute la hauteur de la bannière */
    bottom: 0;
    width: 20px; /* CHANGEMENT : Rectangle mince */
    height: 100%; /* CHANGEMENT : Couvre toute la hauteur de la bannière */
    background-color: rgba(255, 255, 255, 0.3); /* CHANGEMENT : Fond semi-transparent avec opacité réduite (0.3 au lieu de 0.5) */
    border: none; /* CHANGEMENT : Supprimer la bordure */
    border-radius: 0; /* CHANGEMENT : Supprimer le border-radius pour un rectangle */
    color: #333333;
    font-size: 22px;
    font-weight: 600;
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 10;
    cursor: pointer;
}

/* AJOUT : Ligne verticale fine en arrière-plan des flèches */
.shop-page .shop-banner-prev::before,
.shop-page .shop-banner-next::before {
    content: '';
    position: absolute;
    top: 10%;
    bottom: 10%;
    width: 1px;
    background-color: rgba(0, 0, 0, 0.1);
    z-index: -1;
}

.shop-page .shop-banner-prev::before {
    right: 0; /* AJOUT : Aligner la ligne au bord droit du rectangle */
}

.shop-page .shop-banner-next::before {
    left: 0; /* AJOUT : Aligner la ligne au bord gauche du rectangle */
}

.shop-page .shop-banner-prev:hover,
.shop-page .shop-banner-next:hover {
    background-color: rgba(255, 255, 255, 0.5); /* CHANGEMENT : Légère augmentation de l’opacité au survol (0.5 au lieu de 0.7) */
    transform: none; /* CHANGEMENT : Supprimer l’effet de scale pour un look plus simple */
}

.shop-page .shop-banner-prev {
    left: 0; /* CHANGEMENT : Collé au bord gauche */
    display: none; /* AJOUT : Masqué par défaut, comme sur Glow Recipe */
}

.shop-page .shop-banner-next {
    right: 0; /* CHANGEMENT : Collé au bord droit */
}

/* Popup Lecteur Vidéo */
.shop-page .video-player-popup {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.8);
    z-index: 1000;
    display: none !important;
    align-items: center;
    justify-content: center;
    opacity: 0;
    transition: opacity 0.3s ease-in-out;
}

.shop-page .video-player-popup.active {
    display: flex !important;
    opacity: 1;
}

.shop-page .video-player-container {
    position: relative;
    max-width: 600px;
    width: 90%;
    text-align: center;
}

.shop-page .video-player-circle {
    width: 400px;
    height: 400px;
    border-radius: 50%;
    overflow: hidden;
    margin: 0 auto;
    border: 2px solid transparent;
    transition: all 0.3s ease;
}

.shop-page .video-player-circle:hover {
    border-color: #F9E4E6;
}

.shop-page .video-player {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.shop-page .video-player-close {
    position: absolute;
    top: -40px;
    right: 0;
    width: 30px;
    height: 30px;
    background: #fff;
    border: 1px solid #333333;
    border-radius: 50%;
    color: #333333;
    font-size: 18px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
}

.shop-page .video-player-close:hover {
    background-color: #F9E4E6;
    transform: rotate(90deg);
}

/* Filtres */
.shop-page .shop-filters {
    display: flex;
    justify-content: center;
    gap: 15px;
    margin-bottom: 40px;
    flex-wrap: wrap;
    width: 100%;
    padding: 0 15px;
    box-sizing: border-box;
}

.shop-page .shop-filter-dropdown {
    position: relative;
}

.shop-page .shop-filter-button {
    background-color: #fff;
    border: 1px solid #333333;
    padding: 10px 20px;
    border-radius: 20px;
    cursor: pointer;
    font-size: 14px;
    font-family: 'Montserrat', sans-serif;
    color: #333333;
    display: flex;
    align-items: center;
    transition: all 0.3s ease;
}

.shop-page .shop-filter-button:hover {
    background-color: #F9E4E6;
}

.shop-page .shop-filter-button .dropdown-arrow {
    margin-left: 6px;
    font-size: 10px;
}

.shop-page .shop-filter-options {
    display: none;
    position: absolute;
    top: calc(100% + 5px);
    left: 0;
    background-color: #fff;
    min-width: 160px;
    box-shadow: 0 6px 12px rgba(0, 0, 0, 0.05);
    z-index: 100;
    border-radius: 12px;
    padding: 10px 0;
}

.shop-page .shop-filter-dropdown:hover .shop-filter-options {
    display: block;
}

.shop-page .shop-filter-option {
    color: #333333;
    padding: 8px 15px;
    text-decoration: none;
    display: block;
    font-size: 13px;
    font-family: 'Montserrat', sans-serif;
}

.shop-page .shop-filter-option:hover {
    background-color: #F9E4E6;
}

/* Grille de produits */
.shop-page .shop-product-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(400px, 1fr));
    gap: 10px;
    padding: 0 30px !important;
    margin: 0 30px !important;
    width: calc(100% - 30px) !important;
    box-sizing: border-box;
    justify-content: center;
}

/* Carte de produit - Carrée */
.shop-page .shop-product-card {
    position: relative;
    background-color: #fff;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
    transition: transform 0.4s ease, box-shadow 0.4s ease;
    display: flex;
    flex-direction: column;
    width: 400px;
    height: 600px;
    opacity: 0;
    transform: translateY(20px);
    animation: slideIn 0.6s ease forwards;
    margin: 0 auto 30px;
}

.shop-page .shop-product-card:nth-child(1) { animation-delay: 0.1s; }
.shop-page .shop-product-card:nth-child(2) { animation-delay: 0.2s; }
.shop-page .shop-product-card:nth-child(3) { animation-delay: 0.3s; }
.shop-page .shop-product-card:nth-child(4) { animation-delay: 0.4s; }
.shop-page .shop-product-card:nth-child(5) { animation-delay: 0.5s; }

@keyframes slideIn {
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.shop-page .shop-product-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.12);
}

/* Image du produit - Ratio carré */
.shop-page .section-image-wrapper {
    position: relative;
    width: 100%;
    height: 400px;
    border-radius: 16px 16px 0 0;
    overflow: hidden;
}

.shop-page .section-image {
    width: 100%;
    height: 100%;
    background-color: #F9E4E6;
    display: flex;
    align-items: center;
    justify-content: center;
}

.shop-page .section-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    transition: opacity 0.5s ease-in-out;
}

.shop-page .shop-product-image-secondary {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    transition: opacity 0.5s ease-in-out;
    opacity: 0;
    border-radius: 16px 16px 0 0;
    image-rendering: optimizeQuality; /* Améliore la qualité de rendu */
}

.shop-page .shop-product-card:hover .section-image img {
    opacity: 0;
}

.shop-page .shop-product-card:hover .shop-product-image-secondary {
    opacity: 1;
}

.shop-page .product-badge {
    position: absolute;
    top: 12px;
    left: 12px;
    padding: 6px 12px;
    border-radius: 20px; /* Coins plus arrondis pour un look moderne */
    font-family: 'Playfair Display', serif;
    font-size: 12px;
    font-weight: 600;
    background: linear-gradient(135deg, var(--gold), #f5d5b5); /* Dégradé doré élégant */
    color: var(--dark);
    border: 1px solid rgba(232, 199, 167, 0.3);
    z-index: 3;
    text-transform: uppercase;
    letter-spacing: 0.8px;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
    transition: transform 0.3s ease, box-shadow 0.3s ease, background 0.3s ease;
}

.shop-page .product-badge:hover {
    transform: scale(1.05) translateY(-2px); /* Effet de zoom et léger soulèvement */
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    background: linear-gradient(135deg, #f5d5b5, var(--gold)); /* Inversion du dégradé au survol */
}

.shop-page .product-badge.sold-out {
    background: linear-gradient(135deg, #666, #888);
    color: #fff;
}

.shop-page .product-badge.sold-out:hover {
    background: linear-gradient(135deg, #888, #666);
}

.shop-page .product-badge.best-seller {
    background: linear-gradient(135deg, var(--rose), #f7e4e6);
    color: var(--dark);
}

.shop-page .product-badge.best-seller:hover {
    background: linear-gradient(135deg, #f7e4e6, var(--rose));
}

.shop-page .product-badge.on-sale {
    background: linear-gradient(135deg, var(--gold), #f5d5b5);
    color: var(--dark);
}

.shop-page .product-badge.on-sale:hover {
    background: linear-gradient(135deg, #f5d5b5, var(--gold));
}

.shop-page .product-badge.new {
    background: linear-gradient(135deg, #fff, var(--rose)); /* Remplacement du vert par un dégradé rose-blanc */
    color: var(--dark);
}

.shop-page .product-badge.new:hover {
    background: linear-gradient(135deg, var(--rose), #fff);
}

/* Détails du produit */
.shop-page .section-details {
    padding: 15px;
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    text-align: center;
    min-height: 160px;
    margin-bottom: 20px;
}

.shop-page .section-details-title {
    font-family: 'Playfair Display', serif;
    font-size: 18px;
    font-weight: 400;
    margin-bottom: 8px;
    color: #333333;
    line-height: 1.4;
    height: 52px;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}

.shop-page .section-details-title:hover {
    color: #333333;
    text-decoration: none;
}

.shop-page .product-reviews {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin-bottom: 8px;
}

.shop-page .product-reviews .star-rating {
    font-size: 14px;
    color: #E8C7A7;
}

.shop-page .review-count {
    font-size: 14px;
    color: #666;
    font-family: 'Montserrat', sans-serif;
}

.shop-page .product-price {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 10px;
    font-weight: 500;
    gap: 8px;
}

.shop-page .regular-price {
    text-decoration: line-through;
    color: #999;
    font-size: 14px;
}

.shop-page .section-price {
    color: #333333;
    font-size: 18px;
    direction: ltr;
    font-weight: 600;
}

/* Conteneur du bouton et de la carte d'options */
.shop-page .add-to-cart-wrapper {
    position: relative;
    width: 100%;
    height: 48px; /* Réduit à la hauteur du bouton uniquement, puisque options-card est absolue */
}

/* Bouton Ajouter au Panier */
.shop-page .add-to-cart-btn {
    width: 100%;
    padding: 12px 14px;
    background-color: #fff;
    color: #333333;
    border: 1px solid #333333;
    border-radius: 5px;
    cursor: pointer;
    font-size: 15px;
    font-weight: 500;
    transition: opacity 0.5s cubic-bezier(0.22, 1, 0.36, 1), transform 0.5s cubic-bezier(0.22, 1, 0.36, 1), background-color 0.5s ease, color 0.5s ease;
    display: flex;
    justify-content: space-between;
    align-items: center;
    line-height: 1.2;
    gap: 8px;
    text-align: left;
    text-transform: uppercase;
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 2;
    opacity: 1;
    visibility: visible;
    transform: translateY(0); /* Position initiale */
}

.shop-page .add-to-cart-btn.hidden {
    opacity: 0;
    visibility: hidden;
    transform: translateY(20px); /* Animation de sortie vers le bas */
}

/* Bouton Confirmer - Superposé au même endroit que add-to-cart-btn */
.shop-page .confirm-btn {
    width: 100%;
    padding: 12px 14px;
    background-color: #fff;
    color: #333333;
    border: 1px solid #333333;
    border-radius: 5px;
    cursor: pointer;
    font-size: 15px;
    font-weight: 500;
    transition: opacity 1.2s cubic-bezier(0.22, 1, 0.36, 1), transform 1.2s cubic-bezier(0.22, 1, 0.36, 1), background-color 0.5s ease, color 0.5s ease;
    display: flex;
    justify-content: space-between;
    align-items: center;
    line-height: 1.2;
    gap: 8px;
    text-align: left;
    text-transform: uppercase;
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 11;
    opacity: 0;
    visibility: hidden;
    transform: translateY(40px);
}

/* Remplace l'ancien sélecteur par celui-ci */
.shop-page .options-card.active ~ .confirm-btn {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.shop-page .options-card.active ~ .confirm-btn:hover {
    background-color: #F9E4E6;
    color: #333333;
}

.shop-page .confirm-btn:hover,
.shop-page .confirm-btn.active {
    background-color: #F9E4E6; /* Aligné avec le hover de add-to-cart-btn si nécessaire */
    color: #333333;
}

.shop-page .add-to-cart-text,
.shop-page .add-to-cart-price {
    font-size: 15px;
    white-space: nowrap;
}

.shop-page .add-to-cart-text {
    flex: 1;
}

.shop-page .add-to-cart-price {
    flex-shrink: 0;
    direction: ltr;
}

/* Carte d'options - Positionnée juste au-dessus du bouton */
.shop-page .options-card {
    position: absolute;
    bottom: 48px;
    left: 0;
    width: 100%;
    background: linear-gradient(145deg, #F9E4E6, #fdeded);
    z-index: 10;
    border-radius: 16px 16px 0 0;
    box-shadow: 0 -2px 12px rgba(0, 0, 0, 0.1), 0 8px 20px rgba(0, 0, 0, 0.1);
    border: 1px solid rgba(232, 199, 167, 0.2);
    border-bottom: none;
    opacity: 0;
    visibility: hidden;
    transform: translateY(60px) scale(0.95); /* Ajout d'une échelle initiale */
    filter: blur(2px); /* Flou initial pour un effet sophistiqué */
    transition: opacity 1.8s cubic-bezier(0.4, 0, 0.2, 1), transform 1.8s cubic-bezier(0.4, 0, 0.2, 1), filter 1.8s cubic-bezier(0.4, 0, 0.2, 1);
    height: auto;
    max-height: 80vh;
    display: flex;
    flex-direction: column;
}

.shop-page .options-card.preparing {
    display: flex;
    visibility: visible;
    opacity: 0;
    transform: translateY(60px) scale(0.95);
    filter: blur(2px);
    height: auto;
    max-height: 0;
}

.shop-page .options-card.active {
    opacity: 1;
    visibility: visible;
    transform: translateY(0) scale(1);
    filter: blur(0);
    height: auto;
    max-height: 80vh;
    overflow-y: auto;
}

.shop-page .options-card-inner {
    padding: 15px;
    position: relative;
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    box-sizing: border-box; /* Assure que le padding est inclus dans la hauteur */
}

.shop-page .options-card::-webkit-scrollbar {
    width: 4px;
}

.shop-page .options-card::-webkit-scrollbar-track {
    background: rgba(0, 0, 0, 0.02);
    border-radius: 4px;
}

.shop-page .options-card::-webkit-scrollbar-thumb {
    background: #E8C7A7;
    border-radius: 4px;
}

.shop-page .options-card {
    -ms-overflow-style: auto;
    scrollbar-width: thin;
    scrollbar-color: #E8C7A7 rgba(0, 0, 0, 0.02);
}

.shop-page .close-options {
    position: sticky;
    top: 10px;
    right: 10px;
    width: 30px;
    height: 30px;
    background: #fff;
    border: 1px solid rgba(232, 199, 167, 0.3);
    border-radius: 50%;
    font-size: 14px;
    color: #333333;
    cursor: pointer;
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 15;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
    margin-left: auto;
}

.shop-page .close-options:hover {
    background-color: #F9E4E6;
    transform: rotate(90deg);
}

.shop-page .close-options::before {
    content: "×";
    font-size: 14px;
    font-weight: 300;
}

/* Groupes d'options */
.shop-page .option-group {
    margin-bottom: 8px;
    padding: 6px 0;
    border-bottom: 1px solid rgba(232, 199, 167, 0.15);
}

/* Options de quantité */
.shop-page .option-group.quantity-option-group {
    margin-bottom: 12px;
    padding: 8px 0;
    border-bottom: 1px solid rgba(232, 199, 167, 0.1);
}

.shop-page .option-label {
    font-size: 14px;
    font-weight: 500;
    margin-bottom: 4px;
    color: #333333;
    font-family: 'Playfair Display', serif;
    text-transform: uppercase;
    letter-spacing: 0.8px;
}

/* Options de couleur (inspirées de community-videos) */
.shop-page .color-options {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    justify-content: center;
}

.shop-page .color-option {
    width: 34px !important;
    height: 34px !important;
    border-radius: 50% !important;
    border: 2px solid transparent !important;
    display: inline-block;
    position: relative;
    cursor: pointer;
    margin: 0 5px;
    background-size: cover;
    background-position: center;
    transition: all 0.3s ease;
}

.shop-page .color-option:hover {
    transform: scale(1.1);
    border-color: #333333;
}

.shop-page .color-option.active {
    border-color: #333333;
    box-shadow: 0 0 0 2px #fff, 0 0 0 4px #333333;
}

.shop-page .color-option .color-name {
    display: none;
    position: absolute;
    bottom: -30px;
    left: 50%;
    transform: translateX(-50%);
    background-color: #333333;
    color: #FAF9F6;
    padding: 4px 8px;
    border-radius: 4px;
    font-size: 12px;
    white-space: nowrap;
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s ease;
    z-index: 3;
}

.shop-page .color-option:hover .color-name {
    display: block;
    opacity: 1;
    visibility: visible;
}

/* Options de taille */
.shop-page .size-options {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    justify-content: center;
}

.shop-page .size-option {
    padding: 8px 16px;
    border: 1px solid rgba(232, 199, 167, 0.3);
    border-radius: 24px;
    cursor: pointer;
    background-color: #fff;
    transition: all 0.3s ease;
    font-size: 13px;
    text-align: center;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.05);
    font-family: 'Montserrat', sans-serif;
    color: #333333;
}

.shop-page .size-option:hover {
    background-color: #F9E4E6;
    color: #333333;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.08);
}

.shop-page .size-option.active {
    background-color: #E8C7A7;
    border-color: #E8C7A7;
    color: #333333;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}

/* Options de quantité */
.shop-page .option-group.quantity-option-group {
    margin-bottom: 12px;
    padding: 8px 0;
    border-bottom: 1px solid rgba(232, 199, 167, 0.1);
}

.shop-page .quantity-selector {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}

.shop-page .quantity-btn {
    width: 32px;
    height: 32px;
    background: linear-gradient(145deg, #fff, #f9f6f2);
    border: 1px solid rgba(232, 199, 167, 0.3);
    border-radius: 50%;
    cursor: pointer;
    font-size: 14px;
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
}

.shop-page .quantity-btn:hover {
    background: linear-gradient(145deg, #F9E4E6, #fdeded);
    transform: scale(1.05);
}

.shop-page .quantity-input {
    width: 40px;
    height: 28px;
    border: 1px solid rgba(232, 199, 167, 0.3);
    border-radius: 8px;
    text-align: center;
    font-size: 14px;
    color: #333333;
    background: linear-gradient(145deg, #fff, #f9f6f2);
    -moz-appearance: textfield;
    padding: 0 4px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
    transition: all 0.3s ease;
}

.shop-page .quantity-input:focus {
    outline: none;
    border-color: #E8C7A7;
    box-shadow: 0 0 0 2px rgba(232, 199, 167, 0.2);
}

.shop-page .quantity-input::-webkit-outer-spin-button,
.shop-page .quantity-input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

/* Options d'achat */
.shop-page .purchase-options {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-bottom: 12px;
    justify-content: center;
    align-items: center;
}

.shop-page .purchase-option {
    display: flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
    font-size: 14px;
    font-weight: 400;
    color: #333333;
    padding: 8px 12px;
    border: 1px solid rgba(232, 199, 167, 0.2);
    border-radius: 8px;
    transition: all 0.3s ease;
    background: linear-gradient(145deg, #fff, #f9f6f2);
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
    width: 100%;
    max-width: 300px;
    justify-content: center;
}

.shop-page .purchase-option:hover {
    background: linear-gradient(145deg, #F9E4E6, #fdeded);
    border-color: rgba(232, 199, 167, 0.4);
    transform: translateY(-1px);
}

.shop-page .purchase-option input[type="radio"] {
    appearance: none;
    width: 16px;
    height: 16px;
    border: 1px solid #E8C7A7;
    border-radius: 50%;
    background-color: #fff;
    cursor: pointer;
    transition: all 0.3s ease;
}

.shop-page .purchase-option input[type="radio"]:checked {
    background-color: #E8C7A7;
    box-shadow: inset 0 0 0 2px #fff;
}

.shop-page .purchase-option label {
    cursor: pointer;
    font-size: 14px;
    font-family: 'Montserrat', sans-serif;
}

/* Options d'achat */
.shop-page .purchase-options {
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin-bottom: 8px;
    justify-content: center;
    align-items: flex-start;
}

.shop-page .purchase-option {
    display: flex;
    align-items: center;
    gap: 6px;
    cursor: pointer;
    font-size: 14px;
    font-weight: 400;
    color: #333333;
    padding: 6px 10px;
    border: 1px solid rgba(232, 199, 167, 0.15);
    border-radius: 6px;
    transition: all 0.3s ease;
}

.shop-page .purchase-option:hover {
    background-color: rgba(232, 199, 167, 0.1);
}

.shop-page .purchase-option input[type="radio"] {
    appearance: none;
    width: 14px;
    height: 14px;
    border: 1px solid #333333;
    border-radius: 50%;
    background-color: #fff;
    cursor: pointer;
    transition: all 0.3s ease;
}

.shop-page .purchase-option input[type="radio"]:checked {
    background-color: #F9E4E6;
    box-shadow: inset 0 0 0 2px #fff;
}

.shop-page .purchase-option label {
    cursor: pointer;
    font-size: 14px;
}

/* Variantes multiples */
.shop-page .variant-selections {
    margin-bottom: 8px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding-right: 6px;
}

.shop-page .variant-selection {
    border: 1px solid rgba(232, 199, 167, 0.15);
    padding: 8px;
    border-radius: 8px;
    background: linear-gradient(145deg, #ffffff, #fef7f5);
    margin-bottom: 6px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.04);
}

/* Bouton Ajouter une autre variante */

/* Bouton Retirer */
.shop-page .remove-selection {
    background-color: transparent;
    border: 1px solid rgba(0, 0, 0, 0.15);
    padding: 6px 10px;
    border-radius: 10px;
    cursor: pointer;
    font-size: 13px;
    transition: all 0.3s ease;
    margin-top: 6px;
    width: auto;
    text-align: center;
    color: #333333;
    font-weight: 400;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
}

.shop-page .remove-selection:hover {
    background-color: #F9E4E6;
    color: #333333;
}

/* Packs (inspirés de save_with_sets) */
.shop-page .bundle-option-group {
    margin-bottom: 8px;
}

.shop-page .bundle-products {
    background: linear-gradient(145deg, #FFF, #fef7f5) !important;
    padding: 15px;
    border-radius: 16px;
    margin-bottom: 20px;
    border: 1px solid rgba(232, 199, 167, 0.3);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.04);
    max-height: auto; /* Augmenté de 300px à 400px pour inclure tous les éléments */
    overflow-y: auto;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.shop-page .bundle-product-full {
    order: -1; /* Place le "pack entier" en haut de la liste */
    display: flex !important; /* Force l'affichage */
    visibility: visible !important; /* Force la visibilité */
    opacity: 1 !important; /* Force l'opacité */
    margin-bottom: 10px; /* Ajoute un espace en dessous pour séparation */
    background: rgba(232, 199, 167, 0.1); /* Fond léger pour le mettre en évidence */
}

.shop-page .bundle-products::-webkit-scrollbar {
    width: 4px;
}

.shop-page .bundle-products::-webkit-scrollbar-track {
    background: rgba(0, 0, 0, 0.02);
    border-radius: 4px;
}

.shop-page .bundle-products::-webkit-scrollbar-thumb {
    background: #E8C7A7;
    border-radius: 4px;
}

.shop-page .bundle-products {
    -ms-overflow-style: auto;
    scrollbar-width: thin;
    scrollbar-color: #E8C7A7 rgba(0, 0, 0, 0.02);
}

.shop-page .bundle-product {
    display: flex;
    align-items: center;
    padding: 12px;
    border: 1px solid rgba(232, 199, 167, 0.3);
    border-radius: 12px;
    background: #FFF !important;
    transition: all 0.3s ease;
    cursor: pointer;
}

.shop-page .bundle-product.selected {
    background: #F9E4E6 !important;
    border-color: #E8C7A7 !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

.shop-page .bundle-product-content {
    display: flex;
    align-items: center;
    gap: 12px;
    flex: 1;
    background: transparent !important;
}

.shop-page .bundle-product-checkbox:checked + .bundle-product-content,
.shop-page .bundle-product-radio:checked + .bundle-product-content {
    background: transparent !important;
}

.shop-page .bundle-product-header {
    display: flex !important;
    align-items: center;
    flex: 1;
    min-width: 0;
    margin-right: 10px;
    padding: 5px 0;
}

.shop-page .bundle-product-label {
    display: flex;
    align-items: center;
    gap: 5px;
    flex: 1;
    overflow: hidden;
}

.shop-page .bundle-product-name {
    font-size: 14px;
    color: #333333;
    font-family: 'Montserrat', sans-serif;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.shop-page .bundle-product-quantity {
    font-size: 12px;
    color: #666;
    flex-shrink: 0;
}

.shop-page .bundle-product-price {
    font-size: 14px;
    font-weight: 500;
    color: #333333;
    flex-shrink: 0;
}

.shop-page .bundle-product.disabled {
    opacity: 0.5;
    cursor: not-allowed;
    background: #f5f5f5 !important;
    border-color: #ddd;
}

.shop-page .bundle-product-image {
    width: 60px;
    height: 60px;
    flex-shrink: 0;
    border-radius: 6px;
    overflow: hidden;
    background-color: #FAF9F6;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
}

.shop-page .bundle-product-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.shop-page .shop-product-grid .bundle-discount {
    color: #333333 !important;
    text-align: center !important;
    font-size: 12px !important;
    margin-top: 10px !important;
}

/* Section "Produits récemment consultés" */
.shop-page .shop-recently-viewed {
    margin-top: 60px;
    position: relative;
    width: 100%;
    padding: 0 15px;
    box-sizing: border-box;
}

.shop-page .shop-recently-viewed-title {
    font-family: 'Playfair Display', serif;
    font-size: 32px;
    color: #333333;
    text-align: center;
    margin-bottom: 50px;
}

.shop-page .carousel-wrapper {
    position: relative;
    overflow: hidden;
    margin: 0 auto;
    z-index: 5;
    width: 100%;
    box-sizing: border-box;
}

.shop-page .shop-recently-viewed-carousel {
    display: flex;
    flex-wrap: nowrap;
    overflow-x: auto;
    scroll-behavior: smooth;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none; /* Firefox */
    -ms-overflow-style: none; /* IE/Edge */
    gap: 20px; /* Espace entre les cartes */
}

.shop-page .shop-recently-viewed-carousel::-webkit-scrollbar {
    display: none; /* Chrome/Safari */
}

.shop-page .shop-recently-viewed .carousel-prev,
.shop-page .shop-recently-viewed .carousel-next {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 48px;
    height: 48px;
    background: linear-gradient(145deg, #CDA776, #E8C7A7);
    color: #1C2526;
    border: none;
    border-radius: 50%;
    font-size: 22px;
    transition: all 0.3s ease;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
}

.shop-page .shop-recently-viewed .carousel-prev:hover,
.shop-page .shop-recently-viewed .carousel-next:hover {
    background: linear-gradient(145deg, #1C2526, #333);
    color: #FAF9F6;
}

.shop-page .shop-recently-viewed .carousel-prev {
    left: 10px;
}

.shop-page .shop-recently-viewed .carousel-next {
    right: 10px;
}

.shop-page .shop-recently-viewed .carousel-prev.disabled,
.shop-page .shop-recently-viewed .carousel-next.disabled {
    opacity: 0.5;
    cursor: not-allowed;
    transform: translateY(-50%);
}

.shop-page .shop-recently-viewed .shop-product-card {
    background: linear-gradient(145deg, #fff, #f9f6f2);
    border: 2px solid #CDA776;
    border-radius: 20px;
    box-shadow: 0 6px 14px rgba(0, 0, 0, 0.05), 0 8px 20px rgba(0, 0, 0, 0.03);
    transition: transform 0.4s ease, box-shadow 0.4s ease;
    width: 360px;
    height: auto !important;
    min-height: 540px !important;
    flex: 0 0 auto;
}

@media (min-width: 1200px) {
    .shop-page .shop-recently-viewed .shop-product-card {
        width: calc((100% - 60px) / 4);
    }
}

@media (min-width: 992px) and (max-width: 1199px) {
    .shop-page .shop-recently-viewed .shop-product-card {
        width: calc((100% - 40px) / 3);
    }
}

@media (min-width: 768px) and (max-width: 991px) {
    .shop-page .shop-recently-viewed .shop-product-card {
        width: calc((100% - 20px) / 2);
    }
}

@media (max-width: 767px) {
    .shop-page .shop-recently-viewed .shop-product-card {
        width: calc(100% - 30px);
        margin: 0 15px;
    }
}

.shop-page .shop-recently-viewed .shop-product-card:hover {
    transform: translateY(-10px) rotate(1deg);
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1), 0 14px 30px rgba(0, 0, 0, 0.05);
}

.shop-page .shop-recently-viewed .section-image-wrapper {
    height: 340px;
    border-radius: 20px 20px 0 0;
    background: linear-gradient(145deg, #f9f6f2, #fff);
}

.shop-page .shop-recently-viewed .section-details {
    background: transparent;
}

.shop-page .shop-recently-viewed .section-details-title {
    font-family: 'Playfair Display', serif;
    font-size: 16px;
    color: #1C2526;
    font-weight: 600;
}

.shop-page .shop-recently-viewed .product-price .section-price {
    color: #CDA776;
    font-size: 16px;
    font-weight: 700;
}

.shop-page .shop-recently-viewed .add-to-cart-btn {
    background: linear-gradient(145deg, #CDA776, #E8C7A7);
    color: #1C2526;
    border: none;
    border-radius: 8px;
    font-weight: 600;
    transition: all 0.3s ease;
}

.shop-page .shop-recently-viewed .add-to-cart-btn:hover {
    background: linear-gradient(145deg, #1C2526, #333);
    color: #FAF9F6;
}

.shop-page .shop-recently-viewed .shop-product-card .options-card {
    background: linear-gradient(145deg, #f9f6f2, #fff) !important;
    border: 2px solid #CDA776 !important;
    border-radius: 16px 16px 0 0 !important;
    box-shadow: 0 -4px 12px rgba(0, 0, 0, 0.08), 0 8px 20px rgba(0, 0, 0, 0.05) !important;
    max-height: none !important;
    height: auto !important;
    overflow: visible !important;
}

.shop-page .shop-recently-viewed .shop-product-card .options-card .options-card-title {
    display: none !important;
}

.shop-page .shop-recently-viewed .shop-product-card .options-card .bundle-products {
    background: linear-gradient(145deg, #FFF, #fef7f5) !important;
    padding: 15px !important;
    border-radius: 16px !important;
    margin-bottom: 20px !important;
    border: 1px solid rgba(232, 199, 167, 0.3) !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.04) !important;
    max-height: auto !important;
    height: auto !important;
    overflow-y: auto !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
}

.shop-page .shop-recently-viewed .shop-product-card .options-card .bundle-products .bundle-product {
    width: 100% !important;
    margin-bottom: 10px !important;
}

.shop-page .shop-recently-viewed .shop-product-card .options-card .bundle-products .bundle-product-content {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    width: 100% !important;
    padding: 10px !important;
    box-sizing: border-box !important;
}

.shop-page .shop-recently-viewed .shop-product-card .options-card .bundle-products .bundle-product-content .bundle-product-image {
    margin: 0 auto !important;
    flex: 0 0 auto !important;
}

.shop-page .shop-recently-viewed .shop-product-card .options-card .bundle-products .bundle-product-content .bundle-product-header {
    text-align: center !important;
    width: 100% !important;
}

.shop-page .shop-recently-viewed .shop-product-card .options-card .bundle-products .bundle-product-content .bundle-product-label {
    max-width: 200px !important;
    text-align: center !important;
    white-space: normal !important;
    line-height: 1.2 !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 5px !important;
}

.shop-page .shop-recently-viewed .shop-product-card .options-card .bundle-products .bundle-product-content .bundle-product-label .bundle-product-name {
    display: inline-block !important;
    text-align: center !important;
}

.shop-page .shop-recently-viewed .shop-product-card .options-card .bundle-products .bundle-product-content .bundle-product-label .bundle-product-quantity {
    display: inline-block !important;
    text-align: center !important;
}

.shop-page .shop-recently-viewed .shop-product-card .options-card .bundle-products .bundle-product-content .quantity-selector {
    margin: 0 auto !important;
    flex: 0 0 auto !important;
}

.shop-page .shop-recently-viewed .shop-product-card .options-card .bundle-products .bundle-product-content .bundle-product-price {
    text-align: center !important;
    flex: 0 0 auto !important;
}

.shop-page .shop-recently-viewed .shop-product-card .options-card .bundle-products::-webkit-scrollbar {
    width: 4px !important;
}

.shop-page .shop-recently-viewed .shop-product-card .options-card .bundle-products::-webkit-scrollbar-track {
    background: rgba(0, 0, 0, 0.02) !important;
    border-radius: 4px !important;
}

.shop-page .shop-recently-viewed .shop-product-card .options-card .bundle-products::-webkit-scrollbar-thumb {
    background: #E8C7A7 !important;
    border-radius: 4px !important;
}

.shop-page .shop-recently-viewed .shop-product-card .options-card .bundle-products {
    -ms-overflow-style: auto !important;
    scrollbar-width: thin !important;
    scrollbar-color: #E8C7A7 rgba(0, 0, 0, 0.02) !important;
}

.shop-page .shop-recently-viewed .shop-product-card .options-card .bundle-discount {
    color: #333333 !important;
    text-align: center !important;
    font-size: 13px !important;
    margin-top: 10px !important;
}

.shop-page .shop-recently-viewed .options-card .close-options {
    background: #CDA776;
    color: #1C2526;
    border: none;
}

.shop-page .shop-recently-viewed .options-card .close-options:hover {
    background: #1C2526;
    color: #FAF9F6;
}

.shop-page .shop-recently-viewed .confirm-btn {
    background: linear-gradient(145deg, #CDA776, #E8C7A7);
    color: #1C2526;
    border: none;
    border-radius: 8px;
    font-weight: 600;
}

.shop-page .shop-recently-viewed .confirm-btn:hover {
    background: linear-gradient(145deg, #1C2526, #333);
    color: #FAF9F6;
}

/* Styles responsifs */
@media (max-width: 1199px) {
    .shop-page .shop-product-grid {
        grid-template-columns: repeat(auto-fit, minmax(380px, 1fr));
        gap: 10px;
        margin: 0 15px !important;
        width: calc(100% - 30px) !important;
    }
    .shop-page .shop-product-card {
        width: 380px;
        height: 580px;
    }
    .shop-page .section-image-wrapper {
        height: 380px;
    }
}

@media (max-width: 991px) {
    .shop-page .shop-product-grid {
        grid-template-columns: repeat(auto-fit, minmax(360px, 1fr));
        gap: 10px;
        margin: 0 15px !important;
        width: calc(100% - 30px) !important;
    }
    .shop-page .shop-product-card {
        width: 360px;
        height: 560px;
    }
    .shop-page .section-image-wrapper {
        height: 360px;
    }
    .shop-page .add-to-cart-btn,
    .shop-page .confirm-btn {
        padding: 8px 10px;
        font-size: 12px;
        gap: 3px;
    }
    .shop-page .add-to-cart-text,
    .shop-page .add-to-cart-price {
        font-size: 12px;
    }
}

@media (max-width: 767px) {
    .shop-page,
    .shop-page .full-width-wrapper {
        padding: 0 !important;
        margin: 0 !important;
    }
    .shop-page .shop-product-grid {
        grid-template-columns: 1fr;
        gap: 10px;
        margin: 0 15px !important;
        width: calc(100% - 30px) !important;
    }
    .shop-page .shop-product-card {
        width: 100%;
        max-width: 360px;
        height: 560px;
        margin: 0 auto 30px !important;
    }
    .shop-page .section-image-wrapper {
        height: 360px;
    }
    .shop-page .shop-banner-video-circle-wrapper {
        flex: 0 0 100px;
    }
    .shop-page .shop-banner-video-circle {
        width: 100px;
        height: 100px;
    }
    .shop-page .video-player-circle {
        width: 300px;
        height: 300px;
    }
    .shop-page .options-card.active {
        max-height: 35vh;
        bottom: 40px;
    }
    .shop-page .options-card-inner {
        padding: 8px;
    }
    .shop-page .add-to-cart-btn,
    .shop-page .confirm-btn {
        font-size: 11px;
        padding: 6px 8px;
    }
    .shop-page .add-to-cart-text,
    .shop-page .add-to-cart-price {
        font-size: 11px;
    }
    .shop-page .size-option {
        padding: 4px 8px;
        font-size: 12px;
    }
    .shop-page .color-option {
        width: 30px !important;
        height: 30px !important;
    }
    .shop-page .quantity-btn {
        width: 22px;
        height: 22px;
        font-size: 10px;
    }
    .shop-page .quantity-input {
        width: 32px;
        height: 20px;
        font-size: 12px;
    }
    .shop-page .purchase-option {
        font-size: 12px;
        padding: 4px 6px;
    }
    .shop-page .purchase-option input[type="radio"] {
        width: 12px;
        height: 12px;
    }

    .shop-page .section-details-title,
    .shop-page .section-price {
        font-size: 16px;
    }
    .shop-page .options-card-title {
        font-size: 14px;
    }
    .shop-page .options-card .bundle-product-image {
        width: 50px;
        height: 50px;
    }
    .shop-page .options-card .bundle-products {
        padding: 8px;
        gap: 6px;
    }
    .shop-page .options-card .bundle-product {
        padding: 6px;
        gap: 6px;
    }
}

@media (max-width: 480px) {
    .shop-page .shop-banner-video-circle-wrapper {
        flex: 0 0 80px;
    }
    .shop-page .shop-banner-video-circle {
        width: 80px;
        height: 80px;
    }
    .shop-page .video-player-circle {
        width: 250px;
        height: 250px;
    }
    .shop-page .shop-product-grid {
        grid-template-columns: 1fr;
        gap: 10px;
        margin: 0 15px !important;
        width: calc(100% - 30px) !important;
    }
    .shop-page .shop-product-card {
        width: 100%;
        max-width: 340px;
        height: 540px;
        margin: 0 auto 30px !important;
    }
    .shop-page .section-image-wrapper {
        height: 340px;
    }
    .shop-page .section-details-title {
        font-size: 14px;
        height: 48px;
    }
    .shop-page .section-price {
        font-size: 14px;
    }
    .shop-page .add-to-cart-btn,
    .shop-page .confirm-btn {
        padding: 6px 8px;
        font-size: 10px;
    }
    .shop-page .add-to-cart-text,
    .shop-page .add-to-cart-price {
        font-size: 10px;
    }
    .shop-page .size-option {
        padding: 3px 6px;
        font-size: 10px;
    }
    .shop-page .color-option {
        width: 28px !important;
        height: 28px !important;
    }
    .shop-page .quantity-btn {
        width: 20px;
        height: 20px;
        font-size: 9px;
    }
    .shop-page .quantity-input {
        width: 30px;
        height: 18px;
        font-size: 10px;
    }
    .shop-page .purchase-option {
        font-size: 10px;
        padding: 3px 5px;
    }

    .shop-page .options-card .bundle-product-image {
        width: 45px;
        height: 45px;
    }
    .shop-page .options-card-title {
        font-size: 13px;
    }
}

/* Accessibilité des boutons de quantité */
.shop-page .quantity-selector {
    position: relative;
    z-index: 10;
}

.shop-page .quantity-btn {
    z-index: 11;
    pointer-events: auto;
}

.shop-page .quantity-input {
    z-index: 10;
    pointer-events: auto;
}

/* Empêcher les interférences avec les clics sur .bundle-product dans options-card */
.shop-page .options-card .bundle-product {
    position: relative;
}

.shop-page .options-card .bundle-product .quantity-selector * {
    pointer-events: auto;
}

/* CORRECTION BUNDLE POPUP - IMAGES PLUS GRANDES ET MEILLEUR LAYOUT */

/* Images bundle plus grandes dans la popup */
.shop-page .options-card .bundle-product-image {
    width: 60px !important;
    height: 60px !important;
    flex-shrink: 0 !important;
    border-radius: 8px !important;
    overflow: hidden !important;
    border: 2px solid rgba(232, 199, 167, 0.3) !important;
}

.shop-page .options-card .bundle-product-image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}

/* Meilleur layout pour le contenu bundle */
.shop-page .options-card .bundle-product {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    padding: 12px !important;
    margin-bottom: 8px !important;
    background: rgba(249, 228, 230, 0.3) !important;
    border-radius: 8px !important;
    border: 1px solid rgba(232, 199, 167, 0.2) !important;
}

.shop-page .options-card .bundle-product-content {
    flex: 1 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 4px !important;
}

.shop-page .options-card .bundle-product-name {
    font-size: 14px !important;
    font-weight: 500 !important;
    color: #333 !important;
    line-height: 1.3 !important;
}

.shop-page .options-card .bundle-product-price {
    font-size: 13px !important;
    color: #666 !important;
    font-weight: 400 !important;
}

/* Container bundle products */
.shop-page .options-card .bundle-products {
    max-height: 200px !important;
    overflow-y: auto !important;
    padding: 8px !important;
    gap: 8px !important;
    display: flex !important;
    flex-direction: column !important;
}

/* Responsive pour mobile */
@media (max-width: 768px) {
    .shop-page .options-card .bundle-product-image {
        width: 50px !important;
        height: 50px !important;
    }
    
    .shop-page .options-card .bundle-product {
        gap: 10px !important;
        padding: 10px !important;
    }
    
    .shop-page .options-card .bundle-product-name {
        font-size: 13px !important;
    }
}

@media (max-width: 480px) {
    .shop-page .options-card .bundle-product-image {
        width: 45px !important;
        height: 45px !important;
    }
    
    .shop-page .options-card .bundle-product {
        gap: 8px !important;
        padding: 8px !important;
    }
    
    .shop-page .options-card .bundle-product-name {
        font-size: 12px !important;
    }
}

/* CORRECTION CHIRURGICALE - CENTRER LE BOUTON S'ABONNER */

/* Centrer le conteneur des options d'achat */
.shop-page .purchase-option-group {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    width: 100% !important;
}

.shop-page .purchase-options {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

.shop-page .purchase-option {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    padding: 8px 16px !important;
    margin: 0 auto !important;
    border: 1px solid rgba(232, 199, 167, 0.3) !important;
    border-radius: 8px !important;
    background: rgba(249, 228, 230, 0.1) !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
    width: fit-content !important;
}

.shop-page .purchase-option:hover {
    background: rgba(249, 228, 230, 0.2) !important;
    border-color: rgba(232, 199, 167, 0.5) !important;
}

.shop-page .purchase-option input[type="radio"] {
    margin: 0 !important;
}

.shop-page .purchase-option label {
    margin: 0 !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    color: #333 !important;
    cursor: pointer !important;
}

/* Responsive */
@media (max-width: 768px) {
    .shop-page .purchase-option {
        padding: 6px 12px !important;
        gap: 6px !important;
    }
    
    .shop-page .purchase-option label {
        font-size: 13px !important;
    }
}

@media (max-width: 480px) {
    .shop-page .purchase-option {
        padding: 5px 10px !important;
        gap: 5px !important;
    }
    
    .shop-page .purchase-option label {
        font-size: 12px !important;
    }
}

/* NOUVEAU FILTRE ÉLÉGANT - STYLES */

.shop-elegant-filters {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 40px;
    padding: 0 20px;
}

.elegant-filter-container {
    display: flex;
    gap: 0;
    background: rgba(249, 228, 230, 0.1);
    border-radius: 50px;
    padding: 8px;
    border: 1px solid rgba(232, 199, 167, 0.2);
    box-shadow: 0 4px 20px rgba(232, 199, 167, 0.1);
}

.elegant-filter-btn {
    position: relative;
    background: none;
    border: none;
    padding: 12px 24px;
    cursor: pointer;
    border-radius: 40px;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    font-family: 'Montserrat', sans-serif;
    font-size: 16px;
    font-weight: 400;
    color: #666;
    overflow: hidden;
    min-width: 120px;
    text-align: center;
}

.elegant-filter-btn:hover {
    color: #333;
    background: rgba(232, 199, 167, 0.1);
    transform: translateY(-2px);
}

.elegant-filter-btn.active {
    background: linear-gradient(135deg, #E8C7A7 0%, #CDA776 100%);
    color: #fff;
    font-weight: 500;
    box-shadow: 0 6px 20px rgba(232, 199, 167, 0.4);
    transform: translateY(-2px);
}

.filter-text {
    position: relative;
    z-index: 2;
    display: block;
    transition: transform 0.3s ease;
}

.elegant-filter-btn:hover .filter-text {
    transform: scale(1.05);
}

.filter-underline {
    position: absolute;
    bottom: 8px;
    left: 50%;
    transform: translateX(-50%) scaleX(0);
    width: 60%;
    height: 2px;
    background: #E8C7A7;
    border-radius: 2px;
    transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.elegant-filter-btn:hover .filter-underline {
    transform: translateX(-50%) scaleX(1);
}

.elegant-filter-btn.active .filter-underline {
    background: rgba(255, 255, 255, 0.8);
    transform: translateX(-50%) scaleX(1);
}

/* Animation des produits */
.shop-product-card {
    transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1);
    transform: translateY(0);
    opacity: 1;
}

.shop-product-card.hiding {
    transform: translateY(-20px);
    opacity: 0;
    pointer-events: none;
}

.shop-product-card.showing {
    transform: translateY(0);
    opacity: 1;
}

/* CORRECTION 1 : FILTRE RESPONSIVE */
@media (max-width: 768px) {
    .shop-elegant-filters {
        margin: 20px 0 !important;
        padding: 0 10px !important;
    }
    
    .elegant-filter-container {
        gap: 4px !important;
        padding: 4px !important;
        flex-wrap: wrap !important;
        justify-content: center !important;
    }
    
    .elegant-filter-btn {
        padding: 8px 16px !important;
        font-size: 13px !important;
        min-width: 90px !important;
        flex: 1 !important;
        max-width: 120px !important;
    }
}

@media (max-width: 480px) {
    .shop-elegant-filters {
        margin: 15px 0 !important;
        padding: 0 5px !important;
    }
    
    .elegant-filter-container {
        flex-direction: row !important;
        border-radius: 25px !important;
        gap: 2px !important;
        padding: 3px !important;
    }
    
    .elegant-filter-btn {
        padding: 6px 12px !important;
        font-size: 11px !important;
        min-width: auto !important;
        width: 33.33% !important;
        border-radius: 20px !important;
        flex: 1 !important;
    }
}

.woocommerce-message,
.woocommerce-info,
.wc-block-components-notice-banner,
div[class*="woocommerce-message"],
div[class*="added-to-cart"],
.cart-notification {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
}

.elegant-cart-toast {
    position: fixed !important;
    top: 20px !important;
    right: 20px !important;
    z-index: 99999 !important;
    transform: translateX(400px) !important;
    opacity: 0 !important;
    transition: all 0.4s ease !important;
}
.elegant-cart-toast.show {
    transform: translateX(0) !important;
    opacity: 1 !important;
}
.toast-inner {
    background: white !important;
    padding: 16px !important;
    border-radius: 8px !important;
    box-shadow: 0 4px 20px rgba(0,0,0,0.1) !important;
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
}

/* Bouton flottant "Consultez Dr Hela Dahmani" */
.shop-page .text-an-expert-btn {
    position: fixed !important;
    top: 60% !important;
    right: -125px !important; /* Collé au bord droit de l’écran */
    transform: translateY(-50%) rotate(-90deg) !important; /* Rotation pour verticalité */
    transform-origin: center !important;
    background: #000 !important; /* Noir, comme sur Glow Recipe */
    color: #FFF !important; /* Texte blanc */
    border: 1px solid #000 !important;
    border-left: none !important; /* Pas de bordure à gauche pour coller parfaitement */
    border-radius: 6px 6px 0 0 !important; /* Coins arrondis en haut */
    padding: 14px 6px !important; /* Proportions équilibrées */
    width: auto !important;
    height: auto !important;
    font-family: 'Playfair Display', serif !important;
    font-size: 12px !important; /* Taille lisible */
    font-weight: 500 !important;
    letter-spacing: 4px !important; /* Espacement raffiné */
    text-transform: uppercase !important;
    cursor: pointer !important;
    z-index: 1000 !important;
    transition: all 0.3s ease-in-out !important;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2) !important; /* Ombre moderne */
    line-height: 1.5 !important;
    display: inline-block !important;
    text-align: center !important;
    overflow: visible !important;
}

.shop-page .text-an-expert-btn:hover {
    background: #333 !important; /* Gris foncé au survol */
    border-color: #333 !important;
    border-left: none !important;
    transform: translateY(-50%) rotate(-90deg) scale(1.02) !important;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.3) !important;
    color: #FFF !important;
}

.shop-page .text-an-expert-btn:active {
    background: #000 !important;
    border-left: none !important;
    transform: translateY(-50%) rotate(-90deg) scale(0.98) !important;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2) !important;
}

/* Responsivité */

@media (max-width: 767px) {
    .shop-page .text-an-expert-btn {
        right: -60px !important; /* VRAIMENT COLLÉ */
        padding: 12px 5px !important;
        font-size: 10px !important;
        letter-spacing: 3px !important;
        border-radius: 4px 4px 0 0 !important;
        box-shadow: 0 1px 4px rgba(0, 0, 0, 0.15) !important;
    }
}

@media (max-width: 480px) {
    .shop-page .text-an-expert-btn {
        right: -70px !important; /* VRAIMENT COLLÉ */
        padding: 10px 4px !important;
        font-size: 9px !important;
        letter-spacing: 2px !important;
        top: 50% !important; /* CENTRÉ VERTICALEMENT */
    }
}

/* Pop-up "Text an Expert" */

.shop-page .text-an-expert-popup {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    background: rgba(0, 0, 0, 0.6) !important;
    z-index: 9999 !important;
    display: none !important;
    align-items: center !important;
    justify-content: center !important;
    opacity: 0 !important;
    transition: opacity 0.3s ease !important;
}

.shop-page .text-an-expert-popup.active {
    display: flex !important;
    opacity: 1 !important;
}

.shop-page .text-an-expert-popup-content {
    background: #fff !important;
    border-radius: 12px !important;
    width: 90% !important;
    max-width: 400px !important;
    padding: 25px !important;
    position: relative !important;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3) !important;
    max-height: 90vh !important;
    overflow-y: auto !important;
}

.shop-page .text-an-expert-popup-content::-webkit-scrollbar {
    width: 6px !important;
}

.shop-page .text-an-expert-popup-content::-webkit-scrollbar-track {
    background: rgba(0, 0, 0, 0.05) !important;
    border-radius: 3px !important;
}

.shop-page .text-an-expert-popup-content::-webkit-scrollbar-thumb {
    background: #E8C7A7 !important;
    border-radius: 3px !important;
}

.shop-page .text-an-expert-popup-content {
    -ms-overflow-style: auto !important;
    scrollbar-width: thin !important;
    scrollbar-color: #E8C7A7 rgba(0, 0, 0, 0.05) !important;
}

.shop-page .text-an-expert-popup-close {
    position: absolute !important;
    top: 10px !important;
    right: 10px !important;
    width: 30px !important;
    height: 30px !important;
    background: #fff !important;
    border: 1px solid #333333 !important;
    border-radius: 50% !important;
    color: #333333 !important;
    font-size: 16px !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: all 0.3s ease !important;
    z-index: 10001 !important;
}

.shop-page .text-an-expert-popup-close:hover {
    background-color: #F9E4E6 !important;
    transform: rotate(90deg) !important;
}

.shop-page .text-an-expert-header {
    text-align: center !important;
    margin-bottom: 20px !important;
}

.shop-page .text-an-expert-doctor-image {
    width: 120px !important;
    height: 120px !important;
    border-radius: 50% !important;
    object-fit: cover !important;
    margin-bottom: 15px !important;
    border: 2px solid #E8C7A7 !important;
}

.shop-page .text-an-expert-title {
    font-family: 'Playfair Display', serif !important;
    font-size: 20px !important;
    color: #333333 !important;
    margin-bottom: 10px !important;
}

.shop-page .text-an-expert-description {
    font-family: 'Lora', serif !important;
    font-size: 14px !important;
    color: #666 !important;
    line-height: 1.5 !important;
}

.shop-page .text-an-expert-form-wrapper {
    padding: 10px !important;
}

.shop-page .text-an-expert-form {
    display: flex !important;
    flex-direction: column !important;
    gap: 15px !important;
}

.shop-page .text-an-expert-field {
    display: flex !important;
    flex-direction: column !important;
}

.shop-page .text-an-expert-field label {
    font-family: 'Playfair Display', serif !important;
    font-size: 14px !important;
    color: #333333 !important;
    margin-bottom: 5px !important;
}

.shop-page .text-an-expert-field input,
.shop-page .text-an-expert-field select {
    padding: 10px !important;
    border: 1px solid #ccc !important;
    border-radius: 5px !important;
    font-family: 'Lora', serif !important;
    font-size: 14px !important;
    color: #333333 !important;
}

.shop-page .text-an-expert-field.inline {
    flex-direction: row !important;
    gap: 10px !important;
}

.shop-page .text-an-expert-field.inline > div {
    flex: 1 !important;
}

.shop-page .calendar-field {
    position: relative !important;
    z-index: 1000 !important; /* Assure que le calendrier est au-dessus des autres éléments */
}

.shop-page .text-an-expert-calendar {
    position: fixed !important; /* Utilise fixed pour suivre le scroll */
    top: auto !important; /* Sera ajusté dynamiquement via JS */
    left: auto !important; /* Sera ajusté dynamiquement via JS */
    background: #fff !important;
    border: 1px solid #ccc !important;
    border-radius: 5px !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1) !important;
    padding: 10px !important;
    z-index: 1001 !important; /* Z-index plus élevé */
    display: none !important;
    width: 100% !important;
    max-width: 280px !important; /* Largeur maximale pour éviter le débordement */
    box-sizing: border-box !important;
}

.shop-page .text-an-expert-calendar.active {
    display: block !important;
}

/* Ajustements pour les petits écrans */
@media (max-width: 767px) {
    .shop-page .text-an-expert-calendar {
        max-width: 100% !important;
        width: calc(100% - 20px) !important;
        left: 10px !important;
        right: 10px !important;
    }
}

.shop-page .calendar-header {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    margin-bottom: 10px !important;
}

.shop-page .calendar-month-year {
    font-family: 'Playfair Display', serif !important;
    font-size: 14px !important;
    color: #333333 !important;
}

.shop-page .calendar-nav {
    background: none !important;
    border: none !important;
    font-size: 14px !important;
    color: #333333 !important;
    cursor: pointer !important;
}

.shop-page .calendar-days {
    display: grid !important;
    grid-template-columns: repeat(7, 1fr) !important;
    gap: 5px !important;
    margin-bottom: 5px !important;
}

.shop-page .calendar-day-header {
    font-family: 'Lora', serif !important;
    font-size: 12px !important;
    color: #666 !important;
    text-align: center !important;
}

.shop-page .calendar-dates {
    display: grid !important;
    grid-template-columns: repeat(7, 1fr) !important;
    gap: 5px !important;
}

.shop-page .calendar-date {
    padding: 8px !important;
    text-align: center !important;
    font-family: 'Lora', serif !important;
    font-size: 12px !important;
    color: #333333 !important;
    cursor: pointer !important;
    border-radius: 5px !important;
}

.shop-page .calendar-date:hover {
    background: #F9E4E6 !important;
}

.shop-page .calendar-date.empty {
    background: none !important;
    cursor: default !important;
}

.shop-page .calendar-date.disabled {
    color: #999 !important;
    cursor: not-allowed !important;
}

.shop-page .calendar-date.selected {
    background: #E8C7A7 !important;
    color: #fff !important;
}

.shop-page .text-an-expert-submit-btn {
    background-color: #E8C7A7 !important;
    color: #333333 !important;
    border: none !important;
    padding: 12px !important;
    border-radius: 5px !important;
    font-family: 'Playfair Display', serif !important;
    font-size: 14px !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 5px !important;
}

.shop-page .text-an-expert-submit-btn:hover {
    background-color: #F9E4E6 !important;
}

.shop-page .text-an-expert-message {
    margin-top: 10px !important;
    font-family: 'Lora', serif !important;
    font-size: 13px !important;
    padding: 10px !important;
    border-radius: 5px !important;
    display: none !important;
}

.shop-page .text-an-expert-message.error {
    color: #d32f2f !important;
    background: #ffe6e6 !important;
    display: block !important;
}

.shop-page .text-an-expert-message.success {
    display: none !important; /* Cache le message statique */
}

/* Styles responsifs pour le pop-up */
@media (max-width: 767px) {
    .shop-page .text-an-expert-popup-content {
        max-width: 90% !important;
        padding: 15px !important;
    }
    .shop-page .text-an-expert-doctor-image {
        width: 100px !important;
        height: 100px !important;
    }
    .shop-page .text-an-expert-title {
        font-size: 18px !important;
    }
    .shop-page .text-an-expert-description {
        font-size: 13px !important;
    }
    .shop-page .text-an-expert-field input,
    .shop-page .text-an-expert-field select {
        padding: 8px !important;
        font-size: 13px !important;
    }
    .shop-page .text-an-expert-field.inline {
        flex-direction: column !important;
    }
    .shop-page .text-an-expert-submit-btn {
        padding: 10px !important;
        font-size: 13px !important;
    }
}

/* Toast pour le message de succès */
body #text-an-expert-toast.text-an-expert-toast {
    position: fixed !important;
    bottom: 20px !important;
    left: 20px !important;
    background: linear-gradient(135deg, #fff, #f9e4e6) !important;
    color: var(--dark) !important;
    padding: 16px 20px !important;
    border-radius: 16px !important;
    border: 1px solid rgba(232, 199, 167, 0.3) !important;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15), 0 4px 8px rgba(0, 0, 0, 0.05) !important;
    font-family: 'Lora', serif !important;
    font-size: 14px !important;
    z-index: 1100 !important; /* Réduit pour être en dessous des popups */
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    opacity: 0 !important;
    visibility: hidden !important;
    transform: translateY(20px) scale(0.98) !important;
    transition: opacity 0.4s ease, visibility 0.4s ease, transform 0.4s ease !important;
    max-width: 420px !important;
    min-width: 300px !important;
    min-height: 40px !important;
    text-align: left !important;
    pointer-events: auto !important;
    overflow: visible !important;
    contain: paint !important;
}

body #text-an-expert-toast.text-an-expert-toast.active {
    opacity: 1 !important;
    visibility: visible !important;
    transform: translateY(0) scale(1) !important;
}

/* Si le toast .cart-notification est visible, décaler .text-an-expert-toast vers le haut */
body .cart-notification.show ~ #text-an-expert-toast.text-an-expert-toast {
    bottom: 80px !important;
}

/* S'assurer que le toast est au-dessus de tout */
body.modal-open #text-an-expert-toast.text-an-expert-toast {
    z-index: 10003 !important;
}

/* Ajouter un style pour les enfants pour garantir la visibilité */
body #text-an-expert-toast.text-an-expert-toast .toast-icon {
    font-size: 18px !important;
    font-weight: bold !important;
    color: var(--dark) !important; /* Couleur sombre pour cohérence */
    flex-shrink: 0 !important;
    transition: transform 0.3s ease !important;
}

body #text-an-expert-toast.text-an-expert-toast:hover .toast-icon {
    transform: scale(1.1) !important; /* Effet de zoom au survol */
}

body #text-an-expert-toast.text-an-expert-toast .toast-message {
    display: inline-block !important;
    visibility: visible !important;
    opacity: 1 !important;
    font-family: 'Lora', serif !important;
    font-size: 14px !important;
    line-height: 1.4 !important;
    color: var(--dark) !important;
}

/* Styles responsifs pour les toasts */
@media (max-width: 767px) {
    body .cart-notification,
    body #text-an-expert-toast.text-an-expert-toast {
        bottom: 12px !important;
        left: 12px !important;
        max-width: 90% !important;
        padding: 10px !important; /* Réduire le padding pour mobile */
    }

    body .cart-notification .notification-inner {
        gap: 10px !important; /* Réduire l'espace entre les éléments */
    }

    body .cart-notification .notification-image {
        width: 40px !important; /* Réduire la taille de l'image */
        height: 40px !important;
        padding: 3px !important;
    }

    body .cart-notification .notification-title {
        font-size: 14px !important; /* Réduire la taille du titre */
    }

    body .cart-notification .notification-message {
        font-size: 12px !important;
    }

    body .cart-notification .notification-actions {
        gap: 6px !important; /* Réduire encore l'espace entre les boutons */
    }

    body .cart-notification .view-cart-btn {
        padding: 5px 8px !important; /* Réduire le padding */
        font-size: 11px !important; /* Réduire la taille de la police */
        max-width: 100px !important; /* Limiter encore plus la largeur */
    }

    body .cart-notification .close-notification {
        width: 20px !important; /* Réduire la taille */
        height: 20px !important;
        font-size: 10px !important; /* Réduire la taille de la croix */
    }

    body #text-an-expert-toast.text-an-expert-toast {
        font-size: 13px !important;
        padding: 12px 16px !important;
    }

    body #text-an-expert-toast.text-an-expert-toast .toast-icon {
        font-size: 16px !important;
    }
}

body.modal-open {
    overflow: hidden !important;
}

.text-an-expert-popup {
    z-index: 9999 !important;
}

/* Make Your Own Kit Page - Restored Version */
.make-your-own-kit-page {
    max-width: 1440px;
    margin: 50px auto;
    padding: 40px;
    font-family: 'Playfair Display', serif;
    display: flex;
    gap: 40px;
    background: linear-gradient(135deg, #fffaf5 0%, #fff5f0 100%);
    border-radius: 20px;
    box-shadow: 0 15px 50px rgba(0, 0, 0, 0.05);
    justify-content: center;
    align-items: flex-start;
}

.make-your-own-kit-page .kit-builder {
    flex: 1;
    padding: 0 20px;
}

.make-your-own-kit-page .kit-sidebar {
    width: 340px;
    background: linear-gradient(135deg, #f8e1e4 0%, #f5d7da 100%);
    padding: 25px;
    border-radius: 12px;
    border: 1px solid #e5c29f;
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.06);
    position: sticky;
    top: 40px;
    height: fit-content;
    box-sizing: border-box;
    overflow: hidden;
}

.make-your-own-kit-page .kit-title {
    text-align: center;
    font-size: 48px;
    font-weight: 400;
    font-family: 'Playfair Display', serif;
    color: #2c2c2c;
    margin-bottom: 60px;
    letter-spacing: 2px;
    text-transform: uppercase;
    background: linear-gradient(90deg, #d4a373, #e5c29f);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.make-your-own-kit-page .kit-steps {
    display: flex;
    justify-content: center;
    gap: 20px;
    margin-bottom: 50px;
    flex-wrap: wrap;
    padding-bottom: 20px;
}

.make-your-own-kit-page .step {
    padding: 12px 40px;
    font-size: 16px;
    font-family: 'Montserrat', sans-serif;
    color: #2c2c2c;
    cursor: pointer;
    background-color: #fff;
    border: 1px solid #e5c29f;
    border-radius: 30px;
    transition: all 0.4s ease;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.05);
}

.make-your-own-kit-page .step.active {
    color: #fff;
    background: linear-gradient(135deg, #d4a373 0%, #e5c29f 100%);
    border-color: transparent;
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.1);
}

.make-your-own-kit-page .kit-step-content {
    display: none;
}

.make-your-own-kit-page .kit-step-content.active {
    display: block;
}

.make-your-own-kit-page .kit-step-content h2 {
    font-size: 34px;
    font-weight: 400;
    font-family: 'Playfair Display', serif;
    color: #2c2c2c;
    margin-bottom: 40px;
    text-align: center;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    background: linear-gradient(90deg, #d4a373, #e5c29f);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.make-your-own-kit-page .kit-products {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
    justify-items: center;
}

.make-your-own-kit-page .kit-product-card {
    background-color: #fff;
    border-radius: 15px;
    padding: 25px;
    text-align: center;
    cursor: pointer;
    transition: all 0.4s ease;
    border: 1px solid #f0e8e2;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
    width: 100%;
    max-width: 340px;
    overflow: hidden;
    position: relative;
}

.make-your-own-kit-page .kit-product-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.1);
    border-color: #d4a373;
}

.make-your-own-kit-page .kit-product-card.selected {
    border: 2px solid #d4a373;
    background-color: rgba(212, 163, 115, 0.05);
}

.make-your-own-kit-page .kit-product-card img {
    width: 100%;
    height: 260px;
    object-fit: cover;
    border-radius: 12px;
    border: 1px solid #f0e8e2;
    margin-bottom: 20px;
    transition: transform 0.4s ease;
}

.make-your-own-kit-page .kit-product-card:hover img {
    transform: scale(1.03);
}

.make-your-own-kit-page .kit-product-card h3 {
    font-size: 18px;
    font-weight: 500;
    font-family: 'Montserrat', sans-serif;
    color: #2c2c2c;
    margin: 15px 0;
    line-height: 1.4;
    text-align: center;
}

.make-your-own-kit-page .kit-product-card p {
    font-size: 16px;
    font-weight: 400;
    font-family: 'Montserrat', sans-serif;
    color: #d4a373;
    margin-bottom: 20px;
    text-align: center;
}

.make-your-own-kit-page .kit-product-card .add-to-kit-btn {
    display: block;
    margin: 0 auto;
    padding: 12px 35px;
    background: linear-gradient(135deg, #d4a373 0%, #e5c29f 100%);
    color: #fff;
    border: none;
    border-radius: 30px;
    font-size: 16px;
    font-weight: 500;
    font-family: 'Montserrat', sans-serif;
    cursor: pointer;
    transition: all 0.4s ease;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
}

.make-your-own-kit-page .kit-product-card .add-to-kit-btn:hover {
    background: linear-gradient(135deg, #e5c29f 0%, #d4a373 100%);
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);
}

.make-your-own-kit-page .kit-product-card .remove-from-kit-btn {
    display: block;
    margin: 0 auto;
    padding: 12px 35px;
    background: linear-gradient(135deg, #f8e1e4 0%, #f5d7da 100%);
    color: #2c2c2c;
    border: none;
    border-radius: 30px;
    font-size: 16px;
    font-weight: 500;
    font-family: 'Montserrat', sans-serif;
    cursor: pointer;
    transition: all 0.4s ease;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
}

.make-your-own-kit-page .kit-product-card .remove-from-kit-btn:hover {
    background: linear-gradient(135deg, #f5d7da 0%, #f8e1e4 100%);
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);
}

.make-your-own-kit-page .kit-sidebar h2 {
    font-size: 26px;
    font-weight: 400;
    font-family: 'Playfair Display', serif;
    color: #2c2c2c;
    margin-bottom: 20px;
    text-align: center;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

.make-your-own-kit-page .kit-savings {
    font-size: 14px;
    font-weight: 600;
    font-family: 'Montserrat', sans-serif;
    color: #fff;
    background: linear-gradient(135deg, #d4a373 0%, #e5c29f 100%);
    padding: 6px 14px;
    border-radius: 20px;
    display: none;
    box-shadow: 0 3px 10px rgba(0, 0, 0, 0.1);
    line-height: 1;
}

.make-your-own-kit-page .kit-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px;
    margin-bottom: 12px;
    background-color: #fff;
    border-radius: 8px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.04);
    transition: all 0.4s ease;
    border: 1px solid #f5ece5;
}

.make-your-own-kit-page .kit-item-image-wrapper {
    width: 50px;
    height: 50px;
    flex-shrink: 0;
    background-color: #f8e1e4;
    border-radius: 6px;
    overflow: hidden;
}

.make-your-own-kit-page .kit-item-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 6px;
}

.make-your-own-kit-page .kit-item-content {
    flex: 1;
}

.make-your-own-kit-page .kit-item-text {
    font-size: 14px;
    font-weight: 400;
    font-family: 'Montserrat', sans-serif;
    color: #2c2c2c;
    line-height: 1.4;
}

.make-your-own-kit-page .kit-total {
    text-align: center;
    font-size: 18px;
    font-weight: 500;
    font-family: 'Montserrat', sans-serif;
    color: #2c2c2c;
    margin: 20px 0;
}

.make-your-own-kit-page .add-to-cart-btn {
    display: block;
    width: 100%;
    margin: 0 auto;
    padding: 12px 25px;
    background: linear-gradient(135deg, #d4a373 0%, #e5c29f 100%);
    color: #fff;
    border: none;
    border-radius: 25px;
    font-size: 15px;
    font-weight: 500;
    font-family: 'Montserrat', sans-serif;
    cursor: pointer;
    transition: all 0.4s ease;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    letter-spacing: 1px;
    text-transform: uppercase;
    box-sizing: border-box;
}

.make-your-own-kit-page .add-to-cart-btn:disabled {
    background: linear-gradient(135deg, #f5d7da 0%, #f8e1e4 100%);
    cursor: not-allowed;
    box-shadow: none;
}

.make-your-own-kit-page .add-to-cart-btn:hover:not(:disabled) {
    background: linear-gradient(135deg, #e5c29f 0%, #d4a373 100%);
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.15);
}

/* Pop-up d'accessoires */
.make-your-own-kit-page .accessory-popup {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.6);
    display: none;
    justify-content: center;
    align-items: center;
    z-index: 1000;
}

.make-your-own-kit-page .accessory-popup.active {
    display: flex;
}

.make-your-own-kit-page .accessory-popup-content {
    background: #fff;
    padding: 40px;
    border-radius: 15px;
    max-width: 900px;
    width: 90%;
    text-align: center;
    position: relative;
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.15);
    border: 1px solid #e5c29f;
}

.make-your-own-kit-page .accessory-popup-content h2 {
    font-size: 28px;
    font-weight: 400;
    font-family: 'Playfair Display', serif;
    color: #2c2c2c;
    margin-bottom: 30px;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    background: linear-gradient(90deg, #d4a373, #e5c29f);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.make-your-own-kit-page .accessory-products {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 30px;
    margin-bottom: 30px;
}

.make-your-own-kit-page .accessory-product-card {
    background-color: #fff;
    border-radius: 10px;
    padding: 20px;
    text-align: center;
    cursor: pointer;
    transition: all 0.4s ease;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.05);
    border: 1px solid #f0e8e2;
    width: 100%;
    max-width: 200px;
    overflow: hidden;
}

.make-your-own-kit-page .accessory-product-card:hover {
    transform: scale(1.05);
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1);
    border-color: #d4a373;
}

.make-your-own-kit-page .accessory-product-card.selected {
    border: 2px solid #d4a373;
    background-color: rgba(212, 163, 115, 0.05);
}

.make-your-own-kit-page .accessory-product-card img {
    width: 100%;
    height: 140px;
    object-fit: cover;
    border-radius: 8px;
    border: 1px solid #f0e8e2;
    margin-bottom: 15px;
}

.make-your-own-kit-page .accessory-product-card h3 {
    font-size: 16px;
    font-weight: 500;
    font-family: 'Montserrat', sans-serif;
    color: #2c2c2c;
    margin: 10px 0;
}

.make-your-own-kit-page .accessory-product-card p {
    font-size: 14px;
    font-weight: 400;
    font-family: 'Montserrat', sans-serif;
    color: #d4a373;
}

.make-your-own-kit-page .accessory-popup-content .skip-accessory-btn,
.make-your-own-kit-page .accessory-popup-content .add-accessory-btn {
    padding: 12px 35px;
    border: none;
    border-radius: 30px;
    font-size: 16px;
    font-weight: 500;
    font-family: 'Montserrat', sans-serif;
    cursor: pointer;
    margin: 0 15px;
    transition: all 0.4s ease;
}

.make-your-own-kit-page .accessory-popup-content .skip-accessory-btn {
    background-color: #f8e1e4;
    color: #2c2c2c;
}

.make-your-own-kit-page .accessory-popup-content .skip-accessory-btn:hover {
    background-color: #f5d7da;
}

.make-your-own-kit-page .accessory-popup-content .add-accessory-btn {
    background: linear-gradient(135deg, #d4a373 0%, #e5c29f 100%);
    color: #fff;
}

.make-your-own-kit-page .accessory-popup-content .add-accessory-btn:hover {
    background: linear-gradient(135deg, #e5c29f 0%, #d4a373 100%);
}

/* Responsive Design for Make Your Own Kit Page */
@media (max-width: 1200px) {
    .make-your-own-kit-page .kit-products {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (max-width: 992px) {
    .make-your-own-kit-page .kit-products {
        grid-template-columns: repeat(2, 1fr);
    }

    .make-your-own-kit-page {
        flex-direction: column;
        padding: 20px;
    }

    .make-your-own-kit-page .kit-sidebar {
        width: 100%;
        position: static;
    }

    .make-your-own-kit-page .kit-title {
        font-size: 40px;
    }

    .make-your-own-kit-page .kit-step-content h2 {
        font-size: 30px;
    }
}

@media (max-width: 576px) {
    .make-your-own-kit-page .kit-products {
        grid-template-columns: 1fr;
    }

    .make-your-own-kit-page .kit-title {
        font-size: 32px;
    }

    .make-your-own-kit-page .kit-step-content h2 {
        font-size: 26px;
    }

    .make-your-own-kit-page .kit-product-card {
        padding: 20px;
        max-width: 300px;
    }

    .make-your-own-kit-page .kit-product-card img {
        height: 220px;
    }

    .make-your-own-kit-page .kit-item-image-wrapper {
        width: 50px;
        height: 50px;
    }

    .make-your-own-kit-page .accessory-product-card {
        max-width: 180px;
    }

    .make-your-own-kit-page .accessory-product-card img {
        height: 120px;
    }
}

/* ==========================================================================
   Section : Tendances dans Notre Communauté ELLA
   Description : Styles pour le carrousel des vidéos de la communauté, inspiré de Glow Recipe
   ========================================================================== */

.community-close-options {
    position: sticky;
    top: 10px;
    right: 10px;
    width: 30px;
    height: 30px;
    background: #fff;
    border: 1px solid rgba(232, 199, 167, 0.3);
    border-radius: 50%;
    font-size: 16px;
    color: var(--dark);
    cursor: pointer;
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 15;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
    margin-left: auto;
}

.community-close-options:hover {
    background: var(--rose);
    transform: rotate(90deg);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
}

.community-close-options::before {
    content: "×";
    font-size: 20px;
    font-weight: 300;
}

.community-color-option {
    width: 34px;
    height: 34px;
    border-radius: 50%;
    border: 2px solid transparent;
    display: inline-block;
    position: relative;
    cursor: pointer;
    margin: 0 5px;
    background-size: cover;
    background-position: center;
    transition: all 0.3s ease;
}

.community-color-option:hover {
    transform: scale(1.1);
    border-color: var(--dark);
}

.community-color-option.active {
    border-color: var(--dark);
    box-shadow: 0 0 0 2px #fff, 0 0 0 4px var(--dark);
}

.community-color-option .community-color-name {
    display: none;
    position: absolute;
    bottom: -30px;
    left: 50%;
    transform: translateX(-50%);
    background-color: var(--dark);
    color: var(--cream);
    padding: 4px 10px;
    border-radius: 4px;
    font-size: 12px;
    white-space: nowrap;
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s ease;
    z-index: 3;
    font-family: var(--font-primary);
}

.community-color-option:hover .community-color-name {
    display: block;
    opacity: 1;
    visibility: visible;
}

.community-color-option[title="Bronze"] {
    background-color: var(--gold) !important;
}

.community-color-option[title="Noisette"] {
    background-color: #8B4513 !important;
}

.community-color-option[title="Rose"] {
    background-color: var(--rose) !important;
}

.community-color-option[title="Rose Gold"] {
    background-color: var(--gold) !important;
}

.community-version-options {
    display: flex;
    gap: 14px;
    flex-wrap: wrap;
    justify-content: center;
}

.community-version-option {
    padding: 8px 16px;
    border: 1px solid rgba(232, 199, 167, 0.3);
    border-radius: 24px;
    cursor: pointer;
    background-color: #fff;
    transition: all 0.3s ease;
    font-size: 13px;
    text-align: center;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.05);
    font-family: var(--font-primary);
    color: var(--dark);
}

.community-version-option:hover {
    background-color: var(--rose);
    color: var(--dark);
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.08);
}

.community-version-option.active {
    background-color: var(--gold);
    border-color: var(--gold);
    color: var(--dark);
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}

.community-variant-selections {
    margin-bottom: 20px;
    display: flex;
    flex-direction: column;
    gap: 12px;
    max-height: 300px;
    overflow-y: auto;
    padding-right: 6px;
}

.community-variant-selection {
    border: 1px solid rgba(232, 199, 167, 0.3);
    padding: 15px;
    border-radius: var(--border-radius);
    background: linear-gradient(145deg, #ffffff, #fef7f5);
    margin-bottom: 6px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.03);
}

.community-remove-selection {
    background-color: transparent;
    border: 1px solid rgba(232, 199, 167, 0.3);
    padding: 2px 8px;
    border-radius: 12px;
    cursor: pointer;
    font-size: 12px;
    transition: all 0.3s ease;
    margin-top: 6px;
    width: auto;
    text-align: center;
    color: var(--dark);
    font-weight: 400;
}

.community-remove-selection:hover {
    background-color: var(--rose);
    color: var(--dark);
}

/* ==========================================================================
   CORRECTIF URGENT - Uniformisation des Sélecteurs de Quantité
   Date : 3 Octobre 2025
   ========================================================================== */

/* Sélecteur quantity-selector dans options-card - utilise les styles de base */

/* Background blanc pour la section quantité dans la carte d'options */
.section-container.lab-ella-bestsellers .options-card .option-group.quantity-option-group {
    background: #fff !important;
    padding: 12px !important;
    border-radius: 8px !important;
    margin: 8px 0 !important;
    border: 1px solid rgba(232, 199, 167, 0.2) !important;
}
.section-container.lab-ella-bestsellers .options-card .quantity-btn {
    width: 26px !important;
    height: 26px !important;
    min-width: 26px !important;
    min-height: 26px !important;
    background: linear-gradient(145deg, #ffffff, #fdeded) !important;
    border: 1px solid var(--dark) !important;
    border-radius: 50% !important;
    cursor: pointer !important;
    font-size: 13px !important;
    transition: var(--transition) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: var(--dark) !important;
}

/* Champ de quantité dans la carte principale - identique aux cartes secondaires */
.section-container.lab-ella-bestsellers .options-card .quantity-input {
    width: 40px !important;
    height: 26px !important;
    min-height: 20px !important;
    font-size: 12px !important;
    text-align: center !important;
    border: 1px solid var(--dark) !important;
    border-radius: 4px !important;
    background: #fff !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* quantity-input dans options-card utilise maintenant les styles harmonisés de la ligne 741 */

/* S'assurer que les styles s'appliquent aussi aux éléments ajoutés dynamiquement */
.section-container.lab-ella-bestsellers .options-card .variant-selection .quantity-selector {
    /* Hérite des styles de base .quantity-selector */
}

/* ==========================================================================
   CORRECTION CHEVAUCHEMENT CARTES VARIANTES - MOBILE ET DESKTOP
   Date: 10 Octobre 2025
   ========================================================================== */

/* CORRECTION MOBILE SIMPLIFIÉE - Garder le desktop correct */
@media (max-width: 768px) {
    .section-container.lab-ella-bestsellers .section-card.bestseller-product .variant-selection {
        min-height: 200px !important; /* Légèrement plus petit sur mobile */
        margin-bottom: 15px !important; /* Espacement normal */
        padding: 12px !important; /* Padding normal */
    }
    
    /* Boutons de quantité identiques sur mobile */
    .section-container.lab-ella-bestsellers .options-card .quantity-btn,
    .section-container.lab-ella-bestsellers .variant-selection .quantity-btn {
        width: 26px !important;
        height: 26px !important;
        min-width: 26px !important;
        min-height: 26px !important;
        font-size: 13px !important;
    }
    
    /* Champs de quantité identiques sur mobile */
    .section-container.lab-ella-bestsellers .options-card .quantity-input,
    .section-container.lab-ella-bestsellers .variant-selection .quantity-input {
        width: 40px !important;
        height: 26px !important;
        min-height: 20px !important;
        font-size: 12px !important;
    }
}

/* CORRECTION DESKTOP - Garder les styles corrects */
@media (min-width: 769px) {
    /* Boutons de quantité identiques sur desktop */
    .section-container.lab-ella-bestsellers .options-card .quantity-btn,
    .section-container.lab-ella-bestsellers .variant-selection .quantity-btn {
        width: 26px !important;
        height: 26px !important;
        min-width: 26px !important;
        min-height: 26px !important;
        font-size: 13px !important;
    }
    
    /* Champs de quantité identiques sur desktop */
    .section-container.lab-ella-bestsellers .options-card .quantity-input,
    .section-container.lab-ella-bestsellers .variant-selection .quantity-input {
        width: 40px !important;
        height: 26px !important;
        min-height: 20px !important;
        font-size: 12px !important;
    }
}

/* Hover pour les boutons de quantité dans la carte d'options */
.section-container.lab-ella-bestsellers .options-card .quantity-btn:hover {
    background: var(--rose);
    color: var(--dark);
    border-color: var(--dark);
}

/* Focus pour le champ de quantité dans la carte d'options */
.section-container.lab-ella-bestsellers .options-card .quantity-input:focus {
    border-color: var(--gold-dark);
    outline: none;
}

/* Supprimer les flèches des champs numériques dans la carte d'options */
.section-container.lab-ella-bestsellers .options-card .quantity-input::-webkit-outer-spin-button,
.section-container.lab-ella-bestsellers .options-card .quantity-input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

/* ========================================================================== 
   CORRECTIF FINAL - Cartes de Variantes et Bouton de Fermeture
   Date : 11 Octobre 2025
   ========================================================================== */

/* Min-height pour toutes les cartes variant-selection */
.section-container.lab-ella-bestsellers .section-card.bestseller-product .variant-selection {
    min-height: 220px !important;
}

/* Bouton de fermeture des cartes ajoutées - moderne et petit */
.close-variant-card {
    position: absolute !important;
    top: 8px !important;
    right: 8px !important;
    background: rgba(255, 255, 255, 0.9) !important;
    border: 1px solid rgba(232, 199, 167, 0.3) !important;
    font-size: 14px !important;
    color: var(--dark) !important;
    cursor: pointer !important;
    z-index: 25 !important;
    width: 24px !important;
    height: 24px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 50% !important;
    transition: all 0.2s ease !important;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1) !important;
    font-weight: bold !important;
}

.close-variant-card:hover {
    background: var(--rose) !important;
    border-color: var(--gold) !important;
    transform: scale(1.1) !important;
}

.close-variant-card:active {
    transform: scale(0.95) !important;
}

/* Responsive pour le bouton de fermeture */
@media (max-width: 768px) {
    .close-variant-card {
        top: 6px !important;
        right: 6px !important;
        width: 22px !important;
        height: 22px !important;
        font-size: 12px !important;
    }
    
    .section-container.lab-ella-bestsellers .section-card.bestseller-product .variant-selection {
        min-height: 200px !important; /* Légèrement plus petit sur mobile */
    }
}

@media (max-width: 480px) {
    .close-variant-card {
        top: 5px !important;
        right: 5px !important;
        width: 20px !important;
        height: 20px !important;
        font-size: 11px !important;
    }
    
    .section-container.lab-ella-bestsellers .section-card.bestseller-product .variant-selection {
        min-height: 180px !important; /* Plus petit sur très petits écrans */
    }
}

/* ========================================================================== 
   CORRECTIF CARTES VERSION - Classe spécifique et espacement forcé
   Date : 11 Octobre 2025
   ========================================================================== */

/* Classe spécifique pour les cartes VERSION */
.section-container.lab-ella-bestsellers .section-card.bestseller-product .variant-selection {
    border: 1px solid rgba(232, 199, 167, 0.3) !important;
    padding: 15px !important;
    border-radius: 12px !important;
    background: linear-gradient(145deg, #ffffff, #fef7f5) !important;
    margin-bottom: 20px !important;
    position: relative !important;
    z-index: 5 !important;
    clear: both !important;
    display: block !important;
}

/* Centrer les options de version */
.section-container.lab-ella-bestsellers .section-card.bestseller-product .variant-selection .version-options {
    justify-content: center !important;
    margin-bottom: 15px !important;
}

/* Enlever le background de quantity-option-group pour gagner de l'espace */
.section-container.lab-ella-bestsellers .section-card.bestseller-product .variant-selection .option-group.quantity-option-group {
    background: transparent !important;
    padding: 8px 0 !important;
    margin-top: 10px !important;
}

/* Conteneur des cartes VERSION avec espacement forcé */
.section-container.lab-ella-bestsellers .section-card.bestseller-product .variant-selections {
    display: block !important;
    margin-bottom: 20px !important;
    position: relative !important;
    z-index: 3 !important;
}

/* Espacement vertical forcé entre cartes VERSION */
.section-container.lab-ella-bestsellers .section-card.bestseller-product .variant-selections .variant-selection:not(:last-child) {
    margin-bottom: 25px !important;
}

/* Bouton fermeture pour cartes VERSION */
.section-container.lab-ella-bestsellers .section-card.bestseller-product .variant-selection .close-variant-card {
    position: absolute !important;
    top: 8px !important;
    right: 8px !important;
    z-index: 999 !important;
}

/* ==========================================================================
   Section : Tendances dans Notre Communauté ELLA - Styles Complets
   Description : Styles complets pour le carrousel des vidéos de la communauté
   Date : 11 Oct 2025
   ========================================================================== */

/* Conteneur principal */
.section-container.community-videos {
    font-family: var(--font-primary);
    max-width: 1400px;
    margin: 15px auto 30px;
    padding: 10px;
    background: var(--cream);
    border-radius: var(--border-radius);
    overflow: hidden;
}

/* MOBILE - Réduire la marge énorme */
@media (max-width: 768px) {
    .section-container.community-videos {
        margin: 0px auto 15px !important;
        padding: 10px !important;
        margin-top: -10px !important;
    }
    
    /* Gérer le conflit scroll vertical/horizontal */
    .section-container.community-videos.swiping {
        touch-action: auto !important; /* Scroll libre */
        overflow-y: visible !important; /* Scroll vertical toujours libre */
    }
    
    .section-container.community-videos:not(.swiping) {
        touch-action: pan-y !important;
    }
    
    .section-container.community-videos .carousel {
        touch-action: auto !important; /* Scroll libre */
        -webkit-overflow-scrolling: touch !important;
    }
}

/* En-tête */
.section-container.community-videos .section-header {
    text-align: center;
    margin-bottom: 10px;
}

.section-container.community-videos .section-title {
    font-family: var(--font-secondary);
    font-size: var(--font-size-title);
    font-weight: 500;
    margin-bottom: 5px;
    color: var(--dark);
    letter-spacing: 1px;
    text-transform: uppercase;
}

.section-container.community-videos .section-subtitle {
    font-family: var(--font-primary);
    font-size: var(--font-size-subtitle);
    color: var(--dark);
    margin-bottom: 0;
    opacity: 0.8;
}

/* Wrapper du carrousel */
.section-container.community-videos .carousel-wrapper {
    position: relative;
    overflow: hidden;
    margin: 0 -5px;
}

/* Carrousel */
.section-container.community-videos .carousel {
    display: flex;
    gap: var(--spacing-gap);
    overflow-x: auto;
    scroll-behavior: smooth;
    padding: 10px 5px;
    scrollbar-width: none;
    -ms-overflow-style: none;
}

.section-container.community-videos .carousel::-webkit-scrollbar {
    display: none;
}

/* Boutons de navigation */
.section-container.community-videos .carousel-prev,
.section-container.community-videos .carousel-next {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 40px;
    height: 40px;
    background: rgba(255, 255, 255, 0.95);
    border: 1px solid rgba(232, 199, 167, 0.3);
    border-radius: 50%;
    cursor: pointer;
    font-size: 18px;
    color: var(--dark);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 10;
    transition: var(--transition);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

.section-container.community-videos .carousel-prev {
    left: 10px;
}

.section-container.community-videos .carousel-next {
    right: 10px;
}

.section-container.community-videos .carousel-prev:hover,
.section-container.community-videos .carousel-next:hover {
    background: var(--rose);
    transform: translateY(-50%) scale(1.05);
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.15);
}

.section-container.community-videos .carousel-prev.disabled,
.section-container.community-videos .carousel-next.disabled {
    opacity: 0.3;
    cursor: not-allowed;
    pointer-events: none;
}

/* Cartes de produits */
.section-container.community-videos .section-card {
    min-width: 320px;
    max-width: 320px;
    background: #fff;
    border-radius: var(--border-radius);
    padding: 15px;
    box-shadow: var(--shadow);
    transition: var(--transition);
    position: relative;
    overflow: hidden;
    flex-shrink: 0;
}

.section-container.community-videos .section-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.12);
}

/* Images des produits */
.section-container.community-videos .section-image-wrapper {
    position: relative;
    margin-bottom: 15px;
    overflow: hidden;
    border-radius: 8px;
}

.section-container.community-videos .section-image {
    width: 100%;
    height: 200px;
    position: relative;
    overflow: hidden;
    border-radius: 8px;
}

.section-container.community-videos .section-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: var(--transition);
}

.section-container.community-videos .section-card:hover .section-image img {
    transform: scale(1.05);
}

/* Détails des produits */
.section-container.community-videos .section-details {
    margin-bottom: 15px;
}

.section-container.community-videos .section-details-title {
    font-family: var(--font-primary);
    font-size: 16px;
    font-weight: 600;
    margin-bottom: 8px;
    color: var(--dark);
    line-height: 1.3;
}

.section-container.community-videos .section-details-title a {
    color: inherit;
    text-decoration: none;
    transition: var(--transition);
}

.section-container.community-videos .section-details-title a:hover {
    color: var(--gold-dark);
}

.section-container.community-videos .product-rating {
    margin-bottom: 8px;
    font-size: 14px;
    color: #666;
}

.section-container.community-videos .product-price {
    font-family: var(--font-primary);
    font-size: 18px;
    font-weight: 700;
    color: var(--dark);
    margin-bottom: 0;
}

/* Bouton d'ajout au panier */
.section-container.community-videos .add-to-cart-btn {
    width: 100%;
    background: linear-gradient(135deg, var(--gold), var(--gold-dark));
    color: var(--dark);
    border: none;
    padding: 12px 15px;
    border-radius: 8px;
    cursor: pointer;
    font-family: var(--font-primary);
    font-weight: 600;
    font-size: 14px;
    transition: var(--transition);
    display: flex;
    justify-content: space-between;
    align-items: center;
    box-shadow: 0 2px 8px rgba(232, 199, 167, 0.3);
}

.section-container.community-videos .add-to-cart-btn:hover {
    background: linear-gradient(135deg, var(--gold-dark), var(--gold));
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(232, 199, 167, 0.4);
}

.section-container.community-videos .add-to-cart-btn.active {
    background: var(--rose);
    color: var(--dark);
}

/* Carte d'options */
.section-container.community-videos .community-options-card {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: #fff;
    border-radius: var(--border-radius);
    padding: 20px;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.15);
    transform: translateY(100%);
    opacity: 0;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    z-index: 100;
    overflow-y: auto;
}

.section-container.community-videos .community-options-card.preparing {
    transform: translateY(50%);
    opacity: 0.7;
}

.section-container.community-videos .community-options-card.active {
    transform: translateY(0);
    opacity: 1;
}

/* Header de la carte d'options */
.section-container.community-videos .options-card-header {
    display: flex;
    align-items: center;
    margin-bottom: 20px;
    padding-bottom: 15px;
    border-bottom: 1px solid rgba(232, 199, 167, 0.3);
}

.section-container.community-videos .product-image-small {
    width: 50px;
    height: 50px;
    object-fit: cover;
    border-radius: 6px;
    margin-right: 12px;
}

.section-container.community-videos .product-name-small {
    font-family: var(--font-primary);
    font-size: 14px;
    font-weight: 600;
    margin: 0 0 4px 0;
    color: var(--dark);
}

.section-container.community-videos .product-price-small {
    font-family: var(--font-primary);
    font-size: 16px;
    font-weight: 700;
    color: var(--dark);
}

/* Options d'achat */
.section-container.community-videos .purchase-options {
    margin-bottom: 20px;
}

.section-container.community-videos .purchase-option {
    margin-bottom: 10px;
    display: flex;
    align-items: center;
}

.section-container.community-videos .purchase-option input[type="radio"] {
    margin-right: 8px;
    accent-color: var(--gold);
}

.section-container.community-videos .purchase-option label {
    font-family: var(--font-primary);
    font-size: 14px;
    color: var(--dark);
    cursor: pointer;
}

/* Bouton de confirmation */
.section-container.community-videos .confirm-add-to-cart-btn {
    width: 100%;
    background: linear-gradient(135deg, var(--gold), var(--gold-dark));
    color: var(--dark);
    border: none;
    padding: 15px;
    border-radius: 8px;
    cursor: pointer;
    font-family: var(--font-primary);
    font-weight: 600;
    font-size: 16px;
    transition: var(--transition);
    display: flex;
    justify-content: space-between;
    align-items: center;
    box-shadow: 0 4px 12px rgba(232, 199, 167, 0.3);
}

.section-container.community-videos .confirm-add-to-cart-btn:hover {
    background: linear-gradient(135deg, var(--gold-dark), var(--gold));
    transform: translateY(-2px);
    box-shadow: 0 6px 16px rgba(232, 199, 167, 0.4);
}

/* Responsive */
@media (max-width: 768px) {
    .section-container.community-videos .section-card {
        min-width: 280px;
        max-width: 280px;
    }
    
    .section-container.community-videos .carousel-prev,
    .section-container.community-videos .carousel-next {
        width: 35px;
        height: 35px;
        font-size: 16px;
    }
    
    .section-container.community-videos .carousel-prev {
        left: 5px;
    }
    
    .section-container.community-videos .carousel-next {
        right: 5px;
    }
}

@media (max-width: 480px) {
    .section-container.community-videos .section-card {
        min-width: 240px;
        max-width: 240px;
        padding: 12px;
    }
    
    .section-container.community-videos .section-image {
        height: 160px;
    }
    
    .section-container.community-videos .section-details-title {
        font-size: 14px;
    }
    
    .section-container.community-videos .product-price {
        font-size: 16px;
    }
}
/* ==========================================================================
   CORRECTION CARTE D'OPTIONS COULEUR - COMMUNITY VIDEOS
   ========================================================================== */

/* Options de couleur - Section Community Videos */
section.community-videos .color-options {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    padding: 10px 0;
}

section.community-videos .color-option {
    width: 40px !important;
    height: 40px !important;
    border-radius: 50% !important;
    border: 3px solid transparent !important;
    display: inline-block;
    position: relative;
    cursor: pointer;
    margin: 0;
    background-size: cover;
    background-position: center;
    transition: all 0.3s ease;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

section.community-videos .color-option:hover {
    transform: scale(1.15);
    border-color: var(--dark) !important;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
}

section.community-videos .color-option.active {
    border-color: var(--dark) !important;
    transform: scale(1.1);
    box-shadow: 0 0 0 2px #fff, 0 0 0 5px var(--dark);
}

section.community-videos .color-option .color-name {
    position: absolute;
    bottom: -35px;
    left: 50%;
    transform: translateX(-50%);
    background-color: var(--dark);
    color: var(--cream);
    padding: 6px 12px;
    border-radius: 6px;
    font-size: 12px;
    white-space: nowrap;
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s ease;
    z-index: 10;
    font-family: var(--font-primary);
    font-weight: 500;
    pointer-events: none;
}

section.community-videos .color-option:hover .color-name {
    opacity: 1;
    visibility: visible;
    bottom: -40px;
}

/* Couleurs spécifiques */
section.community-videos .color-option[title="Bronze"] {
    background-color: #CD7F32 !important;
}

section.community-videos .color-option[title="Noisette"] {
    background-color: #8B4513 !important;
}

section.community-videos .color-option[title="Rose"] {
    background-color: #F9E4E6 !important;
}

section.community-videos .color-option[title="Rose Gold"] {
    background: linear-gradient(45deg, #E8C7A7, #F9E4E6) !important;
}

section.community-videos .color-option[title="Gold"] {
    background-color: #E8C7A7 !important;
}

/* Groupe d'options de couleur */
section.community-videos .color-option-group {
    margin-bottom: 20px;
}

section.community-videos .color-option-group .community-option-label {
    font-family: var(--font-primary);
    font-size: 14px;
    color: var(--dark);
    margin-bottom: 12px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    text-align: center;
}

/* Responsive pour les couleurs */
@media (max-width: 767px) {
    section.community-videos .color-option {
        width: 35px !important;
        height: 35px !important;
    }
    
    section.community-videos .color-options {
        gap: 10px;
    }
}

@media (max-width: 480px) {
    section.community-videos .color-option {
        width: 32px !important;
        height: 32px !important;
    }
    
    section.community-videos .color-options {
        gap: 8px;
    }
}
/* ==========================================================================
    background: var(--rose);
    border-color: var(--dark);
}
/* ==========================================================================
    background: var(--rose) !important;
    border-color: var(--dark) !important;
}
/* ==========================================================================
}

section.community-videos .community-option-group .color-option.active {
    border-color: var(--gold-dark) !important;
    box-shadow: 0 0 0 2px #fff, 0 0 0 4px var(--gold-dark) !important;
}

section.community-videos .community-option-group .color-option .color-name {
    position: absolute !important;
    bottom: -28px !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    background: var(--dark) !important;
    color: var(--cream) !important;
    padding: 3px 8px !important;
    border-radius: 4px !important;
    font-size: 11px !important;
    white-space: nowrap !important;
    opacity: 0 !important;
    visibility: hidden !important;
    transition: all 0.3s ease !important;
}

section.community-videos .community-option-group .color-option:hover .color-name {
    opacity: 1 !important;
    visibility: visible !important;
}

/* Couleurs spécifiques avec classes community */
section.community-videos .community-option-group .color-option[title="Bronze"] {
    background-color: #E8C7A7 !important;
}

section.community-videos .community-option-group .color-option[title="Noisette"] {
    background-color: #8B4513 !important;
}

section.community-videos .community-option-group .color-option[title="Rose"] {
    background-color: #F9E4E6 !important;
}

section.community-videos .community-option-group .color-option[title="Rose Gold"] {
    background-color: #E8C7A7 !important;
}

section.community-videos .community-option-group .color-option[title="Gold"] {
    background-color: #FFD700 !important;
}

/* Container des options de couleur avec classes community */
section.community-videos .community-option-group .color-options {
    display: flex !important;
    gap: 8px !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    align-items: center !important;
    padding: 10px 0 !important;
}

/* Options de version avec classes community */
section.community-videos .community-option-group .version-options {
    display: flex !important;
    gap: 10px !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
}

section.community-videos .community-option-group .version-option {
    padding: 8px 16px !important;
    border: 1px solid var(--dark) !important;
    border-radius: 5px !important;
    cursor: pointer !important;
    background: #fff !important;
    transition: all 0.3s ease !important;
    font-size: 12px !important;
    text-align: center !important;
    box-shadow: 0 2px 6px rgba(0,0,0,0.1) !important;
    color: var(--dark) !important;
}

section.community-videos .community-option-group .version-option:hover {
    background: #f5f5f5 !important;
    border-color: var(--dark) !important;
}

section.community-videos .community-option-group .version-option.active {
    background: var(--gold) !important;
    border-color: var(--gold-dark) !important;
    color: var(--dark) !important;
}

/* Groupes d'options community */
section.community-videos .community-option-group {
    margin-bottom: 15px !important;
}

section.community-videos .community-option-label {
    font-family: var(--font-primary) !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    margin-bottom: 8px !important;
    color: var(--dark) !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    text-align: center !important;
}

/* Sélecteur de quantité avec classes community */
section.community-videos .community-option-group .quantity-selector {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
}

section.community-videos .community-option-group .quantity-btn {
    width: 28px !important;
    height: 28px !important;
    border: 1px solid var(--dark) !important;
    background: #fff !important;
    color: var(--dark) !important;
    border-radius: 4px !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    transition: all 0.3s ease !important;
}

section.community-videos .community-option-group .quantity-btn:hover {
    background: var(--rose) !important;
    color: var(--dark) !important;
    border-color: var(--dark) !important;
}

section.community-videos .community-option-group .quantity-input {
    width: 40px !important;
    height: 28px !important;
    border: 1px solid var(--dark) !important;
    text-align: center !important;
    font-size: 12px !important;
    border-radius: 4px !important;
    background: #fff !important;
}

section.community-videos .community-option-group .quantity-input:focus {
    border-color: var(--gold-dark) !important;
    outline: none !important;
}
/* ==========================================================================
   CSS COMMUNITY VIDEOS - CIBLAGE DE LA VRAIE STRUCTURE HTML DU SITE LIVE
   ========================================================================== */

/* Options de couleur - COMMUNITY VIDEOS structure réelle */
section.community-videos .color-options .color-option {
    width: 32px !important;
    height: 32px !important;
    border-radius: 50% !important;
    border: 2px solid transparent !important;
    display: inline-block !important;
    position: relative !important;
    cursor: pointer !important;
    margin: 0 4px !important;
    background-size: cover !important;
    background-position: center !important;
    transition: all 0.3s ease !important;
}

section.community-videos .color-options .color-option:hover {
    transform: scale(1.1) !important;
    border-color: var(--dark) !important;
}

section.community-videos .color-options .color-option.active {
    border-color: var(--gold-dark) !important;
    box-shadow: 0 0 0 2px #fff, 0 0 0 4px var(--gold-dark) !important;
}

section.community-videos .color-options .color-option .color-name {
    position: absolute !important;
    bottom: -28px !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    background: var(--dark) !important;
    color: var(--cream) !important;
    padding: 3px 8px !important;
    border-radius: 4px !important;
    font-size: 11px !important;
    white-space: nowrap !important;
    opacity: 0 !important;
    visibility: hidden !important;
    transition: all 0.3s ease !important;
}

section.community-videos .color-options .color-option:hover .color-name {
    opacity: 1 !important;
    visibility: visible !important;
}

/* Couleurs spécifiques */
section.community-videos .color-options .color-option[title="Bronze"] {
    background-color: #E8C7A7 !important;
}

section.community-videos .color-options .color-option[title="Noisette"] {
    background-color: #8B4513 !important;
}

section.community-videos .color-options .color-option[title="Rose"] {
    background-color: #F9E4E6 !important;
}

section.community-videos .color-options .color-option[title="Rose Gold"] {
    background-color: #E8C7A7 !important;
}

section.community-videos .color-options .color-option[title="Gold"] {
    background-color: #FFD700 !important;
}

/* Container des options de couleur */
section.community-videos .color-options {
    display: flex !important;
    gap: 8px !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    align-items: center !important;
    padding: 10px 0 !important;
}

/* Options de version */
section.community-videos .version-options {
    display: flex !important;
    gap: 10px !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
}

section.community-videos .version-options .version-option {
    padding: 8px 16px !important;
    border: 1px solid var(--dark) !important;
    border-radius: 5px !important;
    cursor: pointer !important;
    background: #fff !important;
    transition: all 0.3s ease !important;
    font-size: 12px !important;
    text-align: center !important;
    box-shadow: 0 2px 6px rgba(0,0,0,0.1) !important;
    color: var(--dark) !important;
}

section.community-videos .version-options .version-option:hover {
    background: #f5f5f5 !important;
    border-color: var(--dark) !important;
}

section.community-videos .version-options .version-option.active {
    background: var(--gold) !important;
    border-color: var(--gold-dark) !important;
    color: var(--dark) !important;
}

/* Sélecteur de quantité */
section.community-videos .quantity-selector {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
}

section.community-videos .quantity-selector .quantity-btn {
    width: 28px !important;
    height: 28px !important;
    border: 1px solid var(--dark) !important;
    background: #fff !important;
    color: var(--dark) !important;
    border-radius: 4px !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    transition: all 0.3s ease !important;
}

section.community-videos .quantity-selector .quantity-btn:hover {
    background: var(--rose) !important;
    color: var(--dark) !important;
    border-color: var(--dark) !important;
}

section.community-videos .quantity-selector .quantity-input {
    width: 40px !important;
    height: 28px !important;
    border: 1px solid var(--dark) !important;
    text-align: center !important;
    font-size: 12px !important;
    border-radius: 4px !important;
    background: #fff !important;
}

section.community-videos .quantity-selector .quantity-input:focus {
    border-color: var(--gold-dark) !important;
    outline: none !important;
}

/* Bouton d'ajout de variante */

/* ========================================
   MOBILE: FORCER L'ORDRE SEE IN ACTION → ROUTINE
   ======================================== */
@media (max-width: 991px) {
    html body.single-product .lab-ella-product-page .glow-action-routine-section {
        display: flex !important;
        flex-direction: column !important;
    }
    
    html body.single-product .lab-ella-product-page .glow-action-column {
        order: 1 !important;
        width: 100% !important;
    }
    
    html body.single-product .lab-ella-product-page .glow-routine-column {
        order: 2 !important;
        width: 100% !important;
        margin-top: 50px !important;
    }
    
    /* Harmonisation titres mobile */
    html body.single-product .lab-ella-product-page .glow-action-column h4,
    html body.single-product .lab-ella-product-page .glow-routine-column h3,
    html body.single-product .lab-ella-product-page .glow-routine-section h3 {
        font-size: 16px !important;
        font-weight: 600 !important;
        font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif !important;
        color: #333 !important;
        text-align: center !important;
        margin: 0 0 20px 0 !important;
        line-height: 1.5 !important;
        letter-spacing: 0.5px !important;
    }
}

/* STYLES MANQUANTS POUR SAVE-SETS - COPIE DE BESTSELLERS */

/* Option groups */
.save-with-sets .save-sets-option-group {
    margin-bottom: 15px;
}

/* Quantity option group - STYLE BLANC AVEC BORDURE */
.save-with-sets .save-sets-options-card .save-sets-option-group.save-sets-quantity-option-group {
    background: #fff !important;
    padding: 12px !important;
    border-radius: 8px !important;
    margin: 8px 0 !important;
    border: 1px solid rgba(232, 199, 167, 0.2) !important;
}

/* Purchase options - STICKY AVEC FOND ROSE */
/* Header sticky - QUANTITÉ + X fixe en haut */
.save-with-sets .save-sets-option-group.quantity-option-group {
    position: sticky !important;
    top: 0 !important;
    background: linear-gradient(145deg, var(--rose), #fdeded) !important;
    padding: 8px 15px !important;
    margin: 0 -15px 10px !important;
    z-index: 99 !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1) !important;
}

/* Footer sticky */
.save-with-sets .save-sets-purchase-options {
    position: sticky !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    background: linear-gradient(145deg, var(--rose), #fdeded) !important;
    padding: 4px 15px !important;
    margin: 0 -15px 0 !important;
    z-index: 99 !important;
    display: flex;
    flex-direction: column;
    gap: 0 !important;
    box-shadow: 0 -4px 12px rgba(0, 0, 0, 0.1) !important;
}

/* Confirm button DANS le footer */
.save-with-sets .save-sets-confirm-btn {
    position: relative !important;
    width: 100% !important;
    margin-top: 0 !important;
}

.save-with-sets .save-sets-purchase-option {
    display: flex;
    align-items: center;
    gap: 6px;
    cursor: pointer;
    font-size: 13px;
    font-weight: 400;
    color: var(--dark);
    padding: 6px 10px;
    border-radius: 5px;
    transition: var(--transition);
    white-space: nowrap;
    background: transparent;
    box-shadow: none;
}

.save-with-sets .save-sets-purchase-option:hover {
    color: var(--gold-dark);
    transform: scale(1.05);
    background: rgba(232, 199, 167, 0.1);
}

.save-with-sets .save-sets-purchase-option input[type="checkbox"],
.save-with-sets .save-sets-purchase-option input[type="radio"] {
    appearance: none;
    width: 15px !important;
    height: 15px !important;
    min-width: 15px !important;
    min-height: 15px !important;
    max-width: 15px !important;
    max-height: 15px !important;
    border: 1px solid var(--gold);
    border-radius: 4px;
    background: #fff;
    cursor: pointer;
    transition: var(--transition);
    position: relative;
    margin: 0 !important;
    padding: 0 !important;
}

.save-with-sets .save-sets-purchase-option input[type="checkbox"]::before,
.save-with-sets .save-sets-purchase-option input[type="radio"]::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) scale(0);
    width: 7px;
    height: 7px;
    background: var(--gold-dark);
    border-radius: 2px;
    transition: var(--transition);
}

.save-with-sets .save-sets-purchase-option input[type="checkbox"]:checked::before,
.save-with-sets .save-sets-purchase-option input[type="radio"]:checked::before {
    transform: translate(-50%, -50%) scale(1);
}

.save-with-sets .save-sets-purchase-option input[type="checkbox"]:checked,
.save-with-sets .save-sets-purchase-option input[type="radio"]:checked {
    background: rgba(232, 199, 167, 0.2);
    border-color: var(--gold-dark);
}

/* Quantity buttons */
.save-with-sets .save-sets-options-card .save-sets-quantity-btn {
    width: 26px !important;
    height: 26px !important;
    min-width: 26px !important;
    min-height: 26px !important;
    background: linear-gradient(145deg, #ffffff, #fdeded) !important;
    border: 1px solid var(--dark) !important;
    border-radius: 50% !important;
    cursor: pointer !important;
    font-size: 13px !important;
    transition: var(--transition) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: var(--dark) !important;
    padding: 0 !important;
}

.save-with-sets .save-sets-options-card .save-sets-quantity-btn:hover {
    background: var(--rose) !important;
    color: var(--dark) !important;
    border-color: var(--dark) !important;
}

/* Quantity input */
.save-with-sets .save-sets-options-card .save-sets-quantity-input {
    width: 50px !important;
    height: 26px !important;
    min-width: 50px !important;
    min-height: 26px !important;
    max-width: 50px !important;
    max-height: 26px !important;
    border: 1px solid var(--dark) !important;
    border-radius: 6px !important;
    text-align: center !important;
    font-size: 13px !important;
    color: var(--dark) !important;
    background: #fff !important;
    -moz-appearance: textfield !important;
    padding: 0 4px !important;
    margin: 0 !important;
}

.save-with-sets .save-sets-options-card .save-sets-quantity-input:focus {
    border-color: var(--gold-dark) !important;
    outline: none !important;
}

.save-with-sets .save-sets-options-card .save-sets-quantity-input::-webkit-outer-spin-button,
.save-with-sets .save-sets-options-card .save-sets-quantity-input::-webkit-inner-spin-button {
    -webkit-appearance: none !important;
    margin: 0 !important;
}

/* Quantity selector */
.save-with-sets .save-sets-options-card .save-sets-quantity-selector {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
}

/* Confirm button - STYLE IDENTIQUE À BESTSELLERS */
.save-with-sets .save-sets-confirm-btn {
    width: 100% !important;
    padding: 12px 20px !important;
    background: #333 !important;
    color: #fff !important;
    border: none !important;
    border-radius: 0 !important;
    font-size: 16px !important;
    font-weight: 500 !important;
    cursor: pointer !important;
    transition: var(--transition) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2) !important;
}

.save-with-sets .save-sets-confirm-btn:hover {
    background: #2a2a2a !important;
    color: #fff !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.3) !important;
}

/* Media queries */
@media (max-width: 768px) {
    .save-with-sets .save-sets-purchase-options {
        margin: 0 -15px 0 !important;
    }
}

@media (max-width: 479px) {
    .save-with-sets .save-sets-purchase-options {
        margin: 0 -15px 0 !important;
    }
}

/* Cacher l'input caché du prix bundle */
.save-with-sets .bundle-full-price {
    display: none;
}

/* Cacher la case Pack Complet */
.save-with-sets .bundle-product-full {
    display: none !important;
}

/* ============================================
}

/* ============================================
   CORRECTION MOBILE STICKY FOOTER - v4.2.62
   ============================================ */
@media (max-width: 768px) {
    /* Enlever le scroll du parent pour que sticky fonctionne */
    .save-sets-options-card {
        overflow-y: visible !important;
    }
    
    /* Mettre le scroll sur l'enfant */
    .save-sets-options-card-inner {
        max-height: 48vh !important;
        overflow-y: auto !important;
        overflow-x: hidden !important;
    }
}

/* ==========================================================================
   /BOUTIQUE/ (Archive Product) - Options Card Styles
   ========================================================================== */

/* Version Options */
.product-card .options-card .version-option-group .version-options {
    display: flex !important;
    gap: 10px !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
}

.product-card .options-card .version-option-group .version-options .version-option,
.product-card .options-card .version-option-group .version-options button.version-option {
    padding: 8px 16px !important;
    border: 1px solid var(--dark) !important;
    border-color: var(--dark) !important;
    border-radius: 5px !important;
    cursor: pointer !important;
    background: #fff !important;
    transition: var(--transition) !important;
    font-size: 12px !important;
    text-align: center !important;
    box-shadow: 0 2px 6px var(--light-shadow) !important;
    color: var(--dark) !important;
}

.product-card .options-card .version-option-group .version-options .version-option:hover,
.product-card .options-card .version-option-group .version-options button.version-option:hover {
    background: #f5f5f5 !important;
    border-color: var(--dark) !important;
    color: var(--dark) !important;
}

.product-card .options-card .version-option-group .version-options .version-option.active,
.product-card .options-card .version-option-group .version-options button.version-option.active {
    background: var(--gold-dark) !important;
    border-color: var(--gold-dark) !important;
    color: #fff !important;
    box-shadow: 0 2px 6px rgba(232, 199, 167, 0.5) !important;
}

/* Size Options */
.product-card .options-card .size-option-group .size-options {
    display: flex !important;
    gap: 10px !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
}

.product-card .options-card .size-option {
    padding: 8px 16px !important;
    border: 1px solid var(--dark) !important;
    border-radius: 5px !important;
    cursor: pointer !important;
    background: #fff !important;
    transition: var(--transition) !important;
    font-size: 12px !important;
    text-align: center !important;
    box-shadow: 0 2px 6px var(--light-shadow) !important;
    color: var(--dark) !important;
}

.product-card .options-card .size-option:hover {
    background: #f5f5f5 !important;
    border-color: var(--dark) !important;
}

.product-card .options-card .size-option.active {
    background: var(--gold-dark) !important;
    border-color: var(--gold-dark) !important;
    color: #fff !important;
    box-shadow: 0 2px 6px rgba(232, 199, 167, 0.5) !important;
}

/* CORRECTIF URGENT : Override style.min.css ET Elementor pour les boutons version dans /boutique/ */
/* Utiliser des sélecteurs ULTRA spécifiques avec html body pour plus de poids */

/* BOUTONS VERSION - ÉTAT NORMAL */
html body.woocommerce-shop .products .product-card .options-card .version-option-group .version-options button.version-option,
html body.woocommerce-shop .products .product-card .options-card .version-option-group .version-options .version-option,
html body.post-type-archive-product .products .product-card .options-card .version-option-group .version-options button.version-option,
html body.post-type-archive-product .products .product-card .options-card .version-option-group .version-options .version-option,
html body .woocommerce .products .product-card .options-card button.version-option,
html body .woocommerce .products .product-card button.version-option {
    border: 1px solid #333 !important;
    border-color: #333 !important;
    color: #333 !important;
    background-color: #fff !important;
    background: #fff !important;
}

/* BOUTONS VERSION - HOVER */
html body.woocommerce-shop .products .product-card .options-card .version-option-group .version-options button.version-option:hover,
html body.woocommerce-shop .products .product-card .options-card .version-option-group .version-options .version-option:hover,
html body.post-type-archive-product .products .product-card .options-card .version-option-group .version-options button.version-option:hover,
html body.post-type-archive-product .products .product-card .options-card .version-option-group .version-options .version-option:hover,
html body .woocommerce .products .product-card .options-card button.version-option:hover,
html body .woocommerce .products .product-card button.version-option:hover {
    border: 1px solid #333 !important;
    border-color: #333 !important;
    color: #333 !important;
    background-color: #f5f5f5 !important;
    background: #f5f5f5 !important;
}

/* BOUTONS VERSION - ACTIF */
html body.woocommerce-shop .products .product-card .options-card .version-option-group .version-options button.version-option.active,
html body.woocommerce-shop .products .product-card .options-card .version-option-group .version-options .version-option.active,
html body.post-type-archive-product .products .product-card .options-card .version-option-group .version-options button.version-option.active,
html body.post-type-archive-product .products .product-card .options-card .version-option-group .version-options .version-option.active,
html body .woocommerce .products .product-card .options-card button.version-option.active,
html body .woocommerce .products .product-card button.version-option.active {
    border: 1px solid #E8C7A7 !important;
    border-color: #E8C7A7 !important;
    color: #fff !important;
    background-color: #E8C7A7 !important;
    background: #E8C7A7 !important;
}

/* CORRECTIF /BOUTIQUE/ - Responsive + Checkbox + Retirer */

/* Espacement entre les boutons version pour éviter le chevauchement */
.version-options {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
}

.version-option {
    margin: 0 !important;
    flex: 0 0 auto !important;
}

/* Checkbox moderne et petite */
.purchase-option input[type="checkbox"],
.woocommerce .purchase-option input[type="checkbox"],
body .purchase-option input[type="checkbox"] {
    width: 20px !important;
    height: 20px !important;
    min-width: 20px !important;
    min-height: 20px !important;
    border-radius: 4px !important;
    border: 2px solid #E8C7A7 !important;
    appearance: none !important;
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    cursor: pointer !important;
    position: relative !important;
    display: inline-block !important;
    vertical-align: middle !important;
}

.purchase-option input[type="checkbox"]:checked,
.woocommerce .purchase-option input[type="checkbox"]:checked,
body .purchase-option input[type="checkbox"]:checked {
    background-color: #E8C7A7 !important;
    border-color: #E8C7A7 !important;
}

.purchase-option input[type="checkbox"]:checked::after,
.woocommerce .purchase-option input[type="checkbox"]:checked::after,
body .purchase-option input[type="checkbox"]:checked::after {
    content: '✓' !important;
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
    color: white !important;
    font-size: 14px !important;
    font-weight: bold !important;
}

/* Cacher le bouton Retirer */
.remove-selection,
button.remove-selection,
.woocommerce .remove-selection,
body .remove-selection {
    display: none !important;
}

/* Shop Page - Variant Selection Header (unification avec Bestseller) */
.shop-page .variant-selection-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 8px;
    font-size: 13px;
    font-weight: 600;
    color: var(--dark);
    position: relative;
}

.shop-page .close-variant-card {
    position: absolute !important;
    top: 8px !important;
    right: 8px !important;
    background: rgba(255, 255, 255, 0.9) !important;
    border: 1px solid rgba(232, 199, 167, 0.3) !important;
    font-size: 14px !important;
    color: var(--dark) !important;
    cursor: pointer !important;
    z-index: 25 !important;
    width: 24px !important;
    height: 24px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 50% !important;
    transition: all 0.2s ease !important;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1) !important;
    font-weight: bold !important;
}

.shop-page .close-variant-card:hover {
    background: var(--rose) !important;
    border-color: var(--gold) !important;
    transform: scale(1.1) !important;
}

.shop-page .close-variant-card:active {
    transform: scale(0.95) !important;
}

/* ==========================================================================
   PROBLÈME 3: FOUC (FLASH OF UNSTYLED CONTENT) - CORRECTION
   ========================================================================== */

@font-face {
    font-family: 'Montserrat';
    font-display: swap;
}

@font-face {
    font-family: 'Playfair Display';
    font-display: swap;
}

html, body {
    font-display: swap !important;
}
