/*
 * Thème Groupe Provençal — composants gp-*. Aucune déclaration « important » (docs/regles-communes.md § 3).
 * Couleurs, polices, tailles et espacements : theme.json (variables --wp--preset--*), seule référence de la charte.
 * Traduit de la maquette v2 (sources/design/assets/style.css) : classes préfixées gp-, composants de démonstration retirés.
 */

/* Variables de mise en page (valeurs de la maquette v2 et ses points de rupture 1280 / 1100 / 800 / 600 px). */
:root {
	--gp-interligne: var(--wp--custom--interligne--base);
	--gp-interligne-titre: var(--wp--custom--interligne--titre);
	--gp-interligne-compact: var(--wp--custom--interligne--compact);
	--gp-interligne-article: var(--wp--custom--interligne--article);
	--gp-approche-surtitre: var(--wp--custom--approche--surtitre);
	--gp-approche-titre: var(--wp--custom--approche--titre);
	--gp-rayon: var(--wp--custom--rayon--aucun);
	--gp-rayon-arche: var(--wp--custom--rayon--arche);
	--gp-ombre-menu: var(--wp--custom--ombre--menu);
	--gp-trait-fin: var(--wp--custom--trait--fin);
	--gp-trait-actif: var(--wp--custom--trait--actif);
	--gp-trait-focus: var(--wp--custom--trait--focus);
	--gp-cible-tactile: var(--wp--custom--cible-tactile);
	--gp-graisse-normale: 400;
	--gp-graisse-forte: 700;
	--gp-offset-focus: 4px;
	--gp-duree: 0.16s;
	--gp-niveau-entete: 30;
	--gp-niveau-skip: 100;
	--gp-grille-photo: 4 / 3;
	--gp-grille-photo-large: 3 / 2;
	--gp-grille-photo-panoramique: 16 / 9;
	--gp-largeur-page: 81.25rem;
	--gp-largeur-article: 47.5rem;
	--gp-largeur-chapo: 42rem;
	--gp-largeur-sommaire: 18rem;
	--gp-largeur-entete-logo: 12.5rem;
	--gp-largeur-tableau: 30rem;
	--gp-largeur-illustration: 22.5rem;
	--gp-hauteur-illustration: 14rem;
	--gp-hauteur-min-photo: 10rem;
	--gp-hauteur-entete: 6.25rem;
	--gp-offset-ancre: 8rem;
	--gp-gouttiere: 3rem;
}
@media (max-width: 1280px) { :root { --gp-gouttiere: 2rem; --gp-largeur-entete-logo: 10.5rem; } }
@media (max-width: 1100px) { :root { --gp-hauteur-entete: 5.5rem; --gp-offset-ancre: 7rem; --gp-largeur-sommaire: 16rem; } }
@media (max-width: 800px) { :root { --gp-gouttiere: 1.5rem; --gp-largeur-sommaire: 14rem; } }
@media (max-width: 600px) {
	:root {
		--gp-gouttiere: 1.125rem; --gp-largeur-entete-logo: 9rem; --gp-hauteur-entete: 5rem; --gp-offset-ancre: 6rem;
		--gp-hauteur-illustration: 11rem; --gp-largeur-illustration: 20rem; --gp-largeur-tableau: 25rem;
	}
}

