/*
 * Page d'accueil — architecture de largeur à trois niveaux (audit UX, refonte
 * design statique). Chargé uniquement sur is_front_page() — voir functions.php.
 *
 * CAUSE EXACTE (vérifiée en direct, pas supposée) : .entry-content est
 * plafonné à 820px sur toute la page (pas seulement le texte), et les
 * sections déjà marquées .alignfull par Gutenberg/Greenshift n'ont AUCUNE
 * règle de sortie de conteneur sur ce thème — Blocksy ne génère pas le CSS
 * "full-bleed" que les thèmes de blocs fournissent nativement pour
 * .alignfull. Résultat : la quasi-totalité des sections de la page restent
 * coincées à 820px, y compris celles explicitement marquées plein cadre.
 *
 * Portée : strictement scopé à `.home` (classe body native de la page
 * d'accueil WordPress, vérifiée présente : `.home.page-id-976...`) —
 * aucune autre page n'est concernée par ce fichier.
 *
 * Trois niveaux, conformes à la demande :
 *   A. Plein cadre  (100vw)          → fonds de section, scènes immersives
 *   B. Conteneur principal (1360px)  → grilles, statistiques, cartes
 *   C. Conteneur de lecture (~820px) → texte éditorial (déjà correct,
 *                                       aucune section de ce niveau n'est
 *                                       modifiée par ce fichier)
 */

:root {
	--zb-home-wide: 1360px;   /* niveau B : conteneur principal */
}

/* Le conteneur racine du contenu n'a lui-même aucune raison d'être plafonné
   à 820px : ce sont ses enfants qui doivent choisir leur propre largeur
   (plein cadre, principal, ou lecture), pas ce wrapper générique. */
.home .entry-content {
	max-width: 100% !important;
	width: 100%;
}

/* ---------- Niveau A : sections plein cadre ----------
 * Implémente enfin la sortie de conteneur que .alignfull est censé apporter
 * nativement (absente du CSS de ce thème). Même technique déjà validée sur
 * .zbi-scene (commit b9b756c9) — width:100vw + marges négatives.
 * Couvre 8 sections déjà marquées .alignfull dans l'éditeur : Nos matériaux,
 * Besoin d'un devis chantier, Nos meilleures ventes, Pourquoi choisir
 * Zarboutan, Commander en 3 étapes, Choisissez votre gamme de bois,
 * Livraison chantier, Besoin d'un conseil. */
.home .entry-content > .alignfull {
	width: 100vw !important;
	max-width: 100vw !important;
	margin-left: calc(50% - 50vw) !important;
	margin-right: calc(50% - 50vw) !important;
}

/* ---------- Niveau B : conteneur principal ----------
 * Sections qui doivent sortir de la largeur de lecture mais ne sont pas (ou
 * pas encore) marquées plein cadre dans l'éditeur — ciblage par ID de bloc
 * ou classe stable, jamais par règle générique sur .entry-content, pour ne
 * traiter QUE les sections qui en ont besoin. */

/* "Matériaux premium pour vos chantiers" — 500+ / 24 / 100% : section
   statistiques explicitement visée par l'audit ("chiffres mal répartis"). */
.home .entry-content > .gspb_row-id-gsbp-a94bee3,
/* "Accès chantier" */
.home .entry-content > .gspb_row-id-gsbp-2feb4d5,
/* Ligne de colonnes sans alignement plein cadre (logos/visuels côte à côte) */
.home .entry-content > .wp-block-columns {
	max-width: var(--zb-home-wide);
	margin-left: auto;
	margin-right: auto;
	width: 100%;
}

/* "Nos Guides & Conseils" : AUCUNE règle ajoutée ici volontairement.
   inc/homepage-guides-section.php définit déjà `.zb-homepage-guides {
   max-width: 1180px; margin: 48px auto; }` — cette règle existait déjà mais
   restait sans effet, bridée par le plafond de .entry-content (820px) ci-
   dessus. Une fois ce plafond levé, elle atteint enfin son propre objectif
   déjà défini (1180px) sans qu'on ait besoin de la dupliquer ou de la
   réécrire ici — vérifié après application (voir rapport). */

