/* Finitions des pages intérieures : en-têtes de page, FAQ (accordéons), page de contact.
   Chargé après la feuille du starter. Couleurs et polices : jetons de palette / variables du secteur uniquement
   (hors rouge d'erreur). Voir docs/finitions-pages.md. */

:root{
  --hf-error:#b3261e;
  --hf-ease:cubic-bezier(.2,.7,.2,1);
  /* ton des accordéons / cartes : surchargé par secteur plus bas */
  --hf-r:var(--kit-radius,10px);
  --hf-q-font:inherit;
  --hf-q-weight:600;
  --hf-q-size:1.1875rem;
  --hf-q-case:none;
  --hf-q-track:0;
}

/* ============ 1. En-têtes de page : une seule règle de largeur et de hauteur ============ */
.wp-site-blocks .entry-content>.wp-block-cover.b-pagehead,
.wp-site-blocks .entry-content>.wp-block-cover.hs-hero--page{
  width:100%;max-width:none;margin-inline:0;box-sizing:border-box;
  min-height:clamp(240px,20vw,320px)!important;
}
.wp-site-blocks .entry-content:has(>form.hgs-contact){padding-inline:0!important}
.hgs-crumb{display:flex;flex-wrap:wrap;gap:.5em;align-items:center;margin:0 0 .9rem;font-size:.8125rem;line-height:1.3;color:rgba(255,255,255,.82)}
.hgs-crumb a{color:inherit;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.4)}
.hgs-crumb a:hover{border-bottom-color:#fff;color:#fff}
.hgs-crumb [aria-current]{opacity:.9}
.b-pagehead .b-pagehead__in{text-shadow:0 1px 14px rgba(0,0,0,.28)}
@media(max-width:781px){
  .wp-site-blocks .entry-content>.wp-block-cover.b-pagehead,.wp-site-blocks .entry-content>.wp-block-cover.hs-hero--page{min-height:220px!important}
  .b-pagehead .wp-block-cover__inner-container{padding-block:36px!important}
}

/* ============ 2. Accordéons (FAQ) ============ */
.hgs-faq{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(32px,6vw,88px);align-items:start;max-width:var(--kit-max,72rem);margin-inline:auto}
.hgs-faq__side{position:sticky;top:96px}
.hgs-faq__eyebrow{margin:0 0 .6rem;font-size:.75rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--wp--preset--color--primary)}
.hgs-faq__t{margin:0 0 .75rem;font-size:clamp(1.6rem,1.2rem + 1.2vw,2.25rem);line-height:1.15}
.hgs-faq__p{margin:0 0 1.5rem;color:var(--wp--preset--color--muted);max-width:34ch;line-height:1.6}
.hgs-faq__btn{display:inline-flex;align-items:center;min-height:46px;padding:0 22px;border-radius:var(--kit-btn-r,var(--hf-r));background:var(--wp--preset--color--primary);color:var(--wp--preset--color--on-primary);font-weight:600;text-decoration:none;transition:transform .15s var(--hf-ease),box-shadow .15s var(--hf-ease)}
.hgs-faq__btn:hover{transform:translateY(-1px);box-shadow:0 10px 22px -12px rgba(17,17,20,.5)}
@media(max-width:900px){.hgs-faq{grid-template-columns:1fr}.hgs-faq__side{position:static}.hgs-faq__p{max-width:none}}

.kit-faq{display:grid;gap:14px;max-width:none;margin-inline:0}
.hgs-faq .kit-faq{margin:0}
.kit-faq details{--hf-bar:transparent;position:relative;border:1px solid var(--kit-line);border-radius:var(--hf-r);background:var(--wp--preset--color--base);padding:0;overflow:hidden;
  transition:border-color .2s var(--hf-ease),box-shadow .25s var(--hf-ease),background-color .2s}
.wp-site-blocks .kit-faq details::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--wp--preset--color--accent);transform:scaleY(0);transform-origin:top;transition:transform .3s var(--hf-ease)}
.kit-faq details:hover{border-color:color-mix(in srgb,var(--wp--preset--color--primary) 45%,transparent)}
.kit-faq details[open]{border-color:color-mix(in srgb,var(--wp--preset--color--primary) 38%,transparent);box-shadow:0 18px 34px -26px rgba(17,17,20,.45)}
.kit-faq details[open]::before{transform:scaleY(1)}
.kit-faq summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:20px;
  padding:22px 24px;min-height:44px;font-family:var(--hf-q-font);font-weight:var(--hf-q-weight);font-size:var(--hf-q-size);line-height:1.35;
  text-transform:var(--hf-q-case);letter-spacing:var(--hf-q-track);color:var(--wp--preset--color--contrast);transition:color .2s}