/* Règles de la maquette v2. */
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:var(--gp-offset-ancre)}
body{margin:0;background:var(--wp--preset--color--papier);color:var(--wp--preset--color--encre);font-family:var(--wp--preset--font-family--corps);font-size:var(--wp--preset--font-size--corps);line-height:var(--gp-interligne)}
body.gp-menu-open,body.gp-dialog-open{overflow:hidden}
h1,h2,h3,p,figure{margin:0}
h1,h2,h3{font-family:var(--wp--preset--font-family--titres);font-weight:var(--gp-graisse-normale);overflow-wrap:anywhere}
h1{font-size:var(--wp--preset--font-size--titre-1);line-height:var(--gp-interligne-titre);letter-spacing:var(--gp-approche-titre)}
h2{font-size:var(--wp--preset--font-size--titre-2);line-height:var(--gp-interligne-titre);letter-spacing:var(--gp-approche-titre)}
h3{font-size:var(--wp--preset--font-size--titre-3);line-height:var(--gp-interligne-compact)}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit}
button,summary{cursor:pointer}
button{border-radius:var(--gp-rayon)}
button:disabled{cursor:default}
img{max-width:100%;display:block;height:auto}
svg{display:block}
a,button,summary{touch-action:manipulation}
a:focus-visible,button:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:var(--gp-trait-focus) solid var(--wp--preset--color--or-texte);outline-offset:var(--gp-offset-focus)}
.gp-dark a:focus-visible,.gp-dark button:focus-visible{outline-color:var(--wp--preset--color--or-clair)}
[hidden]{display:none}
.screen-reader-text{position:absolute;width:var(--gp-trait-fin);height:var(--gp-trait-fin);padding:0;margin:calc(-1 * var(--gp-trait-fin));overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.gp-skip-link{position:fixed;top:var(--wp--preset--spacing--2);left:var(--wp--preset--spacing--2);z-index:var(--gp-niveau-skip);background:var(--wp--preset--color--encre);color:var(--wp--preset--color--blanc-casse);padding:var(--wp--preset--spacing--4);transform:translateY(-200%)}
.gp-skip-link:focus{transform:none}
.gp-wrap{max-width:var(--gp-largeur-page);width:calc(100% - var(--gp-gouttiere) * 2);margin-inline:auto;min-width:0}
.gp-section{padding-block:var(--wp--preset--spacing--20)}
.gp-white{background:var(--wp--preset--color--blanc-casse)}
.gp-dark{background:var(--wp--preset--color--encre);color:var(--wp--preset--color--papier)}
.gp-dark p{color:var(--wp--preset--color--clair-secondaire)}
.gp-dark h1,.gp-dark h2,.gp-dark h3{color:var(--wp--preset--color--papier)}
.gp-dark .gp-eyebrow{color:var(--wp--preset--color--or-clair)}
.gp-eyebrow{font-size:var(--wp--preset--font-size--petit);line-height:var(--gp-interligne-compact);letter-spacing:var(--gp-approche-surtitre);text-transform:uppercase;color:var(--wp--preset--color--or-texte);font-weight:var(--gp-graisse-forte)}
.gp-muted,.gp-caption,figcaption{color:var(--wp--preset--color--secondaire)}
.gp-caption,figcaption{font-size:var(--wp--preset--font-size--petit);line-height:var(--gp-interligne)}
figcaption{margin-top:var(--wp--preset--spacing--3)}
.gp-lead{font-size:var(--wp--preset--font-size--chapo);color:var(--wp--preset--color--secondaire);max-width:var(--gp-largeur-chapo);margin-top:var(--wp--preset--spacing--6)}
.gp-link{min-height:var(--gp-cible-tactile);display:inline-flex;align-items:center;gap:var(--wp--preset--spacing--3);padding-block:var(--wp--preset--spacing--2);color:var(--wp--preset--color--or-texte);text-decoration:underline;text-decoration-thickness:var(--gp-trait-fin);text-underline-offset:var(--wp--preset--spacing--1)}
.gp-link:hover{text-decoration-thickness:var(--gp-trait-actif);color:var(--wp--preset--color--encre)}
.gp-link:active{background:var(--wp--preset--color--sable)}
.gp-button{min-height:var(--gp-cible-tactile);display:inline-flex;align-items:center;justify-content:center;gap:var(--wp--preset--spacing--6);padding:var(--wp--preset--spacing--3) var(--wp--preset--spacing--5);border:var(--gp-trait-fin) solid var(--wp--preset--color--encre);background:var(--wp--preset--color--encre);color:var(--wp--preset--color--blanc-casse);font-size:var(--wp--preset--font-size--navigation);line-height:var(--gp-interligne-compact);font-weight:var(--gp-graisse-normale);text-align:center;transition:background var(--gp-duree),color var(--gp-duree)}
.gp-button:hover{background:var(--wp--preset--color--encre-survol)}
.gp-button:active{background:var(--wp--preset--color--or-texte);border-color:var(--wp--preset--color--or-texte)}
.gp-button-outline{background:transparent;color:var(--wp--preset--color--encre);border-color:var(--wp--preset--color--filet-sombre)}
.gp-button-outline:hover{background:var(--wp--preset--color--sable)}
.gp-button-outline:active{background:var(--wp--preset--color--encre);color:var(--wp--preset--color--blanc-casse)}
.gp-button-gold{background:var(--wp--preset--color--or-clair);color:var(--wp--preset--color--encre);border-color:var(--wp--preset--color--or-clair)}
.gp-button-gold:hover{background:var(--wp--preset--color--papier);border-color:var(--wp--preset--color--papier)}
.gp-button-gold:active{background:var(--wp--preset--color--blanc-casse);border-color:var(--wp--preset--color--blanc-casse)}
.gp-actions{display:flex;align-items:center;flex-wrap:wrap;gap:var(--wp--preset--spacing--6);margin-top:var(--wp--preset--spacing--8)}
.gp-phone-line{font-size:var(--wp--preset--font-size--corps);font-weight:var(--gp-graisse-forte)}
.gp-topline{background:var(--wp--preset--color--encre);color:var(--wp--preset--color--papier);text-align:center;padding:var(--wp--preset--spacing--2) var(--wp--preset--spacing--4);font-size:var(--wp--preset--font-size--petit);line-height:var(--gp-interligne-compact)}
.gp-site-header{position:sticky;top:0;z-index:var(--gp-niveau-entete);background:var(--wp--preset--color--papier);border-bottom:var(--gp-trait-fin) solid var(--wp--preset--color--filet)}
.gp-header-inner{min-height:var(--gp-hauteur-entete);display:flex;align-items:center;justify-content:space-between;gap:var(--wp--preset--spacing--4)}
.gp-logo{display:inline-flex;align-items:center;min-height:var(--gp-cible-tactile);flex-shrink:0}
.gp-logo img{width:var(--gp-largeur-entete-logo)}
.gp-desktop-nav{display:flex;gap:var(--wp--preset--spacing--4);align-items:center}
.gp-desktop-nav a{min-height:var(--gp-cible-tactile);display:flex;align-items:center;font-size:var(--wp--preset--font-size--navigation);position:relative;white-space:nowrap}
.gp-desktop-nav a:hover{color:var(--wp--preset--color--or-texte)}
.gp-desktop-nav a:active{background:var(--wp--preset--color--sable)}
.gp-desktop-nav a[aria-current=page]{color:var(--wp--preset--color--or-texte)}
.gp-desktop-nav a[aria-current=page]:after{content:'';position:absolute;inset:auto 0 0;height:var(--gp-trait-actif);background:var(--wp--preset--color--or-texte)}
.gp-header-actions{display:flex;align-items:center;gap:var(--wp--preset--spacing--4)}
.gp-mobile-tools,.gp-mobile-panel{display:none}
.gp-hero-home{padding-block:var(--wp--preset--spacing--16) var(--wp--preset--spacing--8)}
.gp-hero-grid{display:grid;grid-template-columns:1.08fr 1fr;align-items:center;gap:var(--wp--preset--spacing--12)}
.gp-hero-home h1{margin-block:var(--wp--preset--spacing--6)}
.gp-hero-home h1 em{color:var(--wp--preset--color--or-texte);font-weight:var(--gp-graisse-normale)}
.gp-hero-grid .gp-lead{max-width:var(--gp-largeur-chapo)}
.gp-provence-art{min-width:0;text-align:center}
.gp-art-arch{min-height:calc(var(--gp-hauteur-illustration) + var(--wp--preset--spacing--20));display:grid;place-items:center;border:var(--gp-trait-fin) solid var(--wp--preset--color--or-decor);border-radius:var(--gp-rayon-arche);padding:var(--wp--preset--spacing--10) var(--wp--preset--spacing--4)}
.gp-art-arch img{width:var(--gp-largeur-illustration);max-width:100%;mix-blend-mode:multiply}
.gp-hero-foot{display:flex;align-items:center;justify-content:space-between;gap:var(--wp--preset--spacing--6);border-top:var(--gp-trait-fin) solid var(--wp--preset--color--filet);padding-top:var(--wp--preset--spacing--6);margin-top:var(--wp--preset--spacing--12);font-size:var(--wp--preset--font-size--petit);color:var(--wp--preset--color--secondaire)}
.gp-hero-foot a{min-height:var(--gp-cible-tactile);display:flex;align-items:center;color:var(--wp--preset--color--or-texte)}
.gp-hero-foot a:hover{text-decoration:underline}
.gp-section-head{display:flex;align-items:end;justify-content:space-between;gap:var(--wp--preset--spacing--10);margin-bottom:var(--wp--preset--spacing--10)}
.gp-section-head h2{margin-top:var(--wp--preset--spacing--4);max-width:var(--gp-largeur-chapo)}
.gp-section-head>.gp-muted{max-width:calc(var(--gp-largeur-chapo) / 2)}
.gp-family-grid,.gp-three-grid,.gp-service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--wp--preset--spacing--8)}
.gp-two-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--wp--preset--spacing--8)}
.gp-family-card{border-top:var(--gp-trait-fin) solid var(--wp--preset--color--filet);padding-top:var(--wp--preset--spacing--5);display:block}
.gp-family-number{font-family:var(--wp--preset--font-family--titres);font-size:var(--wp--preset--font-size--numero);line-height:var(--gp-interligne-titre);color:var(--wp--preset--color--or-texte);display:block;margin-bottom:var(--wp--preset--spacing--5)}
.gp-family-card h3{margin-top:var(--wp--preset--spacing--6)}
.gp-family-card p{color:var(--wp--preset--color--secondaire);margin-top:var(--wp--preset--spacing--3)}
.gp-card-link{display:flex;align-items:center;min-height:var(--gp-cible-tactile);margin-top:var(--wp--preset--spacing--4);color:var(--wp--preset--color--or-texte);font-size:var(--wp--preset--font-size--navigation)}
.gp-family-card:hover .gp-card-link,.gp-service-card:hover .gp-card-link{text-decoration:underline}
.gp-family-card:hover,.gp-service-card:hover{background:var(--wp--preset--color--papier)}
.gp-family-card:active,.gp-service-card:active{background:var(--wp--preset--color--sable)}
.gp-ratio-4-3{aspect-ratio:var(--gp-grille-photo)}
.gp-ratio-3-2{aspect-ratio:var(--gp-grille-photo-large)}
.gp-ratio-16-9{aspect-ratio:var(--gp-grille-photo-panoramique)}
.gp-editorial,.gp-split{display:grid;grid-template-columns:1fr 1fr;gap:var(--wp--preset--spacing--20);align-items:center}
.gp-editorial h2,.gp-split h2{margin-top:var(--wp--preset--spacing--5)}
.gp-editorial p,.gp-split p{margin-top:var(--wp--preset--spacing--5)}
.gp-editorial .gp-eyebrow,.gp-split .gp-eyebrow{margin-top:0}
.gp-editorial .gp-link{margin-top:var(--wp--preset--spacing--6)}
.gp-process{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--wp--preset--spacing--12);list-style:none;padding:0;margin:var(--wp--preset--spacing--10) 0 0}
.gp-process li{border-top:var(--gp-trait-fin) solid var(--wp--preset--color--filet-sombre);padding-top:var(--wp--preset--spacing--5)}
.gp-process li>span{font-size:var(--wp--preset--font-size--numero);font-family:var(--wp--preset--font-family--titres);color:var(--wp--preset--color--or-clair)}
.gp-process h3{margin-block:var(--wp--preset--spacing--5) var(--wp--preset--spacing--4)}
.gp-contact-strip{padding-block:var(--wp--preset--spacing--16)}
.gp-cta-actions{display:flex;flex-direction:column;align-items:start;gap:var(--wp--preset--spacing--6);justify-self:end}
.gp-dark .gp-caption{color:var(--wp--preset--color--clair-secondaire)}
.gp-site-footer{padding-top:var(--wp--preset--spacing--16);padding-bottom:var(--wp--preset--spacing--8)}
.gp-footer-grid{display:grid;grid-template-columns:1fr .8fr 1.6fr;gap:var(--wp--preset--spacing--12)}
.gp-footer-grid ul{list-style:none;margin:var(--wp--preset--spacing--3) 0 var(--wp--preset--spacing--6);padding:0}
.gp-footer-grid a:not(.gp-logo){display:inline-flex;align-items:center;min-height:var(--gp-cible-tactile);font-size:var(--wp--preset--font-size--navigation)}
.gp-footer-grid a:hover,.gp-footer-bottom a:hover{color:var(--wp--preset--color--or-texte);text-decoration:underline}
.gp-footer-grid a:active,.gp-footer-bottom a:active{background:var(--wp--preset--color--sable)}
.gp-footer-services ul{columns:2;column-gap:var(--wp--preset--spacing--8)}
.gp-footer-services li{break-inside:avoid}
.gp-footer-name{margin-block:var(--wp--preset--spacing--5);font-size:var(--wp--preset--font-size--corps)}
address{font-style:normal;color:var(--wp--preset--color--secondaire);font-size:var(--wp--preset--font-size--navigation)}
.gp-footer-heading{font-family:var(--wp--preset--font-family--titres);font-size:var(--wp--preset--font-size--titre-pied);letter-spacing:normal;line-height:var(--gp-interligne-compact)}
.gp-footer-bottom{margin-top:var(--wp--preset--spacing--10);border-top:var(--gp-trait-fin) solid var(--wp--preset--color--filet);padding-top:var(--wp--preset--spacing--5);display:flex;align-items:center;justify-content:space-between;gap:var(--wp--preset--spacing--6);font-size:var(--wp--preset--font-size--petit)}
.gp-footer-bottom>div{display:flex;gap:var(--wp--preset--spacing--6);flex-wrap:wrap}
.gp-footer-bottom a{display:inline-flex;align-items:center;min-height:var(--gp-cible-tactile)}
.gp-breadcrumb{font-size:var(--wp--preset--font-size--petit);color:var(--wp--preset--color--secondaire);margin-bottom:var(--wp--preset--spacing--8)}
.gp-breadcrumb ol{list-style:none;padding:0;margin:0;display:flex;align-items:center;flex-wrap:wrap;gap:var(--wp--preset--spacing--2) var(--wp--preset--spacing--3)}
.gp-breadcrumb li{display:flex;align-items:center;gap:var(--wp--preset--spacing--3)}
.gp-breadcrumb li+li:before{content:'/';color:var(--wp--preset--color--secondaire)}
.gp-breadcrumb a{min-height:var(--gp-cible-tactile);display:inline-flex;align-items:center}
.gp-breadcrumb a:hover{color:var(--wp--preset--color--or-texte);text-decoration:underline}
.gp-breadcrumb a:active{background:var(--wp--preset--color--sable)}
.gp-page-intro{padding-block:var(--wp--preset--spacing--8) var(--wp--preset--spacing--16)}
.gp-page-intro h1{margin-top:var(--wp--preset--spacing--5)}
.gp-page-intro .gp-lead{max-width:var(--gp-largeur-chapo)}
.gp-family-section{padding-block:var(--wp--preset--spacing--16);border-top:var(--gp-trait-fin) solid var(--wp--preset--color--filet)}
.gp-family-section:nth-child(even){background:var(--wp--preset--color--blanc-casse)}
.gp-family-heading{display:flex;align-items:center;gap:var(--wp--preset--spacing--8);margin-bottom:var(--wp--preset--spacing--10)}
.gp-family-heading .gp-family-number{margin:0}
.gp-family-heading h2{margin-top:var(--wp--preset--spacing--3)}
.gp-service-card{padding:var(--wp--preset--spacing--6);border:var(--gp-trait-fin) solid var(--wp--preset--color--filet);display:block;min-height:var(--gp-cible-tactile)}
.gp-service-card h3{margin-top:var(--wp--preset--spacing--5)}
.gp-service-card p{color:var(--wp--preset--color--secondaire);margin-top:var(--wp--preset--spacing--4)}
.gp-article-narrow{max-width:var(--gp-largeur-article)}
.gp-article-narrow h2{margin-top:var(--wp--preset--spacing--5)}
.gp-article-narrow h3{margin-top:var(--wp--preset--spacing--8)}
.gp-service-intro{padding-block:var(--wp--preset--spacing--8) var(--wp--preset--spacing--12)}
.gp-service-heading{max-width:var(--gp-largeur-page)}
.gp-service-heading h1{font-size:var(--wp--preset--font-size--titre-1-service);max-width:calc(var(--gp-largeur-article) + var(--wp--preset--spacing--24));margin-top:var(--wp--preset--spacing--5)}
.gp-service-subtitle{font-family:var(--wp--preset--font-family--titres);font-size:var(--wp--preset--font-size--sous-titre);color:var(--wp--preset--color--or-texte);line-height:var(--gp-interligne-compact);margin-top:var(--wp--preset--spacing--5)}
.gp-service-intro figure{margin-top:var(--wp--preset--spacing--10)}
.gp-service-intro .gp-ratio-16-9{max-height:calc(var(--gp-hauteur-min-photo) * 3)}
.gp-article-layout{display:grid;grid-template-columns:var(--gp-largeur-sommaire) minmax(0,1fr);gap:var(--wp--preset--spacing--16);align-items:start}
.gp-article-toc{position:sticky;top:var(--gp-offset-ancre);align-self:start}
.gp-article-toc h2{font-size:var(--wp--preset--font-size--titre-sommaire);letter-spacing:normal}
.gp-article-toc ol{list-style:none;margin:var(--wp--preset--spacing--5) 0;padding:0}
.gp-article-toc a{min-height:var(--gp-cible-tactile);display:flex;align-items:center;gap:var(--wp--preset--spacing--3);font-size:var(--wp--preset--font-size--navigation);line-height:var(--gp-interligne-compact);border-bottom:var(--gp-trait-fin) solid var(--wp--preset--color--filet);padding-block:var(--wp--preset--spacing--3)}
.gp-article-toc a>span{color:var(--wp--preset--color--or-texte);font-family:var(--wp--preset--font-family--titres)}
.gp-article-toc a:hover{color:var(--wp--preset--color--or-texte);text-decoration:underline}
.gp-article-toc a:active{background:var(--wp--preset--color--sable)}
.gp-long-article{font-size:var(--wp--preset--font-size--article);line-height:var(--gp-interligne-article);min-width:0;max-width:var(--gp-largeur-article)}
.gp-article-section{padding-block:var(--wp--preset--spacing--8);border-top:var(--gp-trait-fin) solid var(--wp--preset--color--filet)}
.gp-article-section h2{font-size:var(--wp--preset--font-size--titre-3);line-height:var(--gp-interligne-compact);color:var(--wp--preset--color--encre);letter-spacing:normal}
.gp-article-section h2 span{color:var(--wp--preset--color--or-texte);margin-right:var(--wp--preset--spacing--2)}
.gp-article-section h3{font-size:var(--wp--preset--font-size--titre-sommaire);color:var(--wp--preset--color--encre);margin-top:var(--wp--preset--spacing--6);margin-bottom:var(--wp--preset--spacing--4)}
.gp-article-section p{margin-top:var(--wp--preset--spacing--5)}
.gp-article-section strong{color:var(--wp--preset--color--encre)}
.gp-article-section ul,.gp-article-section ol{padding-left:var(--wp--preset--spacing--6);margin-block:var(--wp--preset--spacing--5)}
.gp-article-section li{margin-top:var(--wp--preset--spacing--3)}
details>summary{list-style:none}
summary::-webkit-details-marker{display:none}
.gp-article-more{border-top:var(--gp-trait-fin) solid var(--wp--preset--color--filet);border-bottom:var(--gp-trait-fin) solid var(--wp--preset--color--filet);margin-top:var(--wp--preset--spacing--5)}
.gp-article-more>summary{display:flex;justify-content:space-between;align-items:center;gap:var(--wp--preset--spacing--5);min-height:var(--gp-cible-tactile);padding:var(--wp--preset--spacing--6) var(--wp--preset--spacing--4);background:var(--wp--preset--color--papier);color:var(--wp--preset--color--encre)}
.gp-article-more>summary strong{font-family:var(--wp--preset--font-family--titres);font-size:var(--wp--preset--font-size--titre-sommaire);font-weight:var(--gp-graisse-normale);display:block}
.gp-article-more>summary span>span{display:block;font-size:var(--wp--preset--font-size--petit);color:var(--wp--preset--color--secondaire);margin-top:var(--wp--preset--spacing--2)}
summary:hover{background:var(--wp--preset--color--sable)}
summary:active{background:var(--wp--preset--color--papier)}
.gp-plus{color:var(--wp--preset--color--or-texte);font-size:var(--wp--preset--font-size--symbole);flex-shrink:0;display:inline-block;transition:transform var(--gp-duree)}
details[open]>summary{border-bottom:var(--gp-trait-fin) solid var(--wp--preset--color--filet);background:var(--wp--preset--color--sable)}
details[open]>summary .gp-plus{transform:rotate(45deg)}
.gp-table-scroll{max-width:100%;overflow-x:auto;margin-block:var(--wp--preset--spacing--6);border:var(--gp-trait-fin) solid var(--wp--preset--color--filet)}
table{border-collapse:collapse;width:100%;min-width:var(--gp-largeur-tableau);font-size:var(--wp--preset--font-size--corps);color:var(--wp--preset--color--encre)}
caption{text-align:left;padding:var(--wp--preset--spacing--4);font-size:var(--wp--preset--font-size--petit);color:var(--wp--preset--color--secondaire);background:var(--wp--preset--color--papier)}
th,td{padding:var(--wp--preset--spacing--4);text-align:left;vertical-align:top;border-bottom:var(--gp-trait-fin) solid var(--wp--preset--color--filet);border-right:var(--gp-trait-fin) solid var(--wp--preset--color--filet)}
thead{background:var(--wp--preset--color--sable)}
th{font-weight:var(--gp-graisse-forte)}
tbody{background:var(--wp--preset--color--blanc-casse)}
.gp-advice{background:var(--wp--preset--color--sable);border-left:var(--gp-trait-actif) solid var(--wp--preset--color--or-decor);padding:var(--wp--preset--spacing--5);margin-top:var(--wp--preset--spacing--6)}
.gp-advice h3{margin-top:0}
.gp-advice.gp-avoid{border-color:var(--wp--preset--color--erreur)}
.gp-faq{max-width:var(--gp-largeur-article)}
.gp-faq details{border-top:var(--gp-trait-fin) solid var(--wp--preset--color--filet)}
.gp-faq details:last-child{border-bottom:var(--gp-trait-fin) solid var(--wp--preset--color--filet)}
.gp-faq summary{min-height:var(--gp-cible-tactile);padding:var(--wp--preset--spacing--5) var(--wp--preset--spacing--3);display:flex;align-items:center;justify-content:space-between;gap:var(--wp--preset--spacing--6);font-family:var(--wp--preset--font-family--titres);font-size:var(--wp--preset--font-size--titre-pied);line-height:var(--gp-interligne-compact)}
.gp-faq .gp-details-body{padding:var(--wp--preset--spacing--5) var(--wp--preset--spacing--3);color:var(--wp--preset--color--secondaire)}
.gp-contact-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.6fr);gap:var(--wp--preset--spacing--20);align-items:start}
.gp-contact-details h2,.gp-contact-form-wrap h2{font-size:var(--wp--preset--font-size--titre-3)}
.gp-contact-details dl{margin-block:var(--wp--preset--spacing--6);padding:0}
.gp-contact-details dt{font-size:var(--wp--preset--font-size--petit);color:var(--wp--preset--color--or-texte);margin-top:var(--wp--preset--spacing--5)}
.gp-contact-details dd{margin:var(--wp--preset--spacing--2) 0 0}
.gp-legal-section{padding-block:var(--wp--preset--spacing--6);border-top:var(--gp-trait-fin) solid var(--wp--preset--color--filet)}
.gp-legal-section h2{font-size:var(--wp--preset--font-size--titre-3)}
.gp-legal-section h3{font-size:var(--wp--preset--font-size--titre-sommaire)}
.gp-legal-section ul{padding-left:var(--wp--preset--spacing--6)}
.gp-not-found{padding-block:var(--wp--preset--spacing--24)}
.gp-not-found h1{margin-top:var(--wp--preset--spacing--6)}
.gp-not-found .gp-link{margin-top:var(--wp--preset--spacing--6)}
@media(max-width:1280px){
  .gp-desktop-nav{gap:var(--wp--preset--spacing--3)}
  .gp-header-actions{gap:var(--wp--preset--spacing--3)}
  .gp-header-inner .gp-desktop-nav{flex:1;justify-content:center}
}
@media(max-width:1100px){
  .gp-desktop-nav,.gp-header-actions{display:none}
  .gp-mobile-tools{display:flex;align-items:center;gap:var(--wp--preset--spacing--3)}
  .gp-call{display:flex;align-items:center;gap:var(--wp--preset--spacing--2);min-height:var(--gp-cible-tactile);font-size:var(--wp--preset--font-size--petit);padding:var(--wp--preset--spacing--2);border:var(--gp-trait-fin) solid var(--wp--preset--color--filet)}
  .gp-call svg{width:var(--wp--preset--spacing--5);height:var(--wp--preset--spacing--5);fill:none;stroke:var(--wp--preset--color--or-texte);stroke-width:var(--gp-trait-fin)}
  .gp-menu-button{min-height:var(--gp-cible-tactile);min-width:var(--gp-cible-tactile);padding:var(--wp--preset--spacing--2) var(--wp--preset--spacing--4);background:var(--wp--preset--color--papier);border:var(--gp-trait-fin) solid var(--wp--preset--color--filet-sombre);font-size:var(--wp--preset--font-size--navigation)}
  .gp-menu-button:hover{background:var(--wp--preset--color--sable)}
  .gp-menu-button:active,.gp-menu-button[aria-expanded=true]{background:var(--wp--preset--color--encre);color:var(--wp--preset--color--blanc-casse)}
  .gp-mobile-panel:not([hidden]){display:block;padding:var(--wp--preset--spacing--6) var(--gp-gouttiere);border-top:var(--gp-trait-fin) solid var(--wp--preset--color--filet);box-shadow:var(--gp-ombre-menu);max-height:calc(100dvh - var(--gp-hauteur-entete) - var(--wp--preset--spacing--10));overflow:auto;overscroll-behavior:contain}
  .gp-mobile-panel nav{display:flex;flex-direction:column;gap:var(--wp--preset--spacing--2)}
  .gp-mobile-panel nav>a:not(.gp-button){min-height:var(--gp-cible-tactile);padding:var(--wp--preset--spacing--3);border-bottom:var(--gp-trait-fin) solid var(--wp--preset--color--filet);font-size:var(--wp--preset--font-size--navigation)}
  .gp-mobile-panel nav>a:hover{background:var(--wp--preset--color--sable)}
  .gp-mobile-panel nav>a:active,.gp-mobile-panel nav>a[aria-current=page]{color:var(--wp--preset--color--or-texte);border-left:var(--gp-trait-actif) solid var(--wp--preset--color--or-texte);background:var(--wp--preset--color--sable)}
  .gp-mobile-panel .gp-muted{font-size:var(--wp--preset--font-size--petit);margin-top:var(--wp--preset--spacing--5)}
  .gp-editorial,.gp-split,.gp-contact-layout{gap:var(--wp--preset--spacing--10)}
  .gp-footer-grid{grid-template-columns:1fr 1fr;gap:var(--wp--preset--spacing--8)}
  .gp-footer-services{grid-column:1/-1}
  .gp-article-layout{gap:var(--wp--preset--spacing--8)}
}
@media(max-width:800px){
  .gp-hero-grid{grid-template-columns:1fr;gap:var(--wp--preset--spacing--10)}
  .gp-hero-grid>.gp-provence-art{max-width:var(--gp-largeur-chapo);width:100%;justify-self:center}
  .gp-hero-home h1{max-width:var(--gp-largeur-chapo)}
  .gp-family-grid,.gp-three-grid,.gp-service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .gp-family-grid>.gp-family-card:last-child{grid-column:1/-1}
  .gp-section-head{display:block}
  .gp-section-head>.gp-muted{max-width:var(--gp-largeur-chapo);margin-top:var(--wp--preset--spacing--5)}
  .gp-process{gap:var(--wp--preset--spacing--6)}
  .gp-article-layout{grid-template-columns:1fr;gap:var(--wp--preset--spacing--8)}
  .gp-article-toc{position:static}
  .gp-article-toc ol{display:grid;grid-template-columns:1fr 1fr;gap:0 var(--wp--preset--spacing--6)}
  .gp-long-article{max-width:100%}
  .gp-contact-layout{grid-template-columns:1fr}
  .gp-contact-details dl{display:grid;grid-template-columns:1fr 1fr;gap:var(--wp--preset--spacing--3)}
  .gp-contact-details dt{margin-top:0}
  .gp-contact-details dd{margin:0}
}
@media(max-width:600px){
  .gp-header-inner{gap:var(--wp--preset--spacing--2)}
  .gp-mobile-tools{gap:var(--wp--preset--spacing--2)}
  .gp-call{gap:var(--wp--preset--spacing--1);padding:var(--wp--preset--spacing--2) var(--wp--preset--spacing--1)}
  .gp-call svg{width:var(--wp--preset--spacing--4);height:var(--wp--preset--spacing--4)}
  .gp-menu-button{padding-inline:var(--wp--preset--spacing--3)}
  .gp-hero-home{padding-block:var(--wp--preset--spacing--10) var(--wp--preset--spacing--6)}
  .gp-hero-grid{gap:var(--wp--preset--spacing--8)}
  .gp-hero-home h1{margin-block:var(--wp--preset--spacing--5)}
  .gp-hero-foot{flex-direction:column;align-items:start;gap:var(--wp--preset--spacing--3);margin-top:var(--wp--preset--spacing--8)}
  .gp-actions{gap:var(--wp--preset--spacing--4);margin-top:var(--wp--preset--spacing--6)}
  .gp-family-grid,.gp-three-grid,.gp-two-grid,.gp-service-grid,.gp-editorial,.gp-split,.gp-process{grid-template-columns:1fr;gap:var(--wp--preset--spacing--8)}
  .gp-family-grid>.gp-family-card:last-child{grid-column:auto}
  .gp-family-heading{gap:var(--wp--preset--spacing--5)}
  .gp-family-heading h2{margin-top:var(--wp--preset--spacing--2)}
  .gp-service-card{padding:var(--wp--preset--spacing--5)}
  .gp-family-card p{max-width:100%}
  .gp-process li>span{font-size:var(--wp--preset--font-size--numero)}
  .gp-process h3{margin-block:var(--wp--preset--spacing--4) var(--wp--preset--spacing--3)}
  .gp-cta-actions{justify-self:start;margin-top:0}
  .gp-footer-grid{grid-template-columns:1fr;gap:var(--wp--preset--spacing--8)}
  .gp-footer-services{grid-column:auto}
  .gp-footer-services ul{columns:1}
  .gp-footer-bottom{flex-direction:column;align-items:start;gap:var(--wp--preset--spacing--4)}
  .gp-page-intro{padding-bottom:var(--wp--preset--spacing--10)}
  .gp-page-intro h1{margin-top:var(--wp--preset--spacing--4)}
  .gp-service-intro figure{margin-top:var(--wp--preset--spacing--8)}
  .gp-service-intro .gp-ratio-16-9{aspect-ratio:var(--gp-grille-photo);max-height:none}
  .gp-article-toc ol{grid-template-columns:1fr}
  .gp-article-section{padding-block:var(--wp--preset--spacing--6)}
  .gp-article-section h2{font-size:var(--wp--preset--font-size--titre-3)}
  .gp-article-section h3{font-size:var(--wp--preset--font-size--titre-pied)}
  .gp-article-more>summary{padding:var(--wp--preset--spacing--5) var(--wp--preset--spacing--3)}
  .gp-article-more>summary strong{font-size:var(--wp--preset--font-size--titre-pied)}
  .gp-table-scroll{margin-inline:0}
  th,td{padding:var(--wp--preset--spacing--3)}
  .gp-contact-strip{padding-block:var(--wp--preset--spacing--12)}
  .gp-not-found{padding-block:var(--wp--preset--spacing--16)}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .gp-button,.gp-plus{transition:none}
}
.gp-external-icon{width:var(--wp--preset--spacing--4);height:var(--wp--preset--spacing--4);display:inline-block;vertical-align:middle;fill:none;stroke:currentColor;stroke-width:var(--gp-trait-fin);margin-left:var(--wp--preset--spacing--2)}
.gp-logo{position:relative}

