/**
 * 📱 CAROUSEL RESPONSIVE CSS - VERSION CORRIGÉE
 * Date: 14 Octobre 2025
 * Description: Styles responsive avec swipe fonctionnel
 */

/* ========================================
   🎯 MENU CATÉGORIES - RESPONSIVE
   ======================================== */

/* Tablette (768px - 1024px) */
@media screen and (max-width: 1024px) and (min-width: 769px) {
    .category-menu {
        padding: 0 20px;
        margin-bottom: 25px;
    }
    
    .category-menu button {
        font-size: 13px;
        padding: 10px 14px;
    }
}

/* Mobile (max 768px) */
@media screen and (max-width: 768px) {
    /* Container principal */
    .category-carousel-wrapper {
        padding: 0;
        margin: 20px 0;
        width: 100%;
        position: relative;
    }
    
    /* Menu catégories - Style horizontal scrollable */
    .category-menu {
        display: flex;
        overflow-x: auto;
        overflow-y: hidden;
        white-space: nowrap;
        padding: 0 15px 15px 15px;
        margin-bottom: 20px;
        gap: 10px;
        scroll-behavior: smooth;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
        -ms-overflow-style: none;
    }
    
    .category-menu::-webkit-scrollbar {
        display: none;
    }
    
    /* Boutons catégories */
    .category-menu button {
        flex: 0 0 auto;
        padding: 12px 20px;
        font-size: 14px;
        font-weight: 500;
        border: 2px solid #e0e0e0;
        background: white;
        color: #333;
        border-radius: 25px;
        transition: all 0.3s ease;
        cursor: pointer;
        text-transform: uppercase;
        letter-spacing: 0.5px;
        white-space: nowrap;
    }
    
    .category-menu button.active {
        background: #000;
        color: white;
        border-color: #000;
    }
}

/* ========================================
   📱 CAROUSEL PRODUITS - MOBILE SWIPE FIX
   ======================================== */

/* Tablette */
@media screen and (max-width: 1024px) and (min-width: 769px) {
    .carousel-inner,
    .carousel-container .carousel-inner {
        gap: 20px;
        padding: 0 20px;
    }
    
    .product-card,
    .carousel-item {
        flex: 0 0 calc(50% - 10px) !important;
        max-width: calc(50% - 10px) !important;
    }
}

/* ========================================
   🚀 MOBILE - SWIPE FONCTIONNEL
   ======================================== */