.kit-faq summary::-webkit-details-marker{display:none}
.kit-faq summary:hover{color:var(--wp--preset--color--primary)}
.kit-faq summary:focus-visible{outline:3px solid var(--wp--preset--color--accent);outline-offset:-3px;border-radius:var(--hf-r)}
/* pastille ronde : plus / moins dessiné en dégradés, rotation à l'ouverture */
.kit-faq summary::after{content:"";flex:none;width:36px;height:36px;border-radius:50%;margin:0;
  color:var(--wp--preset--color--on-accent);background-color:var(--wp--preset--color--accent);
  background-image:linear-gradient(currentColor,currentColor),linear-gradient(currentColor,currentColor);
  background-repeat:no-repeat;background-position:center;background-size:14px 2px,2px 14px;
  transition:transform .35s var(--hf-ease),background-size .3s var(--hf-ease),box-shadow .2s;font-size:0}
.kit-faq summary:hover::after{box-shadow:0 0 0 5px color-mix(in srgb,var(--wp--preset--color--accent) 28%,transparent)}
.kit-faq details[open] summary::after{content:"";transform:rotate(180deg);background-size:14px 2px,2px 0}
.kit-faq details>:not(summary){margin:0;padding:0 24px 0;color:var(--wp--preset--color--muted);line-height:1.7;max-width:68ch}
.kit-faq details>:not(summary):last-child{padding-bottom:24px}
.kit-faq details>:not(summary)+*{margin-top:.75rem}
/* ouverture douce (Chrome / Edge récents ; sinon ouverture immédiate) */
@supports (interpolate-size:allow-keywords){
  .kit-faq details{interpolate-size:allow-keywords}
  .kit-faq details::details-content{block-size:0;overflow:clip;opacity:0;transition:block-size .38s var(--hf-ease),opacity .3s var(--hf-ease),content-visibility .38s allow-discrete}
  .kit-faq details[open]::details-content{block-size:auto;opacity:1}
}
@media(max-width:600px){
  .kit-faq summary{padding:18px 16px;font-size:calc(var(--hf-q-size)*.92)}
  .kit-faq details>:not(summary){padding-inline:16px}
  .kit-faq summary::after{width:32px;height:32px}
}
@media(prefers-reduced-motion:reduce){
  .kit-faq details,.kit-faq details::before,.kit-faq summary::after,.kit-faq details::details-content{transition:none!important}
}

/* Personnalité par secteur : ton via variables */
/* sport : pas de capitales au-delà des surtitres (docs/typography.md) : Barlow Condensed en casse normale */
.hgs-sector-sport{--hf-r:2px;--hf-q-font:var(--hgs-d);--hf-q-weight:700;--hf-q-size:1.375rem;--hf-q-case:none;--hf-q-track:.005em}
.hgs-sector-sport .kit-faq details{border:0;border-bottom:4px solid var(--wp--preset--color--accent);background:var(--wp--preset--color--surface)}
.hgs-sector-sport .kit-faq details::before{display:none}
.hgs-sector-creatif{--hf-r:0px;--hf-q-font:var(--hgs-d);--hf-q-weight:700}
.hgs-sector-creatif .kit-faq details{border:2px solid var(--wp--preset--color--contrast)}
.hgs-sector-creatif .kit-faq details[open]{box-shadow:6px 6px 0 var(--wp--preset--color--accent)}
.hgs-sector-artisan{--hf-r:6px;--hf-q-font:var(--hgs-d);--hf-q-weight:700}
.hgs-sector-commerce{--hf-r:10px;--hf-q-weight:600}
.hgs-sector-beaute{--hf-r:22px;--hf-q-font:var(--hgs-d);--hf-q-weight:600;--hf-q-size:1.375rem}
.hgs-sector-beaute .kit-faq details{background:var(--wp--preset--color--surface);border-color:transparent}
.hgs-sector-beaute .kit-faq details::before{display:none}
.hgs-sector-restaurant{--hf-r:0px;--hf-q-font:var(--hgs-d);--hf-q-weight:500;--hf-q-size:1.375rem}
.hgs-sector-immobilier{--hf-r:14px;--hf-q-font:var(--hgs-d);--hf-q-weight:400;--hf-q-size:1.375rem}
/* sobres : séparateurs aérés, pas de cartes */
.hgs-sector-juridique,.hgs-sector-sante,.hgs-sector-association,.hgs-sector-restaurant{--hf-r:0px}
.hgs-sector-juridique{--hf-q-font:var(--hgs-d);--hf-q-weight:600;--hf-q-size:1.25rem}
.hgs-sector-sante{--hf-q-weight:600}
.hgs-sector-association{--hf-q-font:var(--hgs-d);--hf-q-weight:600;--hf-q-size:1.25rem}
:is(.hgs-sector-juridique,.hgs-sector-sante,.hgs-sector-association,.hgs-sector-restaurant) .kit-faq{gap:0;border-top:1px solid var(--kit-line)}
:is(.hgs-sector-juridique,.hgs-sector-sante,.hgs-sector-association,.hgs-sector-restaurant) .kit-faq details{border:0;border-bottom:1px solid var(--kit-line);background:transparent;box-shadow:none!important}
:is(.hgs-sector-juridique,.hgs-sector-sante,.hgs-sector-association,.hgs-sector-restaurant) .kit-faq details::before{display:none}
:is(.hgs-sector-juridique,.hgs-sector-sante,.hgs-sector-association,.hgs-sector-restaurant) .kit-faq summary{padding-inline:4px}
:is(.hgs-sector-juridique,.hgs-sector-sante,.hgs-sector-association,.hgs-sector-restaurant) .kit-faq details>:not(summary){padding-inline:4px}