/* Ajouts propres au thème WordPress. */

/* La zone de l'en-tête ne crée pas de boîte : l'en-tête reste collant sur toute la page. */
.gp-entete-zone { display: contents; }

/* Logo typographique (en attendant le SVG, questions-design 2). */
.gp-logo { flex-direction: column; justify-content: center; text-align: center; line-height: 1.1; color: var(--wp--preset--color--encre); }
.gp-logo-groupe, .gp-logo-metier { font-size: var(--wp--preset--font-size--petit); letter-spacing: 0.3em; text-transform: uppercase; }
.gp-logo-groupe { color: var(--wp--preset--color--or-texte); font-weight: var(--gp-graisse-forte); }
.gp-logo-nom { font-family: var(--wp--preset--font-family--titres); font-size: 1.75rem; letter-spacing: 0.04em; text-transform: uppercase; margin-block: var(--wp--preset--spacing--1); }
.gp-logo-metier { letter-spacing: 0.12em; }
.gp-logo:hover .gp-logo-nom { color: var(--wp--preset--color--or-texte); }

/* Téléphone de l'en-tête (ordinateur). */
.gp-header-actions .gp-telephone { display: inline-flex; align-items: center; min-height: var(--gp-cible-tactile); font-size: var(--wp--preset--font-size--navigation); font-weight: var(--gp-graisse-forte); }
.gp-header-actions .gp-telephone:hover { color: var(--wp--preset--color--or-texte); text-decoration: underline; }

