/*
Theme Name:   CHDH Child
Theme URI:    https://1001chambresdhotes.com
Description:  Thème enfant GeneratePress pour 1001chambresdhotes.com — fondations visuelles (jetons, typographie).
Author:       1001chambresdhotes.com
Template:     generatepress
Version:      0.2.0
Text Domain:  chdh-child
*/
/* 1) Polices auto-hébergées (aucun CDN) */
@font-face{font-family:"CHDH Serif";src:url("assets/fonts/fraunces-latin-600.woff2") format("woff2");font-weight:600 700;font-style:normal;font-display:swap}
@font-face{font-family:"CHDH Sans";src:url("assets/fonts/inter-latin-variable.woff2") format("woff2");font-weight:400 700;font-style:normal;font-display:swap}
/* 2) Jetons de design */
:root{
  --chdh-color-bg:#faf6f0;
  --chdh-color-surface:#ffffff;
  --chdh-color-border:#e4d9c9;
  --chdh-color-ink:#2b241d;           /* AA sur bg/surface */
  --chdh-color-ink-soft:#5a5044;      /* AA sur bg/surface */
  --chdh-color-accent:#9c3b23;        /* AA sur bg/surface */
  --chdh-color-accent-hover:#7e2f1b;
  --chdh-color-accent-contrast:#fff6ef;
  --chdh-font-serif:"CHDH Serif",Georgia,"Times New Roman",serif;
  --chdh-font-sans:"CHDH Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --chdh-font-size-root:100%;
  --chdh-font-size-sm:0.85rem;
  --chdh-font-size-base:1rem;
  --chdh-font-size-md:1.25rem;
  --chdh-font-size-lg:1.563rem;
  --chdh-font-size-xl:1.953rem;
  --chdh-font-size-2xl:2.441rem;
  --chdh-font-size-3xl:3.052rem;
  --chdh-line-height-tight:1.2;
  --chdh-line-height-base:1.6;
  --chdh-space-unit:0.5rem;
  --chdh-space-xs:calc(var(--chdh-space-unit) * 1);
  --chdh-space-sm:calc(var(--chdh-space-unit) * 2);
  --chdh-space-md:calc(var(--chdh-space-unit) * 3);
  --chdh-space-lg:calc(var(--chdh-space-unit) * 5);
  --chdh-space-xl:calc(var(--chdh-space-unit) * 8);
  --chdh-radius-sm:4px;
  --chdh-radius-md:10px;
  --chdh-color-breadcrumb:#756c5f;      /* 4,8:1 sur bg, AA */
  --chdh-color-breadcrumb-sep:#cabfac;  /* décoratif, aria-hidden */
  --chdh-font-size-breadcrumb:0.75rem;
  --chdh-tap-min:44px;                  /* zone tactile minimale WCAG 2.5.5 */
}
/* 3) Fondations */
html{font-size:var(--chdh-font-size-root)}
body{background-color:var(--chdh-color-bg);color:var(--chdh-color-ink);font-family:var(--chdh-font-sans);font-size:var(--chdh-font-size-base);line-height:var(--chdh-line-height-base)}
h1,h2,h3,h4,h5,h6{font-family:var(--chdh-font-serif);font-weight:600;line-height:var(--chdh-line-height-tight);color:var(--chdh-color-ink);margin-top:var(--chdh-space-lg);margin-bottom:var(--chdh-space-sm)}
h1{font-size:var(--chdh-font-size-3xl)}
h2{font-size:var(--chdh-font-size-2xl)}
h3{font-size:var(--chdh-font-size-xl)}
h4{font-size:var(--chdh-font-size-lg)}
h5,h6{font-size:var(--chdh-font-size-md)}
p{margin-bottom:var(--chdh-space-md)}
a{color:var(--chdh-color-accent);text-decoration-thickness:1px;text-underline-offset:2px}
a:hover,a:focus{color:var(--chdh-color-accent-hover)}
small,.chdh-caption{font-size:var(--chdh-font-size-sm);color:var(--chdh-color-ink-soft)}
.chdh-btn,.button,button[type="submit"]{display:inline-block;font-family:var(--chdh-font-sans);font-weight:600;background-color:var(--chdh-color-accent);color:var(--chdh-color-accent-contrast);border:none;border-radius:var(--chdh-radius-sm);padding:var(--chdh-space-xs) var(--chdh-space-md)}
.chdh-btn:hover,.button:hover,button[type="submit"]:hover{background-color:var(--chdh-color-accent-hover);color:var(--chdh-color-accent-contrast)}
/* Chambre d'hôtes : pas de sidebar (cf. functions.php) */
.single-chambre_hote .site-content{max-width:100%}
img{max-width:100%;height:auto}
/* Mention de crédit photo : partout où une image apparaît. Encre douce sur surface/bg, AA. */
.chdh-credit{display:block;font-size:var(--chdh-font-size-sm);color:var(--chdh-color-ink-soft)}
/* 4) Hero de fiche (template-parts/hero.php)
   Pleine largeur : il sort du retrait du conteneur par une marge negative
   compensee par un padding, pour que la photo touche les bords pendant que le
   texte reste aligne sur le reste de la page. */