/* ============ 3. Page de contact ============ */
/* Composition : coordonnées (5) | formulaire (6) sur la première rangée ; « Comment venir » sur toute la largeur
   en dessous (plan + adresse côte à côte) : plus de vide sous le formulaire, toute la largeur du conteneur est utilisée. */
.hgs-ct{--ct-pad:var(--kit-pad,clamp(20px,5vw,40px));width:100%;max-width:calc(var(--kit-max,72rem) + 2*var(--ct-pad));margin:0 auto;box-sizing:border-box;
  padding:clamp(48px,6vw,96px) var(--ct-pad);display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);grid-template-areas:"info form" "route route";
  gap:clamp(32px,5vw,64px) clamp(32px,5vw,72px);align-items:start}
.hgs-ct__info{grid-area:info;min-width:0}
.hgs-ct__formcol{grid-area:form}
.hgs-ct>.hgs-ct__route{grid-area:route;margin:0}
.hgs-ct--solo{grid-template-columns:minmax(0,46rem);grid-template-areas:"form" "info" "route";justify-content:center;row-gap:40px}
/* sans coordonnées : les horaires suivent le formulaire, en bandeau sur deux colonnes */
.hgs-ct--solo .hgs-ct__h{text-align:center}
.hgs-ct--solo .hgs-ct__lead{text-align:center;max-width:none}
.hgs-ct--solo .hgs-ct__cards{grid-template-columns:repeat(auto-fit,minmax(min(100%,18rem),1fr))}
.hgs-ct--solo .hgs-ct__card--hours{grid-column:1/-1}
.hgs-ct--solo .hgs-ct__card--hours .hgs-ct__hours{display:grid;grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));column-gap:28px}
.hgs-ct--solo .hgs-ct__card--hours .hgs-ct__hours>div:last-child{border-bottom:1px solid var(--kit-line);padding-bottom:7px}
.hgs-ct__name{margin:0 0 .15rem;font-family:var(--hgs-d,inherit);font-size:1.25rem;font-weight:600;line-height:1.2;color:var(--wp--preset--color--contrast)}
.hgs-ct__h{margin:0 0 1.25rem;font-size:clamp(1.4rem,1.1rem + .9vw,1.75rem);line-height:1.2}
.hgs-ct__lead{margin:-.5rem 0 1.5rem;color:var(--wp--preset--color--muted);line-height:1.6}
.hgs-ct__cards{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.hgs-ct__card{display:flex;gap:16px;align-items:flex-start;margin:0;padding:18px 20px;background:var(--wp--preset--color--base);border:1px solid var(--kit-line);border-radius:var(--hf-r)}
.hgs-ct__ic{flex:none;display:grid;place-items:center;width:44px;height:44px;border-radius:calc(var(--hf-r) + 2px);background:var(--wp--preset--color--accent);color:var(--wp--preset--color--on-accent)}
.hgs-sector-beaute .hgs-ct__ic,.hgs-sector-sante .hgs-ct__ic{border-radius:50%}
.hgs-ct__k{margin:0 0 .15rem;font-size:.75rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--wp--preset--color--muted)}
.hgs-ct__v{margin:0;font-size:1.0625rem;line-height:1.55;color:var(--wp--preset--color--contrast)}
.hgs-ct__v a,.hgs-ct__soc a{color:inherit;text-decoration:none;font-weight:600;border-bottom:1.5px solid color-mix(in srgb,var(--wp--preset--color--primary) 45%,transparent)}
.hgs-ct__v a:hover,.hgs-ct__soc a:hover{border-bottom-color:var(--wp--preset--color--primary);color:var(--wp--preset--color--primary)}
.hgs-ct__card>div{min-width:0;flex:1}
.hgs-ct__hours{margin:.15rem 0 0;display:grid;gap:0}
.hgs-ct__hours>div{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:7px 0;border-bottom:1px solid var(--kit-line);font-size:.9688rem}
.hgs-ct__hours>div:last-child{border-bottom:0;padding-bottom:0}
/* libellé du jour sur une ligne ; la plage horaire ne se coupe jamais */
.hgs-ct__hours dt{margin:0;flex:1 1 auto;min-width:0;color:var(--wp--preset--color--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hgs-ct__hours dd{margin:0;flex:0 0 auto;font-weight:600;text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
.hgs-ct__hours>.is-full dt{white-space:normal}
.hgs-ct__soc{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px 18px}
.hgs-ct__soc li{margin:0}
.hgs-ct__route{margin-top:12px;border:1px solid var(--kit-line);border-radius:var(--hf-r);overflow:hidden;background:var(--wp--preset--color--base);
  display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);align-items:stretch}
.hgs-ct__mapart{display:block;width:100%;height:100%;min-height:220px}
/* photo du lieu (image mise en avant, bannière de la page ou photo du starter) + repère */
.hgs-ct__photo{position:relative;min-height:260px;overflow:hidden;background:var(--wp--preset--color--surface)}
.hgs-ct__photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.92)}
.hgs-ct__photo::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 55%,color-mix(in srgb,var(--wp--preset--color--base) 55%,transparent))}
.hgs-ct__pin{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:var(--wp--preset--color--accent);color:var(--wp--preset--color--on-accent);box-shadow:0 0 0 10px color-mix(in srgb,var(--wp--preset--color--accent) 30%,transparent),0 14px 30px -12px rgba(0,0,0,.6)}
.hgs-ct__pin .hgs-ic{width:26px;height:26px}
.hgs-ct__route.has-photo{grid-template-columns:minmax(0,7fr) minmax(0,5fr)}
@media(max-width:760px){.hgs-ct__photo{min-height:200px}.hgs-ct__photo::after{background:linear-gradient(180deg,transparent 60%,color-mix(in srgb,var(--wp--preset--color--base) 55%,transparent))}}
.hgs-ct__route-b{display:flex;flex-direction:column;justify-content:center}
@media(max-width:760px){.hgs-ct__route{grid-template-columns:1fr}.hgs-ct__mapart{height:150px;min-height:0}}
.hgs-ct__mapart .m-bg{fill:color-mix(in srgb,var(--wp--preset--color--primary) 7%,var(--wp--preset--color--surface))}
.hgs-ct__mapart .m-block{fill:color-mix(in srgb,var(--wp--preset--color--contrast) 7%,var(--wp--preset--color--base))}
.hgs-ct__mapart .m-park{fill:color-mix(in srgb,var(--wp--preset--color--primary) 16%,var(--wp--preset--color--surface))}
.hgs-ct__mapart .m-road{fill:none;stroke:var(--wp--preset--color--base);stroke-width:8}
.hgs-ct__mapart .m-main{fill:none;stroke:var(--wp--preset--color--accent);stroke-width:7}
.hgs-ct__mapart .m-halo{fill:color-mix(in srgb,var(--wp--preset--color--primary) 22%,transparent)}
.hgs-ct__mapart .m-pin{fill:var(--wp--preset--color--primary)}
.hgs-ct__mapart .m-dot{fill:var(--wp--preset--color--on-primary)}
.hgs-ct__route-b{padding:18px 20px 20px}
.hgs-ct__links{display:flex;flex-wrap:wrap;gap:10px 18px;align-items:center;margin:14px 0 0}
.hgs-ct__btn{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 18px;border-radius:var(--kit-btn-r,var(--hf-r));background:var(--wp--preset--color--primary);color:var(--wp--preset--color--on-primary);font-weight:600;text-decoration:none;transition:transform .15s var(--hf-ease),box-shadow .15s}
.hgs-ct__btn:hover{transform:translateY(-1px);box-shadow:0 10px 22px -12px rgba(17,17,20,.5)}
.hgs-ct__btn .hgs-ic{width:18px;height:18px}
.hgs-ct__lnk{color:var(--wp--preset--color--contrast);font-weight:600;font-size:.9375rem}
.hgs-ct__owner{max-width:var(--kit-max,72rem);margin:24px auto -24px;padding:10px 14px;border-radius:var(--hf-r);border:1px dashed var(--kit-line);font-size:.875rem;color:var(--wp--preset--color--muted)}
.hgs-ct__formcol{min-width:0}

