/*
Theme Name: La Fourmi
Theme URI: https://lafourmi-menuiseries.fr
Author: La Fourmi
Description: Thème bloc sur mesure de La Fourmi, menuiseries extérieures à Craponne. Tout le contenu est en blocs natifs, modifiable dans l'éditeur.
Version: 1.0.13
Requires at least: 6.6
Requires PHP: 8.0
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: la-fourmi
Tags: block-theme, full-site-editing, business
*/

/* =========================================================
   Registre relevé sur la référence : une famille sans-serif,
   un seul accent terracotta, fond crème, bandes crème / rose pâle,
   angles légèrement arrondis, titres centrés, densité fine.
   ========================================================= */
:root{
  --creme:#FFFAF0;
  --pale:#EBD6CB;
  --terra:#C07759;
  --terra-fonce:#A45F42;
  --anthra:#3C3E42;
  --encre:#232323;
  --gris:#6E6763;
  --ligne:rgba(35,35,35,.12);
  --r:14px;
  --r-s:8px;
  --enveloppe:1288px;
  --ease:cubic-bezier(.2,.7,.2,1);
  interpolate-size:allow-keywords;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:96px}
body{margin:0;background:var(--creme);color:var(--encre);font:400 15px/1.7 "Poppins",system-ui,sans-serif;overflow-x:hidden}
img{max-width:100%;height:auto;display:block} /* height:auto : sinon l'attribut height des blocs image l'emporte */
a{color:inherit}
button{font:inherit;color:inherit;cursor:pointer}
h1,h2,h3,h4{margin:0;font-weight:500}
p{margin:0}
figure{margin:0}
:focus-visible{outline:2px solid var(--terra-fonce);outline-offset:3px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* Gutenberg : espacement automatique coupé dans theme.json (blockGap 0px) ;
   filet de sécurité à spécificité nulle, pour ne jamais écraser les marges des composants. */
:where(.wp-block-group)>:where(*),:where(.wp-block-buttons){margin-block:0}
figure.wp-block-image{margin:0}
figure.wp-block-image > a{display:block}
.wp-block-image figcaption{margin:0}

/* Pictogrammes : chaque classe ic-* pose --ic (et --ic-l en grand) ; le composant décide où le dessiner. */
:root{--i-tel:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 4h3l2 5-2.5 1.5a11 11 0 0 0 6 6L15 14l5 2v3a2 2 0 0 1-2 2A16 16 0 0 1 3 6a2 2 0 0 1 2-2z'/%3E%3C/svg%3E");--i-fleche:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E");--i-gauche:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M19 12H5M11 6l-6 6 6 6'/%3E%3C/svg%3E");--i-chevron:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");--i-glisser:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 7l-5 5 5 5M15 7l5 5-5 5'/%3E%3C/svg%3E");--i-plus:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 5v14M5 12h14'/%3E%3C/svg%3E");--i-check:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E");--i-menu:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 7h16M4 12h16M4 17h16'/%3E%3C/svg%3E");--i-fenetre:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='3' width='16' height='18' rx='1'/%3E%3Cpath d='M12 3v18M4 12h16'/%3E%3C/svg%3E");--i-porte:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 21V4a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v17M3 21h18'/%3E%3Ccircle cx='15' cy='12.5' r='.6'/%3E%3C/svg%3E");--i-volet:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='3' width='16' height='18' rx='1'/%3E%3Cpath d='M4 7.5h16M4 11.5h16M4 15.5h16'/%3E%3C/svg%3E");--i-garage:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 10l9-6 9 6v11H3z'/%3E%3Cpath d='M7 21v-8h10v8M7 16h10M7 18.5h10'/%3E%3C/svg%3E");--i-portail:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 4v17M21 4v17M6 7h12M6 12h12M6 17h12M6 7v14M18 7v14M12 7v14'/%3E%3C/svg%3E");--i-pergola:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 5h18M3 8h18M5 8v13M19 8v13M8 5v3M12 5v3M16 5v3'/%3E%3C/svg%3E");--i-depose:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='3' width='16' height='18' rx='1'/%3E%3Cpath d='M8.5 12.5l2.5 2.5 4.5-5'/%3E%3C/svg%3E");--i-depose-l:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='3' width='16' height='18' rx='1'/%3E%3Cpath d='M8.5 12.5l2.5 2.5 4.5-5'/%3E%3C/svg%3E");--i-personne:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4 21a8 8 0 0 1 16 0'/%3E%3C/svg%3E");--i-personne-l:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4 21a8 8 0 0 1 16 0'/%3E%3C/svg%3E");--i-medaille:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='9' r='6'/%3E%3Cpath d='M8.5 14l-1.5 7 5-3 5 3-1.5-7'/%3E%3C/svg%3E");--i-medaille-l:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='9' r='6'/%3E%3Cpath d='M8.5 14l-1.5 7 5-3 5 3-1.5-7'/%3E%3C/svg%3E");--i-cap:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 9l10-5 10 5-10 5z'/%3E%3Cpath d='M6 11v5c0 1.5 3 3 6 3s6-1.5 6-3v-5'/%3E%3C/svg%3E");--i-reseau:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='6' r='2.5'/%3E%3Ccircle cx='5' cy='17' r='2.5'/%3E%3Ccircle cx='19' cy='17' r='2.5'/%3E%3Cpath d='M10.5 8l-4 7M13.5 8l4 7M7.5 17h9'/%3E%3C/svg%3E");--i-globe:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M3 12h18M12 3a14 14 0 0 1 0 18a14 14 0 0 1 0-18'/%3E%3C/svg%3E");--i-globe-l:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M3 12h18M12 3a14 14 0 0 1 0 18a14 14 0 0 1 0-18'/%3E%3C/svg%3E");--i-bulle:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 5h16v11H9l-5 4z'/%3E%3C/svg%3E");--i-bulle-l:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 5h16v11H9l-5 4z'/%3E%3C/svg%3E");--i-metre:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='8' width='18' height='8' rx='1'/%3E%3Cpath d='M7 8v3M11 8v4M15 8v3M19 8v4'/%3E%3C/svg%3E");--i-metre-l:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='8' width='18' height='8' rx='1'/%3E%3Cpath d='M7 8v3M11 8v4M15 8v3M19 8v4'/%3E%3C/svg%3E");--i-devis:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 3h9l4 4v14H6z'/%3E%3Cpath d='M14 3v5h5M9 12h7M9 16h7'/%3E%3C/svg%3E");--i-devis-l:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 3h9l4 4v14H6z'/%3E%3Cpath d='M14 3v5h5M9 12h7M9 16h7'/%3E%3C/svg%3E");--i-outil:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 6a4 4 0 0 0 5 5l-9 9a2 2 0 0 1-3-3l9-9a4 4 0 0 0-2-2z'/%3E%3C/svg%3E");--i-outil-l:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 6a4 4 0 0 0 5 5l-9 9a2 2 0 0 1-3-3l9-9a4 4 0 0 0-2-2z'/%3E%3C/svg%3E");--i-balai:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 3l-3 8M7 12h9l2 9H5z'/%3E%3Cpath d='M9 16v5M13 16v5'/%3E%3C/svg%3E");--i-balai-l:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 3l-3 8M7 12h9l2 9H5z'/%3E%3Cpath d='M9 16v5M13 16v5'/%3E%3C/svg%3E");--i-lieu:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s-7-6.5-7-12a7 7 0 0 1 14 0c0 5.5-7 12-7 12z'/%3E%3Ccircle cx='12' cy='9' r='2.5'/%3E%3C/svg%3E");--i-mail:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Cpath d='M3 7l9 6 9-6'/%3E%3C/svg%3E");--i-facebook:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 3h-2.5A3.5 3.5 0 0 0 9 6.5V10H6v4h3v7h4v-7h3l1-4h-4V7a1 1 0 0 1 1-1h2z'/%3E%3C/svg%3E")}
.ic-tel{--ic:var(--i-tel);--ic-l:var(--i-tel)}
.ic-fleche{--ic:var(--i-fleche);--ic-l:var(--i-fleche)}
.ic-gauche{--ic:var(--i-gauche);--ic-l:var(--i-gauche)}
.ic-chevron{--ic:var(--i-chevron);--ic-l:var(--i-chevron)}
.ic-glisser{--ic:var(--i-glisser);--ic-l:var(--i-glisser)}
.ic-plus{--ic:var(--i-plus);--ic-l:var(--i-plus)}
.ic-check{--ic:var(--i-check);--ic-l:var(--i-check)}
.ic-menu{--ic:var(--i-menu);--ic-l:var(--i-menu)}
.ic-fenetre{--ic:var(--i-fenetre);--ic-l:var(--i-fenetre)}
.ic-porte{--ic:var(--i-porte);--ic-l:var(--i-porte)}
.ic-volet{--ic:var(--i-volet);--ic-l:var(--i-volet)}
.ic-garage{--ic:var(--i-garage);--ic-l:var(--i-garage)}
.ic-portail{--ic:var(--i-portail);--ic-l:var(--i-portail)}
.ic-pergola{--ic:var(--i-pergola);--ic-l:var(--i-pergola)}
.ic-depose{--ic:var(--i-depose);--ic-l:var(--i-depose-l)}
.ic-personne{--ic:var(--i-personne);--ic-l:var(--i-personne-l)}
.ic-medaille{--ic:var(--i-medaille);--ic-l:var(--i-medaille-l)}
.ic-cap{--ic:var(--i-cap);--ic-l:var(--i-cap)}
.ic-reseau{--ic:var(--i-reseau);--ic-l:var(--i-reseau)}
.ic-globe{--ic:var(--i-globe);--ic-l:var(--i-globe-l)}
.ic-bulle{--ic:var(--i-bulle);--ic-l:var(--i-bulle-l)}
.ic-metre{--ic:var(--i-metre);--ic-l:var(--i-metre-l)}
.ic-devis{--ic:var(--i-devis);--ic-l:var(--i-devis-l)}
.ic-outil{--ic:var(--i-outil);--ic-l:var(--i-outil-l)}
.ic-balai{--ic:var(--i-balai);--ic-l:var(--i-balai-l)}
.ic-lieu{--ic:var(--i-lieu);--ic-l:var(--i-lieu)}
.ic-mail{--ic:var(--i-mail);--ic-l:var(--i-mail)}
.ic-facebook{--ic:var(--i-facebook);--ic-l:var(--i-facebook)}