.chdh-hero{position:relative;margin:0 0 var(--chdh-space-lg);display:flex;align-items:flex-end;min-height:26rem;padding:var(--chdh-space-xl) var(--chdh-space-md) var(--chdh-space-lg);border-radius:var(--chdh-radius-md);overflow:hidden;isolation:isolate;background-color:var(--chdh-color-ink)}
.chdh-hero__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
/* Voile sombre calcule, non decoratif : la lisibilite du titre ne peut pas
   dependre du contenu de la photo. Degrade lateral plus voile global, pour
   tenir aussi bien sur une facade claire que sur un interieur sombre. */
.chdh-hero::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(105deg,rgba(20,16,12,.88) 0%,rgba(20,16,12,.72) 38%,rgba(20,16,12,.35) 70%,rgba(20,16,12,.2) 100%)}
.chdh-hero--sans-photo{min-height:0;padding:var(--chdh-space-lg) var(--chdh-space-md)}
.chdh-hero__contenu{position:relative;max-width:34rem;color:var(--chdh-color-accent-contrast)}
.chdh-hero__surtitre{margin:0 0 var(--chdh-space-xs);display:flex;flex-wrap:wrap;align-items:center;gap:.6em;font-family:var(--chdh-font-sans);font-size:var(--chdh-font-size-sm);font-weight:600;letter-spacing:.14em;text-transform:uppercase;opacity:.85}
.chdh-hero__lieu{padding-left:.6em;border-left:1px solid currentColor;letter-spacing:.08em;font-weight:400}
.chdh-hero__titre{margin:0;color:inherit;font-size:clamp(1.9rem,1.2rem + 2.4vw,3rem);line-height:1.1;text-wrap:balance}
.chdh-hero__chapo{margin:var(--chdh-space-sm) 0 0;font-family:var(--chdh-font-sans);font-size:var(--chdh-font-size-md);line-height:var(--chdh-line-height-base);opacity:.92;font-style:italic}
.chdh-hero__faits{display:flex;flex-wrap:wrap;gap:var(--chdh-space-sm) var(--chdh-space-md);margin:var(--chdh-space-md) 0 0;padding:0;list-style:none;font-family:var(--chdh-font-sans);font-size:var(--chdh-font-size-sm)}
.chdh-hero__fait{display:flex;align-items:center;gap:.45em}
.chdh-hero__icone{flex:none;width:1.25em;height:1.25em;opacity:.9}
.chdh-hero__credit{position:absolute;right:var(--chdh-space-sm);bottom:var(--chdh-space-xs);margin:0;font-family:var(--chdh-font-sans);font-size:var(--chdh-font-size-sm);color:var(--chdh-color-accent-contrast);opacity:.75}
.chdh-hero--sans-photo .chdh-hero__contenu{color:var(--chdh-color-ink)}
.chdh-hero--sans-photo::after{display:none}
@media (max-width:480px){
  .chdh-hero{min-height:20rem;padding:var(--chdh-space-lg) var(--chdh-space-sm) var(--chdh-space-md)}
  .chdh-hero__chapo{font-size:var(--chdh-font-size-sm)}
  .chdh-hero__faits{gap:var(--chdh-space-xs) var(--chdh-space-sm)}
}
/* 5) Fil d'Ariane (template-parts/breadcrumb.php) */
/* Pas de text-transform:uppercase : le dernier maillon porte le nom de l'etablissement, et une raison sociale en capitales se lit mal et crie. */
.chdh-breadcrumb{margin:0 0 var(--chdh-space-md);font-family:var(--chdh-font-sans);font-size:var(--chdh-font-size-breadcrumb);line-height:var(--chdh-line-height-tight);letter-spacing:.01em}
.chdh-breadcrumb__liste{display:flex;flex-wrap:wrap;align-items:center;gap:calc(var(--chdh-space-unit) * .5);margin:0;padding:0;list-style:none}
.chdh-breadcrumb__item{display:flex;align-items:center;gap:calc(var(--chdh-space-unit) * .5)}
.chdh-breadcrumb__item a{display:inline-block;padding:.35em 0;color:var(--chdh-color-breadcrumb);text-decoration:none;border-bottom:1px solid transparent}
.chdh-breadcrumb__item a:hover,.chdh-breadcrumb__item a:focus{color:var(--chdh-color-accent);border-bottom-color:currentColor}
.chdh-breadcrumb__item span[aria-current="page"]{color:var(--chdh-color-breadcrumb);font-weight:700}
.chdh-breadcrumb__sep{color:var(--chdh-color-breadcrumb-sep)}
/* 6) Encadré "En bref" (template-parts/en-bref.php) */
.chdh-en-bref{margin:0 0 var(--chdh-space-lg);padding:var(--chdh-space-md);background-color:var(--chdh-color-surface);border:1px solid var(--chdh-color-border);border-radius:var(--chdh-radius-md)}
.chdh-en-bref__titre{margin-top:0;margin-bottom:var(--chdh-space-sm);font-size:var(--chdh-font-size-lg)}
.chdh-en-bref__liste{display:flex;flex-wrap:wrap;align-items:center;gap:var(--chdh-space-sm) var(--chdh-space-md);margin:0;padding:0;list-style:none}
.chdh-en-bref__item{display:flex;align-items:center;gap:.4em;white-space:nowrap}
.chdh-en-bref__item:not(:first-child)::before{content:"";display:inline-block;width:1px;height:1.1em;margin-right:var(--chdh-space-md);background-color:var(--chdh-color-border)}
.chdh-en-bref__icone{flex:none;width:1.35rem;height:1.35rem;color:var(--chdh-color-accent)}
.chdh-en-bref__valeur{font-weight:600;color:var(--chdh-color-ink)}
.chdh-en-bref__item--prix .chdh-en-bref__valeur{color:var(--chdh-color-accent)}
/* 7) Bloc contact (template-parts/contact.php) */
.chdh-contact{position:sticky;top:var(--chdh-space-md);display:flex;flex-direction:column;gap:var(--chdh-space-sm);padding:var(--chdh-space-md);background-color:var(--chdh-color-surface);border:1px solid var(--chdh-color-border);border-radius:var(--chdh-radius-md)}
.chdh-contact__titre{margin:0;font-size:var(--chdh-font-size-lg)}
.chdh-contact__liste{display:flex;flex-direction:column;gap:var(--chdh-space-sm);margin:0;padding:0;list-style:none}
.chdh-contact__item{display:flex;flex-direction:column;gap:calc(var(--chdh-space-unit) * .25);padding-bottom:var(--chdh-space-sm);border-bottom:1px solid var(--chdh-color-border)}
.chdh-contact__item:last-child{padding-bottom:0;border-bottom:none}
.chdh-contact__label{font-size:var(--chdh-font-size-sm);color:var(--chdh-color-ink-soft)}
.chdh-contact__valeur{font-weight:600;color:var(--chdh-color-ink)}
.chdh-contact__valeur--accent{color:var(--chdh-color-accent);font-size:var(--chdh-font-size-md)}
/* Boutons du bloc. Les deux actions sont pleines, a la demande de Laurent :
   appeler et voir le site sont deux chemins vers la meme reservation directe,
   aucun des deux n'est un repli de l'autre. La nuance de hierarchie passe par
   la taille, pas par un bouton fantome qu'on hesite a cliquer. */