/* formulaire */
.wp-site-blocks .hgs-ct form.hgs-contact{margin:0;padding:clamp(20px,3vw,32px);gap:20px;max-width:none;border-radius:var(--hf-r);
  background:var(--wp--preset--color--surface);box-shadow:none}
.hgs-contact .hgs-contact__row{display:grid;gap:0}
.wp-site-blocks form.hgs-contact label{font-size:.9375rem}
.wp-site-blocks form.hgs-contact :is(input[type=text],input[type=email],textarea){min-height:50px;border-radius:calc(var(--hf-r) + 2px);padding:13px 16px;transition:border-color .15s,box-shadow .15s,background-color .15s}
.wp-site-blocks form.hgs-contact textarea{min-height:160px}
.wp-site-blocks form.hgs-contact :is(input,textarea)::placeholder{color:color-mix(in srgb,var(--wp--preset--color--contrast) 45%,transparent)}
.wp-site-blocks form.hgs-contact :is(input,textarea):focus{border-color:var(--wp--preset--color--primary);box-shadow:0 0 0 4px color-mix(in srgb,var(--wp--preset--color--primary) 22%,transparent)}
.wp-site-blocks form.hgs-contact :is(input,textarea):user-invalid{border-color:var(--hf-error);box-shadow:0 0 0 3px color-mix(in srgb,var(--hf-error) 16%,transparent)}
.wp-site-blocks form.hgs-contact :is(input,textarea):user-invalid:focus{box-shadow:0 0 0 4px color-mix(in srgb,var(--hf-error) 22%,transparent)}
.hgs-contact__hint{display:block;margin-top:6px;font-size:.8125rem;line-height:1.4;color:var(--wp--preset--color--muted)}
.hgs-contact .hgs-contact__foot{display:flex;flex-wrap:wrap;gap:8px 18px;align-items:center}
.hgs-contact .hgs-contact__foot .hgs-contact__hint{margin:0}
.wp-site-blocks form.hgs-contact button.hgs-contact__submit{min-height:46px;padding:0 24px;border-radius:var(--kit-btn-r,var(--hf-r))}
.wp-site-blocks form.hgs-contact button.hgs-contact__submit:focus-visible{outline:3px solid var(--wp--preset--color--accent);outline-offset:3px}
.wp-site-blocks form.hgs-contact .hgs-contact__notice--err{border-left-color:var(--hf-error);background:color-mix(in srgb,var(--hf-error) 8%,var(--wp--preset--color--base))}
.hgs-contact--done{display:grid;justify-items:start;gap:6px;padding:clamp(24px,4vw,40px);border-radius:var(--hf-r);background:var(--wp--preset--color--surface);border:1px solid var(--kit-line);max-width:none!important}
.hgs-contact--done p{margin:0!important}
.hgs-contact__done-ic{width:48px;height:48px;border-radius:50%;margin-bottom:10px;background:var(--wp--preset--color--accent) no-repeat center/24px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23111' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E")}
.hgs-contact__done-t{font-size:1.375rem;font-weight:700}
.hgs-contact__again{font-weight:600;color:var(--wp--preset--color--primary)}

@media(max-width:1023px){
  .hgs-ct{grid-template-columns:minmax(0,1fr);grid-template-areas:"info" "form" "route";gap:40px;padding-block:40px 56px}
  .hgs-ct--solo{grid-template-columns:minmax(0,1fr);grid-template-areas:"form" "route"}
}
@media(max-width:520px){
  .hgs-ct__card{padding:16px;gap:14px}
  .hgs-ct__hours>div{flex-direction:column;align-items:stretch;gap:0}
  .hgs-ct__hours dt{white-space:normal;overflow:visible}
  .hgs-ct__hours dd{text-align:left;white-space:normal}
  .wp-site-blocks .hgs-ct form.hgs-contact button.hgs-contact__submit{width:100%}
}
@media(prefers-reduced-motion:reduce){.hgs-ct__btn,.hgs-faq__btn{transition:none}}

/* Pastille « Le plus choisi » : toujours lisible (le texte clair des cartes mises en avant ne doit pas la gagner) */
.wp-site-blocks .kit-card .kit-badge.kit-badge,.wp-site-blocks .kit-card--featured .kit-badge.kit-badge{color:var(--wp--preset--color--on-accent)}
.hgs-faq__side--compact{position:static}
.hgs-faq__side--compact .hgs-faq__p{margin-bottom:1.25rem}

/* Pages légales (mentions, confidentialité) : bandeau teinté (même rythme que les pages intérieures) puis colonne de lecture centrée */
.hgs-legalhead{background:var(--wp--preset--color--secondary);color:var(--wp--preset--color--on-secondary);padding:clamp(40px,5vw,64px) var(--kit-pad,24px) clamp(36px,4vw,56px);margin:0 0 clamp(8px,2vw,24px)}
.hgs-legalhead__in{max-width:var(--kit-max,72rem);margin-inline:auto}
.hgs-legalhead .hgs-crumb{color:color-mix(in srgb,currentColor 78%,transparent)}
.hgs-legalhead .hgs-crumb a{border-bottom-color:color-mix(in srgb,currentColor 40%,transparent)}
.hgs-legalhead .hgs-crumb a:hover{color:inherit;border-bottom-color:currentColor}
.hgs-legalhead__t{margin:0;font-family:var(--hgs-d,inherit);font-size:clamp(2rem,1.4rem + 2vw,3.25rem);line-height:1.1;color:inherit;max-width:20ch}
.hgs-legalhead__meta{margin:.9rem 0 0;font-size:.875rem;opacity:.75}
.wp-site-blocks .kit-legal{padding-block:clamp(40px,5vw,72px) clamp(56px,7vw,96px);padding-inline:max(var(--kit-pad,24px),calc((100% - var(--kit-max,72rem))/2))!important;box-sizing:border-box}
.wp-site-blocks .kit-legal>*{max-width:44rem!important;margin-inline:auto!important}
.wp-site-blocks .kit-legal>h2:first-child{padding-top:0;border-top:0;margin-top:0}
.wp-site-blocks .kit-legal h1{margin-bottom:1.5rem}
.wp-site-blocks .kit-legal h2{font-size:clamp(1.3rem,1.1rem + .8vw,1.65rem);margin:2.25rem 0 .75rem;padding-top:1.5rem;border-top:1px solid var(--kit-line)}
.wp-site-blocks .kit-legal h1+h2{margin-top:1.5rem}
.wp-site-blocks .kit-legal p{line-height:1.7}

/* ============ 4. Carrousel : piste où tout tient (3 cartes à 1440) = pas de commandes ============ */
.kit-slider-wrap.is-static .kit-slider-ctrl{display:none}
.kit-slider-wrap.is-static>.kit-slider{overflow-x:visible;scroll-snap-type:none}

/* ============ 5. Pied de page : grille qui suit le nombre de colonnes, colonne Contact jamais vide ============ */
.wp-site-blocks .kit-footer__grid:not(:has(>:nth-child(4))){grid-template-columns:1.6fr 1fr 1fr}
.wp-site-blocks .kit-footer__grid:not(:has(>:nth-child(3))){grid-template-columns:1.6fr 1fr}
.kit-footer .hgs-foot-contact{margin:0;display:grid;gap:8px}
.kit-footer .hgs-foot-contact a{display:inline-flex;align-items:center;gap:8px;font-weight:600;opacity:1}
.kit-footer .hgs-foot-contact a .hgs-ic{width:18px;height:18px;flex:none;opacity:.8}
/* horaires reprises de « Identité du site » dans le pied : une ligne par jour, valeur insécable */
.kit-footer .hgs-foot-hours{margin:0;display:grid;gap:6px}
.kit-footer .hgs-foot-hours>span{display:block}
.kit-footer .hgs-foot-hours b{font-weight:600}
/* la colonne Horaires gagne un peu de largeur sur la navigation (plages longues : « Lundi – vendredi, 9 h 30 – 18 h ») */
@media(min-width:901px){.wp-site-blocks .kit-footer__grid:has(>:nth-child(4)):not(:has(>:nth-child(5))){grid-template-columns:1.3fr .85fr 1.3fr 1.15fr}}
/* navigation longue (plus de 5 liens, cf. finitions.php) : deux colonnes de liens, la colonne gagne la largeur
   prise sur la marque ; plus de grand vide sous la marque ni de colonne Navigation deux fois plus haute */
.kit-footer .hgs-fnav--many .wp-block-navigation__container{display:grid!important;grid-template-columns:repeat(2,minmax(0,max-content));column-gap:clamp(20px,2.4vw,36px);row-gap:10px}
.kit-footer .hgs-fnav--many .wp-block-navigation-item__content{white-space:nowrap}
@media(min-width:901px){.wp-site-blocks .kit-footer__grid:has(>:nth-child(4)):not(:has(>:nth-child(5))):has(.hgs-fnav--many){grid-template-columns:1.05fr 1.45fr 1.3fr 1.1fr}}
@media(max-width:900px){
  .wp-site-blocks .kit-footer__grid:not(:has(>:nth-child(4))){grid-template-columns:1fr 1fr}
}
@media(max-width:560px){
  .wp-site-blocks .kit-footer__grid:not(:has(>:nth-child(4))),.wp-site-blocks .kit-footer__grid:not(:has(>:nth-child(3))){grid-template-columns:1fr}
}

/* ============ 6. Horaires : plage insécable (retour à la ligne seulement au séparateur « · ») ============ */
.hgs-nw{white-space:nowrap;font-variant-numeric:tabular-nums}

/* ============ 7. Avis : l'auteur reste calé en bas, quelle que soit la longueur de la citation ============ */
.kit-grid>.hs-testi,.kit-grid>.b-tcard,.kit-slider>.hs-testi,.kit-slider>.b-tcard{display:flex;flex-direction:column;align-self:stretch;height:auto}
.hs-testi .kit-quote,.b-tcard .kit-quote{flex:1 1 auto}
.hs-testi .hs-who,.b-tcard .b-author{margin-top:auto}

/* ============ 8. Encart « Nous rencontrer » (infos pratiques maison, adresse pas encore renseignée) ============ */
.hs-locate__card .hs-locate__note{font-size:.9375rem;line-height:1.5;color:var(--wp--preset--color--muted);max-width:30ch}
.hs-locate__card .wp-block-buttons{margin-top:14px!important}
.hs-locate__card .wp-block-button__link{min-height:40px;padding:0 18px;font-size:.9375rem;display:inline-flex;align-items:center}

/* ============ 9. Menu mobile : le voile flouté de l'en-tête ne doit pas emprisonner le menu plein écran ============ */
/* backdrop-filter (ou transform/filter) sur un ancêtre fait de lui le bloc conteneur des éléments position:fixed :
   le menu ouvert était réduit à la hauteur de l'en-tête (64 px). Menu ouvert : on retire ces propriétés. */
html.has-modal-open .wp-site-blocks :is(header,.kit-header,.wp-block-template-part),
.wp-site-blocks .kit-header:has(.wp-block-navigation__responsive-container.is-menu-open),
.wp-site-blocks header:has(.wp-block-navigation__responsive-container.is-menu-open){
  -webkit-backdrop-filter:none!important;backdrop-filter:none!important;filter:none!important;transform:none!important;contain:none!important}
.wp-block-navigation__responsive-container.is-menu-open{position:fixed;inset:0;height:100dvh;overflow-y:auto;z-index:100000}
/* Menu ouvert : même gabarit pour les 10 secteurs (aligné à gauche, marges latérales, séparateurs, CTA pleine largeur) */
.wp-site-blocks .wp-block-navigation__responsive-container.is-menu-open{padding:14px var(--kit-pad,24px) 32px!important;box-sizing:border-box}
.wp-site-blocks .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-close{max-width:none;width:100%}
.wp-site-blocks .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close{top:0;right:0}
.wp-site-blocks .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content{padding-top:60px!important;align-items:stretch!important;width:100%}
.wp-site-blocks .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container{align-items:stretch!important;justify-content:flex-start!important;width:100%;gap:0!important}
.wp-site-blocks .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item{width:100%;justify-content:flex-start!important;text-align:left!important}
.wp-site-blocks .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content{display:block;width:100%;padding:14px 0!important;border-bottom:1px solid var(--kit-line);text-align:left!important;font-size:1.125rem}
.wp-site-blocks .wp-block-navigation__responsive-container.is-menu-open .kit-nav-cta{width:100%;margin-top:24px}
.wp-site-blocks .wp-block-navigation__responsive-container.is-menu-open .kit-nav-cta .wp-block-button__link{display:flex;justify-content:center;align-items:center;width:100%;min-height:48px;box-sizing:border-box}

/* ============ 10. 404 : suggestions de pages (seo/content.php) en pastilles centrées ============ */
.kit-404 .hgs-404{margin-top:clamp(40px,5vw,64px);padding-top:clamp(28px,3vw,40px);border-top:1px solid var(--kit-line)}
.kit-404 .hgs-404 h2{margin:0 0 1rem;font-size:.8125rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--wp--preset--color--muted);font-family:inherit}
.kit-404 .hgs-404 ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:10px}
.kit-404 .hgs-404 li{margin:0}
.kit-404 .hgs-404 a{display:inline-flex;align-items:center;min-height:40px;padding:0 16px;border:1px solid var(--kit-line);border-radius:999px;color:var(--wp--preset--color--contrast);text-decoration:none;font-weight:600;font-size:.9375rem;transition:border-color .15s,color .15s,background-color .15s}
.kit-404 .hgs-404 a:hover{border-color:var(--wp--preset--color--primary);color:var(--wp--preset--color--primary)}
.kit-404 .hgs-404 a:focus-visible{outline:3px solid var(--wp--preset--color--accent);outline-offset:2px}
.kit-404 .hgs-404>p{margin:0 0 1.25rem}