/* ---------- Palette claire — fonds de section codés en dur (Greenshift/
 * Gutenberg, post_content) ----------
 * Inventaire exhaustif réalisé en Phase A (audit avant écriture) : sur
 * l'accueil uniquement, 3 nuances de noir-vert quasi identiques
 * (#0f1712, #101813, #10140f) sont écrites en style inline sur 7 sections
 * alternées avec les sections naturellement transparentes (qui héritent
 * déjà du blanc cassé du corps de page via color-palette.css). Remplacées
 * ici par une seule teinte claire commune (gris-beige très clair), ce qui
 * recrée automatiquement le même rythme d'alternance clair/très-clair déjà
 * présent dans la structure d'origine, sans avoir à modifier le contenu ni
 * la structure HTML : sélecteurs par attribut ciblant la valeur inline
 * exacte, uniquement sur .home. !important nécessaire — un style en ligne
 * l'emporte sur toute règle externe sans lui, quelle que soit sa
 * spécificité. */
.home [style*="background-color:#0f1712"],
.home [style*="background-color:#101813"],
.home [style*="background-color:#10140f"] {
	background-color: var(--zb-surface-alt) !important;
}

/* Séparateurs translucides (blanc à faible opacité, calibrés pour un fond
 * sombre) : quasi invisibles sur fond clair. Remplacés par l'équivalent
 * sombre translucide, même opacité. Mêmes deux sections que ci-dessus. */
.home [style*="border-top-color:#ffffff1c"] {
	border-top-color: rgba(35, 38, 31, 0.14) !important;
}

.home [style*="border-bottom-color:#ffffff1c"] {
	border-bottom-color: rgba(35, 38, 31, 0.14) !important;
}

/* ---------- Carrousel vertical "Réalisations et matériaux" ----------
 * Gap découvert en test visuel (capture réelle), absent de l'audit Phase A :
 * cette section (bloc HTML brut, wp:html) porte sa propre balise <style>
 * intégrée dans le post_content, avec un fond en propriété raccourcie
 * `background:#0f1712` — l'audit Phase A ne recherchait que la forme longue
 * `background-color:#XXX`, absente ici, d'où l'omission. Sélecteur de
 * classe (pas d'attribut : il s'agit d'une vraie règle CSS, pas d'un style
 * inline) ; !important nécessaire car la balise <style> intégrée a la même
 * spécificité et vient après cette feuille dans le document.
 * `.zbv-carousel-window` (fond #111) N'EST PAS repris ici : c'est un cadre
 * intérieur entièrement recouvert par les photos (height:400px,
 * object-fit:cover, overflow:hidden) — jamais visible à l'écran en usage
 * normal, laissé tel quel pour ne pas modifier ce qui n'a pas besoin de
 * l'être. */
.home .zarboutan-home-vertical-carousel {
	background: var(--zb-surface-alt) !important;
}

/* ---------- Texte blanc devenu illisible : ligne de statistiques
 * "Matériaux premium pour vos chantiers" ----------
 * Regression exposée par la correction ci-dessus du fond <html> (le vrai
 * bug était un fond radial-gradient sombre sur <html> lui-même, provenant
 * de logo-3d.css — voir color-palette.css). Cette ligne de compteurs
 * (gsbp-a94bee3) était transparente et reposait entièrement sur ce fond
 * <html> sombre pour être lisible : ses 3 libellés ("Chantiers livrés" etc.)
 * utilisent la couleur `--theme-palette-color-4` (blanc), correcte sur fond
 * sombre. Repli VOLONTAIREMENT scopé à cette seule ligne (ID de bloc), et
 * non une redéfinition globale de --theme-palette-color-4 : cette variable
 * reste utilisée à raison ailleurs pour du texte blanc sur fond réellement
 * sombre (header, footer, Hero) — la redéfinir globalement casserait ces
 * usages légitimes. Les chiffres eux-mêmes (var(--theme-palette-color-1),
 * vert) ne sont pas concernés, déjà lisibles sur fond clair. */
.home #gspb_row-id-gsbp-a94bee3 .gspb_text {
	color: var(--zb-text-body) !important;
}