.chdh-contact__bouton{display:flex;align-items:center;justify-content:center;gap:.5em;min-height:var(--chdh-tap-min);padding:var(--chdh-space-sm) var(--chdh-space-sm);background-color:var(--chdh-color-accent);color:var(--chdh-color-accent-contrast);font-family:var(--chdh-font-sans);font-weight:700;text-align:center;text-decoration:none;border-radius:var(--chdh-radius-sm);transition:background-color .15s ease}
.chdh-contact__bouton:hover,.chdh-contact__bouton:focus{background-color:var(--chdh-color-accent-hover);color:var(--chdh-color-accent-contrast)}
.chdh-contact__bouton:focus-visible{outline:2px solid var(--chdh-color-ink);outline-offset:2px}
.chdh-contact__bouton--principal{min-height:52px;font-size:var(--chdh-font-size-md)}
.chdh-contact__bouton--secondaire{font-size:var(--chdh-font-size-sm)}
/* Le numero ne doit jamais se couper en deux lignes : « +33 3 88 50 66 24 »
   casse sur un espace et devient illisible comme numero. */
.chdh-contact__numero{white-space:nowrap}
/* L'emoji est rendu par une police couleur dont la metrique differe de la
   notre : sans cet ajustement il depasse en hauteur et desaxe le libelle. */
