/**
 * WordPress core block overrides
 * -------------------------------------------------------------
 * Corrige les régressions d'affichage apparues après la mise à jour
 * de WordPress (block layout + spacing). Ce fichier est chargé en
 * dernier (après wp-block-library) pour gagner les égalités de
 * spécificité au niveau de l'ordre source.
 */

/* 1) Padding des sections ------------------------------------------------
 * La MAJ ajoute `.has-global-padding` qui applique les variables
 * `--wp--style--root--padding-*`. Le thème ne définit pas ces variables
 * (pas de spacing.padding dans theme.json), elles sont donc vides et le
 * padding latéral disparaît.
 * On alimente la variable AU SEIN des blocs concernés : la règle native
 * de WP produit alors la même valeur que `--layout-margin`, sans ajouter
 * de padding au <body> ni doubler celui des <section> du thème.
 */
.has-global-padding {
  --wp--style--root--padding-left: var(--layout-margin);
  --wp--style--root--padding-right: var(--layout-margin);
}

/* 2) Séparateurs (hr) ----------------------------------------------------
 * La MAJ rend les séparateurs avec `border-top: 2px solid` (corps
 * transparent), ce qui épaissit les <hr>. On revient à un trait fin
 * coloré par le fond, comme le prévoit `.separator-container hr`.
 */
hr.wp-block-separator {
  border: none;
  height: 1px;
  opacity: 1;
}

/* Couleur par défaut en fallback (spécificité 0 via :where) : `.separator-container hr`
   du thème (var(--black)) reste prioritaire là où il s'applique. */
:where(hr.wp-block-separator) {
  background-color: currentColor;
}

/* 3) Centrage / largeur 624px non désirés (is-layout-constrained) ---------
 * Chaque groupe Gutenberg est `is-layout-constrained`, ce qui contraint
 * TOUS ses enfants non-alignés à `contentSize` (624px) + centrage via :
 *   .is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
 *     max-width: var(--wp--style--global--content-size);
 *     margin-left: auto !important; margin-right: auto !important;
 *   }
 *
 * (a) LARGEUR — plutôt que d'écraser le `max-width` des enfants (ce qui
 * casserait les `max-width` du thème, ex. `.max-width-container`), on
 * neutralise À LA SOURCE la variable utilisée par la règle native.
 * `--wp--style--global--content-size` est ramenée à la largeur max du
 * thème (1440px) : la contrainte 624px disparaît, et toute largeur
 * explicite du thème (qui n'utilise pas cette variable) reste prioritaire.
 */
.is-layout-constrained {
  --wp--style--global--content-size: var(--max-width-container);
}

/* (b) CENTRAGE — WP applique aussi `margin-left/right: auto !important` aux
 * enfants non-alignés. Sur les grilles (`.column-grid` en grid ≥1024px) ça
 * centre les items DANS leur cellule (« centré pour rien »). On remet à 0.
 * Les enfants `alignwide`/`alignfull` sont exclus (centrage natif voulu).
 */
.is-layout-constrained
  > :where(:not(.alignleft):not(.alignright):not(.alignfull):not(.alignwide)) {
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* (c) On RESTAURE le centrage volontaire des wrappers qui le demandent
 * explicitement dans le thème (`margin: 0 auto`) et qui, n'étant pas
 * alignés, seraient remis à 0 par la règle (b) ci-dessus.
 */
.max-width-container,
.section-team__inner,
.post-loop-nav__title {
  margin-left: auto !important;
  margin-right: auto !important;
}

/* 4) Section blog : grille en pleine largeur -----------------------------
 * `#blog-section` est `alignfull` + `no-space` (pleine largeur), mais son
 * inner reste plafonné à contentSize (1440px via la règle 3a). Pour le blog
 * la grille doit occuper 100% de la section : on retire le plafond.
 */
.blog-section__inner {
  max-width: none;
}