/* Bouton d'appel (mobile). */
@media (max-width: 1100px) {
	.gp-call:hover { background: var(--wp--preset--color--sable); }
	.gp-call:active { background: var(--wp--preset--color--encre); color: var(--wp--preset--color--blanc-casse); }
}
@media (max-width: 600px) {
	.gp-call { min-width: var(--gp-cible-tactile); justify-content: center; }
	.gp-call-numero { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
	.gp-call svg { width: var(--wp--preset--spacing--5); height: var(--wp--preset--spacing--5); }
	.gp-logo-nom { font-size: 1.375rem; }
	.gp-logo-metier { display: none; }
}

/* Pied de page : liens d'appel et e-mail. */
.gp-site-footer address a { display: inline-flex; align-items: center; min-height: var(--gp-cible-tactile); }
.gp-site-footer address a:hover { color: var(--wp--preset--color--or-texte); text-decoration: underline; }
.gp-mentions { color: var(--wp--preset--color--secondaire); }

/* Bandeau d'appel au devis : téléphone. */
.gp-cta-actions .gp-phone-line a { display: inline-flex; align-items: center; min-height: var(--gp-cible-tactile); color: var(--wp--preset--color--papier); }
.gp-cta-actions .gp-phone-line a:hover { text-decoration: underline; }

/* Contenu courant des pages (textes, pages légales) : espacement et liens visibles. */
.gp-prose { max-width: var(--gp-largeur-article); }
.gp-prose > * + * { margin-top: var(--wp--preset--spacing--5); }
.gp-prose h2 { font-size: var(--wp--preset--font-size--titre-3); letter-spacing: normal; margin-top: var(--wp--preset--spacing--10); }
.gp-prose h3 { font-size: var(--wp--preset--font-size--titre-sommaire); margin-top: var(--wp--preset--spacing--8); }
.gp-prose ul, .gp-prose ol { padding-left: var(--wp--preset--spacing--6); }
.gp-prose a, .gp-lead a { color: var(--wp--preset--color--or-texte); text-decoration: underline; text-underline-offset: var(--wp--preset--spacing--1); }
.gp-prose a:hover { color: var(--wp--preset--color--encre); }

/* Liste de résultats (recherche, archives). */
.gp-liste { list-style: none; padding: 0; margin: 0; max-width: var(--gp-largeur-article); }
.gp-liste li { border-top: var(--gp-trait-fin) solid var(--wp--preset--color--filet); padding-block: var(--wp--preset--spacing--6); }
.gp-liste h2 { font-size: var(--wp--preset--font-size--titre-3); letter-spacing: normal; }
.gp-liste h2 a:hover { color: var(--wp--preset--color--or-texte); text-decoration: underline; }

/* Texte réservé aux lecteurs d'écran (mention « nouvelle fenêtre » de gp-core) : défini plus haut (.screen-reader-text). */

/* Zone de texte des pages (page.html, index.html). */
.gp-page-texte { padding-bottom: var(--wp--preset--spacing--20); }

/* Pied : sans le nom en double (logo typographique), espace entre logo et coordonnées. */
.gp-site-footer address { margin-top: var(--wp--preset--spacing--5); }

/* Panneau mobile : téléphone et e-mail en cibles de 44 px. */
.gp-mobile-panel .gp-muted a { display: inline-flex; align-items: center; min-height: var(--gp-cible-tactile); }
.gp-mobile-panel .gp-muted a:hover { color: var(--wp--preset--color--or-texte); text-decoration: underline; }

/* ===== Pages et prestations (BRIEF-02, 2/2) ===== */

/* Accueil : accroche du héros. */
.gp-hero-accroche { font-family: var(--wp--preset--font-family--titres); font-style: italic; font-size: var(--wp--preset--font-size--sous-titre); line-height: var(--gp-interligne-compact); color: var(--wp--preset--color--or-texte); margin-top: calc(-1 * var(--wp--preset--spacing--2)); }

/* En-têtes de section simples et sections de texte (titre à gauche, texte à droite). */
.gp-section-head-simple { margin-bottom: var(--wp--preset--spacing--10); max-width: var(--gp-largeur-chapo); }
.gp-section-head-simple h2 { margin-top: var(--wp--preset--spacing--4); }
.gp-split-texte { align-items: start; }
.gp-split-texte .gp-section-titre h2 { margin-top: var(--wp--preset--spacing--4); }
.gp-split-texte .gp-section-texte { max-width: none; }
.gp-split-texte .gp-section-texte > :first-child { margin-top: 0; }
.gp-section-texte .gp-prose, .gp-section-texte { color: var(--wp--preset--color--encre); }

/* Cartes de contenu (« Bon à savoir »). */
.gp-content-card { border-top: var(--gp-trait-fin) solid var(--wp--preset--color--filet); padding-top: var(--wp--preset--spacing--6); }
.gp-content-card h3 { font-size: var(--wp--preset--font-size--titre-sommaire); }
.gp-content-card p { color: var(--wp--preset--color--secondaire); margin-top: var(--wp--preset--spacing--3); }

/* Cartes de prestation (Nos métiers, prestations liées). */
.gp-service-card h3 { margin-top: 0; }
.gp-family-heading .gp-muted { margin-top: var(--wp--preset--spacing--2); }

/* Prestation : photo à la une (seulement si elle existe). */
.gp-service-photo { margin-top: var(--wp--preset--spacing--10); }
.gp-service-photo img { width: 100%; object-fit: cover; max-height: calc(var(--gp-hauteur-min-photo) * 3); }
.gp-service-intro .gp-actions .gp-phone-line { font-weight: var(--gp-graisse-forte); color: var(--wp--preset--color--encre); }

/* Guide replié : intitulé, sommaire dans le bloc, article. */
.gp-article-more > summary .gp-summary-texte > span { display: block; font-size: var(--wp--preset--font-size--petit); color: var(--wp--preset--color--secondaire); margin-top: var(--wp--preset--spacing--2); }
.gp-article-more .gp-article-layout { padding-block: var(--wp--preset--spacing--10) var(--wp--preset--spacing--8); padding-inline: var(--wp--preset--spacing--4); }
.gp-article-toc { max-height: calc(100vh - var(--gp-offset-ancre) - var(--wp--preset--spacing--8)); overflow-y: auto; overscroll-behavior: contain; }
.gp-toc-titre { font-family: var(--wp--preset--font-family--titres); font-size: var(--wp--preset--font-size--titre-sommaire); line-height: var(--gp-interligne-compact); }
.gp-article-toc > ol { counter-reset: gp-sommaire; }
.gp-article-toc > ol > li { counter-increment: gp-sommaire; }
.gp-article-toc > ol > li > a::before { content: counter(gp-sommaire, decimal-leading-zero); color: var(--wp--preset--color--or-texte); font-family: var(--wp--preset--font-family--titres); flex-shrink: 0; }
.gp-article-toc ol ol { list-style: none; margin: 0; padding: 0 0 0 var(--wp--preset--spacing--8); }
.gp-article-toc ol ol a { font-size: var(--wp--preset--font-size--petit); color: var(--wp--preset--color--secondaire); border-bottom-style: dotted; }
.gp-long-article { counter-reset: gp-partie; color: var(--wp--preset--color--encre); }
.gp-long-article h2 { counter-increment: gp-partie; font-size: var(--wp--preset--font-size--titre-3); line-height: var(--gp-interligne-compact); letter-spacing: normal; border-top: var(--gp-trait-fin) solid var(--wp--preset--color--filet); padding-top: var(--wp--preset--spacing--8); margin-top: var(--wp--preset--spacing--8); }
.gp-long-article h2:first-child { border-top: 0; padding-top: 0; margin-top: 0; }
.gp-long-article h2::before { content: counter(gp-partie, decimal-leading-zero); color: var(--wp--preset--color--or-texte); margin-right: var(--wp--preset--spacing--3); }
.gp-long-article h3 { font-size: var(--wp--preset--font-size--titre-sommaire); margin-top: var(--wp--preset--spacing--8); }
.gp-long-article p { margin-top: var(--wp--preset--spacing--5); }
.gp-long-article ul, .gp-long-article ol { padding-left: var(--wp--preset--spacing--6); margin-block: var(--wp--preset--spacing--5); }
.gp-long-article li { margin-top: var(--wp--preset--spacing--3); }
.gp-long-article a { color: var(--wp--preset--color--or-texte); text-decoration: underline; text-underline-offset: var(--wp--preset--spacing--1); }
.gp-long-article a:hover { color: var(--wp--preset--color--encre); text-decoration-thickness: var(--gp-trait-actif); }
.gp-long-article .gp-advice h3 { margin-top: 0; font-size: var(--wp--preset--font-size--titre-pied); }
.gp-long-article .gp-advice p { margin-top: var(--wp--preset--spacing--2); }

/* Tableaux (bloc Tableau de WordPress dans le guide) : défilement horizontal sur mobile. */
.gp-long-article .gp-table-scroll { max-width: 100%; overflow-x: auto; margin-block: var(--wp--preset--spacing--6); border: var(--gp-trait-fin) solid var(--wp--preset--color--filet); }
.gp-long-article .gp-table-scroll table { min-width: var(--gp-largeur-tableau); font-size: var(--wp--preset--font-size--corps); line-height: var(--gp-interligne-compact); }
.gp-long-article .gp-table-scroll thead { border-bottom: 0; background: var(--wp--preset--color--sable); }
.gp-long-article .gp-table-scroll th, .gp-long-article .gp-table-scroll td { border: 0; border-bottom: var(--gp-trait-fin) solid var(--wp--preset--color--filet); border-right: var(--gp-trait-fin) solid var(--wp--preset--color--filet); padding: var(--wp--preset--spacing--4); text-align: left; vertical-align: top; }

/* FAQ (blocs Détails). */
.gp-faq .gp-faq-item > summary::after { content: '+'; color: var(--wp--preset--color--or-texte); font-family: var(--wp--preset--font-family--corps); font-size: var(--wp--preset--font-size--symbole); flex-shrink: 0; transition: transform var(--gp-duree); }
.gp-faq .gp-faq-item[open] > summary::after { transform: rotate(45deg); }
.gp-faq .gp-faq-item > :not(summary) { padding-inline: var(--wp--preset--spacing--3); color: var(--wp--preset--color--secondaire); margin-top: var(--wp--preset--spacing--4); }
.gp-faq .gp-faq-item > :last-child { margin-bottom: var(--wp--preset--spacing--5); }

/* Contact. */
.gp-contact-details dd a { display: inline-flex; align-items: center; min-height: var(--gp-cible-tactile); }
.gp-contact-details dd a:hover { color: var(--wp--preset--color--or-texte); text-decoration: underline; }
.gp-contact-form-wrap h2 { margin-top: 0; }

@media (max-width: 600px) {
	.gp-long-article h3 { font-size: var(--wp--preset--font-size--titre-pied); }
	.gp-article-more .gp-article-layout { padding-inline: 0; }
	.gp-article-toc { max-height: none; }
	.gp-long-article .gp-table-scroll th, .gp-long-article .gp-table-scroll td { padding: var(--wp--preset--spacing--3); }
}
@media (prefers-reduced-motion: reduce) { .gp-faq .gp-faq-item > summary::after { transition: none; } }
.gp-long-article .gp-advice .gp-advice-titre { margin-top: 0; font-family: var(--wp--preset--font-family--titres); font-size: var(--wp--preset--font-size--titre-pied); }
.gp-coordonnees dt { font-size: var(--wp--preset--font-size--petit); color: var(--wp--preset--color--or-texte); margin-top: var(--wp--preset--spacing--4); }
.gp-coordonnees dd { margin: var(--wp--preset--spacing--1) 0 0; }
.gp-coordonnees dd a { display: inline-flex; align-items: center; min-height: var(--gp-cible-tactile); }
.gp-coordonnees dd a:hover { color: var(--wp--preset--color--or-texte); text-decoration: underline; }

/* Flèches des liens de cartes et du pied de héros : espace avant la flèche (conteneurs flex). */
.gp-card-link, .gp-hero-foot a { gap: var(--wp--preset--spacing--2); }

/* ===== Sous-menu « Nos métiers » (décision du 13/10/2026) ===== */
.gp-nav-item { position: relative; display: flex; align-items: center; }
.gp-desktop-nav .gp-nav-item > a[aria-current] { color: var(--wp--preset--color--or-texte); }
.gp-desktop-nav .gp-nav-item > a[aria-current]::after { content: ''; position: absolute; inset: auto 0 0; height: var(--gp-trait-actif); background: var(--wp--preset--color--or-texte); }
.gp-sub-toggle { display: inline-flex; align-items: center; justify-content: center; min-width: var(--gp-cible-tactile); min-height: var(--gp-cible-tactile); padding: 0; background: transparent; border: 0; color: var(--wp--preset--color--encre); }
.gp-sub-toggle svg { width: 0.75rem; height: 0.5rem; fill: none; stroke: currentColor; stroke-width: 1.5; transition: transform var(--gp-duree); }
.gp-sub-toggle:hover { color: var(--wp--preset--color--or-texte); }
.gp-sub-toggle[aria-expanded="true"] svg { transform: rotate(180deg); }
.gp-sub-menu:not([hidden]) { display: block; }
.gp-sub-famille { font-size: var(--wp--preset--font-size--petit); line-height: var(--gp-interligne-compact); letter-spacing: var(--gp-approche-surtitre); text-transform: uppercase; font-weight: var(--gp-graisse-forte); color: var(--wp--preset--color--or-texte); margin-bottom: var(--wp--preset--spacing--2); }
.gp-sub-menu ul { list-style: none; margin: 0; padding: 0; }
.gp-sub-menu a { display: flex; align-items: center; min-height: var(--gp-cible-tactile); font-size: var(--wp--preset--font-size--navigation); line-height: var(--gp-interligne-compact); }
.gp-sub-menu a:hover { color: var(--wp--preset--color--or-texte); text-decoration: underline; }
.gp-sub-menu a[aria-current] { color: var(--wp--preset--color--or-texte); }
.gp-desktop-nav .gp-sub-menu a { white-space: normal; position: static; }
.gp-desktop-nav .gp-sub-menu a[aria-current]::after { content: none; }
.gp-sub-tout { color: var(--wp--preset--color--or-texte); gap: var(--wp--preset--spacing--2); border-top: var(--gp-trait-fin) solid var(--wp--preset--color--filet); margin-top: var(--wp--preset--spacing--4); padding-top: var(--wp--preset--spacing--2); }

/* Ordinateur : panneau sous l'entrée, 3 colonnes (une par famille). */
.gp-desktop-nav .gp-sub-menu { position: absolute; top: 100%; left: 50%; transform: translateX(-50%); width: min(46rem, 90vw); padding: var(--wp--preset--spacing--6); background: var(--wp--preset--color--papier); border: var(--gp-trait-fin) solid var(--wp--preset--color--filet); box-shadow: var(--gp-ombre-menu); z-index: 1; }
.gp-desktop-nav .gp-sub-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--wp--preset--spacing--6); }

