/* ================================================================
   CAROUSEL ASTRA FIXES - v23.2.5
   Ne touche QUE le contenu principal et le wrapper du carrousel.
   HEADER et FOOTER Astra : JAMAIS touchés.
   ================================================================ */

/* ================================================================
   1. CONTENEUR DU CONTENU PRINCIPAL UNIQUEMENT
   ================================================================ */

body.has-wp-carousel .site-content > .ast-container,
body.has-wp-carousel .site-content .ast-container,
body.has-wp-carousel #content .ast-container,
body.has-wp-carousel #primary.site-content .ast-container {
    max-width: 100% !important;
    width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

/* ================================================================
   2. CONTENU PRINCIPAL : zéro marge/padding vertical
   ================================================================ */

body.has-wp-carousel .site-content .site-main,
body.has-wp-carousel .site-content #main,
body.has-wp-carousel .site-content #primary,
body.has-wp-carousel .site-content article.ast-article-single,
body.has-wp-carousel .site-content .entry-content {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    max-width: 100% !important;
    width: 100% !important;
}

/* ================================================================
   3. BLOC SHORTCODE GUTENBERG : zéro marge
   ================================================================ */

body.has-wp-carousel .site-content .entry-content .wp-block-shortcode,
body.has-wp-carousel .site-content .wp-block-shortcode {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding: 0 !important;
}

body.has-wp-carousel .site-content .entry-content > *:first-child {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

body.has-wp-carousel .site-content .entry-content > *:last-child {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}

/* ================================================================
   4. HEADER ASTRA : on touche UNIQUEMENT l'espacement vertical
   ================================================================ */

body.has-wp-carousel .site-header,
body.has-wp-carousel #masthead {
    margin-bottom: 0 !important;
}

/* ================================================================
   5. FOOTER ASTRA : AUCUNE RÈGLE
   ================================================================ */

/* (aucune règle ici volontairement) */

/* ================================================================
   6. CARROUSEL : pleine largeur SANS débordement horizontal
   ✅ CORRECTION : plus de 100vw (qui créait un scroll horizontal
   à cause de la largeur de la scrollbar sur Windows)
   ================================================================ */

body.has-wp-carousel .carousel-wrapper {
    width: auto !important;
    max-width: none !important;
    margin-left: calc(-50vw + 50%) !important;
    margin-right: calc(-50vw + 50%) !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    left: 0 !important;
    right: 0 !important;
    position: relative !important;
    box-sizing: border-box !important;
}

/* ================================================================
   7. ADMIN BAR (connecté)
   ================================================================ */

body.admin-bar.has-wp-carousel .site-content,
body.admin-bar.has-wp-carousel .site-content > .ast-container {
    padding-top: 0 !important;
}

/* ================================================================
   8. GUTENBERG : marges par défaut neutralisées
   ================================================================ */

body.has-wp-carousel .site-content .entry-content > .wp-block-shortcode:first-child,
body.has-wp-carousel .site-content .entry-content > .carousel-wrapper:first-child {
    margin-block-start: 0 !important;
    margin-block-end: 0 !important;
}

/* ================================================================
   9. SÉCURITÉ : empêcher tout débordement horizontal
   (protège le footer des décalages)
   ================================================================ */

html, body {
    overflow-x: hidden !important;
}