.enveloppe{width:min(var(--enveloppe),calc(100% - 48px));margin-inline:auto}
.enveloppe.etroite{width:min(1050px,calc(100% - 48px))}
.centre{text-align:center}
.centre .wp-block-buttons{justify-content:center}
.titre{font-size:32px;line-height:1.25;letter-spacing:-.01em;text-wrap:balance;hyphens:none}
.sous-titre{color:var(--gris);font-size:14px;margin-top:10px;max-width:62ch;text-wrap:pretty}
.centre .sous-titre{margin-inline:auto}
.etiquette{font-size:13px;font-weight:500;opacity:.85}
.bande-pale{background:var(--pale)}

/* ---------- Boutons (la classe est sur div.wp-block-button : on style le lien) ---------- */
.wp-block-buttons{gap:12px}
.wp-block-button.bouton{display:inline-block;background:none;border:0;padding:0;border-radius:0}
.bouton .wp-block-button__link,.wpcf7 .bouton{display:inline-flex;align-items:center;gap:10px;background:var(--terra-fonce);color:#fff;text-decoration:none;border:0;border-radius:var(--r-s);padding:12px 22px;font:500 14px/1.2 "Poppins",system-ui,sans-serif;white-space:nowrap;cursor:pointer;transition:background .3s var(--ease),transform .3s var(--ease)}
.bouton .wp-block-button__link:hover,.wpcf7 .bouton:hover{background:#8E4F35;transform:translateY(-1px)}
.bouton[class*=" ic-"] .wp-block-button__link::before,.bouton.fleche .wp-block-button__link::after,.wpcf7 .bouton.fleche::after{content:"";width:16px;height:16px;flex:none;background:currentColor;-webkit-mask:var(--ic) center/contain no-repeat;mask:var(--ic) center/contain no-repeat}
.bouton.fleche .wp-block-button__link::after,.wpcf7 .bouton.fleche::after{--ic:var(--i-fleche);transition:translate .3s var(--ease)}
.bouton.fleche .wp-block-button__link:hover::after,.wpcf7 .bouton.fleche:hover::after{translate:4px 0}
.bouton-blanc .wp-block-button__link{background:#fff;color:var(--terra-fonce)}
.bouton-blanc .wp-block-button__link:hover{background:var(--creme)}

/* ---------- En-tête (template part) ---------- */
header.wp-block-template-part{position:sticky;top:0;z-index:50}
.admin-bar header.wp-block-template-part{top:var(--wp-admin--admin-bar--height,32px)}
.entete{position:relative;background:var(--creme);padding-bottom:2px;transition:box-shadow .4s var(--ease)}
.entete::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--terra);transform-origin:left;transform:scaleX(var(--jauge,0))}
.entete.defile{box-shadow:0 12px 30px -22px rgba(60,62,66,.45)}
.entete-in{display:flex;align-items:center;gap:32px;height:76px}
.wp-block-site-logo.logo{line-height:0}
.wp-block-site-logo.logo img{height:46px;width:auto}
.entete .wp-block-navigation.nav{margin-left:auto;font-size:14px;font-weight:500}
.entete .nav .wp-block-navigation__container{gap:4px}
.entete .nav .wp-block-navigation-item__content{position:relative;display:flex;align-items:center;gap:6px;padding:10px 14px;text-decoration:none}
.entete .nav .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content::after{content:"";position:absolute;left:14px;right:14px;bottom:4px;height:2px;background:var(--terra);transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease)}
.entete .nav .wp-block-navigation__container > .wp-block-navigation-item:hover > .wp-block-navigation-item__content::after,
.entete .nav .wp-block-navigation__container > .current-menu-item > .wp-block-navigation-item__content::after{transform:scaleX(1)}
.entete .nav .has-child{align-items:center}
.entete .nav .has-child > .wp-block-navigation-item__content{padding-right:4px}
.entete .nav .has-child > .wp-block-navigation-item__content::after{right:4px}
.entete .nav .wp-block-navigation__submenu-icon{width:14px;height:14px;margin:0 14px 0 0;padding:0;transition:transform .3s var(--ease)}
.entete .nav .wp-block-navigation__submenu-icon svg{width:14px;height:14px;stroke-width:1.4}
.entete .nav .has-child:hover > .wp-block-navigation__submenu-icon{transform:rotate(180deg)}
/* panneau déroulant « Services » */
.entete .nav .wp-block-navigation__responsive-container:not(.is-menu-open) .has-child .wp-block-navigation__submenu-container{top:calc(100% + 10px);left:50%;width:330px;padding:8px;background:#fff;color:var(--encre);border:0;border-radius:var(--r-s);box-shadow:0 18px 40px -18px rgba(60,62,66,.35);transform:translate(-50%,-6px);transition:opacity .3s var(--ease),transform .3s var(--ease),visibility .3s}
.entete .nav .wp-block-navigation__responsive-container:not(.is-menu-open) .has-child:hover > .wp-block-navigation__submenu-container,
.entete .nav .wp-block-navigation__responsive-container:not(.is-menu-open) .has-child:focus-within > .wp-block-navigation__submenu-container{width:330px;min-width:330px;transform:translate(-50%,0)}
.entete .nav .wp-block-navigation__responsive-container:not(.is-menu-open) .has-child .wp-block-navigation__submenu-container::before{content:"";position:absolute;left:0;right:0;top:-12px;height:12px}
.entete .nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content{gap:12px;padding:9px 12px;border-radius:6px;font-weight:400}
.entete .nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover{background:var(--creme)}
.entete .nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content::before{content:"";width:18px;height:18px;flex:none;background:var(--terra);-webkit-mask:var(--ic) center/contain no-repeat;mask:var(--ic) center/contain no-repeat}
.entete .nav .wp-block-navigation__submenu-container .deroulant-pro{border-top:1px solid var(--ligne);margin-top:4px;padding-top:4px}
.entete-boutons .bouton-tel .wp-block-button__link{padding:11px 18px}
.entete .wp-block-navigation__responsive-container-open{padding:8px}
.entete .wp-block-navigation__responsive-container-open svg{width:26px;height:26px}
/* panneau mobile de core/navigation : sinon blanc sur blanc (CSS du bloc imprimé après cette feuille) */
.entete .wp-block-navigation.nav .wp-block-navigation__responsive-container.is-menu-open{background-color:var(--creme)!important;color:var(--encre)!important;padding:24px;--navigation-layout-justification-setting:flex-start;--navigation-layout-justify:flex-start;--navigation-layout-direction:column}
.entete .nav .is-menu-open .wp-block-navigation__responsive-container-content{padding-top:24px}
.entete .nav .is-menu-open .wp-block-navigation__container{gap:0;align-items:stretch;--navigation-layout-justification-setting:flex-start;--navigation-layout-justify:flex-start} /* le <ul> reprend items-justified-right */
.entete .nav .is-menu-open .wp-block-navigation-item__content{padding:12px 0;font-size:16px}
.entete .nav .is-menu-open .wp-block-navigation__submenu-container{padding:0 0 6px 8px;box-shadow:none;background:transparent;transform:none;width:auto;min-width:0;border:0}
.entete .nav .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content{padding:9px 0;font-size:15px}
.entete .nav .is-menu-open .wp-block-navigation-item__content::after{display:none}

/* ---------- Bannières des pages internes ---------- */
.heros-photo{position:relative;border-radius:var(--r);overflow:hidden;aspect-ratio:1288/628}
.heros-photo::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(28,26,25,.18) 0%,rgba(28,26,25,0) 26%,rgba(28,26,25,0) 64%,rgba(28,26,25,.26) 100%)}
.heros-photo .heros-photo-img{height:100%}
.heros-photo .heros-photo-img img{width:100%;height:100%;object-fit:cover;object-position:center 62%}
.page-banniere .heros-photo{aspect-ratio:1288/440}
.page-banniere .heros-photo .heros-photo-img img{object-position:center 55%}
.heros-badge{position:absolute;left:24px;bottom:24px;z-index:1}
.heros-badge a{position:relative;display:grid;grid-template-columns:38px auto;column-gap:12px;align-items:center;padding:8px 18px 8px 8px;background:var(--creme);border-radius:var(--r-s);text-decoration:none;transition:transform .3s var(--ease)}
.heros-badge a:hover{transform:translateY(-2px)}
.heros-badge a::before{content:"";grid-row:1/3;width:38px;height:38px;border-radius:50%;background:var(--terra)}
.heros-badge a::after{content:"";position:absolute;left:18px;top:50%;width:18px;height:18px;margin-top:-9px;background:#fff;-webkit-mask:var(--i-gauche) center/contain no-repeat;mask:var(--i-gauche) center/contain no-repeat;animation:pousse 2.6s ease-in-out infinite}
@keyframes pousse{50%{translate:3px 0}}
.heros-badge strong{display:block;font-size:13px;font-weight:500;line-height:1.3}
.heros-badge em{display:block;font-style:normal;font-size:11px;color:var(--gris);line-height:1.3}

/* ---------- Intro + atouts ---------- */
.intro{padding:88px 0 40px}
.intro .titre{max-width:34ch;margin-inline:auto}
.atouts{display:grid;grid-template-columns:repeat(3,1fr);gap:48px;max-width:1080px;margin:48px auto 0}
.atout h3{font-size:14px;margin-bottom:6px}
.atout h3::before{content:"";display:block;width:26px;height:26px;margin:0 auto 19px;background:currentColor;-webkit-mask:var(--ic-l) center/contain no-repeat;mask:var(--ic-l) center/contain no-repeat}
.atout p{font-size:12.5px;color:var(--gris);max-width:30ch;margin-inline:auto;line-height:1.6}

/* ---------- Nos menuiseries : la ruche du logo ---------- */
.produits{padding:96px 0 40px}
.ruche{--w:250px;--g:14px;--h:calc(var(--w) * .866);--X:calc(var(--w) * .75 + var(--g) * .866);--V:calc(var(--h) + var(--g));position:relative;width:calc(var(--w) + 2 * var(--X));height:calc(3 * var(--h) + 2 * var(--g));margin:44px auto 0}
.ruche .alveole{position:absolute;left:calc(50% - var(--w) / 2 + var(--dx) * var(--X));top:calc(50% - var(--h) / 2 + var(--dy) * var(--V));width:var(--w);height:var(--h);margin:0;clip-path:polygon(25% 0,75% 0,100% 50%,75% 100%,25% 100%,0 50%);color:#fff;background:var(--pale);transition:transform .5s var(--ease)}
.pos-centre{--dx:0;--dy:0}
.pos-haut{--dx:0;--dy:-1}
.pos-haut-droite{--dx:1;--dy:-.5}
.pos-bas-droite{--dx:1;--dy:.5}
.pos-bas{--dx:0;--dy:1}
.pos-bas-gauche{--dx:-1;--dy:.5}
.pos-haut-gauche{--dx:-1;--dy:-.5}
.ruche .alveole > a{display:block;width:100%;height:100%}
.ruche .alveole img{width:100%;height:100%;object-fit:cover;transition:scale .9s var(--ease)}
.ruche .alveole.cadre-bas img{object-position:center 70%}
.ruche .alveole::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(28,24,22,.25),rgba(28,24,22,.68));opacity:0;transition:opacity .5s var(--ease)}
.ruche .alveole figcaption{position:absolute;inset:0;z-index:1;margin:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:0 20%;text-align:center;color:#fff;pointer-events:none;opacity:0;translate:0 10px;transition:opacity .5s var(--ease),translate .5s var(--ease)}
.ruche .alveole figcaption strong{font-size:16px;font-weight:600;line-height:1.25}
.ruche .alveole figcaption em{font-style:normal;font-size:12.5px;font-weight:500}
.ruche .alveole:hover,.ruche .alveole:focus-within,.ruche .alveole.ouverte{transform:scale(1.04);z-index:2}
.ruche .alveole:hover img,.ruche .alveole:focus-within img,.ruche .alveole.ouverte img{scale:1.08}
.ruche .alveole:hover::after,.ruche .alveole:focus-within::after,.ruche .alveole.ouverte::after,
.ruche .alveole:hover figcaption,.ruche .alveole:focus-within figcaption,.ruche .alveole.ouverte figcaption{opacity:1;translate:0 0}
.ruche .alveole-centre{background:var(--terra);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}
.ruche .alveole-centre:hover{transform:none}
.ruche .alveole-centre::after{display:none}
.alveole-centre-titre{font-size:17px;font-weight:500;letter-spacing:.01em}
.alveole-centre-sous{font-size:12.5px;opacity:.85;margin-top:2px}

/* ---------- Bloc terracotta ---------- */
.bloc-terra-sec{padding:56px 0 112px}
.bloc-terra{display:grid;grid-template-columns:5fr 7fr;align-items:center;gap:56px;background:var(--terra);color:#fff;border-radius:10px;padding:48px 72px 48px 96px;min-height:444px}
.bloc-terra .bloc-terra-photo{border-radius:var(--r-s);overflow:hidden;aspect-ratio:1/1;max-width:300px;justify-self:end;width:100%}
.bloc-terra .bloc-terra-photo img{width:100%;height:100%;object-fit:cover;object-position:center 45%}
.bloc-terra-txt{max-width:560px}
.bloc-terra-nom{display:grid;grid-template-columns:40px auto;column-gap:14px;align-items:center;justify-content:start;margin:14px 0 18px}
.bloc-terra-nom::before{content:"“";grid-row:1/3;width:40px;height:40px;border-radius:6px;background:var(--creme);color:var(--terra-fonce);display:grid;place-items:center;font-size:30px;line-height:1;padding-top:12px}
.bloc-terra-nom strong{display:block;font-size:15px;font-weight:500}
.bloc-terra-nom em{display:block;font-style:normal;font-size:12px;opacity:.85}
.bloc-terra-titre{font-size:26px;line-height:1.25;margin:8px 0 14px}
.bloc-terra-p{font-size:13.5px;line-height:1.75}
.bloc-terra-txt .wp-block-buttons{padding-top:22px} /* padding : la marge de la maquette (bouton en ligne) ne fusionne pas avec celle de la liste */
.citation{font-size:19px;line-height:1.5;margin-top:12px;text-wrap:balance}
.coches{list-style:none;margin:18px 0 26px;padding:0;display:grid;gap:8px;font-size:13.5px}
.coches li{display:flex;gap:10px;align-items:flex-start}
.coches li::before{content:"";width:18px;height:18px;flex:none;margin-top:3px;background:currentColor;-webkit-mask:var(--i-check) center/contain no-repeat;mask:var(--i-check) center/contain no-repeat}
.onglets{display:flex;gap:4px;flex-wrap:wrap;margin-bottom:14px}
.onglet{padding:6px 12px 6px 0;margin-right:12px;font-size:13px;font-weight:500;color:#fff;opacity:.7;cursor:pointer;transition:opacity .3s}
.onglet.actif{opacity:1}
.volet-onglet{display:none;font-size:13.5px;line-height:1.75;min-height:118px}
.volet-onglet.actif{display:block;animation:apparait .45s var(--ease)}
@keyframes apparait{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.bloc-terra-txt:has(.onglets)::after{content:"";display:block;height:3px;margin:25px 0 -1px;border-radius:2px;background:linear-gradient(#fff,#fff) no-repeat var(--piste,0%) 0/33.333% 3px,linear-gradient(rgba(255,255,255,.35),rgba(255,255,255,.35)) no-repeat 0 1px/100% 1px;transition:background-position .45s var(--ease)}

/* ---------- En quelques chiffres ---------- */
.chiffres-sec{padding:8px 0 120px}
.chiffres-in{display:grid;grid-template-columns:1fr 1.5fr;gap:56px;align-items:end}
.chiffres{display:grid;grid-template-columns:repeat(4,1fr);gap:28px}
.chiffre{border-bottom:1px solid var(--ligne);padding-bottom:10px}
.compteur{font-size:32px;font-weight:500;line-height:1.2;font-variant-numeric:tabular-nums}
.chiffre p:not(.compteur){font-size:12px;color:var(--gris);line-height:1.45;margin-top:2px}

/* ---------- Réalisations ---------- */
.realisations{padding:112px 0}
.filtres{display:flex;justify-content:center;flex-wrap:wrap;gap:8px;margin-top:24px}
.filtre{border:1px solid rgba(35,35,35,.2);border-radius:999px;padding:6px 16px;font-size:13px;cursor:pointer;user-select:none;transition:.3s var(--ease)}
.filtre.actif{background:var(--terra-fonce);border-color:var(--terra-fonce);color:#fff}
.galerie{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:40px 0 40px}
.galerie .galerie-item{position:relative;border-radius:var(--r);overflow:hidden;aspect-ratio:3/2}
.galerie .galerie-item.cache{display:none}
.galerie .galerie-item img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.galerie .galerie-item.cadre-haut img{object-position:center 32%}
.galerie .galerie-item:hover img{transform:scale(1.03)}
.galerie .galerie-item figcaption{position:absolute;left:16px;bottom:16px;background:var(--creme);color:var(--encre);border-radius:6px;padding:5px 12px;font-size:12px;font-weight:500;line-height:1.7}

/* ---------- Devis en 3 clics ---------- */
.devis{padding:120px 0}
.devis-in{display:grid;grid-template-columns:7fr 5fr;gap:72px;align-items:center}
.tunnel .sous-titre{margin-bottom:28px}
.etape{padding:18px 0;border-top:1px solid var(--ligne);transition:opacity .35s var(--ease)}
.etape.verrou{opacity:.38;pointer-events:none}
.etape-tete{display:flex;align-items:flex-start;gap:14px;margin-bottom:14px}
.etape-n{width:28px;height:28px;border-radius:50%;background:var(--terra);color:#fff;display:grid;place-items:center;font-size:13px;font-weight:500;flex:none}
.etape.fait .etape-n{background:var(--anthra)}
.etape-titre h3{font-size:15px;line-height:1.35}
.etape-aide{font-size:12px;color:var(--gris);line-height:1.35}
.tuiles{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.tuile{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid var(--ligne);border-radius:var(--r-s);padding:11px 14px;font-size:13px;cursor:pointer;user-select:none;transition:.25s var(--ease)}
.tuile::before{content:"";width:18px;height:18px;flex:none;background:var(--terra);-webkit-mask:var(--ic) center/contain no-repeat;mask:var(--ic) center/contain no-repeat}
.tuile:hover{border-color:var(--terra)}
.tuile.actif{background:var(--terra-fonce);border-color:var(--terra-fonce);color:#fff;animation:pop .35s var(--ease)}
.tuile.actif::before{background:#fff}
@keyframes pop{50%{scale:1.04}}
.options{display:flex;flex-wrap:wrap;gap:8px}
.option{background:#fff;border:1px solid var(--ligne);border-radius:999px;padding:7px 15px;font-size:12.5px;cursor:pointer;user-select:none;transition:.25s var(--ease)}
.option:hover{border-color:var(--terra)}
.option.actif{background:var(--terra-fonce);border-color:var(--terra-fonce);color:#fff}
.tuile:active,.option:active,.filtre:active{scale:.96}
.etiquette-champ{font-size:12px;color:var(--gris);margin:14px 0 8px}
.devis-visuel{position:relative;padding-bottom:64px}
.devis-visuel .devis-photo{border-radius:var(--r);overflow:hidden;aspect-ratio:4/5}
.devis-visuel .devis-photo img{width:100%;height:100%;object-fit:cover;object-position:62% center}
.recap{position:absolute;left:-40px;bottom:0;width:min(300px,86%);background:#fff;border-radius:var(--r-s);padding:20px 22px;box-shadow:0 24px 50px -24px rgba(60,62,66,.45)}
.recap h3{font-size:14px;margin-bottom:10px}
.recap-liste{display:grid;grid-template-columns:auto 1fr;gap:6px 14px;font-size:12px}
.recap-cle{color:var(--gris)}
.recap-liste p:not(.recap-cle){font-weight:500}
.recap-ok{display:none;margin-top:12px;font-size:12px;color:var(--terra-fonce);font-weight:500}
.recap.envoye .recap-ok{display:block}

/* ---------- Formulaires (Contact Form 7) ---------- */
.wpcf7 form{margin:0}
.wpcf7 .champs{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:27px} /* 6 px + la réserve du message d'erreur de la maquette */
.wpcf7 .champs label{display:block}
.wpcf7 .champs .plein{grid-column:1/-1}
.wpcf7-form-control-wrap{display:block}
.wpcf7 .champ{display:block;width:100%;background:#fff;border:1px solid var(--ligne);border-radius:var(--r-s);padding:11px 14px;font:400 13.5px/1.7 "Poppins",system-ui,sans-serif;color:var(--encre)}
.wpcf7 .champ:focus{outline:none;border-color:var(--terra)}
.wpcf7 .champ::placeholder{color:#8a817c}
.wpcf7 select.champ{appearance:none;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23232323' stroke-width='1.6'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") no-repeat right 14px center/14px;padding-right:40px}
.wpcf7 textarea.champ{resize:vertical;min-height:150px}
.formulaire .champs{gap:10px;margin-bottom:29px}
.wpcf7 .wpcf7-not-valid{border-color:#9E2F1A}
.wpcf7 .wpcf7-not-valid-tip{display:block;font-size:12px;color:#9E2F1A;margin-top:4px;line-height:1.4}
.wpcf7 form .wpcf7-response-output.wpcf7-response-output{margin:12px 0 0;padding:0;border:0;font-size:12.5px;line-height:1.5;color:#9E2F1A}
.wpcf7 form.sent .wpcf7-response-output.wpcf7-response-output{color:var(--terra-fonce)}
.wpcf7 .wpcf7-spinner{display:none}
.wpcf7 form.submitting .bouton{opacity:.6;pointer-events:none}
.wpcf7 .champs + .bouton,.wpcf7 .champs + p .bouton{margin-top:6px}
.contact-form .form-ok{display:none;padding:40px 0}
.contact-form.envoye .wpcf7{display:none}
.contact-form.envoye .form-ok{display:block}
.form-ok .sous-titre{margin-top:8px}

/* ---------- Garanties ---------- */
.garanties{padding:104px 0}
.garanties-liste{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin:44px auto 40px;max-width:1080px}
.garantie{position:relative;background:var(--creme);border-radius:var(--r-s);padding:26px 20px 24px;transition:transform .5s var(--ease),box-shadow .5s var(--ease)}
.garantie::before{content:"";display:block;width:48px;height:48px;border-radius:50%;border:1px solid var(--terra);margin:0 auto 14px;transition:background .4s var(--ease)}
.garantie::after{content:"";position:absolute;top:39px;left:50%;width:22px;height:22px;margin-left:-11px;background:var(--terra-fonce);-webkit-mask:var(--ic) center/contain no-repeat;mask:var(--ic) center/contain no-repeat;transition:background .4s var(--ease)}
.garantie:hover{transform:translateY(-4px);box-shadow:0 24px 40px -28px rgba(60,62,66,.45)}
.garantie:hover::before{background:var(--terra)}
.garantie:hover::after{background:#fff}
.garantie h3{font-size:14px;margin-bottom:4px}
.garantie p{font-size:12px;color:var(--gris);line-height:1.6}

/* ---------- Comment ça se passe / Ce qui nous distingue ---------- */
.etapes{padding:120px 0}
.etapes-in{display:grid;grid-template-columns:1fr 1fr;gap:96px;align-items:center}
.etapes-in .etapes-photo{border-radius:var(--r);overflow:hidden;aspect-ratio:1/1;max-width:520px;justify-self:center;width:100%}
.etapes-in .etapes-photo img{width:100%;height:100%;object-fit:cover}
.etapes-txt .titre{margin-bottom:28px}
.etapes-liste{position:relative;margin:0;padding:0 0 0 32px;display:grid;gap:24px}
.etapes-liste::before{content:"";position:absolute;left:0;top:0;bottom:0;width:1px;background:var(--terra);transform-origin:top;transform:scaleY(var(--trace,1))}
.js .etapes-liste::before{transform:scaleY(var(--trace,0))}
.etapes-item{display:grid;grid-template-columns:26px 1fr;column-gap:16px;align-items:start}
.etapes-item::before{content:"";grid-row:1/3;width:26px;height:26px;margin-top:2px;background:var(--terra-fonce);-webkit-mask:var(--ic-l) center/contain no-repeat;mask:var(--ic-l) center/contain no-repeat;transition:scale .4s var(--ease)}
.etapes-item:hover::before{scale:1.15}
.etapes-item h3{font-size:14px;margin-bottom:2px}
.etapes-item p{font-size:12.5px;color:var(--gris);line-height:1.6;max-width:42ch}

/* ---------- Questions dépliantes (core/details) ---------- */
.question{border-bottom:1px solid rgba(35,35,35,.14)}
.question summary{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:16px 0;font-size:14px;cursor:pointer;list-style:none}
.question summary::-webkit-details-marker{display:none}
.question summary::after{content:"";width:22px;height:22px;flex:none;border:1px solid rgba(35,35,35,.35);border-radius:50%;background:linear-gradient(currentColor,currentColor) center/9px 1.2px no-repeat,linear-gradient(currentColor,currentColor) center/1.2px 9px no-repeat;transition:transform .35s var(--ease)}
.question[open] summary::after{transform:rotate(45deg)}
.question::details-content{block-size:0;overflow:clip;transition:block-size .45s var(--ease),content-visibility .45s allow-discrete}
.question[open]::details-content{block-size:auto}
.question > p{font-size:13px;color:var(--gris);padding:0 48px 18px 0;line-height:1.75}
.details{margin:20px 0 28px;border-top:1px solid rgba(35,35,35,.14)}
.details .question summary{padding:13px 0;font-size:13.5px;font-weight:500}

/* ---------- Appel à l'action (pied de page) ---------- */
.appel{background:var(--terra);color:#fff;padding:52px 0}
.appel-in{display:flex;justify-content:space-between;align-items:center;gap:24px}
.appel h2{font-size:22px}
.appel .bouton-blanc .wp-block-button__link{position:relative}
.appel .bouton-blanc .wp-block-button__link::after{content:"";position:absolute;inset:-5px;border-radius:12px;border:1px solid rgba(255,255,255,.8);animation:onde 2.8s var(--ease) infinite;pointer-events:none}
@keyframes onde{from{opacity:.9;scale:.97}to{opacity:0;scale:1.14}}

/* ---------- Pied de page ---------- */
.pied{background:var(--anthra);color:#fff;padding:48px 0 28px;font-size:13px}
.pied-haut{display:flex;justify-content:space-between;align-items:center;padding-bottom:28px;border-bottom:1px solid rgba(255,255,255,.14)}
.pied-marque{display:flex;align-items:center;gap:12px}
.pied-marque .wp-block-image img{width:46px;height:auto}
.pied-marque p strong{display:block;font-size:17px;font-weight:500;line-height:1.2}
.pied-marque p em{display:block;font-style:normal;font-size:11.5px;opacity:.7}
.pied-social{display:flex;align-items:center;gap:12px;font-size:12.5px;opacity:.9}
.pied-social .wp-block-social-links{margin:0;padding:0;gap:8px}
.pied-social .wp-block-social-links .wp-social-link{margin:0;background:none;color:#fff;border-radius:50%}
.pied-social .wp-block-social-links .wp-social-link a{width:32px;height:32px;padding:0;border-radius:50%;border:1px solid rgba(255,255,255,.35);display:grid;place-items:center;color:#fff}
.pied-social .wp-block-social-links .wp-social-link svg{width:15px;height:15px;fill:currentColor}
.pied-grille{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.2fr;gap:40px;padding:36px 0 40px}
.pied-col h4{font-size:13px;margin-bottom:12px}
.pied-col p{opacity:.72;font-size:12.5px;line-height:1.7}
.pied-col p.pied-lien{opacity:1}
.pied-lien a{display:block;text-decoration:none;opacity:.72;padding:3px 0;font-size:12.5px}
.pied-lien a:hover{opacity:1}
.pied-intro p{max-width:34ch;margin-bottom:16px}
.pied-intro .bouton .wp-block-button__link{padding:10px 18px;font-size:13px}
.pied-bas{text-align:center;font-size:11.5px;opacity:.6;padding-top:22px;border-top:1px solid rgba(255,255,255,.14)}
.pied-bas a{text-decoration:underline}

/* ---------- Barre mobile ---------- */
.barre-mobile{display:none}

/* =========================================================
   Pages internes
   ========================================================= */
.intro-courte{padding-bottom:56px}
.page-intro{padding:72px 0 48px}
.fil{font-size:12.5px;color:var(--gris);margin-bottom:12px}
.fil a{text-decoration:none}
.fil a:hover{color:var(--terra-fonce)}

/* Sous-navigation (Services) */
html:has(.sous-nav){scroll-padding-top:150px}
.sous-nav{position:sticky;top:78px;z-index:40;background:var(--creme);border-block:1px solid var(--ligne)}
.admin-bar .sous-nav{top:calc(78px + var(--wp-admin--admin-bar--height,32px))}
.sous-nav .enveloppe{display:flex;justify-content:center;flex-wrap:wrap;gap:8px;padding:12px 0}
.sous-nav a{display:block;border:1px solid rgba(35,35,35,.2);border-radius:999px;padding:6px 16px;font-size:13px;text-decoration:none;white-space:nowrap;transition:.3s var(--ease)}
.sous-nav a:hover{border-color:var(--terra)}
.sous-nav a.actif{background:var(--terra-fonce);border-color:var(--terra-fonce);color:#fff}

/* Un service */
.service{padding:104px 0}
.service-in{display:grid;grid-template-columns:1fr 1fr;gap:96px;align-items:center}
.service.inverse .service-visuel{order:2}
.service-visuel{position:relative;justify-self:center;width:100%;max-width:560px;padding-bottom:48px}
.service-visuel .service-photo{border-radius:var(--r);overflow:hidden;aspect-ratio:1/1;width:100%}
.service-visuel .service-photo img{width:100%;height:100%;object-fit:cover}
.service-visuel .service-mini{position:absolute;right:-40px;bottom:0;width:38%;aspect-ratio:4/5;border-radius:var(--r-s);overflow:hidden;border:6px solid var(--creme);box-shadow:0 24px 50px -24px rgba(60,62,66,.5)}
.bande-pale .service-visuel .service-mini{border-color:var(--pale)}
.service.inverse .service-visuel .service-mini{right:auto;left:-40px}
.service-visuel .service-mini img{width:100%;height:100%;object-fit:cover}
.service-visuel .service-mini figcaption{position:absolute;left:8px;top:8px;background:var(--creme);border-radius:5px;padding:2px 8px;font-size:11px;font-weight:500;line-height:1.7}
.service-visuel .service-mini.mini-gauche img{object-position:14% center}
.service-visuel .service-mini.mini-haut img{object-position:center 18%}
.service-visuel .service-mini.mini-bas img{object-position:center 72%}
.service-txt{max-width:540px}
.etiquette-ic{display:inline-flex;align-items:center;gap:8px;color:var(--terra-fonce);font-size:13px;font-weight:500;margin-bottom:10px}
.etiquette-ic::before{content:"";width:18px;height:18px;flex:none;background:currentColor;-webkit-mask:var(--ic) center/contain no-repeat;mask:var(--ic) center/contain no-repeat}
.texte{font-size:14px;color:var(--gris);line-height:1.75;margin-top:14px}

/* Parcours (frise) */
.parcours{padding:104px 0}
.frise{position:relative;margin:48px auto 0;padding:0;max-width:1180px;display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.frise::before{content:"";position:absolute;top:9px;left:12.5%;right:12.5%;height:1px;background:var(--terra)}
.jalon{position:relative}
.jalon::before{content:"";display:block;width:19px;height:19px;border-radius:50%;border:1px solid var(--terra);background:radial-gradient(circle,var(--terra) 0 3.5px,var(--pale) 4px);margin:0 auto 18px;position:relative}
.jalon-date{font-size:13px;font-weight:500;color:var(--terra-fonce);margin-bottom:4px}
.jalon h3{font-size:14px;margin-bottom:6px}
.jalon p:not(.jalon-date){font-size:12.5px;color:var(--gris);line-height:1.6;max-width:30ch;margin-inline:auto}

/* Zone d'intervention */
.zone{padding:104px 0}
.puces{list-style:none;margin:32px auto 36px;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:8px;max-width:900px}
.puces li{display:inline-flex;align-items:center;gap:6px;border:1px solid rgba(35,35,35,.18);border-radius:999px;padding:6px 14px;font-size:13px}
.puces li::before{content:"";width:14px;height:14px;flex:none;background:var(--terra-fonce);-webkit-mask:var(--i-lieu) center/contain no-repeat;mask:var(--i-lieu) center/contain no-repeat}
.bande-pale .puces{margin-bottom:0}

/* Projets : avant / après en alternance */
.avant-apres-sec{padding:8px 0 112px}
.aa-ligne{display:grid;grid-template-columns:8fr 4fr;gap:56px;align-items:center}
.aa-ligne + .aa-ligne{margin-top:96px}
.aa-inverse{grid-template-columns:4fr 8fr}
.aa-inverse .duo{order:2;justify-self:center;width:100%;max-width:470px;gap:16px}
.aa-solo{justify-self:center;width:100%;max-width:380px}
.aa-solo-etroit{max-width:280px}
.aa-inverse .aa-solo{order:2}
.aa-inverse .aa-txt{text-align:right}
.aa-inverse .projet-txt{margin-left:auto}
.aa-txt .projet-txt{font-size:14px;margin-top:10px}
.aa-txt .projet-cat{margin-top:0}
.aa-txt .projet-titre{font-size:24px;line-height:1.3;margin-top:4px}
.projets .filtres{margin:0 0 40px}

.projets{padding:104px 0 120px}
.projets-grille{display:grid;grid-template-columns:repeat(3,1fr);gap:48px 20px;align-items:start;grid-auto-flow:dense}
.duo{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.duo-item{display:grid;gap:6px;justify-items:center}
.duo-legende{font-size:11.5px;color:var(--gris)}
.projet-appel{align-self:stretch;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:10px;min-height:300px;padding:32px;background:var(--terra);color:#fff;border-radius:var(--r);transition:transform .5s var(--ease),box-shadow .5s var(--ease)}
.projet-appel:hover{transform:translateY(-4px);box-shadow:0 30px 50px -30px rgba(60,62,66,.6)}
.projet-appel-titre{position:relative;padding-top:62px;font-size:19px;font-weight:500;line-height:1.3}
.projet-appel-titre::before{content:"";position:absolute;left:0;top:0;width:46px;height:46px;border-radius:50%;background:var(--creme)}
.projet-appel-titre::after{content:"";position:absolute;left:14px;top:14px;width:18px;height:18px;background:var(--terra-fonce);-webkit-mask:var(--ic) center/contain no-repeat;mask:var(--ic) center/contain no-repeat}
.projet-appel-txt{font-size:13px;opacity:.9;line-height:1.6;margin-bottom:10px}
.projet.cache{display:none}
.projet .projet-photo{border-radius:var(--r);overflow:hidden;aspect-ratio:3/2}
.projet .projet-photo img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.projet:hover .projet-photo img{transform:scale(1.03)}
.projet-cat{font-size:12px;font-weight:500;color:var(--terra-fonce);margin-top:16px}
.projet-titre{font-size:17px;line-height:1.35;margin-top:2px}
.projet-txt{font-size:13px;color:var(--gris);line-height:1.7;margin-top:6px;max-width:58ch}
.etapes .wp-block-buttons{margin-top:32px}

/* Contact */
.contact{padding:8px 0 120px}
.contact-in{display:grid;grid-template-columns:7fr 5fr;gap:56px;align-items:start}
.coordonnees{background:var(--terra);color:#fff;border-radius:10px;padding:36px 32px}
.coordonnees h2{font-size:20px;margin-bottom:22px}
.coordonnees .coord-photo{margin:-36px -32px 26px;aspect-ratio:16/9;overflow:hidden;border-radius:10px 10px 0 0}
.coordonnees .coord-photo img{width:100%;height:100%;object-fit:cover;object-position:center 60%}
.coord{position:relative;display:grid;grid-template-columns:38px 1fr;column-gap:14px;align-items:start;padding:14px 0;border-top:1px solid rgba(255,255,255,.25)}
.coord::before{content:"";grid-row:1/3;width:38px;height:38px;border-radius:50%;background:var(--creme)}
.coord::after{content:"";position:absolute;left:10px;top:24px;width:18px;height:18px;background:var(--terra-fonce);-webkit-mask:var(--ic) center/contain no-repeat;mask:var(--ic) center/contain no-repeat}
.coord-cle{font-size:12px;font-weight:500;opacity:.85}
.coord p:not(.coord-cle){font-size:14px;line-height:1.5;word-break:break-word}
.coord p:not(.coord-cle):has(a){font-size:15px;line-height:1.7}
.coord a{font-size:14px;line-height:1.5;text-decoration:none}
.coord a:hover{text-decoration:underline}

/* Mentions légales */
.mentions{padding:0 0 120px}
.prose{max-width:760px}
.prose h2{font-size:18px;margin:36px 0 10px}
.prose h2:first-child{margin-top:0}
.mentions .prose p{font-size:14px;color:var(--gris);line-height:1.75;margin-bottom:10px} /* .mentions : passe devant le :last-child de WordPress */
.prose a{color:var(--terra-fonce)}
.mentions .prose p.a-completer{display:table;font-size:12px;font-weight:500;color:#7A4A1E;background:#FBEBD9;border:1px dashed #C9955F;border-radius:4px;padding:2px 8px}

/* ---------- Héros de l'accueil : grand titre sur la photo ---------- */
.heros-cadre{position:relative;isolation:isolate;overflow:hidden;border-radius:var(--r);min-height:min(80vh,720px);display:flex;align-items:center;color:#fff;background:var(--anthra)}
.heros-cadre::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(180deg,rgba(24,21,19,.6) 0%,rgba(24,21,19,.42) 45%,rgba(24,21,19,.7) 100%)}
.heros-cadre .diapo{position:absolute;inset:0;z-index:-2;margin:0;opacity:0;transition:opacity 1.6s var(--ease)}
.heros-cadre .diapo.actif{opacity:1}
.heros-cadre .diapo img{width:100%;height:100%;object-fit:cover;scale:1.06}
.heros-cadre .diapo figcaption{position:absolute;left:24px;top:24px;z-index:3;display:inline-flex;align-items:center;gap:10px;padding:7px 15px 7px 12px;border-radius:999px;background:rgba(255,250,240,.92);color:var(--encre);font-size:12px;font-weight:500;line-height:1.7}
.heros-cadre .diapo figcaption::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--terra);animation:pouls 2.2s ease-out infinite}
@keyframes pouls{0%{box-shadow:0 0 0 0 rgba(192,119,89,.65)}70%,100%{box-shadow:0 0 0 9px rgba(192,119,89,0)}}
.heros-contenu{width:100%;padding:72px 64px 132px;text-align:center}
.heros-contenu::before{content:"";position:absolute;right:36px;top:30px;z-index:1;width:clamp(96px,11vw,160px);aspect-ratio:300/310;background:url("assets/alveoles.svg") center/contain no-repeat;pointer-events:none}
.heros-sous{position:relative;z-index:1;font-size:17px;line-height:1.5;opacity:.94;margin-bottom:20px;text-wrap:balance}
.heros-titre{position:relative;z-index:1;display:flex;flex-direction:column;align-items:flex-start;margin:0;padding-inline:1%;font-size:clamp(52px,8.6vw,128px);font-weight:600;line-height:.92;letter-spacing:-.035em;text-transform:uppercase;hyphens:none;text-shadow:0 6px 40px rgba(0,0,0,.35)}
.heros-titre em{align-self:flex-end;font-style:normal;color:var(--terra);text-shadow:0 2px 2px rgba(0,0,0,.18),0 8px 44px rgba(0,0,0,.55)}
.heros-points{position:absolute;left:50%;bottom:72px;z-index:1;translate:-50% 0;display:flex;gap:8px}
.heros-points .point{width:30px;height:4px;padding:0;border:0;border-radius:2px;background:rgba(255,255,255,.4);transition:background .4s var(--ease),width .4s var(--ease)}
.heros-points .point.actif{background:#fff;width:46px}
.heros-appel{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:24px;width:min(920px,calc(100% - 48px));margin:-46px auto 0;padding:12px 12px 12px 34px;background:var(--creme);border-radius:999px;box-shadow:0 30px 60px -28px rgba(40,36,34,.55)}
.heros-appel-titre{font-size:16px;font-weight:600;color:var(--terra-fonce);text-transform:uppercase;letter-spacing:.01em;line-height:1.3}
.heros-appel-sous{font-size:14px;line-height:1.5}
.heros-appel .bouton .wp-block-button__link{border-radius:999px;padding:15px 26px;font-size:14.5px}

/* ---------- Comparateur avant / après ---------- */
.comparateur{--pos:50%;position:relative;overflow:hidden;border-radius:var(--r);aspect-ratio:969/438;width:100%;cursor:ew-resize;user-select:none;-webkit-user-select:none;touch-action:pan-y;background:var(--pale)}
.comparateur.ratio-34{aspect-ratio:3/4}
.comparateur.ratio-garage{aspect-ratio:720/1488}
.comparateur.ratio-43{aspect-ratio:4/3;max-width:760px}
.comparateur.portrait{aspect-ratio:212/474;border-radius:var(--r-s)} /* après les ratios : c'est l'ordre de la maquette validée */
.comparateur > figure.wp-block-image{position:absolute;inset:0;margin:0}
.comparateur > figure img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none;-webkit-user-drag:none}
.comparateur > .comp-avant img{clip-path:inset(0 calc(100% - var(--pos)) 0 0)}
.comparateur > .comp-avant::after{content:"";position:absolute;top:0;bottom:0;left:var(--pos);width:2px;margin-left:-1px;background:#fff;box-shadow:0 0 14px rgba(0,0,0,.3);pointer-events:none}
.comparateur::before{content:"";position:absolute;left:var(--pos);top:50%;z-index:2;width:44px;height:44px;margin:-22px 0 0 -22px;border-radius:50%;background:var(--creme);box-shadow:0 10px 24px -8px rgba(0,0,0,.45);transition:scale .3s var(--ease);pointer-events:none}
.comparateur::after{content:"";position:absolute;left:var(--pos);top:50%;z-index:3;width:22px;height:22px;margin:-11px 0 0 -11px;background:var(--terra-fonce);-webkit-mask:var(--i-glisser) center/contain no-repeat;mask:var(--i-glisser) center/contain no-repeat;transition:scale .3s var(--ease);pointer-events:none}
.comparateur:hover::before,.comparateur:hover::after,.comparateur:focus-visible::before,.comparateur:focus-visible::after{scale:1.1}
.comparateur > figure figcaption{position:absolute;top:14px;z-index:1;background:var(--creme);color:var(--encre);border-radius:6px;padding:4px 11px;font-size:12px;font-weight:500;line-height:1.7;pointer-events:none}
.comparateur > .comp-avant figcaption{left:14px}
.comparateur > .comp-apres figcaption{right:14px}
.portrait::before{width:34px;height:34px;margin:-17px 0 0 -17px}
.portrait::after{width:17px;height:17px;margin:-8.5px 0 0 -8.5px}
.comparateur.portrait > figure figcaption{top:8px;padding:2px 7px;font-size:10.5px}
.comparateur.portrait > .comp-avant figcaption{left:8px}
.comparateur.portrait > .comp-apres figcaption{right:8px}
.avant-apres{display:grid;grid-template-columns:4fr 8fr;gap:56px;align-items:center;margin:0 0 44px;padding-top:12px}
.avant-apres-titre{font-size:22px;line-height:1.3;margin-bottom:4px}
.avant-apres .comparateur{max-width:969px;justify-self:end}

/* ---------- Sur nos chantiers : ruban défilant ---------- */
.inspirations{padding:112px 0}
.ruban{overflow:hidden;margin-top:40px;-webkit-mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent);mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent)}
.ruban-piste{display:flex;gap:20px;padding-right:20px;width:max-content}
.js .ruban-piste{animation:defile 70s linear infinite}
.ruban:hover .ruban-piste{animation-play-state:paused}
.ruban .ruban-item{position:relative;flex:none;height:340px;border-radius:var(--r);overflow:hidden}
.ruban .ruban-item img{height:100%;width:auto;max-width:none;object-fit:cover;transition:transform 1s var(--ease)}
.ruban .ruban-item:hover img{transform:scale(1.05)}
.ruban .ruban-item figcaption{position:absolute;left:14px;bottom:14px;background:var(--creme);color:var(--encre);border-radius:6px;padding:4px 11px;font-size:12px;font-weight:500;line-height:1.7}
@keyframes defile{to{transform:translateX(-50%)}}

/* =========================================================
   Animations (actives seulement quand le script tourne :
   sans JavaScript, et dans l'éditeur, tout reste visible)
   ========================================================= */
.js .heros-photo img{animation:kenburns 16s var(--ease) both,respire 24s ease-in-out 16s infinite alternate}
@keyframes kenburns{from{scale:1.14}to{scale:1.06}}
@keyframes respire{from{scale:1.06}to{scale:1.1}}
.heros-cadre::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:linear-gradient(105deg,transparent 38%,rgba(255,255,255,.14) 50%,transparent 62%);translate:-110% 0}
.js .heros-cadre::before{animation:reflet 10s var(--ease) 2s infinite}
@keyframes reflet{0%{translate:-110% 0}30%,100%{translate:110% 0}}
.js .heros-cadre .diapo.actif img{animation:zoomDiapo 8.2s linear both}
@keyframes zoomDiapo{from{scale:1}to{scale:1.06}}
.js .heros-sous{animation:monte .9s var(--ease) .15s both}
.js .heros-titre{animation:titreMonte 1.1s var(--ease) .3s both}
.js .heros-titre em{animation:titreMonte 1.1s var(--ease) .2s both}
@keyframes titreMonte{from{opacity:0;translate:0 60px}to{opacity:1;translate:0 0}}
.js .heros-appel{animation:monte 1s var(--ease) .8s both}
.js .heros-cadre .diapo.actif figcaption{animation:monte .8s var(--ease) .6s both}
.js .heros-badge{animation:monte 1s var(--ease) .6s both}
@keyframes monte{from{opacity:0;translate:0 18px}to{opacity:1;translate:0 0}}

/* Apparition au défilement */
.js .rv{opacity:0;translate:0 30px;transition:opacity .9s var(--ease),translate .9s var(--ease);transition-delay:calc(var(--i,0) * 90ms)}
.js .rv.vu{opacity:1;translate:0 0}
.js .rv-img{opacity:0;clip-path:inset(14% 0 0 0 round var(--r));transition:clip-path 1.2s var(--ease),opacity .9s var(--ease);transition-delay:calc(var(--i,0) * 110ms)}
.js .rv-img img{scale:1.14;transition:scale 1.6s var(--ease);transition-delay:inherit}
.js .rv-img.vu{opacity:1;clip-path:inset(0 0 0 0 round var(--r))}
.js .rv-img.vu img{scale:1}

/* Frise : la ligne se trace, les points apparaissent */
.js .frise::before{transform:scaleX(0);transform-origin:left;transition:transform 1.8s var(--ease) .2s}
.js .frise.vu::before{transform:scaleX(1)}
.js .jalon::before{scale:0;transition:scale .6s cubic-bezier(.3,1.6,.5,1) calc(var(--i,0) * 250ms + .5s)}
.js .jalon.vu::before,.js .jalon:not(.rv)::before{scale:1}

/* Filtres : les vignettes réapparaissent en douceur */
.apparait{animation:apparaitVignette .6s var(--ease) both}
@keyframes apparaitVignette{from{opacity:0;scale:.96}to{opacity:1;scale:1}}

/* =========================================================
   Responsive
   ========================================================= */
@media (max-width:1100px){
  .entete-in{gap:16px}
  .entete .wp-block-navigation.nav{order:3;margin-left:0}
  .entete-boutons{margin-left:auto}
  .bloc-terra{padding:40px;gap:40px}
  .pied-grille{grid-template-columns:1fr 1fr 1fr}
  .pied-intro{grid-column:1/-1}
  .service-in,.etapes-in{gap:56px}
}
/* core/navigation passe en panneau sous 600 px ; le design le veut dès 1100 px */
@media (min-width:600px) and (max-width:1100px){
  .entete .wp-block-navigation__responsive-container-open:not(.always-shown){display:flex}
  .entete .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open){display:none}
}
@media (max-width:900px){
  .titre{font-size:27px}
  .atouts{grid-template-columns:1fr;gap:28px}
  .bloc-terra{grid-template-columns:1fr;padding:32px 24px}
  .bloc-terra .bloc-terra-photo{justify-self:start;max-width:220px}
  .devis-in,.etapes-in,.service-in,.contact-in{grid-template-columns:1fr;gap:48px}
  .service.inverse .service-visuel{order:0}
  .service-visuel{max-width:none}
  .service-visuel .service-photo{aspect-ratio:3/2}
  .service-visuel .service-mini{width:30%;right:12px}
  .service.inverse .service-visuel .service-mini{left:12px}
  .chiffres-in{grid-template-columns:1fr;gap:32px}
  .ruche{--w:200px}
  .aa-ligne,.aa-inverse{grid-template-columns:1fr;gap:20px}
  .aa-inverse .duo,.aa-inverse .aa-solo{order:0}
  .aa-inverse .aa-txt{text-align:left}
  .aa-inverse .projet-txt{margin-left:0}
  .heros-contenu{padding:64px 32px 124px}
  .heros-contenu::before{right:20px;top:20px}
  .avant-apres{grid-template-columns:1fr;gap:24px}
  .projets-grille{grid-template-columns:1fr 1fr;gap:44px 16px}
  .devis-visuel{max-width:460px}
  .recap{left:auto;right:-8px}
  .garanties-liste{grid-template-columns:1fr 1fr}
  .frise{grid-template-columns:1fr 1fr;row-gap:40px}
  .frise::before{display:none}
}
@media (max-width:640px){
  body{padding-bottom:calc(62px + env(safe-area-inset-bottom))}
  .enveloppe,.enveloppe.etroite{width:calc(100% - 32px)}
  .entete-in{height:66px}
  .wp-block-site-logo.logo img{height:36px}
  .entete-in .wp-block-buttons.entete-boutons{display:none} /* plus fort que .is-layout-flex de WordPress */
  .entete .wp-block-navigation.nav{margin-left:auto}
  .heros-photo{aspect-ratio:4/5}
  .heros-badge{left:12px;right:12px;bottom:12px}
  .intro{padding-top:56px}
  .titre{font-size:24px}
  .produits,.realisations,.devis,.garanties,.etapes{padding:72px 0}
  .chiffres{grid-template-columns:1fr 1fr;gap:20px}
  .galerie{grid-template-columns:1fr;gap:14px}
  .page-banniere .heros-photo{aspect-ratio:4/3}
  .page-intro{padding:48px 0 32px}
  .service,.parcours,.zone{padding:72px 0}
  .bloc-terra-sec{padding:40px 0 72px}
  .citation{font-size:17px}
  .sous-nav{top:68px}
  .admin-bar .sous-nav{top:68px}
  .sous-nav .enveloppe{flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto;scrollbar-width:none}
  html:has(.sous-nav){scroll-padding-top:130px}
  .frise{grid-template-columns:1fr}
  .projets-grille{grid-template-columns:minmax(0,1fr)}
  .projet-appel{padding:26px 22px;min-height:0}
  .projets,.contact{padding-bottom:72px}
  .coordonnees{padding:28px 22px}
  .coordonnees .coord-photo{margin:-28px -22px 20px}
  .ruche{--g:8px;--w:min(132px,calc((100vw - 56px - var(--g) * 1.732) / 2.5));margin-top:32px}
  .ruche .alveole figcaption{padding:0 14%;gap:3px}
  .ruche .alveole figcaption strong{font-size:clamp(10px,3.1vw,12px)}
  .ruche .alveole figcaption em{font-size:clamp(9px,2.7vw,10.5px)}
  .alveole-centre-titre{font-size:clamp(10.5px,3.3vw,12.5px)}
  .alveole-centre-sous{font-size:clamp(8.5px,2.6vw,10px)}
  .avant-apres-sec{padding-bottom:72px}
  .aa-ligne + .aa-ligne{margin-top:64px}
  .aa-txt .projet-titre{font-size:19px}
  .projets{padding:72px 0}
  .chiffres-sec{padding-bottom:72px}
  .inspirations{padding:72px 0 40px}
  .ruban .ruban-item{height:230px}
  .service-visuel .service-mini{width:36%;border-width:4px}
  .heros-cadre{min-height:540px}
  .heros-contenu{padding:56px 18px 120px}
  .heros-sous{font-size:14.5px}
  .heros-titre{font-size:clamp(38px,11.5vw,56px)}
  .heros-contenu::before{display:none}
  .heros-points{bottom:64px}
  .heros-cadre .diapo figcaption{left:12px;top:12px;font-size:11px}
  .heros-appel{flex-direction:column;align-items:stretch;text-align:center;gap:12px;border-radius:18px;padding:18px;margin-top:-40px;width:calc(100% - 24px)}
  .heros-appel .wp-block-button{flex:1}
  .heros-appel .bouton .wp-block-button__link{display:flex;justify-content:center;width:100%}
  .tuiles{grid-template-columns:1fr 1fr}
  .wpcf7 .champs{grid-template-columns:1fr}
  .recap{position:static;width:auto;margin-top:-40px;margin-inline:12px}
  .devis-visuel{padding-bottom:0}
  .garanties-liste{grid-template-columns:1fr}
  .appel-in{flex-direction:column;align-items:flex-start}
  .pied-haut{flex-direction:column;align-items:flex-start;gap:16px}
  .pied-grille{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
  .pied-col a,.pied-col p{overflow-wrap:anywhere}
  .barre-mobile{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));position:fixed;left:0;right:0;bottom:0;width:100%;z-index:60;background:var(--anthra);padding-bottom:env(safe-area-inset-bottom)}
  .barre-mobile a{display:flex;justify-content:center;align-items:center;gap:8px;min-width:0;padding:16px 8px;color:#fff;text-decoration:none;font-size:14px;font-weight:500;line-height:1.7;white-space:nowrap}
  .barre-mobile a::before{content:"";width:18px;height:18px;flex:none;background:currentColor;-webkit-mask:var(--ic) center/contain no-repeat;mask:var(--ic) center/contain no-repeat}
  .barre-mobile p + p a{background:var(--terra-fonce)}
}
@media (max-width:600px){
  .admin-bar header.wp-block-template-part{top:0}
}
@media (max-width:360px){
  .alveole-centre-sous{display:none}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
