/* ============================================================
   AG Gwen — COUCHE « SIGNATURE » éditoriale (magazine)
   Chargée après premium.css : donne au site une identité forte
   et unique (typo serif géante, hero éditorial, tampon rotatif,
   bandeau défilant, vagues, grain, révélations au scroll).
   Tout est scopé au thème Gwen (body.ag-dm-premium-active).
   ============================================================ */

:root{
	--sig-green:#1a5e3a;
	--sig-green-2:#2f8552;
	--sig-green-soft:#8fd0a3;
	--sig-gold:#c9a36b;
	--sig-gold-2:#e6c78a;
	--sig-cream:#f6f1e4;
	--sig-ink:#12160f;
}

/* ---------- Grain global (texture premium) ---------- */
body.ag-dm-premium-active::after{
	content:"";position:fixed;inset:0;pointer-events:none;z-index:9998;opacity:.045;mix-blend-mode:overlay;
	background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

/* ============================================================
   HERO ÉDITORIAL
   ============================================================ */
body.ag-dm-premium-active .ag-hero-pro{
	text-align:left!important;justify-content:flex-start!important;
	min-height:88vh!important;padding:120px 6vw 0!important;overflow:hidden;
}
body.ag-dm-premium-active .ag-hero-pro .ag-container{max-width:1280px!important;width:100%;margin:0 auto}
body.ag-dm-premium-active .ag-hero-inner{max-width:820px;position:relative;z-index:3}

/* eyebrow doré */
.ag-hero-eyebrow{display:inline-flex;align-items:center;gap:10px;font-weight:800;letter-spacing:.2em;text-transform:uppercase;font-size:.72rem;color:var(--sig-gold-2);background:rgba(201,163,107,.12);border:1px solid rgba(201,163,107,.45);padding:9px 18px;border-radius:100px;margin-bottom:26px}
.ag-hero-eyebrow::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--sig-gold)}

/* titre géant serif */
body.ag-dm-premium-active .ag-hero-pro__title{
	font-family:"Fraunces",Georgia,serif!important;font-weight:600!important;
	font-size:clamp(2.9rem,7vw,5.8rem)!important;line-height:.98!important;letter-spacing:-.02em!important;
	color:var(--sig-cream)!important;text-shadow:0 2px 30px rgba(0,0,0,.45);margin:0 0 10px!important;text-wrap:balance;
}
body.ag-dm-premium-active .ag-hero-pro__title em{
	font-family:"Fraunces",Georgia,serif!important;font-style:italic!important;font-weight:500!important;
	color:var(--sig-green-soft)!important;display:block!important;
}
/* mot surligné « pinceau » (bat la règle .ag-hero-pro__title span du thème) */
body.ag-dm-premium-active .ag-hero-pro__title span.ag-brush{
	position:relative;white-space:nowrap;color:#fff!important;display:inline-block;
	border-bottom:none!important;padding-bottom:0!important;
}
body.ag-dm-premium-active .ag-hero-pro__title span.ag-brush::after{content:"";position:absolute;left:-.06em;right:-.06em;bottom:.05em;height:.4em;z-index:-1;
	background:linear-gradient(120deg,var(--sig-green),var(--sig-green-2));border-radius:.4em .5em .42em .4em;transform:rotate(-1.4deg)}

body.ag-dm-premium-active .ag-hero-pro__subtitle{
	text-align:left!important;margin:24px 0 34px 0!important;max-width:40ch!important;
	font-size:clamp(1.05rem,2.2vw,1.28rem)!important;color:#dcd6c5!important;line-height:1.55!important;
}

/* actions : bouton (à gauche) + téléphone */
.ag-hero-actions{display:flex;align-items:center;gap:26px;flex-wrap:wrap}
body.ag-dm-premium-active .ag-hero-tel{color:#fff!important;text-decoration:none!important;font-weight:900;font-size:1.32rem;display:inline-flex;flex-direction:column;line-height:1.1;letter-spacing:.02em}
body.ag-dm-premium-active .ag-hero-tel small{font-size:.7rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--sig-green-soft)!important;margin-bottom:2px}
body.ag-dm-premium-active .ag-hero-tel:hover{color:var(--sig-green-soft)!important}

/* stats hero à gauche */
body.ag-dm-premium-active .ag-hero-stats{justify-content:flex-start!important;margin-top:40px!important;gap:40px!important}

/* tampon rotatif */
.ag-hero-stamp{position:absolute;right:5vw;bottom:130px;width:172px;height:172px;z-index:4;pointer-events:none}
.ag-hero-stamp__spin{position:absolute;inset:0;animation:agSpin 24s linear infinite}
.ag-hero-stamp__mid{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}
.ag-hero-stamp__mid b{font-family:"Fraunces",serif;font-size:2.2rem;color:var(--sig-gold-2);line-height:.85}
.ag-hero-stamp__mid span{font-size:.6rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--sig-cream)}
@keyframes agSpin{to{transform:rotate(360deg)}}
@media(max-width:900px){.ag-hero-stamp{display:none}}

/* vague bas de hero */
.ag-hero-wave{position:absolute;left:0;right:0;bottom:-1px;z-index:3;line-height:0}
.ag-hero-wave svg{width:100%;height:clamp(50px,7vw,90px);display:block}

/* ============================================================
   BANDEAU DÉFILANT (marquee)
   ============================================================ */
.ag-mq{background:var(--sig-green);overflow:hidden;padding:18px 0;border-top:2px solid rgba(201,163,107,.5);border-bottom:2px solid rgba(201,163,107,.2)}
.ag-mq__track{display:flex;width:max-content;animation:agMarquee 34s linear infinite}
.ag-mq__group{display:inline-flex;align-items:center;gap:46px;padding-right:46px}
.ag-mq__group span{font-family:"Fraunces",serif;font-style:italic;font-size:clamp(1.1rem,2.4vw,1.5rem);color:var(--sig-cream);white-space:nowrap}
.ag-mq__group b{color:var(--sig-gold-2);font-style:normal}
.ag-mq:hover .ag-mq__track{animation-play-state:paused}
@keyframes agMarquee{to{transform:translateX(-50%)}}

/* ============================================================
   TITRES DE SECTION — géants, éditoriaux (magazine)
   ============================================================ */
body.ag-dm-premium-active .ag-services-grid-title,
body.ag-dm-premium-active .ag-gwenwhy__title,
body.ag-dm-premium-active .ag-gwengal__title{
	font-family:"Fraunces",Georgia,serif!important;font-weight:600!important;
	font-size:clamp(2.1rem,5vw,3.6rem)!important;line-height:1.02!important;letter-spacing:-.015em!important;
}
/* kicker doré au-dessus des titres de sections claires */
body.ag-dm-premium-active .ag-services-grid-header::before,
body.ag-dm-premium-active .ag-howit-wrap .ag-services-grid-header::before,
body.ag-dm-premium-active .ag-testi-wrap .ag-services-grid-header::before,
body.ag-dm-premium-active .ag-faq-wrap .ag-services-grid-header::before{
	content:"✦ Gwen Services";display:block;font-family:"Nunito Sans",sans-serif;font-weight:800;
	letter-spacing:.22em;text-transform:uppercase;font-size:.72rem;color:var(--sig-gold);margin-bottom:14px;
}
/* filet doré fin sous les titres clairs */
body.ag-dm-premium-active .ag-services-grid-title span,
body.ag-dm-premium-active .ag-services-grid-title em{color:var(--sig-green)!important;font-style:italic}

/* ============================================================
   RÉVÉLATIONS AU SCROLL (JS ajoute .is-in)
   ============================================================ */
/* évite tout scroll horizontal pendant les glissements (n'affecte pas le sticky) */
body.ag-dm-premium-active{overflow-x:clip}
body.ag-dm-premium-active [data-sig-reveal]{opacity:0;will-change:transform,opacity;transition:opacity .85s cubic-bezier(.2,.7,.2,1),transform .85s cubic-bezier(.2,.7,.2,1)}
body.ag-dm-premium-active [data-sig-reveal="up"]{transform:translateY(46px)}
body.ag-dm-premium-active [data-sig-reveal="left"]{transform:translateX(-64px)}
body.ag-dm-premium-active [data-sig-reveal="right"]{transform:translateX(64px)}
body.ag-dm-premium-active [data-sig-reveal="scale"]{transform:scale(.9)}
body.ag-dm-premium-active [data-sig-reveal].is-in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){
	body.ag-dm-premium-active [data-sig-reveal]{opacity:1!important;transform:none!important;transition:none!important}
	.ag-hero-stamp__spin,.ag-mq__track{animation:none!important}
}

