/*
Theme Name: Dubois
Template: twentytwentyfive
Description: Thème enfant léger pour la démo GEO Lemon (Menuiserie Dubois, entreprise fictive). Identique sur les sites A et B.
Author: Lemon
Version: 1.0.0
Text Domain: dubois
*/

/* ---------- Structure : pas d'espace entre header, contenu et footer ---------- */
.wp-site-blocks > main, .wp-site-blocks > footer { margin-block-start: 0; }

/* ---------- Header ---------- */
.dubois-header { border-bottom: 1px solid var(--wp--preset--color--accent-6); }
.dubois-brand { display: flex; align-items: center; gap: .6rem; }
.dubois-brand__mark { width: 40px; height: 40px; flex: none; }
.dubois-brand .wp-block-site-title a { text-decoration: none; }

/* ---------- Hero ---------- */
.dubois-hero { position: relative; overflow: hidden; min-height: min(70vh, 640px); display: flex; align-items: flex-end; color: #fff; }
.dubois-hero > .dubois-hero__img { position: absolute; inset: 0; margin: 0 !important; max-width: none !important; z-index: 0; }
.dubois-hero > .dubois-hero__img img { width: 100%; height: 100%; object-fit: cover; }
.dubois-hero::after { content: ""; position: absolute; inset: 0; z-index: 1;
	background: linear-gradient(180deg, rgba(31,58,36,.15) 0%, rgba(31,58,36,.85) 100%); }
.dubois-hero > :not(.dubois-hero__img) { position: relative; z-index: 2; }
.dubois-hero h1, .dubois-hero h2, .dubois-hero h3, .dubois-hero p { color: #fff; }
.dubois-hero__kicker { text-transform: uppercase; letter-spacing: .12em; font-size: .85rem; opacity: .9; }
.dubois-hero__title { min-height: 1.2em; } /* réserve la place (site A : texte injecté en JS) */

/* ---------- Bandeau de chiffres / valeurs ---------- */
/* Pas de « gap » ici : la grille WordPress calcule ses colonnes avec son propre espacement. */
.dubois-stat { border-top: 3px solid var(--wp--preset--color--accent-1); padding-top: 1rem; }
.dubois-stat__big { font-family: var(--wp--preset--font-family--literata); font-size: 2rem; line-height: 1.1; margin: 0; color: var(--wp--preset--color--accent-2); }
.dubois-stat p:last-child { margin-top: .35rem; }

/* ---------- Grille de services ---------- */
.dubois-card { background: var(--wp--preset--color--base); border: 1px solid var(--wp--preset--color--accent-6);
	border-radius: 14px; padding: 1.5rem; height: 100%; }
.dubois-card__icon { width: 56px; margin: 0 0 1rem !important; }
.dubois-card__icon img { width: 56px; height: 56px; }
.dubois-card h2, .dubois-card h3, .dubois-card h4, .dubois-card p.dubois-card__label { font-size: 1.15rem; margin: 0 0 .4rem; font-weight: 600; }
.dubois-card p { font-size: .95rem; }
.dubois-card h3 a { color: inherit; text-decoration: none; }
.dubois-card h3 a:hover { text-decoration: underline; }

/* ---------- Sections ---------- */
.dubois-band { background: var(--wp--preset--color--accent-5); }
.dubois-band--dark { background: var(--wp--preset--color--accent-3); color: #fff; }
.dubois-band--dark h2, .dubois-band--dark h3, .dubois-band--dark p, .dubois-band--dark a { color: #fff; }
.dubois-rounded img { border-radius: 14px; }
.dubois-section-img img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 14px; }

/* ---------- Tableaux ---------- */
.wp-block-table table { border-collapse: collapse; width: 100%; }
.wp-block-table th, .wp-block-table td { border: none; border-bottom: 1px solid var(--wp--preset--color--accent-6); padding: .65rem .5rem; text-align: left; }
.wp-block-table thead th { border-bottom: 2px solid var(--wp--preset--color--accent-2); }

/* ---------- FAQ ---------- */
.dubois-faq h3 { margin-top: 2rem; font-size: 1.25rem; }
.dubois-faq h3 + p { margin-top: .4rem; }

/* ---------- Divers ---------- */
.dubois-note { font-size: .9rem; color: var(--wp--preset--color--accent-4); }
.dubois-updated { font-size: .9rem; color: var(--wp--preset--color--accent-4); border-left: 3px solid var(--wp--preset--color--accent-1); padding-left: .75rem; }

/* ---------- Footer ---------- */
.dubois-footer { background: var(--wp--preset--color--accent-3); color: #E9DCC6; }
.dubois-footer a { color: #fff; }
.dubois-footer .wp-block-site-title a { color: #fff; }
.dubois-demo { font-size: .8rem; opacity: .85; border-top: 1px solid rgba(255,255,255,.15); padding-top: 1rem; }
.dubois-credits { font-size: .75rem; opacity: .7; }

/* ---------- Respiration des titres dans le contenu ---------- */
.entry-content .wp-block-group:not(.dubois-card):not(.dubois-stat) > h2.wp-block-heading:not(:first-child) { margin-top: 2.5rem; }
.entry-content .wp-block-group:not(.dubois-card):not(.dubois-stat) > h3.wp-block-heading:not(:first-child) { margin-top: 1.75rem; }
