/* ========================================
   FIX VIEWPORT MOBILE - INSTAPRODUIT
   Corrige les problèmes de zoom et défilement horizontal
   ======================================== */

/* Empêcher le débordement horizontal sur tout le site */
html, body {
    overflow-x: hidden !important;
    width: 100% !important;
    max-width: 100% !important;
}

/* S'assurer que le contenu principal ne déborde pas */
body {
    position: relative !important;
}

/* Corriger les éléments qui pourraient déborder */
* {
    max-width: 100vw !important;
}

/* Exception modérée pour les carrousels - permet une largeur légèrement supérieure au viewport */
.section__partners .slick-slider,
.section__partners .slick-list,
.section__partners .slick-track,
.section__promotions .slick-slider,
.section__promotions .slick-list,
.section__promotions .slick-track {
    max-width: 120vw !important; /* Permet 20% de dépassement au lieu de unlimited */
    width: auto !important;
}

/* Les diapositives et leur contenu gardent des contraintes raisonnables */
.section__partners .slick-slide,
.section__partners .slick-slide *,
.section__promotions .slick-slide,
.section__promotions .slick-slide * {
    max-width: 100vw !important; /* Le contenu reste dans le viewport */
    width: auto !important;
}

/* Fix spécifique pour les images et iframes */
img, iframe, video, embed, object {
    max-width: 100% !important;
    height: auto !important;
}

/* Fix pour les éléments avec position fixed ou absolute */
.fixed-element, 
[style*="position: fixed"],
[style*="position: absolute"] {
    max-width: 100vw !important;
}

/* Fix potentiel pour la box captcha/confidentialité */
.captcha-box,
.privacy-box,
.modal,
.popup,
[class*="captcha"],
[class*="privacy"],
[class*="cookie"],
[class*="gdpr"] {
    max-width: 100vw !important;
    width: auto !important;
    left: 0 !important;
    right: 0 !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

/* S'assurer que les modales sont bien centrées */
.modal-dialog,
.modal-content {
    max-width: calc(100vw - 20px) !important;
    margin: 10px auto !important;
}

/* Fix pour les éléments qui utilisent des largeurs fixes */
@media (max-width: 768px) {
    [style*="width:"],
    [style*="min-width:"] {
        max-width: 100vw !important;
    }
    
    /* Forcer le box-sizing sur tous les éléments */
    * {
        box-sizing: border-box !important;
    }
    
    /* S'assurer que le padding ne cause pas de débordement */
    .container,
    .wrapper,
    .content,
    main,
    section,
    article {
        padding-left: 15px !important;
        padding-right: 15px !important;
        max-width: 100% !important;
    }
}

/* Fix spécifique pour le menu Instaproduit sur mobile */
@media (max-width: 768px) {
    .instaproduit-mega {
        max-width: 100vw !important;
        width: 100% !important;
    }
    
    .instaproduit-mega .instaproduit-col {
        max-width: 100% !important;
        box-sizing: border-box !important;
    }
}