/* ============================================================
   VAGUES entre sections (insérées par signature.js)
   ============================================================ */
.ag-sig-wave{line-height:0;display:block;margin:0;padding:0}
.ag-sig-wave svg{display:block;width:100%;height:clamp(40px,6vw,72px)}

/* ============================================================
   Cartes « Pourquoi » & galerie — plus affirmées
   ============================================================ */
body.ag-dm-premium-active .ag-gwenwhy__ic{box-shadow:0 18px 34px -14px rgba(26,94,58,.75),0 0 0 1px rgba(201,163,107,.25)!important}
body.ag-dm-premium-active .ag-service-card{border-radius:18px!important}

/* Numéro filigrane géant dans « Comment ça marche » */
body.ag-dm-premium-active .ag-howit-wrap{position:relative;overflow:hidden}

/* ============================================================
   PER-SECTION — traitements « spectaculaires » uniques
   ============================================================ */

/* ---------- 1) NOS SERVICES : cartes numérotées, hover vert plein ---------- */
body.ag-dm-premium-active .ag-services-grid-wrap{
	position:relative;overflow:hidden;
	background:radial-gradient(120% 90% at 100% 0,rgba(79,157,107,.10),transparent 55%),linear-gradient(180deg,#fbfdfb,#f4f8f4)!important;
	border-radius:30px!important;border:1px solid #e7efe8;
}
/* filigrane serif géant */
body.ag-dm-premium-active .ag-services-grid-wrap::before{
	content:"Services";position:absolute;right:-2%;top:-4%;font-family:"Fraunces",serif;font-weight:600;font-style:italic;
	font-size:clamp(6rem,16vw,13rem);line-height:1;color:#1a5e3a;opacity:.05;pointer-events:none;z-index:0;
}
body.ag-dm-premium-active .ag-services-grid{position:relative;z-index:1;counter-reset:agsvc;gap:18px!important}
body.ag-dm-premium-active .ag-service-card{
	counter-increment:agsvc;position:relative;overflow:hidden;background:#fff!important;
	border:1px solid #e7efe8!important;border-radius:22px!important;padding:30px 26px 28px!important;
	box-shadow:0 20px 44px -34px rgba(20,45,28,.5)!important;
	transition:transform .32s cubic-bezier(.2,.7,.2,1),box-shadow .32s ease,background .32s ease!important;
}
body.ag-dm-premium-active .ag-service-card::after{
	content:counter(agsvc,decimal-leading-zero);position:absolute;top:16px;right:20px;
	font-family:"Fraunces",serif;font-weight:600;font-size:1.5rem;color:#c9a36b;opacity:.8;transition:color .3s ease;
}
body.ag-dm-premium-active .ag-service-card__icon{
	font-size:2rem!important;width:64px;height:64px;display:flex;align-items:center;justify-content:center;
	background:linear-gradient(135deg,rgba(79,157,107,.16),rgba(201,163,107,.14));border-radius:18px;margin-bottom:16px;
	transition:transform .32s ease;
}
body.ag-dm-premium-active .ag-service-card__title{font-size:1.12rem!important;font-weight:800!important;color:#22312a!important;transition:color .3s ease}
body.ag-dm-premium-active .ag-service-card:hover{
	transform:translateY(-8px)!important;background:linear-gradient(140deg,#1a5e3a,#2f8552)!important;
	box-shadow:0 34px 60px -30px rgba(26,94,58,.85)!important;border-color:transparent!important;
}
body.ag-dm-premium-active .ag-service-card:hover .ag-service-card__title{color:#fff!important}
body.ag-dm-premium-active .ag-service-card:hover .ag-service-card__icon{transform:scale(1.1) rotate(-4deg);background:rgba(255,255,255,.16)}
body.ag-dm-premium-active .ag-service-card:hover::after{color:var(--sig-gold-2)}

/* ---------- 2) COMMENT ÇA MARCHE : fil conducteur + grands numéros ---------- */
body.ag-dm-premium-active .ag-howit-wrap{
	background:radial-gradient(100% 80% at 0 0,rgba(201,163,107,.10),transparent 55%),linear-gradient(180deg,#f7faf6,#f1f6f1)!important;
}
body.ag-dm-premium-active .ag-howit-grid{position:relative}
@media(min-width:821px){
	body.ag-dm-premium-active .ag-howit-grid::before{
		content:"";position:absolute;top:52px;left:16%;right:16%;height:2px;z-index:0;
		background:repeating-linear-gradient(90deg,#c9a36b 0 9px,transparent 9px 20px);opacity:.6;
	}
}
body.ag-dm-premium-active .ag-howit-card{
	position:relative;z-index:1;background:#fff!important;border:1px solid #e7efe8!important;border-radius:22px!important;
	padding:34px 28px!important;box-shadow:0 22px 46px -34px rgba(20,45,28,.5)!important;transition:transform .3s ease,box-shadow .3s ease!important;
}
body.ag-dm-premium-active .ag-howit-card:hover{transform:translateY(-6px)!important;box-shadow:0 34px 60px -30px rgba(20,45,28,.65)!important}
body.ag-dm-premium-active .ag-howit-emoji{display:block!important;font-size:1.7rem!important;margin:6px 0 8px!important}
body.ag-dm-premium-active .ag-howit-title{font-family:"Fraunces",serif!important;font-size:1.28rem!important;font-weight:600!important;color:#22312a!important}

/* ---------- 3) TÉMOIGNAGES : bande sombre, guillemet géant, verre ---------- */
body.ag-dm-premium-active .ag-testi-wrap{
	position:relative;overflow:hidden;
	background:radial-gradient(120% 120% at 85% -10%,rgba(201,163,107,.16),transparent 55%),linear-gradient(160deg,#12160f,#173a27 60%,#1a5e3a)!important;
}
body.ag-dm-premium-active .ag-testi-wrap .ag-services-grid-title{color:var(--sig-cream)!important}
body.ag-dm-premium-active .ag-testi-wrap .ag-services-grid-title span{color:var(--sig-green-soft)!important}
body.ag-dm-premium-active .ag-testi-wrap .ag-services-grid-lead{color:#c7c1b0!important}
body.ag-dm-premium-active .ag-testi-wrap .ag-services-grid-header::before{content:"✦ Paroles de familles";color:var(--sig-gold)!important}
body.ag-dm-premium-active .ag-testi-grid{position:relative;z-index:1}
body.ag-dm-premium-active .ag-testi-card{
	background:linear-gradient(180deg,rgba(255,255,255,.07),rgba(255,255,255,.03))!important;
	border:1px solid rgba(201,163,107,.28)!important;border-radius:22px!important;padding:34px 30px!important;
	-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);position:relative;overflow:hidden;
	box-shadow:0 30px 60px -34px rgba(0,0,0,.7)!important;transition:transform .3s ease!important;
}
body.ag-dm-premium-active .ag-testi-card::before{
	content:"\201C";position:absolute;top:-18px;left:14px;font-family:"Fraunces",serif;font-size:6rem;line-height:1;color:var(--sig-gold);opacity:.35;
}
body.ag-dm-premium-active .ag-testi-card:hover{transform:translateY(-6px)!important}
body.ag-dm-premium-active .ag-testi-stars{color:var(--sig-gold-2)!important;font-size:1.15rem;letter-spacing:2px}
body.ag-dm-premium-active .ag-testi-text{color:#f2ede0!important;font-size:1.06rem!important;font-style:italic;line-height:1.65}
body.ag-dm-premium-active .ag-testi-author strong{color:#fff!important}
body.ag-dm-premium-active .ag-testi-author{color:var(--sig-green-soft)!important}
/* carte centrale mise en avant (desktop) */
@media(min-width:821px){
	body.ag-dm-premium-active .ag-testi-grid .ag-testi-card:nth-child(2){transform:translateY(-16px) scale(1.03);border-color:rgba(201,163,107,.55)!important}
	body.ag-dm-premium-active .ag-testi-grid .ag-testi-card:nth-child(2):hover{transform:translateY(-22px) scale(1.03)!important}
}

/* ---------- 4) FAQ : accordéon éditorial, toggle doré ---------- */
body.ag-dm-premium-active .ag-faq-wrap{
	background:radial-gradient(100% 80% at 100% 0,rgba(79,157,107,.10),transparent 55%),linear-gradient(180deg,#fbfdfb,#f4f8f4)!important;
}
body.ag-dm-premium-active .ag-faq-item{
	background:#fff!important;border:1px solid #e7efe8!important;border-radius:16px!important;margin-bottom:14px;
	box-shadow:0 14px 30px -26px rgba(20,45,28,.5)!important;transition:box-shadow .25s ease,border-color .25s ease!important;overflow:hidden;
}
body.ag-dm-premium-active .ag-faq-item[open]{border-color:rgba(79,157,107,.5)!important;box-shadow:0 22px 46px -30px rgba(20,45,28,.6)!important}
body.ag-dm-premium-active .ag-faq-q{
	font-family:"Fraunces",serif!important;font-size:1.16rem!important;font-weight:600!important;color:#22312a!important;
	padding:22px 60px 22px 26px!important;
}
body.ag-dm-premium-active .ag-faq-q::after{
	content:"+"!important;position:absolute;right:22px;top:50%;transform:translateY(-50%);
	width:34px;height:34px;display:flex;align-items:center;justify-content:center;border-radius:50%;
	background:linear-gradient(135deg,#1a5e3a,#2f8552);color:#fff!important;font-size:1.3rem;font-weight:400;transition:transform .28s ease!important;
}
body.ag-dm-premium-active .ag-faq-item[open] .ag-faq-q::after{transform:translateY(-50%) rotate(135deg)}
body.ag-dm-premium-active .ag-faq-a{padding:0 26px 22px!important;color:#4a5a4e!important;line-height:1.7}

/* ---------- 5) GALERIE : survol zoom + voile catégorie ---------- */
body.ag-dm-premium-active .ag-gwengal__cell::after{
	content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(26,94,58,.55));opacity:0;transition:opacity .35s ease;
}
body.ag-dm-premium-active .ag-gwengal__cell:hover::after{opacity:1}
body.ag-dm-premium-active .ag-gwengal__cell{box-shadow:0 30px 60px -34px rgba(0,0,0,.85)!important}

/* ---------- 6) POURQUOI : cartes plus affirmées ---------- */
body.ag-dm-premium-active .ag-gwenwhy__card{border-color:rgba(201,163,107,.22)!important}
body.ag-dm-premium-active .ag-gwenwhy__card:hover{border-color:rgba(201,163,107,.55)!important}

/* ---------- 7) BANDE CTA FINALE plein écran ---------- */
body.ag-dm-premium-active .ag-finalcta{
	position:relative;overflow:hidden;background-size:cover;background-position:center;
	padding:clamp(90px,13vw,170px) 6vw;margin-top:0;color:#fff;
	display:flex;align-items:center;min-height:70vh;
}
.ag-finalcta__wave{position:absolute;top:-1px;left:0;right:0;line-height:0;z-index:2}
.ag-finalcta__wave svg{width:100%;height:clamp(40px,6vw,70px);display:block}
.ag-finalcta__in{position:relative;z-index:3;max-width:840px}
body.ag-dm-premium-active .ag-finalcta .ag-hero-eyebrow{margin-bottom:24px}
.ag-finalcta__title{
	font-family:"Fraunces",Georgia,serif;font-weight:600;color:#fff;
	font-size:clamp(2.4rem,5.6vw,4.6rem);line-height:1.02;letter-spacing:-.02em;margin:0 0 18px;text-wrap:balance;
}
body.ag-dm-premium-active .ag-finalcta__title span.ag-brush{position:relative;white-space:nowrap;color:#fff!important;display:inline-block}
body.ag-dm-premium-active .ag-finalcta__title span.ag-brush::after{content:"";position:absolute;left:-.06em;right:-.06em;bottom:.06em;height:.4em;z-index:-1;
	background:linear-gradient(120deg,#c9a36b,#e6c78a);opacity:.92;border-radius:.4em .5em .42em .4em;transform:rotate(-1.4deg)}
.ag-finalcta__lead{font-size:clamp(1.05rem,2.2vw,1.28rem);line-height:1.6;color:#e7e2d3;max-width:52ch;margin:0 0 34px}
.ag-finalcta__actions{gap:26px}
/* tampon en bas-droite */
.ag-finalcta__stamp{position:absolute;right:6vw;bottom:64px;width:150px;height:150px;z-index:3;pointer-events:none}
.ag-finalcta__stamp .ag-hero-stamp__spin{position:absolute;inset:0;animation:agSpin 26s linear infinite}
.ag-finalcta__stamp .ag-hero-stamp__mid{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}
.ag-finalcta__stamp .ag-hero-stamp__mid b{font-size:2rem;color:#e6c78a;line-height:.8}
.ag-finalcta__stamp .ag-hero-stamp__mid span{font-size:.58rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#f6f1e4;line-height:1.2}
@media(max-width:900px){.ag-finalcta__stamp{display:none}}

/* ============================================================
   PAGE DEVIS — expérience premium 2 colonnes
   ============================================================ */
body.ag-dm-premium-active .ag-page-title{font-family:"Fraunces",Georgia,serif!important;font-weight:600!important;font-size:clamp(2.3rem,5.4vw,3.8rem)!important;letter-spacing:-.02em!important}
body.ag-dm-premium-active .ag-devis-layout{display:grid;grid-template-columns:1.5fr 1fr;gap:26px;max-width:1120px;margin:8px auto;align-items:start}
@media(max-width:900px){body.ag-dm-premium-active .ag-devis-layout{grid-template-columns:1fr}}
body.ag-dm-premium-active .ag-devis-layout .ag-devis-wrap{margin:0!important;max-width:none!important}
.ag-devis-kicker{display:inline-block;font-weight:800;letter-spacing:.18em;text-transform:uppercase;font-size:.72rem;color:#3f8f63;margin-bottom:10px}
/* panneau réassurance sombre */
body.ag-dm-premium-active .ag-devis-aside{
	position:sticky;top:100px;overflow:hidden;border-radius:24px;padding:34px 28px;color:#e7e2d3;
	background:radial-gradient(120% 90% at 90% -10%,rgba(201,163,107,.16),transparent 55%),linear-gradient(165deg,#12160f,#173a27 60%,#1a5e3a);
	border:1px solid rgba(201,163,107,.3);box-shadow:0 40px 90px -50px rgba(20,45,28,.6);
}
.ag-devis-stamp{width:120px;height:120px;position:relative;margin:0 auto 18px}
.ag-devis-stamp .ag-hero-stamp__spin{position:absolute;inset:0;animation:agSpin 24s linear infinite}
.ag-devis-stamp .ag-hero-stamp__mid{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}
.ag-devis-stamp .ag-hero-stamp__mid b{font-family:"Fraunces",serif;font-size:1.7rem;color:#e6c78a;line-height:.8}
.ag-devis-stamp .ag-hero-stamp__mid span{font-size:.54rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#f6f1e4;line-height:1.2}
.ag-devis-aside__title{font-family:"Fraunces",serif;font-weight:600;font-size:1.4rem;color:#fff;text-align:center;margin:0 0 18px}
.ag-devis-benefits{list-style:none;margin:0 0 22px;padding:0;display:grid;gap:12px}
.ag-devis-benefits li{position:relative;padding-left:32px;color:#dfe7df;font-size:.98rem;line-height:1.4}
.ag-devis-benefits li::before{content:"✓";position:absolute;left:0;top:-1px;width:22px;height:22px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:linear-gradient(135deg,#3f8f63,#6fbf8a);color:#0f180f;font-weight:900;font-size:.8rem}
.ag-devis-benefits strong{color:#fff}
.ag-devis-quote{margin:0 0 22px;padding:16px 18px;border-left:3px solid #c9a36b;background:rgba(255,255,255,.05);border-radius:0 12px 12px 0;font-family:"Fraunces",serif;font-style:italic;color:#f2ede0;font-size:1rem;line-height:1.5}
.ag-devis-quote cite{display:block;margin-top:8px;font-style:normal;font-family:"Nunito Sans",sans-serif;font-size:.82rem;color:#8fd0a3;font-weight:700}
.ag-devis-callcard{display:flex;align-items:center;gap:14px;background:rgba(255,255,255,.06);border:1px solid rgba(201,163,107,.35);border-radius:16px;padding:14px 16px;text-decoration:none;transition:background .2s ease,border-color .2s ease}
.ag-devis-callcard:hover{background:rgba(255,255,255,.1);border-color:rgba(201,163,107,.6)}
.ag-devis-callcard__ic{font-size:1.6rem}
.ag-devis-callcard__tx{display:flex;flex-direction:column}
.ag-devis-callcard__tx small{color:#b9c3b9;font-size:.76rem}
.ag-devis-callcard__tx strong{color:#fff;font-size:1.24rem;font-weight:900;letter-spacing:.02em}
/* résultat d'estimation plus spectaculaire */
body.ag-dm-premium-active .ag-devis-result__price{font-size:clamp(2.2rem,5vw,3rem)!important}
body.ag-dm-premium-active .ag-devis-result__credit{font-size:1.05rem}

/* ============================================================
   PAGES INTÉRIEURES — en-têtes + sections premium
   ============================================================ */
/* En-tête de page (Prestations, Zones, À propos, Contact, Témoignages) */
body.ag-dm-premium-active .ag-page-hero{position:relative;overflow:hidden;min-height:44vh;display:flex;align-items:center;background-size:cover;background-position:center;padding:130px 6vw 96px!important}
body.ag-dm-premium-active .ag-page-hero::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,10,6,.82),rgba(8,10,6,.5) 55%,rgba(8,10,6,.22));z-index:1}
body.ag-dm-premium-active .ag-page-hero .ag-container{position:relative;z-index:2;max-width:1180px}
body.ag-dm-premium-active .ag-page-tag{display:inline-block;background:rgba(201,163,107,.14)!important;border:1px solid rgba(201,163,107,.45)!important;color:#e6c78a!important;font-weight:800;letter-spacing:.2em;text-transform:uppercase;font-size:.72rem;padding:9px 18px;border-radius:100px;margin-bottom:18px}
body.ag-dm-premium-active .ag-page-title{color:#fff!important;text-shadow:0 2px 26px rgba(0,0,0,.5)}
body.ag-dm-premium-active .ag-page-title em{color:#8fd0a3!important;font-style:italic;font-family:"Fraunces",serif!important}
body.ag-dm-premium-active .ag-page-hero-sub{color:#e6e0d1!important;font-size:clamp(1.02rem,2.2vw,1.24rem);max-width:56ch;margin-top:14px;line-height:1.55}
/* vague bas d'en-tête (injectée par signature.js) */
body.ag-dm-premium-active .ag-page-hero .ag-sig-wave{position:absolute;left:0;right:0;bottom:-1px;z-index:2;line-height:0}
body.ag-dm-premium-active .ag-page-hero .ag-sig-wave svg{width:100%;height:clamp(38px,5vw,64px);display:block}

/* Intro de page */
body.ag-dm-premium-active .ag-page-intro{padding:clamp(46px,7vw,80px) 24px}
body.ag-dm-premium-active .ag-page-intro p{font-size:1.1rem;line-height:1.75;color:#4a5a4e}

/* Bande CTA (bas de chaque page) — serif + kicker doré */
body.ag-dm-premium-active .ag-cta-band{position:relative;padding:clamp(72px,10vw,120px) 24px!important;text-align:center}
body.ag-dm-premium-active .ag-cta-band__title{font-family:"Fraunces",Georgia,serif!important;font-weight:600!important;font-size:clamp(2rem,5vw,3.4rem)!important;letter-spacing:-.02em}
body.ag-dm-premium-active .ag-cta-band .ag-container::before{content:"✦ Gwen Services";display:block;color:#e6c78a;font-weight:800;letter-spacing:.22em;text-transform:uppercase;font-size:.72rem;margin-bottom:14px}

/* Zones d'intervention + Contact : carte + coordonnées */
body.ag-dm-premium-active .ag-zones-wrap{padding:clamp(56px,9vw,110px) 24px!important;background:radial-gradient(100% 70% at 100% 0,rgba(79,157,107,.10),transparent 55%),linear-gradient(180deg,#f7faf6,#eef3ee)!important}
body.ag-dm-premium-active .ag-zones-grid{max-width:1120px;margin:0 auto;gap:32px!important}
body.ag-dm-premium-active .ag-zones-map{border-radius:24px!important;overflow:hidden;box-shadow:0 40px 80px -50px rgba(20,45,28,.5);border:1px solid #e7efe8}
body.ag-dm-premium-active .ag-zones-list h3{color:#c9a36b!important;text-transform:uppercase;letter-spacing:.16em;font-size:.76rem;font-weight:800;margin-bottom:6px}
body.ag-dm-premium-active .ag-zones-list h2{font-family:"Fraunces",serif!important;font-weight:600!important;font-size:clamp(1.7rem,3.6vw,2.4rem)!important;color:#22312a!important}
body.ag-dm-premium-active .ag-zones-contact-card{background:linear-gradient(165deg,#12160f,#173a27 60%,#1a5e3a)!important;color:#e7e2d3!important;border-radius:20px!important;padding:24px 22px!important;border:1px solid rgba(201,163,107,.3)!important;box-shadow:0 30px 60px -40px rgba(20,45,28,.6)}
body.ag-dm-premium-active .ag-zones-contact-card a{color:#8fd0a3!important}

/* À propos : texte + photo, engagements */
body.ag-dm-premium-active .ag-about-wrap{padding:clamp(56px,9vw,110px) 24px!important}
body.ag-dm-premium-active .ag-about-grid{max-width:1120px;margin:0 auto;gap:44px!important;align-items:center}
body.ag-dm-premium-active .ag-about-text h3{color:#c9a36b!important;text-transform:uppercase;letter-spacing:.16em;font-size:.78rem;font-weight:800}
body.ag-dm-premium-active .ag-about-text h2{font-family:"Fraunces",serif!important;font-weight:600!important;font-size:clamp(1.8rem,4vw,2.9rem)!important;line-height:1.08;color:#22312a!important;letter-spacing:-.01em}
body.ag-dm-premium-active .ag-about-photo{border-radius:24px!important;box-shadow:0 44px 90px -50px rgba(20,45,28,.55);border:1px solid #e7efe8;position:relative}
body.ag-dm-premium-active .ag-about-photo::after{content:"";position:absolute;inset:0;border-radius:24px;box-shadow:inset 0 0 0 6px rgba(201,163,107,.18);pointer-events:none}
body.ag-dm-premium-active .ag-timeline{padding:clamp(56px,9vw,100px) 24px!important}
body.ag-dm-premium-active .ag-timeline-item{border-radius:16px!important;box-shadow:0 20px 44px -34px rgba(20,45,28,.5)!important;background:#fff!important;border:1px solid #e7efe8!important}
body.ag-dm-premium-active .ag-timeline-year{color:#3f8f63!important;font-family:"Fraunces",serif!important;font-weight:700!important}

/* ============================================================
   RESPONSIVE — TABLETTE & TÉLÉPHONE
   Ajuste la couche éditoriale (hero, menu burger, cartes 2 par
   ligne, devis, en-têtes) pour coller au rendu ordinateur.
   ============================================================ */

/* ---------- MENU BURGER (mobile/tablette) ---------- */
.ag-navtoggle{display:none;width:48px;height:44px;flex-direction:column;align-items:center;justify-content:center;gap:5px;border:0;background:rgba(18,22,15,.07);border-radius:12px;cursor:pointer;padding:0;-webkit-tap-highlight-color:transparent}
.ag-navtoggle span{display:block;width:24px;height:2.5px;border-radius:3px;background:#14140f;transition:transform .3s ease,opacity .25s ease}
.ag-site-header.nav-open .ag-navtoggle span:nth-child(1){transform:translateY(7.5px) rotate(45deg)}
.ag-site-header.nav-open .ag-navtoggle span:nth-child(2){opacity:0}
.ag-site-header.nav-open .ag-navtoggle span:nth-child(3){transform:translateY(-7.5px) rotate(-45deg)}
/* Header transparent au-dessus du hero d'accueil : barres blanches + fond sombre translucide */
body.ag-premium-mode.home .ag-site-header:not(.scrolled) .ag-navtoggle{background:rgba(0,0,0,.32)}
body.ag-premium-mode.home .ag-site-header:not(.scrolled) .ag-navtoggle span{background:#fff}

@media(max-width:820px){
	body.ag-premium-mode .ag-navtoggle{display:flex}
	/* Le menu devient un panneau déroulant plein largeur sous le header */
	body.ag-premium-mode .ag-primary-nav{position:absolute;top:100%;left:0;right:0;background:#fff;box-shadow:0 24px 48px -22px rgba(0,0,0,.35);border-top:1px solid #eee;max-height:0;overflow:hidden;transition:max-height .38s cubic-bezier(.2,.7,.2,1)}
	body.ag-premium-mode .ag-site-header.nav-open .ag-primary-nav{max-height:80vh;overflow:auto}
	body.ag-premium-mode .ag-primary-menu{flex-direction:column!important;flex-wrap:wrap!important;align-items:stretch!important;gap:0!important;padding:6px 0!important}
	body.ag-premium-mode .ag-primary-menu li{border-bottom:1px solid #f1f1f1}
	body.ag-premium-mode .ag-primary-menu a{display:block!important;white-space:normal!important;padding:15px 22px!important;font-size:1.05rem!important;color:#22312a!important;background:none!important}
	body.ag-premium-mode .ag-primary-menu .current-menu-item>a,
	body.ag-premium-mode .ag-primary-menu .current_page_item>a{background:rgba(26,94,58,.08)!important;color:#1a5e3a!important;border-radius:0!important}
}

/* ---------- TABLETTE (≤ 900px) ---------- */
@media(max-width:900px){
	/* Hero : moins haut & moins rogné (on voit davantage la photo) */
	body.ag-premium-mode .ag-hero-pro,
	body.ag-dm-premium-active .ag-hero-pro{min-height:72vh!important;padding:104px 26px 40px!important;background-position:center 30%!important}
	body.ag-dm-premium-active .ag-hero-pro__subtitle{max-width:46ch!important}
	body.ag-dm-premium-active .ag-hero-stats{gap:26px!important;margin-top:30px!important}
	/* Panneau réassurance du devis : ne colle plus une fois empilé */
	body.ag-dm-premium-active .ag-devis-aside{position:static!important;top:auto!important}
	body.ag-dm-premium-active .ag-devis-layout{gap:22px}
	/* En-tête des pages intérieures : padding réduit */
	body.ag-dm-premium-active .ag-page-hero{min-height:38vh;padding:110px 26px 74px!important}
	/* Grilles de cartes : 2 par ligne dès la tablette */
	body.ag-premium-mode .ag-howit-grid{grid-template-columns:repeat(2,1fr)!important;gap:16px!important}
	.ag-gwenwhy__grid{grid-template-columns:repeat(2,1fr)!important;gap:16px!important}
}

/* ---------- TÉLÉPHONE (≤ 600px) ---------- */
@media(max-width:600px){
	/* Hero : hauteur maîtrisée, photo moins zoomée, contenu compact */
	body.ag-premium-mode .ag-hero-pro,
	body.ag-dm-premium-active .ag-hero-pro{min-height:66vh!important;padding:92px 18px 34px!important;background-position:center 28%!important}
	body.ag-dm-premium-active .ag-hero-pro__title{font-size:clamp(2.2rem,9.5vw,2.9rem)!important;line-height:1.03!important}
	body.ag-dm-premium-active .ag-hero-eyebrow{margin-bottom:16px}
	body.ag-dm-premium-active .ag-hero-pro__subtitle{margin:16px 0 22px 0!important;font-size:1rem!important}
	.ag-hero-actions{gap:14px}
	body.ag-dm-premium-active .ag-hero-tel{font-size:1.15rem}
	/* Stats du hero : compactes (2 par ligne) au lieu d'empilées verticalement */
	body.ag-dm-premium-active .ag-hero-stats{display:grid!important;grid-template-columns:repeat(2,auto)!important;gap:14px 26px!important;margin-top:22px!important}

	/* Bandeau défilant : un peu plus discret */
	.ag-mq{padding:13px 0}

	/* NOS SERVICES → 2 par ligne (petites cases au lieu d'un long empilement) */
	body.ag-premium-mode .ag-services-grid{grid-template-columns:repeat(2,1fr)!important;gap:12px!important}
	body.ag-dm-premium-active .ag-service-card{padding:18px 14px 16px!important;border-radius:16px!important}
	body.ag-dm-premium-active .ag-service-card__icon{width:50px;height:50px;font-size:1.55rem!important;border-radius:14px;margin-bottom:12px}
	body.ag-dm-premium-active .ag-service-card__title{font-size:.98rem!important;line-height:1.2}
	body.ag-dm-premium-active .ag-service-card::after{font-size:1.15rem;top:12px;right:14px}
	body.ag-dm-premium-active .ag-services-grid-wrap{border-radius:20px!important;padding-left:14px!important;padding-right:14px!important}

	/* COMMENT ÇA MARCHE & POURQUOI → 2 par ligne, cartes compactes */
	body.ag-premium-mode .ag-howit-grid,.ag-gwenwhy__grid{grid-template-columns:repeat(2,1fr)!important;gap:12px!important}
	body.ag-dm-premium-active .ag-howit-card{padding:20px 16px!important}
	body.ag-dm-premium-active .ag-howit-title{font-size:1.06rem!important}
	.ag-gwenwhy__card{padding:22px 16px!important}
	.ag-gwenwhy__ic{width:54px;height:54px;font-size:26px;margin-bottom:14px}

	/* Compteurs : 2 par ligne */
	.ag-gwenstats{grid-template-columns:repeat(2,1fr)!important;gap:12px!important}

	/* TÉMOIGNAGES : gardés en 1 colonne (citations = besoin de largeur) */
	body.ag-dm-premium-active .ag-testi-card{padding:26px 20px!important}

	/* FAQ : question moins serrée à droite du bouton + */
	body.ag-dm-premium-active .ag-faq-q{padding:18px 54px 18px 20px!important;font-size:1.05rem!important}

	/* Devis : panneau et pastilles compacts */
	body.ag-dm-premium-active .ag-devis-aside{padding:28px 22px}
	.ag-devis-callcard__tx strong{font-size:1.12rem}

	/* En-tête pages intérieures : encore plus compact */
	body.ag-dm-premium-active .ag-page-hero{min-height:auto;padding:100px 20px 64px!important}

	/* Bande CTA finale : hauteur libre */
	body.ag-dm-premium-active .ag-finalcta{min-height:auto;padding:clamp(72px,16vw,120px) 20px}
}

/* ============================================================
   RÉSERVER + MON ESPACE — mise en forme (lane DESIGN)
   Le balisage vient de inc/ag-reservation.php (lane CODE, styles
   en ligne) : on le rhabille ici aux couleurs du site, sans toucher
   au PHP. Portée : uniquement les pages qui contiennent le module.
   ============================================================ */
.ag-main:has(.ag-resa,.ag-espace,.ag-gwen-auth){ background:linear-gradient(180deg,#f6f1e4 0,#fbf8f0 420px,#fff 100%)!important;padding:0 0 clamp(56px,9vw,110px)!important;color:#22312a }
.ag-main:has(.ag-resa,.ag-espace,.ag-gwen-auth) > .ag-container{ max-width:1120px!important;padding:0 20px!important }
.ag-main:has(.ag-resa,.ag-espace,.ag-gwen-auth) article{ background:none!important;border:0!important;box-shadow:none!important;padding:0!important;margin:0!important }

/* --- En-tête de page : bandeau photo comme les autres pages --- */
.ag-main:has(.ag-resa,.ag-espace,.ag-gwen-auth) article > header{
	position:relative;overflow:hidden;
	margin:0 calc(50% - 50vw) clamp(34px,5vw,56px)!important;
	padding:clamp(118px,15vw,170px) max(20px,calc(50vw - 540px)) clamp(64px,8vw,96px)!important;
	background:linear-gradient(90deg,rgba(8,10,6,.86),rgba(8,10,6,.55) 60%,rgba(8,10,6,.3)),url(hero.jpg) center 30%/cover no-repeat,#12160f;
}
.ag-main:has(.ag-resa,.ag-espace,.ag-gwen-auth) article > header::before{
	content:"✦ Gwen Services";display:inline-block;margin-bottom:18px;
	background:rgba(201,163,107,.14);border:1px solid rgba(201,163,107,.45);color:#e6c78a;
	font:800 .72rem/1 "Nunito Sans",sans-serif;letter-spacing:.2em;text-transform:uppercase;padding:9px 18px;border-radius:100px;
}
.ag-main:has(.ag-resa,.ag-espace,.ag-gwen-auth) article > header::after{
	display:block;margin-top:14px;max-width:52ch;color:#e6e0d1;font:400 clamp(1.02rem,2.2vw,1.22rem)/1.55 "Nunito Sans",sans-serif;
}
.ag-main:has(.ag-resa) article > header::after{ content:"Choisissez votre créneau : il s’ajoute tout de suite à l’agenda de Gwen et au vôtre." }
.ag-main:has(.ag-espace) article > header::after{ content:"Vos rendez-vous et vos coordonnées, au même endroit." }
.ag-main:has(.ag-gwen-auth) article > header::after{ content:"Connectez-vous ou créez votre compte en une minute pour réserver en ligne." }
.ag-main:has(.ag-resa,.ag-espace,.ag-gwen-auth) .ag-entry-title{
	font-family:"Fraunces",Georgia,serif!important;font-weight:600!important;color:#f6f1e4!important;
	font-size:clamp(2.3rem,6vw,4.2rem)!important;line-height:1.02!important;letter-spacing:-.02em!important;margin:0!important;
	text-shadow:0 2px 26px rgba(0,0,0,.45);text-wrap:balance;
}
.ag-main:has(.ag-resa,.ag-espace,.ag-gwen-auth) .ag-entry-content{ max-width:none!important;color:#22312a }

/* --- Éléments communs --- */
.ag-main:has(.ag-resa,.ag-espace,.ag-gwen-auth) :is(.ag-resa,.ag-espace,.ag-gwen-auth){ font-family:"Nunito Sans",system-ui,sans-serif!important;color:#22312a }
.ag-main:has(.ag-resa,.ag-espace,.ag-gwen-auth) :is(.ag-resa,.ag-espace,.ag-gwen-auth) :is(h2,h3){ font-family:"Fraunces",Georgia,serif!important;color:#1a5e3a!important;font-weight:600!important;letter-spacing:-.01em }
.ag-main:has(.ag-resa,.ag-espace,.ag-gwen-auth) :is(.ag-espace,.ag-gwen-auth) :is(input,select,textarea){
	width:100%!important;box-sizing:border-box!important;font:inherit!important;font-size:1rem!important;color:#12160f!important;
	background:#fffdf8!important;border:1.5px solid #e4dcc6!important;border-radius:12px!important;padding:13px 15px!important;
	transition:border-color .2s,box-shadow .2s;
}
.ag-main:has(.ag-resa,.ag-espace,.ag-gwen-auth) :is(.ag-espace,.ag-gwen-auth) :is(input,select,textarea):focus{ outline:none!important;border-color:#2f8552!important;box-shadow:0 0 0 4px rgba(47,133,82,.15)!important }
.ag-main:has(.ag-resa,.ag-espace,.ag-gwen-auth) :is(.ag-espace,.ag-gwen-auth) label{ font-weight:800!important;font-size:.78rem!important;letter-spacing:.08em;text-transform:uppercase;color:#6b705c!important;margin:4px 0 7px!important }
/* Boutons orange d'origine → bouton vert du site */
.ag-main:has(.ag-resa,.ag-espace,.ag-gwen-auth) :is(.ag-resa,.ag-espace,.ag-gwen-auth) :is(button[type=submit],a[href*="/mon-espace"],a[href*="/reserver"]){
	display:inline-flex!important;align-items:center;justify-content:center;gap:8px;
	background:linear-gradient(135deg,#1a5e3a,#2f8552)!important;color:#fff!important;border:0!important;border-radius:999px!important;
	padding:14px 26px!important;font:800 1rem/1.1 "Nunito Sans",sans-serif!important;text-decoration:none!important;cursor:pointer;
	box-shadow:0 14px 30px -14px rgba(26,94,58,.65);transition:transform .2s,box-shadow .2s;
}
.ag-main:has(.ag-resa,.ag-espace,.ag-gwen-auth) :is(.ag-resa,.ag-espace,.ag-gwen-auth) :is(button[type=submit],a[href*="/mon-espace"],a[href*="/reserver"]):hover{ transform:translateY(-2px);box-shadow:0 18px 34px -14px rgba(26,94,58,.75) }

/* --- /reserver ---------------------------------------------------- */
.ag-main:has(.ag-resa,.ag-espace,.ag-gwen-auth) .ag-resa{ max-width:none!important;margin:0!important;display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px;align-items:start }
.ag-main:has(.ag-resa,.ag-espace,.ag-gwen-auth) .ag-resa > :not(.ag-resa-jour){ grid-column:1/-1 }
.ag-main:has(.ag-resa,.ag-espace,.ag-gwen-auth) .ag-resa > div:first-child:not(.ag-resa-jour):not(#ag-resa-msg):not(#ag-resa-form){
	background:#fff!important;border:1px solid #ece4cf!important;border-left:5px solid #c9a36b!important;border-radius:20px!important;
	padding:24px 26px!important;margin:0 0 8px!important;box-shadow:0 24px 50px -36px rgba(20,45,28,.45);font-size:1.02rem;
}
.ag-main:has(.ag-resa,.ag-espace,.ag-gwen-auth) .ag-resa > div:first-child strong{ font-family:"Fraunces",Georgia,serif;font-weight:600;font-size:1.3rem;color:#1a5e3a;display:block }
.ag-main:has(.ag-resa,.ag-espace,.ag-gwen-auth) .ag-resa > div:first-child a[href*="/devis"]{ color:#1a5e3a!important;font-weight:800;text-decoration-color:#c9a36b!important;text-underline-offset:3px }
.ag-main:has(.ag-resa,.ag-espace,.ag-gwen-auth) .ag-resa > p{ background:#fff;border-radius:20px;padding:28px;text-align:center;border:1px dashed #d8ccab }
.ag-main:has(.ag-resa,.ag-espace,.ag-gwen-auth) .ag-resa-jour{
	margin:0!important;background:#fff;border:1px solid #ece4cf;border-radius:20px;padding:18px 18px 20px;
	box-shadow:0 20px 44px -36px rgba(20,45,28,.5);transition:border-color .2s,box-shadow .2s;
}
.ag-main:has(.ag-resa,.ag-espace,.ag-gwen-auth) .ag-resa-jour:hover{ border-color:#c9a36b;box-shadow:0 24px 50px -30px rgba(20,45,28,.45) }
.ag-main:has(.ag-resa,.ag-espace,.ag-gwen-auth) .ag-resa-jour h3{ font-size:1.18rem!important;margin:0 0 14px!important;padding-bottom:12px;border-bottom:1px solid #f0eadb }
.ag-main:has(.ag-resa,.ag-espace,.ag-gwen-auth) .ag-resa-jour h3::first-letter{ text-transform:uppercase }
.ag-main:has(.ag-resa,.ag-espace,.ag-gwen-auth) .ag-resa-jour > div{ display:grid!important;grid-template-columns:repeat(3,1fr);gap:9px!important }
.ag-main:has(.ag-resa,.ag-espace,.ag-gwen-auth) .ag-resa-slot{
	min-width:0;
	background:#f6f1e4!important;color:#1a5e3a!important;border:1.5px solid transparent!important;border-radius:999px!important;
	padding:11px 10px!important;font:800 .98rem/1 "Nunito Sans",sans-serif!important;font-variant-numeric:tabular-nums;
	transition:background .18s,color .18s,border-color .18s,transform .18s;
}
.ag-main:has(.ag-resa,.ag-espace,.ag-gwen-auth) .ag-resa-slot:not([disabled]):hover{ background:#fff!important;border-color:#2f8552!important;transform:translateY(-1px) }
.ag-main:has(.ag-resa,.ag-espace,.ag-gwen-auth) .ag-resa-slot.is-picked{ background:linear-gradient(135deg,#1a5e3a,#2f8552)!important;color:#fff!important;border-color:#1a5e3a!important;box-shadow:0 10px 22px -10px rgba(26,94,58,.7) }
.ag-main:has(.ag-resa,.ag-espace,.ag-gwen-auth) .ag-resa-slot[disabled]{ opacity:.5!important;cursor:not-allowed!important }
/* Panneau de confirmation */
.ag-main:has(.ag-resa,.ag-espace,.ag-gwen-auth) #ag-resa-form{
	margin:8px 0 0!important;border:0!important;border-radius:24px!important;padding:clamp(22px,4vw,34px)!important;color:#f6f1e4!important;
	background:radial-gradient(120% 90% at 100% 0,rgba(201,163,107,.22),transparent 55%),linear-gradient(135deg,#123f28,#1a5e3a)!important;
	box-shadow:0 34px 70px -40px rgba(18,63,40,.9);scroll-margin:110px;
}
.ag-main:has(.ag-resa,.ag-espace,.ag-gwen-auth) #ag-resa-form > p{ font-size:1.1rem;margin-bottom:18px!important }
.ag-main:has(.ag-resa,.ag-espace,.ag-gwen-auth) #ag-resa-form strong{ font-family:"Fraunces",Georgia,serif;font-weight:600;color:#e6c78a;font-size:1.25rem }
.ag-main:has(.ag-resa,.ag-espace,.ag-gwen-auth) #ag-resa-form label{ font-weight:800!important;font-size:.76rem!important;letter-spacing:.12em;text-transform:uppercase;color:#8fd0a3!important }
.ag-main:has(.ag-resa,.ag-espace,.ag-gwen-auth) #ag-resa-form :is(select,textarea){
	width:100%!important;box-sizing:border-box;font:inherit!important;font-size:1rem!important;border-radius:12px!important;padding:13px 15px!important;
	background:rgba(255,255,255,.96)!important;color:#12160f!important;border:0!important;margin-bottom:16px!important;
}
.ag-main:has(.ag-resa,.ag-espace,.ag-gwen-auth) #ag-resa-confirm{
	background:linear-gradient(135deg,#c9a36b,#e6c78a)!important;color:#12160f!important;border-radius:999px!important;padding:15px 28px!important;
	font:900 1.02rem/1 "Nunito Sans",sans-serif!important;box-shadow:0 14px 30px -12px rgba(0,0,0,.5);
}
.ag-main:has(.ag-resa,.ag-espace,.ag-gwen-auth) #ag-resa-confirm[disabled]{ opacity:.6 }
.ag-main:has(.ag-resa,.ag-espace,.ag-gwen-auth) #ag-resa-annul{ color:#dcd6c5!important;font-weight:700!important;text-decoration:underline;text-underline-offset:3px;padding:12px!important }
/* Messages (succès / erreur) */
.ag-main:has(.ag-resa,.ag-espace,.ag-gwen-auth) :is(#ag-resa-msg,#ag-mesrdv-msg){ border-radius:14px!important;padding:14px 18px!important;font-weight:700;border:1px solid transparent }
.ag-main:has(.ag-resa,.ag-espace,.ag-gwen-auth) #ag-resa-msg{ grid-column:1/-1 }

/* --- /mon-espace — connecté -------------------------------------- */
.ag-main:has(.ag-resa,.ag-espace,.ag-gwen-auth) .ag-espace{ max-width:860px!important;margin:0 auto!important }
.ag-main:has(.ag-resa,.ag-espace,.ag-gwen-auth) .ag-espace > div:first-child{
	background:#fff;border:1px solid #ece4cf;border-radius:24px;padding:22px 26px;margin-bottom:18px!important;
	box-shadow:0 24px 50px -38px rgba(20,45,28,.5);
}
.ag-main:has(.ag-resa,.ag-espace,.ag-gwen-auth) .ag-espace > div:first-child h2{ font-size:clamp(1.6rem,4vw,2.2rem)!important }
.ag-main:has(.ag-resa,.ag-espace,.ag-gwen-auth) .ag-espace > div:first-child a[href*="logout"]{ color:#6b705c!important;font-weight:700;font-size:.92rem;border:1px solid #e4dcc6;border-radius:999px;padding:8px 16px;text-decoration:none }
.ag-main:has(.ag-resa,.ag-espace,.ag-gwen-auth) .ag-espace > div:first-child a[href*="logout"]:hover{ border-color:#c0392b;color:#c0392b!important }
.ag-main:has(.ag-resa,.ag-espace,.ag-gwen-auth) .ag-espace > p:first-of-type{ margin:0 0 8px!important }
.ag-main:has(.ag-resa,.ag-espace,.ag-gwen-auth) .ag-espace > h3{ font-size:1.45rem!important;margin:34px 0 14px!important;display:flex;align-items:center;gap:12px }
.ag-main:has(.ag-resa,.ag-espace,.ag-gwen-auth) .ag-espace > h3::after{ content:"";flex:1;height:1px;background:linear-gradient(90deg,#c9a36b,transparent) }
.ag-main:has(.ag-resa,.ag-espace,.ag-gwen-auth) .ag-espace > h3 + p{ background:#fff;border:1px dashed #d8ccab;border-radius:18px;padding:22px!important;text-align:center }
/* Cartes rendez-vous */
.ag-main:has(.ag-resa,.ag-espace,.ag-gwen-auth) .ag-espace > div[style*="border"]{
	background:#fff!important;border:1px solid #ece4cf!important;border-left:5px solid #2f8552!important;border-radius:18px!important;
	padding:18px 20px!important;margin-bottom:12px!important;box-shadow:0 18px 40px -34px rgba(20,45,28,.55);
}
.ag-main:has(.ag-resa,.ag-espace,.ag-gwen-auth) .ag-espace > div[style*="border"] strong{ font-family:"Fraunces",Georgia,serif;font-weight:600;font-size:1.15rem;color:#1a5e3a }
.ag-main:has(.ag-resa,.ag-espace,.ag-gwen-auth) .ag-espace > div[style*="border"] span{ color:#4a5a4e!important;font-weight:700 }
.ag-main:has(.ag-resa,.ag-espace,.ag-gwen-auth) .ag-rdv-cancel{ background:transparent!important;border:1.5px solid #e2b9b3!important;color:#b03a2e!important;border-radius:999px!important;padding:9px 18px!important;font-weight:800!important;transition:background .2s }
.ag-main:has(.ag-resa,.ag-espace,.ag-gwen-auth) .ag-rdv-cancel:hover{ background:#fbecea!important }
/* Coordonnées */
.ag-main:has(.ag-resa,.ag-espace,.ag-gwen-auth) .ag-espace > form{
	background:#fff!important;border:1px solid #ece4cf!important;border-radius:22px!important;padding:clamp(20px,4vw,30px)!important;
	box-shadow:0 20px 44px -36px rgba(20,45,28,.5);
}
.ag-main:has(.ag-resa,.ag-espace,.ag-gwen-auth) .ag-espace > form input{ margin-bottom:16px!important }

/* --- /mon-espace — connexion / inscription ----------------------- */
.ag-main:has(.ag-resa,.ag-espace,.ag-gwen-auth) .ag-gwen-auth{ max-width:980px!important;margin:0 auto!important;display:grid;grid-template-columns:1fr;gap:12px 24px }
.ag-main:has(.ag-resa,.ag-espace,.ag-gwen-auth) .ag-gwen-auth > p{ grid-column:1/-1;margin:0!important;border-radius:14px!important;padding:14px 18px!important;font-weight:700 }
.ag-main:has(.ag-resa,.ag-espace,.ag-gwen-auth) .ag-gwen-auth > h3{ font-size:1.6rem!important;margin:14px 0 0!important }
.ag-main:has(.ag-resa,.ag-espace,.ag-gwen-auth) .ag-gwen-auth > form{
	margin:0 0 12px!important;background:#fff;border:1px solid #ece4cf;border-radius:24px;padding:clamp(22px,4vw,32px);
	box-shadow:0 24px 50px -38px rgba(20,45,28,.5);
}
.ag-main:has(.ag-resa,.ag-espace,.ag-gwen-auth) .ag-gwen-auth > form input{ margin-bottom:14px!important }
.ag-main:has(.ag-resa,.ag-espace,.ag-gwen-auth) .ag-gwen-auth > form button{ width:100%;margin-top:4px }
.ag-main:has(.ag-resa,.ag-espace,.ag-gwen-auth) .ag-gwen-auth > form:last-of-type{ border-top:5px solid #c9a36b }
@media (min-width:860px){
	.ag-main:has(.ag-resa,.ag-espace,.ag-gwen-auth) .ag-gwen-auth{ grid-template-columns:1fr 1fr;align-items:start }
	.ag-main:has(.ag-resa,.ag-espace,.ag-gwen-auth) .ag-gwen-auth > h3:nth-of-type(1){ grid-column:1;grid-row:2 }
	.ag-main:has(.ag-resa,.ag-espace,.ag-gwen-auth) .ag-gwen-auth > form:nth-of-type(1){ grid-column:1;grid-row:3 }
	.ag-main:has(.ag-resa,.ag-espace,.ag-gwen-auth) .ag-gwen-auth > h3:nth-of-type(2){ grid-column:2;grid-row:2 }
	.ag-main:has(.ag-resa,.ag-espace,.ag-gwen-auth) .ag-gwen-auth > form:nth-of-type(2){ grid-column:2;grid-row:3 }
}

/* --- Menu : liens de compte en pastille ---------------------------- */
.ag-primary-menu .ag-resa-account > a[href*="/mon-espace"]{ border:1.5px solid rgba(201,163,107,.8)!important;border-radius:999px!important;padding:7px 16px!important }
.ag-primary-menu .ag-resa-account > a[href*="logout"]{ opacity:.8;font-weight:600!important }

@media (max-width:560px){
	.ag-main:has(.ag-resa,.ag-espace,.ag-gwen-auth) article > header{ padding-top:150px!important }
	.ag-main:has(.ag-resa,.ag-espace,.ag-gwen-auth) .ag-resa{ grid-template-columns:1fr;gap:12px }
	.ag-main:has(.ag-resa,.ag-espace,.ag-gwen-auth) .ag-resa-jour{ padding:14px 14px 16px }
	.ag-main:has(.ag-resa,.ag-espace,.ag-gwen-auth) .ag-espace > div[style*="border"]{ flex-direction:column;align-items:flex-start!important }
	.ag-main:has(.ag-resa,.ag-espace,.ag-gwen-auth) .ag-espace > div[style*="border"] .ag-rdv-cancel{ align-self:stretch }
	.ag-main:has(.ag-resa,.ag-espace,.ag-gwen-auth) :is(.ag-resa,.ag-espace) :is(a[href*="/reserver"],a[href*="/mon-espace"]){ width:100%;box-sizing:border-box }
}

/* ============================================================
   MENU PLEIN ÉCRAN — correctif d'ouverture + habillage (DESIGN)
   Le panneau du menu (inc/ag-brand-nav.php) est en position:fixed.
   Quand on défile vers le bas, l'en-tête reçoit .is-hidden, donc un
   `transform` : un ancêtre transformé devient le référent des éléments
   fixed, et le panneau se retrouvait réduit à la hauteur de l'en-tête,
   sans fond, par-dessus la page. On neutralise le transform tant que le
   menu est ouvert, et on habille le panneau aux couleurs du site.
   ============================================================ */
body .ag-site-header.nav-open,
body.ag-premium-mode .ag-site-header.is-hidden.nav-open{transform:none!important;position:fixed!important;top:0!important;left:0;right:0;
	/* un transform, un filtre ou un backdrop-filter sur l'en-tête en ferait le
	   référent du panneau fixed : le menu se retrouverait enfermé dans la barre. */
	backdrop-filter:none!important;-webkit-backdrop-filter:none!important;filter:none!important;will-change:auto!important;perspective:none!important;contain:none!important}
body .ag-site-header.nav-open .ag-primary-nav{
	position:fixed!important;inset:0!important;z-index:10000;max-height:none!important;border-top:0!important;box-shadow:none!important;
	background:radial-gradient(120% 80% at 50% 0,rgba(47,133,82,.35),transparent 60%),linear-gradient(170deg,#12301f 0%,#0c1a11 70%)!important;
	-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);
	padding:88px 24px 32px;overflow:auto;align-items:flex-start!important;
}
body .ag-site-header.nav-open .ag-primary-nav .ag-primary-menu{
	width:100%;max-width:520px;margin:auto!important;gap:.35rem!important;align-items:stretch!important;
}
body .ag-site-header.nav-open .ag-primary-nav .ag-primary-menu li{border-bottom:1px solid rgba(201,163,107,.22)}
body .ag-site-header.nav-open .ag-primary-nav .ag-primary-menu li:last-child{border-bottom:0}
body .ag-site-header.nav-open .ag-primary-nav .ag-primary-menu a{
	display:block;text-align:center;padding:14px 12px!important;
	font-family:"Fraunces",Georgia,serif!important;font-size:clamp(1.25rem,4.2vw,1.65rem)!important;font-weight:600!important;
	color:#f6f1e4!important;letter-spacing:-.01em;transition:color .2s ease,transform .2s ease;
}
body .ag-site-header.nav-open .ag-primary-nav .ag-primary-menu a:hover{color:#e6c78a!important;transform:translateY(-1px)}
body .ag-site-header.nav-open .ag-primary-nav .ag-primary-menu .current-menu-item>a,
body .ag-site-header.nav-open .ag-primary-nav .ag-primary-menu .current_page_item>a{color:#8fd0a3!important}
/* Les entrées de compte ressortent en pastille dorée */
body .ag-site-header.nav-open .ag-primary-nav .ag-primary-menu .ag-resa-account>a{
	border:1px solid rgba(201,163,107,.75)!important;border-radius:999px!important;margin:10px auto 0;max-width:320px;
	font-family:"Nunito Sans",sans-serif!important;font-size:1rem!important;font-weight:800!important;color:#e6c78a!important;padding:12px 20px!important;
}
/* Logo et croix restent au-dessus du panneau */
body .ag-site-header.nav-open .ag-site-header__inner{position:relative;z-index:10001}
body .ag-site-header.nav-open .ag-site-brand__text,
body .ag-site-header.nav-open .ag-site-brand{color:#f6f1e4!important}
body .ag-site-header.scrolled.nav-open{background:transparent!important;box-shadow:none!important}
@media (max-width:560px){
	body .ag-site-header.nav-open .ag-primary-nav{padding-top:76px}
	body .ag-site-header.nav-open .ag-primary-nav .ag-primary-menu a{font-size:1.2rem!important;padding:12px 10px!important}
}
/* Page courante : plus de pavé vert peu lisible dans le panneau */
body .ag-site-header.nav-open .ag-primary-nav .ag-primary-menu .current-menu-item>a,
body .ag-site-header.nav-open .ag-primary-nav .ag-primary-menu .current_page_item>a,
body.ag-premium-mode .ag-site-header.nav-open .ag-primary-nav .ag-primary-menu .current-menu-item>a,
body.ag-premium-mode .ag-site-header.nav-open .ag-primary-nav .ag-primary-menu .current_page_item>a{
	background:none!important;color:#e6c78a!important;box-shadow:inset 0 -2px 0 rgba(201,163,107,.55);border-radius:0!important;
}
/* Boutons flottants : ils ne doivent pas flotter par-dessus le menu ouvert */
body .ag-site-header.nav-open ~ .ag-pd-float,
body .ag-site-header.nav-open ~ #ag-backtotop,
body .ag-site-header.nav-open ~ .ag-backtotop,
body .ag-site-header.nav-open ~ .ag-backtop,
body .ag-site-header.nav-open ~ .ag-totop{opacity:0!important;pointer-events:none!important}

/* ============================================================
   MENU BURGER À TOUTES LES TAILLES (27/09 — repris de la lane CODE)
   `ag-brand-nav.php` ne s'occupe plus que du favicon : c'est donc ici
   que vit tout le menu. Sur ordinateur, les 9 entrées (dont Réserver et
   Mon espace) débordaient à droite ; on repasse au burger + panneau
   plein écran quelle que soit la largeur. Le panneau est REPLIÉ par
   défaut, sinon le menu horizontal resterait visible derrière lui.
   ============================================================ */
body .ag-site-header .ag-navtoggle{
	display:flex!important;flex-direction:column;align-items:center;justify-content:center;gap:5px;
	width:46px;height:46px;padding:0;border:0;border-radius:12px;cursor:pointer;position:relative;z-index:10001;
	background:rgba(18,22,15,.07);-webkit-tap-highlight-color:transparent;
}
body .ag-site-header .ag-navtoggle span{display:block;width:24px;height:2.5px;border-radius:3px;background:#14140f;box-shadow:none;transition:transform .3s ease,opacity .25s ease,background .25s ease}
/* Au-dessus du hero (en-tête transparent) : barres claires */
body.ag-premium-mode.home .ag-site-header:not(.scrolled) .ag-navtoggle{background:rgba(0,0,0,.34)}
body.ag-premium-mode.home .ag-site-header:not(.scrolled) .ag-navtoggle span{background:#fff}
body .ag-site-header.scrolled .ag-navtoggle span{background:#14140f}
body .ag-site-header.nav-open .ag-navtoggle{background:rgba(255,255,255,.12)}
body .ag-site-header.nav-open .ag-navtoggle span{background:#f6f1e4}
body .ag-site-header.nav-open .ag-navtoggle span:nth-child(1){transform:translateY(7.5px) rotate(45deg)}
body .ag-site-header.nav-open .ag-navtoggle span:nth-child(2){opacity:0}
body .ag-site-header.nav-open .ag-navtoggle span:nth-child(3){transform:translateY(-7.5px) rotate(-45deg)}

/* Panneau : caché par défaut, à TOUTES les largeurs (remplace la bascule 820px) */
body .ag-site-header .ag-primary-nav{
	position:fixed!important;inset:0!important;max-height:none!important;
	display:flex;align-items:flex-start;justify-content:center;
	opacity:0;visibility:hidden;transform:translateY(-8px);
	transition:opacity .25s ease,transform .25s ease,visibility .25s ease;
	z-index:10000;border-top:0!important;box-shadow:none!important;overflow:auto;
}
body .ag-site-header.nav-open .ag-primary-nav{opacity:1;visibility:visible;transform:none}
/* Le menu horizontal ne doit plus s'étaler : il vit dans le panneau */
body .ag-site-header .ag-primary-nav .ag-primary-menu{flex-direction:column!important;flex-wrap:nowrap!important;gap:0!important;padding:0!important;margin:auto!important}
/* Logo lisible par-dessus le panneau vert (il est vert sur fond clair à l'origine) */
body .ag-site-header.nav-open .ag-site-brand{position:relative;z-index:10001}
body .ag-site-header.nav-open .ag-site-brand img{filter:brightness(0) invert(1);opacity:.92}