.chdh-contact__emoji{font-size:1.1em;line-height:1;font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif}
.chdh-contact__mention{margin:0;font-size:var(--chdh-font-size-sm);color:var(--chdh-color-ink-soft)}
@media (max-width:782px){.chdh-contact{position:static}}
/* 8) Badges de labels (template-parts/badges.php) */
.chdh-badges{margin:0 0 var(--chdh-space-lg)}
.chdh-badges__titre{margin:0 0 var(--chdh-space-sm);font-size:var(--chdh-font-size-lg)}
.chdh-badges__liste{display:flex;flex-wrap:wrap;gap:var(--chdh-space-xs);margin:0;padding:0;list-style:none}
.chdh-badges__item{display:inline-flex;align-items:center;gap:.4em;padding:calc(var(--chdh-space-unit) * .5) var(--chdh-space-sm);font-size:var(--chdh-font-size-sm);font-weight:600;color:var(--chdh-color-ink);background-color:var(--chdh-color-surface);border:1px solid var(--chdh-color-border);border-radius:999px}
.chdh-badges__note{margin:var(--chdh-space-xs) 0 0;font-family:var(--chdh-font-sans);font-size:var(--chdh-font-size-sm);color:var(--chdh-color-ink-soft)}
/* 9) Description (template-parts/description.php) — la citation DATAtourisme reste identifiée comme telle (CLAUDE.md §5.1) */
.chdh-description{margin:0 0 var(--chdh-space-lg)}
.chdh-description__titre{margin:0 0 var(--chdh-space-sm);font-size:var(--chdh-font-size-lg)}
.chdh-description__intro{margin:0 0 var(--chdh-space-md)}
.chdh-description__citation{margin:0 0 var(--chdh-space-md);padding:var(--chdh-space-sm) var(--chdh-space-md);background-color:var(--chdh-color-surface);border-left:3px solid var(--chdh-color-accent);border-radius:0 var(--chdh-radius-sm) var(--chdh-radius-sm) 0;color:var(--chdh-color-ink-soft);font-style:italic}
.chdh-description__citation p{margin:0 0 var(--chdh-space-xs)}
.chdh-description__citation p:last-child{margin-bottom:0}
.chdh-description__source{display:block;margin-top:var(--chdh-space-xs);font-style:normal;font-size:var(--chdh-font-size-sm);color:var(--chdh-color-ink-soft)}
.chdh-description__suite{margin:0}
/* 10) FAQ accordéon (details/summary, sans JS) */
.chdh-faq{margin:0 0 var(--chdh-space-lg);display:flex;flex-direction:column;gap:var(--chdh-space-xs)}
.chdh-faq-item{background:var(--chdh-color-surface);border:1px solid var(--chdh-color-border);border-radius:var(--chdh-radius-md);overflow:hidden}
.chdh-faq-item>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:var(--chdh-space-sm);min-height:var(--chdh-tap-min);padding:var(--chdh-space-sm) var(--chdh-space-md);font-family:var(--chdh-font-serif);font-weight:600;font-size:var(--chdh-font-size-md);color:var(--chdh-color-ink)}
.chdh-faq-item>summary::-webkit-details-marker{display:none}
.chdh-faq-item>summary::after{content:"";flex:none;width:.55em;height:.55em;margin-top:-.2em;border-right:2px solid var(--chdh-color-accent);border-bottom:2px solid var(--chdh-color-accent);transform:rotate(45deg);transition:transform .15s ease}
.chdh-faq-item>summary:hover,.chdh-faq-item>summary:focus-visible{background-color:var(--chdh-color-bg)}
.chdh-faq-item>summary:focus-visible{outline:2px solid var(--chdh-color-accent);outline-offset:-2px}
.chdh-faq-item[open]>summary{background-color:var(--chdh-color-bg);border-bottom:1px solid var(--chdh-color-border)}
.chdh-faq-item[open]>summary::after{transform:rotate(-135deg);margin-top:.2em}
.chdh-faq-reponse{padding:var(--chdh-space-sm) var(--chdh-space-md);font-family:var(--chdh-font-sans);font-weight:400;font-size:var(--chdh-font-size-sm);line-height:var(--chdh-line-height-base);color:var(--chdh-color-ink-soft)}
.chdh-faq-reponse p{margin:0 0 var(--chdh-space-xs)}
.chdh-faq-reponse p:last-child{margin-bottom:0}
/* 10quater) Carte de situation (template-parts/carte.php) */
.chdh-carte{margin:var(--chdh-space-md) 0 var(--chdh-space-lg)}
.chdh-carte__cadre{display:block;width:100%;aspect-ratio:16/9;min-height:15rem;border:1px solid var(--chdh-color-border);border-radius:var(--chdh-radius-md);background-color:var(--chdh-color-surface)}
.chdh-carte__legende{display:flex;flex-wrap:wrap;gap:var(--chdh-space-xs) var(--chdh-space-sm);margin-top:var(--chdh-space-xs);font-family:var(--chdh-font-sans);font-size:var(--chdh-font-size-sm);color:var(--chdh-color-ink-soft)}
/* 10ter) Mention de provenance en bas de fiche (rendue dans post_content) */
.chdh-source{margin:var(--chdh-space-md) 0 0;padding-top:var(--chdh-space-sm);border-top:1px solid var(--chdh-color-border);font-family:var(--chdh-font-sans);font-size:var(--chdh-font-size-sm);line-height:var(--chdh-line-height-base);color:var(--chdh-color-ink-soft)}
/* 10bis) Corps de fiche (single-chambre_hote.php) */
.chdh-fiche__corps{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,19rem);gap:var(--chdh-space-lg);align-items:start}
.chdh-fiche__principal{min-width:0}
.chdh-fiche__aside{position:sticky;top:var(--chdh-space-md)}
@media (max-width:900px){.chdh-fiche__corps{grid-template-columns:minmax(0,1fr)}.chdh-fiche__aside{position:static}}
/* 11) Responsive mobile (< 480px) — empilement, tailles lisibles, cibles tactiles */
@media (max-width:480px){
  :root{
    --chdh-font-size-3xl:2.074rem;
    --chdh-font-size-2xl:1.75rem;
    --chdh-font-size-xl:1.5rem;
    --chdh-font-size-lg:1.25rem;
    --chdh-font-size-md:1.125rem;
    --chdh-space-lg:calc(var(--chdh-space-unit) * 4);
    --chdh-space-xl:calc(var(--chdh-space-unit) * 6);
  }
  body{overflow-x:hidden}
  /* Hero : image raccourcie, texte du scrim toujours lisible en overlay */
  .chdh-hero{margin-bottom:var(--chdh-space-md);border-radius:var(--chdh-radius-sm)}
  .chdh-hero__img{max-height:48vh}
  .chdh-hero__overlay{padding:var(--chdh-space-md) var(--chdh-space-sm) var(--chdh-space-sm)}
  .chdh-hero__title{text-wrap:pretty}
  .chdh-hero__credit{align-self:flex-start;font-size:.7rem}
  /* Fil d'Ariane : rang secondaire, jamais en concurrence avec le H1, sans wrap moche */
  .chdh-breadcrumb{font-size:.7rem;letter-spacing:.03em}
  .chdh-breadcrumb__liste{gap:calc(var(--chdh-space-unit) * .35) calc(var(--chdh-space-unit) * .5)}
  .chdh-breadcrumb__item a{padding:.5em 0}
  /* En bref : une colonne, un libellé par ligne, cible tactile pleine largeur */
  .chdh-en-bref{padding:var(--chdh-space-sm)}
  .chdh-en-bref__liste{flex-direction:column;align-items:stretch;gap:var(--chdh-space-xs)}
  .chdh-en-bref__item{white-space:normal;min-height:var(--chdh-tap-min)}
  .chdh-en-bref__item:not(:first-child)::before{display:none}
  .chdh-en-bref__icone{width:1.2rem;height:1.2rem}
  /* Contact : CTA pleine largeur, lien secondaire en pleine cible tactile */
  .chdh-contact{padding:var(--chdh-space-sm)}
  .chdh-contact__cta--principal{width:100%}
  .chdh-contact__lien-secondaire{display:block;width:100%}
  /* Badges : pastilles compactes mais toujours ≥ 44px de hauteur cliquable si liées */
  .chdh-badges__liste{gap:var(--chdh-space-xs)}
  .chdh-badges__item{padding:.5em var(--chdh-space-sm);font-size:.8rem}
  /* Description : citation resserrée pour ne pas écraser le texte propre */
  .chdh-description__citation{padding:var(--chdh-space-xs) var(--chdh-space-sm)}
  /* FAQ : padding réduit, chevron et cible tactile conservés (min-height déjà 44px) */
  .chdh-faq-item>summary{padding:var(--chdh-space-sm)}
  .chdh-faq-reponse{padding:0 var(--chdh-space-sm) var(--chdh-space-sm)}
}
.chdh-pied{margin:0;font-family:var(--chdh-font-sans);font-size:var(--chdh-font-size-sm);line-height:var(--chdh-line-height-base)}
.chdh-pied__source{color:var(--chdh-color-ink-soft)}
/* 12) Logo de l en-tete (functions.php::chdh_logo_entete) */
.site-logo img{height:64px;width:auto;max-width:100%}
@media (max-width:480px){.site-logo img{height:48px}}
/* 13) Grille de cartes (archive-chambre_hote.php, template-parts/carte-fiche.php) */
.chdh-archive__entete{margin:0 0 var(--chdh-space-lg)}
.chdh-archive__titre{margin:0 0 var(--chdh-space-xs)}
.chdh-archive__compte,.chdh-archive__vide{margin:0;font-family:var(--chdh-font-sans);color:var(--chdh-color-ink-soft)}
.chdh-grille{display:grid;grid-template-columns:repeat(auto-fill,minmax(16rem,1fr));gap:var(--chdh-space-md)}
.chdh-carte-fiche{background:var(--chdh-color-surface);border:1px solid var(--chdh-color-border);border-radius:var(--chdh-radius-md);overflow:hidden;transition:border-color .15s ease,transform .15s ease}
.chdh-carte-fiche:hover{border-color:var(--chdh-color-accent);transform:translateY(-2px)}
.chdh-carte-fiche:focus-within{outline:2px solid var(--chdh-color-accent);outline-offset:2px}
.chdh-carte-fiche__lien{display:block;height:100%;color:inherit;text-decoration:none}
.chdh-carte-fiche__lien:focus-visible{outline:none}
.chdh-carte-fiche__visuel{aspect-ratio:4/3;background:var(--chdh-color-bg)}
.chdh-carte-fiche__image{display:block;width:100%;height:100%;object-fit:cover}
.chdh-carte-fiche__corps{padding:var(--chdh-space-sm) var(--chdh-space-md) var(--chdh-space-md)}
.chdh-carte-fiche__commune{margin:0 0 calc(var(--chdh-space-unit) * .5);font-family:var(--chdh-font-sans);font-size:var(--chdh-font-size-sm);letter-spacing:.03em;color:var(--chdh-color-ink-soft)}
.chdh-carte-fiche__titre{margin:0;font-size:var(--chdh-font-size-md);line-height:var(--chdh-line-height-tight);text-wrap:balance}
.chdh-carte-fiche__label{margin:var(--chdh-space-xs) 0 0;display:inline-block;padding:.15em .6em;border:1px solid var(--chdh-color-border);border-radius:999px;font-family:var(--chdh-font-sans);font-size:var(--chdh-font-size-sm);color:var(--chdh-color-ink-soft)}
.chdh-carte-fiche__reperes{margin:var(--chdh-space-xs) 0 0;font-family:var(--chdh-font-sans);font-size:var(--chdh-font-size-sm);color:var(--chdh-color-ink-soft)}
.chdh-carte-fiche__prix{color:var(--chdh-color-accent);font-weight:600}
.chdh-carte-fiche__sep{margin:0 .4em}
@media (prefers-reduced-motion:reduce){.chdh-carte-fiche{transition:none}.chdh-carte-fiche:hover{transform:none}}
/* 14) Retrait horizontal des conteneurs.
   GeneratePress livre ses conteneurs sans padding lateral : a 375 px, titres,
   texte et cartes touchaient les deux bords. Le probleme existe aussi au-dela
   du mobile, des que la fenetre atteint la largeur maximale du conteneur. */
