/* ==========================================================================
   Variable responsive — padding horizontal des blocs
   32px desktop → 24px tablette → 16px mobile
   ========================================================================== */

:root {
    --warein-container-padding: 32px;
}

@media (max-width: 1200px) {
    :root {
        --warein-container-padding: 24px;
    }
}

@media (max-width: 768px) {
    :root {
        --warein-container-padding: 16px;
    }
}

/* Styles personnalisés */

/* ==========================================================================
   Override contraintes parent — Pleine largeur pour blocs ACF

   Le thème parent (.leb-main) contraint les blocs ACF à 1100px max.
   Ces règles permettent aux blocs .alignfull de casser le conteneur
   et occuper 100% du viewport.
   ========================================================================== */

/* Post-content : libérer de la contrainte de leb-main
   pour que son propre is-layout-constrained gère 1280/1440.
   Uniquement sur les pages (pas les singles qui doivent rester contraints). */
body.page .leb-main > .wp-block-post-content {
    max-width: none;
}

/* Alignfull — breakout pleine largeur */
body .leb-main > .alignfull,
body .leb-main > [class*="wp-block-acf-"].alignfull {
    max-width: none;
    width: 100vw;
    margin-left: calc(-50vw + 50%);
    margin-right: calc(-50vw + 50%);
}

body:not(.block-editor-page) .wp-block-post-content > .alignfull,
body:not(.block-editor-page) .wp-block-post-content > [class*="wp-block-acf-"].alignfull {
    max-width: none;
    width: 100vw;
    margin-left: calc(-50vw + 50%);
    margin-right: calc(-50vw + 50%);
}

body:not(.block-editor-page) .is-layout-constrained > [class*="wp-block-acf-"].alignfull {
    max-width: none;
    width: 100vw;
    margin-left: calc(-50vw + 50%);
    margin-right: calc(-50vw + 50%);
}

/* Singles : blocs warein breakout vers contentSize */
body.single-post .entry-content > section[class*="warein-"] {
    margin-left: calc(-50vw + 50%);
    margin-right: calc(-50vw + 50%);
    width: min(100vw, calc(var(--wp--style--global--content-size, 1280px) - var(--wp--preset--spacing--40, 32px) * 2));
    max-width: min(100vw, calc(var(--wp--style--global--content-size, 1280px) - var(--wp--preset--spacing--40, 32px) * 2));
}

body.single-post .entry-content > section[class*="warein-"]:not(.alignfull) {
    width: min(100vw, var(--wp--style--global--content-size, 1280px));
    max-width: min(100vw, var(--wp--style--global--content-size, 1280px));
}

body.single-post .entry-content > p + section[class*="warein-"],
.editor-styles-wrapper .wp-block-post-content p + section[class*="warein-"] {
    margin-top: var(--wp--preset--spacing--40, 32px);
}

/* Blocs natifs WP dans le contenu : padding horizontal (front-end uniquement)
   Cible tous les enfants directs sauf les blocs ACF (warein-*, leb-*) et alignfull */
body:not(.block-editor-page) .wp-block-post-content > *:not([class*="warein-"]):not([class*="leb-"]):not(.alignfull),
.leb-main > .wp-block-group > *:not([class*="warein-"]):not([class*="leb-"]):not(.alignfull) {
    padding-left: var(--warein-container-padding);
    padding-right: var(--warein-container-padding);
    padding-top: 8px;
    padding-bottom: 8px;
}

/* ==========================================================================
   Éditeur — Overrides

   Le parent (.leb-single-content) contraint le post-content à 800px.
   Dans l'éditeur, on relâche pour laisser respirer les blocs.
   ========================================================================== */
body.block-editor-page.leb-single-content .wp-block-post-content {
    max-width: none;
}

.editor-styles-wrapper .wp-block-post-content > * {
    box-sizing: border-box;
}

/* Retirer le padding du main : les blocs gèrent leur propre espacement */
.leb-main {
    padding-top: 0;
    padding-bottom: 0;
}

/* Empêcher le débordement horizontal (100vw inclut la scrollbar)
   overflow-x: clip (pas hidden) pour ne pas casser position: sticky */
body {
    overflow-x: clip;
}

/* ==========================================================================
   Override blocs parent
   ========================================================================== */

.leb-mosaic {
    max-width: var(--wp--style--global--content-size);
    padding: var(--wp--preset--spacing--90, 112px) var(--warein-container-padding);
}

@media (max-width: 768px) {
    .leb-mosaic {
        padding: var(--wp--preset--spacing--50, 48px) var(--warein-container-padding);
    }
}

.leb-cta__wrapper {
    padding: var(--wp--preset--spacing--20) var(--warein-container-padding);
}
