/* ==========================================================================
   Direction « Artisan premium » (v4) : blanc et gris bleuté très pâle, bleu nuit profond,
   touches lavande du logo, photos réelles en grand, plus d'espace.
   Désactivable : Personnaliser › Thème GFE › Apparence › « Style premium ».
   ========================================================================== */
:root{
  --ivoire:#FFFFFF;     /* fond général : blanc (charte) */
  --sable:#F3F5FA;      /* sections alternées : gris bleuté très pâle, tiré du bleu du logo */
  --sable-2:#E6EAF4;    /* pastilles, fonds de pictos */
  --nuit:#0E2240;
  --trait:#E2E7F0;      /* filets */
  --champ:#C9D2E1;
  --eau:var(--sable);
  --eau-2:var(--sable-2);
  --texte:#2C3443;
  --gris:#5B6478;
  --r:14px; --r-l:22px;
  --ombre:0 30px 60px -36px rgba(14,34,64,.35);
}
body{background:#fff}
.header{background:rgba(255,255,255,.97)}
.topbar{background:var(--nuit)}
.sec{padding:112px 0}
@media(max-width:820px){.sec{padding:72px 0}}
h1,h2,h3{letter-spacing:-.02em}
h2,.sec-tete h2{font-size:clamp(1.9rem,3.4vw,2.75rem);line-height:1.12;font-weight:600}
.sur-titre,:is(.texte,.contenu-libre) h3.wp-block-heading:has(+ h2){text-transform:none;letter-spacing:.02em}

/* Cartes et blocs : blanc sur ivoire, filet chaud, pas d'ombre */
.carte,.cartes-grille>.carte,.tarif-carte,.tarif-contrat,.offre,.actu-carte,.article-carte,.contact-action,.zc-panneau,.zc-plan,.avis-carte,.etapes-projet li,.faq .wp-block-details,.pro-faits,.bandeau-logos,.tarifs-liste{background:#fff;border-color:var(--trait)}
.sec--eau .carte,.sec--eau .etapes-projet li,.sec--eau .faq .wp-block-details{border-color:transparent}
.carte-ico{background:var(--sable-2);color:var(--nuit)}
.carte-ico--1{background:#ECEBF7;color:#5D59A6}
.carte-ico--2{background:#E4EEE6;color:#2F6B47}

/* Boutons : nuit pour les projets, rouge réservé à l'appel */
.btn--bleu,.wp-block-button__link{background:var(--nuit)}
.btn--bleu:hover,.wp-block-button__link:hover{background:#1D3A66}
.btn--clair,.is-style-secondaire .wp-block-button__link{background:transparent;border-color:var(--nuit);color:var(--nuit)}

/* --- Ouverture de l'accueil : texte clair sur ivoire, grande photo en dessous ----------------- */
.accueil-hero{background:linear-gradient(180deg,#fff 0%,#F3F5FA 100%)!important;color:var(--texte)!important}
.accueil-hero::before{display:none!important}
.accueil-hero::after{right:auto;left:-140px;bottom:auto;top:40px;width:520px;height:520px;opacity:.05}
.accueil-hero>.wrap,.accueil-hero .hero-grille{display:grid!important;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:56px;align-items:end;min-height:0!important;padding-top:88px!important;padding-bottom:56px!important}
.accueil-hero .hero-texte{max-width:620px}
.accueil-hero h1,.accueil-hero .hero-texte>.wp-block-heading{color:var(--nuit)!important;font-size:clamp(2.5rem,5vw,4.1rem)!important;font-weight:600;line-height:1.04;letter-spacing:-.035em;max-width:13ch}
.accueil-hero h1::after{content:"";display:block;width:64px;height:4px;margin-top:22px;border-radius:4px;background:var(--filet)}
.accueil-hero .chapo,.accueil-hero p.chapo{color:var(--gris)!important;font-size:1.12rem;line-height:1.7;max-width:48ch;margin-top:22px}
.accueil-hero .hero-photo{position:relative!important;inset:auto!important;z-index:1;height:auto!important;margin:0!important;border-radius:var(--r-l)!important;overflow:hidden;box-shadow:var(--ombre)}
.accueil-hero .hero-photo img{aspect-ratio:4/4.6!important;height:auto!important;object-position:30% 45%!important;filter:none}
.chemins--boutons .btn--clair{background:#fff!important;border:1.5px solid var(--nuit)!important;color:var(--nuit)!important}
.chemins--boutons .btn--clair:hover{background:var(--nuit)!important;color:#fff!important}
.chemins-note{color:var(--gris)!important}
.chemins-note svg{color:var(--lavande-texte,#5D59A6)}
@media(max-width:900px){
  .accueil-hero>.wrap,.accueil-hero .hero-grille{grid-template-columns:1fr;gap:32px;padding:44px 18px 32px!important}
  .accueil-hero .hero-photo img{aspect-ratio:4/3!important}
}

/* Bande de confiance : discrète */
.accueil-confiance{background:var(--ivoire)!important;border-top:1px solid var(--trait);border-bottom:1px solid var(--trait)}
.confiance-item .ico-trait{background:var(--sable-2);color:var(--nuit)}

/* Encart des aides : reste sombre, plus profond */
.aides-pac{background:var(--nuit)}

/* Pied de page */
.footer{background:#0A1A33}
.pre-pied{background:var(--ivoire);border-top-color:var(--trait)}

/* Bandeaux de titre des pages */
.page-tete{background:var(--sable)}
.accueil-hero h1,.accueil-hero .hero-texte>.wp-block-heading{font-size:clamp(2.3rem,4.2vw,3.5rem)!important;max-width:16ch}
.accueil-hero .hero-photo,.accueil-hero .hero-photo .wp-block-image{background:none!important;line-height:0}
.accueil-hero .hero-photo .wp-block-image{margin:0!important}
.accueil-hero .hero-photo img{display:block}
.accueil-hero h1,.accueil-hero .hero-texte>.wp-block-heading{max-width:19ch}

/* ==========================================================================
   v4.1 : moins de cartes, plus de structure. Un seul élément fort : l'ardoise des prix
   sous l'ouverture. Le reste est posé sur des filets, pas dans des boîtes.
   ========================================================================== */

/* --- Ardoise des prix (remplace les quatre repères génériques) --- */
.accueil-confiance{padding:0!important;border:0!important}
.prix-board{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,2.4fr) auto;gap:32px;align-items:center;margin:-34px 0 0;padding:28px 36px;background:var(--nuit);color:#fff;border-radius:var(--r-l);position:relative;z-index:2;box-shadow:0 36px 60px -40px rgba(14,34,64,.6)}
.prix-board strong,.prix-board b,.prix-board span{color:#fff}
.prix-board-tete strong{display:block;font-size:1.15rem;font-weight:600;letter-spacing:-.01em;margin-bottom:6px}
.prix-board-tete span{display:block;font-size:.86rem;line-height:1.5;color:rgba(255,255,255,.72);max-width:26ch}
.prix-board ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
.prix-board li{padding:4px 22px;border-left:1px solid rgba(255,255,255,.16)}
.prix-board li:first-child{padding-left:0;border-left:0}
.prix-board b{display:block;font-weight:300;font-size:clamp(1.7rem,2.4vw,2.2rem);line-height:1;letter-spacing:-.03em;white-space:nowrap}
.prix-board li small{display:block;margin-bottom:6px;font-size:.72rem;letter-spacing:.02em;color:rgba(255,255,255,.6)}
.prix-board li span{display:block;margin-top:8px;font-size:.84rem;line-height:1.35;color:rgba(255,255,255,.85)}
.prix-board-lien{align-self:center;white-space:nowrap;font-weight:600;font-size:.92rem;color:#fff;text-decoration:none;padding:12px 18px;border:1.5px solid rgba(255,255,255,.4);border-radius:999px;transition:background .2s,border-color .2s}
.prix-board-lien:hover,.prix-board-lien:focus-visible{background:#fff;color:var(--nuit);border-color:#fff}
.accueil-confiance .confiance-agrements{border-top:0;padding-top:48px}
@media(max-width:1100px){.prix-board{grid-template-columns:1fr;gap:22px;margin-top:-24px}.prix-board-tete span{max-width:none}}
@media(max-width:720px){.prix-board{padding:22px;border-radius:var(--r)}.prix-board ul{grid-template-columns:1fr 1fr;gap:16px 0}.prix-board li:nth-child(odd){padding-left:0;border-left:0}.prix-board li:nth-child(even){padding-right:0}.prix-board b{font-size:1.6rem}}

/* --- Ouverture : un peu plus de voix au titre --- */
.accueil-hero h1,.accueil-hero .hero-texte>.wp-block-heading{font-size:clamp(2.5rem,4.6vw,3.9rem)!important;line-height:1.02;max-width:17ch}
.accueil-hero .hero-photo img{aspect-ratio:4/4.4!important}

/* --- Savoir-faire : six points sur filets, en deux colonnes, sans boîtes --- */
.sec--savoir .cartes-grille{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:0 56px!important;margin:36px 0 24px!important}
.sec--savoir .cartes-grille>.carte{background:none!important;border:0!important;border-top:1px solid var(--trait)!important;border-radius:0!important;padding:22px 0 24px!important;box-shadow:none!important}
.sec--savoir .cartes-grille>.carte .carte-ico{width:30px;height:30px;padding:6px;margin-bottom:12px;border-radius:8px}
.sec--savoir .cartes-grille>.carte h3{font-size:1.05rem}
.sec--savoir .cartes-grille>.carte p{color:var(--gris)}
@media(max-width:700px){.sec--savoir .cartes-grille{grid-template-columns:1fr!important}}

/* --- Méthode : une ligne continue, six jalons --- */
.etapes-projet{grid-template-columns:repeat(6,minmax(0,1fr))!important;gap:0!important;margin:44px 0 36px!important;position:relative}
.etapes-projet::before{content:"";position:absolute;left:17px;right:17px;top:17px;height:2px;background:var(--trait)}
.etapes-projet li{background:none!important;border:0!important;padding:54px 24px 0 0!important;border-radius:0!important}
.etapes-projet li::before{left:0!important;top:0!important;width:36px!important;height:36px!important;background:var(--nuit)!important;color:#fff!important;box-shadow:0 0 0 6px #fff}
.sec--eau .etapes-projet li::before{box-shadow:0 0 0 6px var(--sable)}
.etapes-projet li strong{font-size:1rem!important}
@media(max-width:1000px){.etapes-projet{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:28px 0!important}.etapes-projet::before{display:none}.etapes-projet li::before{box-shadow:none}}
@media(max-width:600px){.etapes-projet{grid-template-columns:1fr!important;gap:0!important;padding-left:0!important}.etapes-projet::before{display:block;left:17px;right:auto;top:0;bottom:0;width:2px;height:auto}.etapes-projet li{padding:0 0 28px 58px!important}.etapes-projet li::before{box-shadow:0 0 0 6px #fff}}

/* --- Questions : une liste, pas des boîtes --- */
.faq .wp-block-details{margin:0!important;border:0!important;border-top:1px solid var(--trait)!important;border-radius:0!important;background:none!important}
.faq .wp-block-details:last-child{border-bottom:1px solid var(--trait)!important}
.faq summary{padding:20px 52px 20px 0!important}
.faq details>p{padding:0 0 10px!important}
.faq summary::after{right:6px}

/* --- Cartes restantes : un seul rayon, pas d'ombre, le filet suffit --- */
.sec--pro .pro-faits li{border-color:var(--trait)}
.offre,.actu-carte,.article-carte{box-shadow:none}

/* --- v4.3 : titres centrés pour les sections symétriques (grilles, carrousels, questions, avis) --- */
.sec-tete--centre{align-items:center;text-align:center;margin-left:auto;margin-right:auto}
.sec-tete--centre h2{max-width:30ch}
.sec-tete--centre p{max-width:56ch}
.sec-tete--centre h2::after,.sec--centre h2::after{margin-left:auto;margin-right:auto}
.sec-tete--centre .sur-titre{text-align:center}
.sec--faq .faq{margin-left:auto;margin-right:auto}
.sec--methode .wp-block-buttons{justify-content:center}
/* Section des avis : titre et texte centrés au-dessus du widget */
.sec:has(> .wrap > [class*="elfsight-app-"]) > .wrap > h2,.sec:has(> .wrap > [class*="elfsight-app-"]) > .wrap > p{text-align:center;margin-left:auto;margin-right:auto;max-width:56ch}
.sec:has(> .wrap > [class*="elfsight-app-"]) > .wrap > h2::after{margin-left:auto;margin-right:auto}
/* Photo d'ouverture : l'équipe devant l'agence (format paysage) */
.accueil-hero .hero-photo img{aspect-ratio:4/3.5!important;object-position:50% 62%!important}
.accueil-hero>.wrap,.accueil-hero .hero-grille{align-items:center}
@media(max-width:900px){.accueil-hero .hero-photo img{aspect-ratio:4/3!important}}
.accueil-hero .hero-photo{align-self:center;height:auto!important;background:none!important;box-shadow:var(--ombre)}
.accueil-hero .hero-photo .hero-badge{display:none}

/* --- v4.4 : corrections d'affichage --- */
/* Boutons clairs sur fond sombre (pied de page, encarts nuit) : restent visibles */
.footer .btn--clair,.sec--nuit .btn--clair,.aides-pac .btn--clair{background:#fff!important;color:var(--nuit)!important;border-color:#fff!important}
/* Grilles de cartes : 4 cartes sur 4 colonnes, pas 3 + 1 orpheline ; 2 cartes sur 2 colonnes */
.cartes-grille:has(> :nth-child(4):last-child){grid-template-columns:repeat(4,minmax(0,1fr))}
.texte .cartes-grille:has(> :nth-child(4):last-child){grid-template-columns:repeat(2,minmax(0,1fr))}
.cartes-grille:has(> :nth-child(2):last-child){grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:1000px){.cartes-grille:has(> :nth-child(4):last-child){grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.cartes-grille:has(> :nth-child(4):last-child),.cartes-grille:has(> :nth-child(2):last-child){grid-template-columns:1fr}}
/* Tuiles sans photo : compactes sur mobile (plus de grand aplat vide au-dessus du titre) */
@media(max-width:640px){.tuiles .tuile--sans-photo{height:auto!important;min-height:0!important;padding:20px 22px}.tuiles .tuile--sans-photo h3{margin-top:0}}
/* Ardoise des prix : le lien prend toute la largeur sur mobile */
@media(max-width:720px){.prix-board-lien{display:block;text-align:center}}

/* ==========================================================================
   v4.5 : ouverture en filigrane. La photo « confort familial » du site d'origine en fond,
   fondue vers le blanc à gauche où se lit le texte, le motif du logo à gauche. Pas de cadre,
   pas de bloc photo : une seule image, le texte posé dessus, l'ardoise des prix qui déborde en bas.
   ========================================================================== */
.accueil-hero{background:#fff!important;isolation:isolate;overflow:hidden}
.accueil-hero>.wrap,.accueil-hero .hero-grille{display:block!important;position:static!important;min-height:clamp(560px,72vh,700px)!important;padding-top:112px!important;padding-bottom:140px!important}
.accueil-hero .hero-texte{position:relative;z-index:2;max-width:600px}
.accueil-hero .hero-photo{position:absolute!important;inset:0!important;left:auto!important;width:68%;height:auto!important;margin:0!important;border-radius:0!important;box-shadow:none!important;z-index:0;overflow:hidden;align-self:auto}
.accueil-hero .hero-photo .wp-block-image{margin:0!important;height:100%}
.accueil-hero .hero-photo img{width:100%!important;height:100%!important;aspect-ratio:auto!important;object-fit:cover;object-position:62% 38%!important;border-radius:0!important;filter:saturate(.85) contrast(.98);opacity:.85;
  -webkit-mask-image:linear-gradient(90deg,rgba(0,0,0,0) 0%,rgba(0,0,0,.55) 30%,#000 55%),linear-gradient(180deg,#000 0%,#000 70%,rgba(0,0,0,0) 100%);-webkit-mask-composite:source-in;
  mask-image:linear-gradient(90deg,rgba(0,0,0,0) 0%,rgba(0,0,0,.55) 30%,#000 55%),linear-gradient(180deg,#000 0%,#000 70%,rgba(0,0,0,0) 100%);mask-composite:intersect}
.accueil-hero::before{content:"";display:block!important;position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,#fff 0%,#fff 30%,rgba(255,255,255,.72) 48%,rgba(255,255,255,0) 72%);pointer-events:none}
.accueil-hero::after{display:block!important;left:-120px;top:30px;width:560px;height:560px;opacity:.06;z-index:1}
.accueil-hero h1,.accueil-hero .hero-texte>.wp-block-heading{font-size:clamp(2.6rem,4.8vw,4rem)!important;max-width:14ch;color:var(--nuit)!important}
.accueil-hero .chapo,.accueil-hero p.chapo{color:var(--texte)!important;max-width:46ch}
.accueil-hero .hero-badge{display:none!important}
.accueil-confiance{position:relative;z-index:3}
.prix-board{margin-top:-96px}
@media(max-width:1100px){.prix-board{margin-top:-80px}}
@media(max-width:900px){
  .accueil-hero>.wrap,.accueil-hero .hero-grille{min-height:0!important;padding-top:56px!important;padding-bottom:120px!important}
  .accueil-hero .hero-photo{width:100%;height:100%!important}
  .accueil-hero .hero-photo img{object-position:60% 30%!important;opacity:.28;-webkit-mask-image:none;mask-image:none}
  .accueil-hero::before{background:linear-gradient(180deg,#fff 0%,rgba(255,255,255,.55) 45%,rgba(255,255,255,.25) 100%)}
  .accueil-hero::after{width:300px;height:300px;left:-80px;top:10px}
  .prix-board{margin-top:-60px}
}

/* --- À propos : l'équipe en tête --- */
.equipe-gfe{margin:0 0 48px}
.equipe-gfe .wp-block-image{margin:0 0 28px}
.equipe-gfe img{width:100%;height:auto;border-radius:var(--r-l);display:block}
.equipe-gfe h2{margin-top:0}
.equipe-gfe p{max-width:60ch}


/* --- v4.6 : boutons de l'ouverture espacés ; indicateur Ouvert / Fermé --- */
.accueil-hero .chemins--boutons{gap:14px 16px!important}
.dispo{gap:8px}
.dispo .dispo-etat{font-weight:600}
.dispo.est-ferme::before{background:#9AA6BC;box-shadow:0 0 0 3px rgba(154,166,188,.25)}
.dispo.est-ouvert .dispo-etat{color:#6BE3A0}
.dispo.est-ferme .dispo-etat{color:#C9D2E1}
.dispo--clair{display:inline-flex;align-items:center;color:var(--gris)}
.dispo--clair::before{content:"";width:8px;height:8px;border-radius:50%;background:#2E9E5B;box-shadow:0 0 0 3px rgba(46,158,91,.18)}
.dispo--clair.est-ouvert .dispo-etat{color:#23804A}
.dispo--clair.est-ferme .dispo-etat{color:var(--gris)}
.dispo--clair.est-ferme::before{background:#9AA6BC;box-shadow:0 0 0 3px rgba(154,166,188,.2)}
.chemins-note .dispo--clair+*{margin-left:0}
.dispo.est-ferme .dispo-texte{display:none}
.dispo.est-ouvert .dispo-texte::before{content:"· "}