#page.grid-container,.inside-header,.site-info{padding-left:var(--chdh-space-md);padding-right:var(--chdh-space-md)}
@media (max-width:480px){#page.grid-container,.inside-header,.site-info{padding-left:var(--chdh-space-sm);padding-right:var(--chdh-space-sm)}}
/* 15) Titres de section avec icone (maquette du 13/09/2026).
   Les icones sont des SVG en data-URI plutot qu'une police d'icones : rien de
   plus a telecharger, et chaque titre garde son sens sans depender d'un glyphe
   qui ne s'affiche pas. Elles sont purement decoratives, d'ou background-image
   et non un <img> : un lecteur d'ecran n'a rien a y lire. */
.chdh-section{display:flex;align-items:center;gap:.55em}
.chdh-section::before{content:"";flex:none;width:1.5em;height:1.5em;background-repeat:no-repeat;background-position:center;background-size:contain}
.chdh-section--presentation::before{background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27%239c3b23%27%20stroke-width%3D%271.6%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M20%204C11%204%204%209%204%2016c0%202%20.6%203.4.6%203.4S9%2012%2017%209c0%200-6%203-9.6%2010.6C10%2021%2020%2019%2020%204Z%27%2F%3E%3C%2Fsvg%3E")}
.chdh-section--situation::before{background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27%239c3b23%27%20stroke-width%3D%271.6%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M12%2021s7-5.4%207-11a7%207%200%201%200-14%200c0%205.6%207%2011%207%2011Z%27%2F%3E%3Ccircle%20cx%3D%2712%27%20cy%3D%2710%27%20r%3D%272.6%27%2F%3E%3C%2Fsvg%3E")}
.chdh-section--faq::before{background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27%239c3b23%27%20stroke-width%3D%271.6%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M21%2012a8.5%208.5%200%200%201-12.3%207.6L3%2021l1.4-5.2A8.5%208.5%200%201%201%2021%2012Z%27%2F%3E%3C%2Fsvg%3E")}
.chdh-section--labels::before{background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27%239c3b23%27%20stroke-width%3D%271.6%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M12%203.5%2014.6%209l6%20.8-4.4%204.2%201.1%206-5.3-2.9L6.7%2020l1.1-6L3.4%209.8%209.4%209%2012%203.5Z%27%2F%3E%3C%2Fsvg%3E")}
.chdh-section--bref::before{background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27%239c3b23%27%20stroke-width%3D%271.6%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M4%207h16M4%2012h16M4%2017h10%27%2F%3E%3C%2Fsvg%3E")}

/* 16) Bloc de situation : titre et adresse a gauche, carte a droite.
   Le titre est DANS la colonne de gauche, pas au-dessus sur toute la largeur :
   sinon la carte demarrait plus bas que lui et creusait un vide sous le bouton.
   La colonne de texte ne s'etire pas non plus a la hauteur de la carte — d'ou
   align-items:start et une carte volontairement basse (16/10 et non 4/3). */
.chdh-situation{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:var(--chdh-space-md) var(--chdh-space-lg);align-items:start;margin:var(--chdh-space-lg) 0}
.chdh-situation__texte{display:flex;flex-direction:column;align-items:flex-start;gap:var(--chdh-space-sm)}
/* Titre reduit : dans une colonne de ~340 px, la taille de section courante le
   cassait sur trois lignes. text-wrap:balance repartit le reste. */
.chdh-situation__titre{margin:0;font-size:var(--chdh-font-size-lg);text-wrap:balance}
.chdh-situation__reperes{margin:0;font-family:var(--chdh-font-sans);font-size:var(--chdh-font-size-sm);color:var(--chdh-color-ink-soft)}
.chdh-situation__adresse{margin:0;font-style:normal;font-family:var(--chdh-font-sans);line-height:var(--chdh-line-height-base)}
.chdh-situation__itineraire{display:inline-flex;align-items:center;gap:.5em;min-height:var(--chdh-tap-min);padding:.55em 1em;border:1px solid var(--chdh-color-accent);border-radius:var(--chdh-radius-sm);font-family:var(--chdh-font-sans);font-size:var(--chdh-font-size-sm);font-weight:600;text-decoration:none;color:var(--chdh-color-accent)}
.chdh-situation__itineraire:hover,.chdh-situation__itineraire:focus{background-color:var(--chdh-color-accent);color:var(--chdh-color-accent-contrast)}
.chdh-situation__itineraire svg{width:1.15em;height:1.15em;flex:none}
.chdh-situation__carte{margin:0}
.chdh-situation__cadre{display:block;width:100%;aspect-ratio:16/10;border:1px solid var(--chdh-color-border);border-radius:var(--chdh-radius-md);background-color:var(--chdh-color-surface)}
.chdh-situation__legende{margin-top:var(--chdh-space-xs);font-family:var(--chdh-font-sans);font-size:var(--chdh-font-size-sm);color:var(--chdh-color-ink-soft)}
@media (max-width:780px){.chdh-situation{grid-template-columns:minmax(0,1fr)}}
/* 17) Carte de contact : icone de titre et acces rapides. */
.chdh-contact__titre{display:flex;align-items:center;gap:.5em}
.chdh-contact__icone-titre{flex:none;width:1.1em;height:1.1em;color:var(--chdh-color-accent)}
.chdh-contact__acces{display:flex;justify-content:space-around;gap:var(--chdh-space-xs);margin:0;padding-top:var(--chdh-space-sm);border-top:1px solid var(--chdh-color-border);list-style:none}
.chdh-contact__acces a{display:flex;flex-direction:column;align-items:center;gap:.35em;min-height:var(--chdh-tap-min);padding:.3em .5em;font-family:var(--chdh-font-sans);font-size:var(--chdh-font-size-sm);color:var(--chdh-color-ink-soft);text-decoration:none}
.chdh-contact__acces a:hover,.chdh-contact__acces a:focus{color:var(--chdh-color-accent)}
.chdh-contact__acces svg{width:1.5em;height:1.5em}

/* 18) Ornements vegetaux (maquette du 13/09/2026).
   Deux SVG en data-URI, en une seule encre tres pale : pas de fichier a
   telecharger et aucune requete supplementaire. Ils sont decoratifs, donc en
   fond et non en <img> — rien a annoncer a un lecteur d'ecran.
   Volontairement DEUX ornements et non quatre comme la maquette : au-dela, la
   page bascule du sobre vers la carte de voeux, et c'est l'inverse de ce qu'on
   cherche. Ils disparaissent sous 900 px, ou ils n'auraient plus de marge pour
   respirer et passeraient derriere le texte. */
.chdh-fiche{position:relative}
@media (min-width:900px){
  .chdh-fiche::before{content:"";position:absolute;left:-7rem;top:34rem;width:9rem;height:17rem;
    background:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%20120%20220%27%20fill%3D%27%232b241d%27%20fill-opacity%3D%270.05%27%3E%3Cpath%20d%3D%27M60%20218C40%20186%2032%20132%2044%2078%2050%2052%2060%2026%2072%204c-4%2030-12%2058-16%2088-6%2044-2%2090%204%20126Z%27%2F%3E%3Cellipse%20cx%3D%2734%27%20cy%3D%27176%27%20rx%3D%2726%27%20ry%3D%2711%27%20transform%3D%27rotate%28-28%2034%20176%29%27%2F%3E%3Cellipse%20cx%3D%2782%27%20cy%3D%27158%27%20rx%3D%2726%27%20ry%3D%2711%27%20transform%3D%27rotate%2826%2082%20158%29%27%2F%3E%3Cellipse%20cx%3D%2730%27%20cy%3D%27132%27%20rx%3D%2726%27%20ry%3D%2711%27%20transform%3D%27rotate%28-24%2030%20132%29%27%2F%3E%3Cellipse%20cx%3D%2780%27%20cy%3D%27112%27%20rx%3D%2726%27%20ry%3D%2711%27%20transform%3D%27rotate%2828%2080%20112%29%27%2F%3E%3Cellipse%20cx%3D%2734%27%20cy%3D%2786%27%20rx%3D%2724%27%20ry%3D%2710%27%20transform%3D%27rotate%28-20%2034%2086%29%27%2F%3E%3Cellipse%20cx%3D%2780%27%20cy%3D%2764%27%20rx%3D%2724%27%20ry%3D%2710%27%20transform%3D%27rotate%2830%2080%2064%29%27%2F%3E%3C%2Fsvg%3E") no-repeat center/contain;pointer-events:none;z-index:-1}
}
.site-footer{position:relative;padding-top:8rem;background:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%201200%20160%27%20preserveAspectRatio%3D%27none%27%20fill%3D%27%232b241d%27%3E%3Cpath%20fill-opacity%3D%270.07%27%20d%3D%27M0%20160V96l120-46%2096%2040%20104-62%20120%2070%20110-52%20130%2074%20100-56%20120%2062%20100-40%20100%2044v30Z%27%2F%3E%3Cpath%20fill-opacity%3D%270.12%27%20d%3D%27M0%20160v-34l140%20-44%20110%2052%20120-38%20130%2056%20120-46%20150%2062%20130-48%20150%2058%20150-40v22Z%27%2F%3E%3C%2Fsvg%3E") no-repeat top center/100% auto}
@media (max-width:600px){.site-footer{padding-top:5rem}}
@media (prefers-reduced-motion:no-preference){}