/* Mobile : entrée sur une ligne (lien + bouton), sous-menu déplié dessous. */
.gp-mobile-panel .gp-nav-item { flex-wrap: wrap; border-bottom: var(--gp-trait-fin) solid var(--wp--preset--color--filet); }
.gp-mobile-panel .gp-nav-item > a { flex: 1; display: flex; align-items: center; min-height: var(--gp-cible-tactile); padding: var(--wp--preset--spacing--3); font-size: var(--wp--preset--font-size--navigation); }
.gp-mobile-panel .gp-nav-item > a:hover { background: var(--wp--preset--color--sable); }
.gp-mobile-panel .gp-nav-item > a[aria-current] { color: var(--wp--preset--color--or-texte); border-left: var(--gp-trait-actif) solid var(--wp--preset--color--or-texte); background: var(--wp--preset--color--sable); }
.gp-mobile-panel .gp-sub-menu { flex-basis: 100%; padding: 0 var(--wp--preset--spacing--3) var(--wp--preset--spacing--4) var(--wp--preset--spacing--6); }
.gp-mobile-panel .gp-sub-col + .gp-sub-col { margin-top: var(--wp--preset--spacing--4); }
@media (prefers-reduced-motion: reduce) { .gp-sub-toggle svg { transition: none; } }