@media screen and (max-width: 768px) {
    
    /* ÉTAPE 1: Container principal scrollable */
    .carousel-container,
    #carousel-inner-carousel-1,
    #carousel-inner-carousel-2 {
        /* Reset tout d'abord */
        margin: 0;
        padding: 0;
        
        /* Définir comme scrollable */
        overflow-x: scroll !important;
        overflow-y: hidden !important;
        
        /* Smooth scroll pour iOS/Android */
        -webkit-overflow-scrolling: touch !important;
        scroll-behavior: smooth;
        
        /* Largeur du viewport */
        width: 100vw !important;
        max-width: 100vw !important;
        
        /* Position pour les éléments enfants */
        position: relative;
        
        /* Permettre le touch/swipe */
        touch-action: pan-x;
    }
    
    /* ÉTAPE 2: Inner doit dépasser pour permettre le scroll */
    .carousel-inner,
    .carousel-container .carousel-inner,
    #carousel-inner-carousel-1 .carousel-inner,
    #carousel-inner-carousel-2 .carousel-inner {
        /* Flex en ligne pour scroll horizontal */
        display: -webkit-box !important;
        display: -webkit-flex !important;
        display: -ms-flexbox !important;
        display: flex !important;
        
        /* Pas de wrap - tout sur une ligne */
        -webkit-flex-wrap: nowrap !important;
        -ms-flex-wrap: nowrap !important;
        flex-wrap: nowrap !important;
        
        /* Espacement entre cartes */
        gap: 15px;
        
        /* Padding pour voir le début et fin */
        padding: 0 15px;
        
        /* IMPORTANT: largeur automatique basée sur le contenu */
        width: -webkit-max-content !important;
        width: -moz-max-content !important;
        width: max-content !important;
        
        /* Pas d'overflow sur l'inner */
        overflow: visible !important;
        
        /* Pour le snap scroll (optionnel) */
        scroll-snap-type: x mandatory;
    }
    
    /* ÉTAPE 3: Cartes avec taille fixe */
    .product-card,
    .carousel-item {
        /* Taille fixe pour chaque carte */
        -webkit-flex: 0 0 280px !important;
        -ms-flex: 0 0 280px !important;
        flex: 0 0 280px !important;
        
        width: 280px !important;
        min-width: 280px !important;
        max-width: 280px !important;
        
        /* Flex column pour le contenu */
        display: -webkit-box !important;
        display: -webkit-flex !important;
        display: -ms-flexbox !important;
        display: flex !important;
        
        -webkit-box-orient: vertical !important;
        -webkit-box-direction: normal !important;
        -webkit-flex-direction: column !important;
        -ms-flex-direction: column !important;
        flex-direction: column !important;
        
        /* Snap au scroll */
        scroll-snap-align: start;
        
        /* Box sizing */
        box-sizing: border-box;
        
        /* Pas d'overflow */
        overflow: visible;
    }
    
    /* Masquer les scrollbars mais garder le scroll */
    .carousel-container::-webkit-scrollbar,
    #carousel-inner-carousel-1::-webkit-scrollbar,
    #carousel-inner-carousel-2::-webkit-scrollbar {
        display: none !important;
        height: 0 !important;
        width: 0 !important;
    }
    
    /* Alternative masquage scrollbar */
    .carousel-container {
        scrollbar-width: none !important;
        -ms-overflow-style: none !important;
    }
    
    /* Image container */
    .product-image-container {
        position: relative;
        width: 100%;
        margin-bottom: 15px;
        overflow: hidden;
    }
    
    /* Images */
    .product-card img,
    .carousel-item img {
        width: 100%;
        height: auto;
        aspect-ratio: 3/4;
        object-fit: cover;
        border-radius: 8px;
    }
    
    /* Titre produit */
    .product-card h4,
    .carousel-item h3 {
        font-size: 14px;
        font-weight: 500;
        line-height: 1.3;
        max-height: 60px;
        overflow: hidden;
        text-overflow: ellipsis;
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        margin: 0 0 8px 0;
        padding: 0 5px;
    }
    
    /* Prix */
    .product-card .price {
        font-size: 15px;
        font-weight: 600;
        margin: 5px 0 12px 0;
        flex-grow: 1;
        padding: 0 5px;
    }
    
    /* Bouton */
    .product-card .add-to-cart-btn {
        padding: 14px 20px !important;
        font-size: 13px !important;
        font-weight: 600;
        border-radius: 25px;
        margin-top: auto;
        width: calc(100% - 10px);
        margin-left: 5px;
        margin-right: 5px;
        background-color: #000;
        color: white;
        border: none;
        text-transform: uppercase;
        letter-spacing: 0.5px;
    }
}

/* Petits écrans */
@media screen and (max-width: 375px) {
    .product-card,
    .carousel-item {
        flex: 0 0 260px !important;
        width: 260px !important;
        min-width: 260px !important;
        max-width: 260px !important;
    }
}

/* ========================================
   🔧 FIXES ELEMENTOR SPÉCIFIQUES
   ======================================== */

@media screen and (max-width: 768px) {
    /* Container Elementor */
    .elementor-element-6fd21dc {
        width: 100% !important;
        max-width: 100vw !important;
        overflow: hidden !important;
        padding: 0 !important;
        margin: 20px 0 !important;
    }
    
    .elementor-element-6fd21dc .elementor-widget-container {
        padding: 0 !important;
        margin: 0 !important;
        width: 100% !important;
        overflow: hidden !important;
    }
    
    /* Forcer le carousel dans Elementor à être scrollable */
    .elementor-element-6fd21dc .carousel-container {
        overflow-x: scroll !important;
        overflow-y: hidden !important;
        -webkit-overflow-scrolling: touch !important;
    }
    
    .elementor-element-6fd21dc .carousel-inner {
        width: max-content !important;
        display: flex !important;
        flex-wrap: nowrap !important;
    }
}

/* ========================================
   🐛 FIXES ADDITIONNELS
   ======================================== */

@media screen and (max-width: 768px) {
    /* Empêcher le body de scroller horizontalement */
    body {
        overflow-x: hidden !important;
    }
    
    /* S'assurer que le wrapper ne déborde pas */
    .category-carousel-wrapper {
        max-width: 100vw !important;
        overflow: hidden !important;
    }
    
    /* Fix pour certains navigateurs */
    .carousel-container {
        -webkit-transform: translateZ(0);
        transform: translateZ(0);
        will-change: scroll-position;
    }
    
    /* Désactiver hover sur mobile */
    .product-card img.hover-image {
        display: none !important;
    }
}

/* ========================================
   🔍 DEBUG MODE (à retirer en production)
   ======================================== */

/* Décommenter pour debug 
@media screen and (max-width: 768px) {
    .carousel-container {
        border: 2px solid red !important;
    }
    
    .carousel-inner {
        border: 2px solid blue !important;
    }
    
    .product-card {
        border: 2px solid green !important;
    }
}
*/