/* ============ 11. Contact sans coordonnées : photo du lieu légendée + horaires à gauche du formulaire ============ */
.hgs-ct__aside{grid-area:info;min-width:0;display:grid;gap:16px;align-content:start}
.hgs-ct__fig{position:relative;margin:0;width:100%;border-radius:var(--hf-r);overflow:hidden;aspect-ratio:1/1;background:var(--wp--preset--color--surface)}
.hgs-ct__fig img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.hgs-ct__fig::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(12,12,14,.72))}
.hgs-ct__fig figcaption{position:absolute;left:0;right:0;bottom:0;z-index:1;display:grid;gap:4px;padding:clamp(18px,2.4vw,28px);color:#fff}
.hgs-ct__fig figcaption .hgs-ct__k{color:rgba(255,255,255,.78)}
.hgs-ct__fig figcaption .hgs-ct__name{color:#fff;font-size:clamp(1.3rem,1.1rem + .6vw,1.6rem)}
.hgs-ct__cap{font-size:.9375rem;line-height:1.5;max-width:36ch;color:rgba(255,255,255,.88)}
.hgs-ct__aside .hgs-ct__info{grid-area:auto}
@media(max-width:1023px){.hgs-ct__fig{aspect-ratio:4/3}.hgs-ct.hgs-ct--aside{grid-template-areas:"form" "info" "route"}}
@media(max-width:520px){.hgs-ct__fig{aspect-ratio:4/5}}
/* « Comment venir » avec photo : une seule colonne sur mobile (la règle .has-photo l'emportait sur la requête média) */
@media(max-width:760px){.hgs-ct__route.has-photo{grid-template-columns:1fr}.hgs-ct__route.has-photo .hgs-ct__photo{min-height:200px}}

/* ---------------------------------------------------------------------------------------------
 * Accueil « Chiffres clés » des starters à bandeau (beauté, sport, association, commerce, créatif) :
 * le bloc de chiffres qui suit le héros devient un panneau flottant qui mord sur le héros. Il est
 * visible dès le premier écran et distingue réellement ce type d'accueil du « Classique » (constat DA :
 * « trois fois la même page »). Les couleurs restent celles du starter (fond du bloc conservé).
 * ------------------------------------------------------------------------------------------- */
.wp-block-post-content > .kit-hero:has(+ .b-figsec){--hgs-kf-lift:88px;padding-bottom:calc(var(--hgs-kf-lift) + 32px) !important}
.wp-block-post-content > .kit-hero + .b-figsec{position:relative;z-index:2;width:min(72rem,calc(100% - 40px));box-sizing:border-box;margin:-88px auto 0 !important;padding:40px clamp(20px,4vw,56px) !important;border-radius:var(--wp--custom--radius-lg,16px);box-shadow:0 28px 60px -28px rgba(0,0,0,.4)}
.wp-block-post-content > .kit-hero + .b-figsec:not(.has-background){background-color:var(--wp--preset--color--base)}
.wp-block-post-content > .kit-hero + .b-figsec > *{max-width:none !important}
.wp-block-post-content > .kit-hero + .b-figsec + *{margin-top:0}
@media (max-width:600px){
  .wp-block-post-content > .kit-hero:has(+ .b-figsec){--hgs-kf-lift:56px}
  .wp-block-post-content > .kit-hero + .b-figsec{margin-top:-56px !important;padding:28px 20px !important;width:calc(100% - 40px)}
}