/* Visuels (gp-core [gp_visuel], images à la une) : cadrage par le ratio de la maquette, sujet centré. */
.gp-visuel { width: 100%; object-fit: cover; }
.gp-family-card .gp-visuel { margin-bottom: var(--wp--preset--spacing--2); }
.gp-editorial:not(:has(> .gp-visuel-figure)) { grid-template-columns: 1fr; }
.gp-editorial .gp-section-texte > :first-child { margin-top: 0; }
@media (max-width: 800px) and (min-width: 601px) {
  .gp-family-grid > .gp-family-card:last-child .gp-visuel { aspect-ratio: var(--gp-grille-photo-panoramique); }
}
.gp-editorial .gp-prose { margin-top: var(--wp--preset--spacing--5); }

/* Formulaire de devis (Fluent Forms, styles du plugin retirés par gp-core) : champs de la maquette (contact). */
.gp-devis { margin-top: var(--wp--preset--spacing--12); }
.gp-devis h2 { margin-top: 0; }
.gp-devis .frm-fluent-form { margin-top: var(--wp--preset--spacing--6); }
.gp-devis .frm-fluent-form fieldset { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: var(--wp--preset--spacing--6); row-gap: var(--wp--preset--spacing--5); }
.gp-devis .frm-fluent-form .ff-el-group { grid-column: 1 / -1; margin: 0; }
.gp-devis .frm-fluent-form .ff-el-group.gp-champ-demi { grid-column: auto; }
.gp-devis .frm-fluent-form .ff-el-group.ff-custom_html { outline: none; }
.gp-form-mention, .gp-devis .frm-fluent-form .ff-el-help-message { font-size: var(--wp--preset--font-size--petit); line-height: var(--gp-interligne); color: var(--wp--preset--color--secondaire); }
.gp-devis .frm-fluent-form .ff-el-help-message { margin-top: var(--wp--preset--spacing--2); }
.gp-devis .frm-fluent-form .ff-el-input--label label { display: block; margin-bottom: var(--wp--preset--spacing--2); }
.gp-devis .frm-fluent-form .ff-el-is-required.asterisk-right label::after { content: " *"; color: var(--wp--preset--color--or-texte); }
.gp-devis .frm-fluent-form .ff-el-form-control { width: 100%; min-height: var(--gp-cible-tactile); border: var(--gp-trait-fin) solid var(--wp--preset--color--filet-sombre); border-radius: var(--gp-rayon); padding: var(--wp--preset--spacing--3) var(--wp--preset--spacing--4); background: var(--wp--preset--color--blanc-casse); color: var(--wp--preset--color--encre); font: inherit; line-height: var(--gp-interligne-compact); }
.gp-devis .frm-fluent-form textarea.ff-el-form-control { resize: vertical; }
.gp-devis .frm-fluent-form .ff-el-form-control:hover { border-color: var(--wp--preset--color--or-texte); }
.gp-devis .frm-fluent-form .ff-el-form-control:focus-visible, .gp-devis .frm-fluent-form .ff-el-form-check-input:focus-visible { outline: var(--gp-trait-focus) solid var(--wp--preset--color--or-texte); outline-offset: var(--gp-offset-focus); }
.gp-devis .frm-fluent-form .ff-el-form-control[aria-invalid="true"] { border: var(--gp-trait-actif) solid var(--wp--preset--color--erreur); background: var(--wp--preset--color--erreur-fond); }
.gp-devis .frm-fluent-form .text-danger, .gp-devis .frm-fluent-form .error { color: var(--wp--preset--color--erreur); font-size: var(--wp--preset--font-size--petit); margin-top: var(--wp--preset--spacing--2); }
.gp-devis .frm-fluent-form .ff-el-tc label { display: flex; align-items: flex-start; gap: var(--wp--preset--spacing--3); min-height: var(--gp-cible-tactile); padding-block: var(--wp--preset--spacing--2); cursor: pointer; }
.gp-devis .frm-fluent-form .ff-el-tc label:hover { background: var(--wp--preset--color--papier); }
.gp-devis .frm-fluent-form .ff-el-form-check-input { width: var(--wp--preset--spacing--6); height: var(--wp--preset--spacing--6); margin: var(--wp--preset--spacing--1) 0 0; accent-color: var(--wp--preset--color--encre); }
.gp-devis .frm-fluent-form .ff_t_c { font-size: var(--wp--preset--font-size--petit); line-height: var(--gp-interligne); }
.gp-devis .frm-fluent-form .ff-el-is-error .ff-el-tc label { outline: var(--gp-trait-actif) solid var(--wp--preset--color--erreur); outline-offset: var(--wp--preset--spacing--1); }
.gp-devis .frm-fluent-form .ff_submit_btn_wrapper { margin-top: var(--wp--preset--spacing--3); }
.gp-devis .frm-fluent-form .ff-btn-submit { cursor: pointer; font-family: inherit; }
.gp-devis .frm-fluent-form .ff-btn-submit:disabled, .gp-devis .frm-fluent-form .ff-working .ff-btn-submit { opacity: 0.7; cursor: wait; }
.gp-devis .ff-errors-in-stack:not(:empty) { margin-top: var(--wp--preset--spacing--5); color: var(--wp--preset--color--erreur); }
.gp-devis .ff-message-success { border: var(--gp-trait-actif) solid var(--wp--preset--color--succes); background: var(--wp--preset--color--succes-fond); color: var(--wp--preset--color--succes); padding: var(--wp--preset--spacing--6); margin-top: var(--wp--preset--spacing--6); }
@media (max-width: 600px) {
  .gp-devis .frm-fluent-form fieldset { grid-template-columns: 1fr; }
}
.gp-contact-details dd a { color: var(--wp--preset--color--or-texte); text-decoration: underline; text-underline-offset: var(--wp--preset--spacing--1); }
.gp-contact-details dd a:hover { color: var(--wp--preset--color--encre); }
