/* ==========================================================================
   RUE DES GÎTES — LOT B, pages intérieures (lieu, région, article, rubrique,
   recherche, 404, pages annexes, contact). Réutilise EXCLUSIVEMENT les jetons
   CSS de DIRECTION-ARTISTIQUE.md (--creme, --lin, --sable, --filet, --encre,
   --mousse, --sapin, --sapin-haut, --fougere, --lichen, --terracotta,
   --terracotta-fonce, --tuile) : ils sont supposés déjà déclarés par
   style.css (Lot A), clair ET sombre. Ce fichier ne redéclare AUCUN jeton,
   AUCUNE couleur brute — seulement des classes structurelles neuves,
   préfixées rgp- pour ne jamais entrer en collision avec les classes rg-
   du socle/du Lot A.
   ========================================================================== */

:root{ --rgp-tete-h:76px; --rgp-max:1240px; }

/* ---------- 0. UTILITAIRES -------------------------------------------------*/
.rgp-oeil{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.rgp-oeil:focus{left:.6rem;top:.6rem;width:auto;height:auto;padding:.6rem 1rem;z-index:999;background:var(--sapin);color:var(--lin);border-radius:8px}
.rgp-wrap{width:min(var(--rgp-max), 100% - 40px);margin-inline:auto}
.rgp-bande{padding-block:80px}
@media (max-width:780px){.rgp-bande{padding-block:48px}}
.rgp-bande--creme{background:var(--creme)}
.rgp-bande--sable{background:var(--sable)}
/* CORRECTIF 15/09 (LOT D) : --sapin ne bascule jamais sombre (§1.2) — --lin,
   lui, bascule ; --lait reste clair dans les deux modes. */
.rgp-bande--sapin{background:var(--sapin);color:var(--lait)}
.rgp-bande--sapin .rgp-sourde,.rgp-bande--sapin .rgp-meta{color:var(--lichen)}
.rgp-bande--sapin .rgp-btn--pleine{background:var(--tuile);color:var(--sapin)}
.rgp-bande--sapin .rgp-btn--pleine:hover{background:var(--terracotta-fonce);color:var(--lin)}
.rgp-surtitre{display:block;font-weight:700;font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--terracotta);margin-bottom:.6rem}
.rgp-bande--sapin .rgp-surtitre{color:var(--tuile)}
.rgp-h1{font-size:clamp(30px,2.6vw + 20px,44px);line-height:1.1;margin:.2rem 0 .6rem;text-wrap:balance}
.rgp-h2{font-size:clamp(24px,1.8vw + 16px,32px);line-height:1.15;margin:0}
.rgp-h2--sapin{color:var(--lait)}
.rgp-tete-bande{margin-bottom:1.8rem;max-width:60ch}
.rgp-chapo{color:var(--mousse);font-size:18px;line-height:1.55;max-width:60ch}
.rgp-bande--sapin .rgp-chapo{color:var(--lichen)}
.rgp-sourde{color:var(--mousse)}
.rgp-corps-lg{font-size:18px;line-height:1.6}
.rgp-meta{color:var(--mousse);font-size:14px}
.rgp-meta-maj{color:var(--mousse);font-size:14px;margin-top:.4rem}
.rgp-fil{font-size:13px;color:var(--mousse);margin-bottom:.8rem}
.rgp-fil a{color:var(--fougere);text-decoration:none}
.rgp-fil a:hover{text-decoration:underline}
.rgp-grille{display:grid;gap:28px}
.rgp-grille--3{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:960px){.rgp-grille--3{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:620px){.rgp-grille--3,.rgp-gites-grille,.rgp-liste-grille{grid-template-columns:minmax(0,1fr)}}

/* ---------- 1. BOUTONS (propres à Lot B, jamais rg-btn) -------------------*/
.rgp-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5em;
  padding:.9em 1.7em;border-radius:999px;font:700 15px/1 inherit;letter-spacing:.01em;
  border:1.5px solid transparent;cursor:pointer;text-decoration:none;white-space:nowrap;
  transition:background-color .15s,color .15s,border-color .15s}
.rgp-btn--pleine{background:var(--terracotta);color:var(--lin)}
.rgp-btn--pleine:hover,.rgp-btn--pleine:focus-visible{background:var(--terracotta-fonce)}
.rgp-btn--filaire{background:transparent;border-color:var(--fougere);color:var(--fougere)}
.rgp-btn--filaire:hover{background:color-mix(in srgb, var(--fougere) 12%, transparent)}
.rgp-bande--sapin .rgp-btn--filaire{border-color:var(--lichen);color:var(--lichen)}

/* ---------- 2. PASTILLES (§4.5) --------------------------------------------*/
.rgp-pastille{position:absolute;display:inline-flex;align-items:center;gap:.35em;
  padding:.3em .75em;border-radius:999px;font-size:12px;font-weight:600;
  background:var(--lin);color:var(--encre)}
.rgp-pastille--classement,.rgp-pastille--label{left:10px;bottom:10px}
.rgp-etoiles{color:var(--fougere);font-size:11px;letter-spacing:1px}
.rgp-pastille--commune{right:10px;top:10px;background:var(--sapin);color:var(--lait)}
.rgp-pastille--rubrique{position:static;display:inline-flex;background:var(--sable);color:var(--encre);margin:10px 16px 0}

/* ---------- 3. HERO lieu / région (L1 / R1) --------------------------------*/
.rgp-hero{display:grid;grid-template-columns:7fr 5fr;gap:40px;align-items:center;padding-block:56px 40px}
@media (max-width:900px){.rgp-hero{grid-template-columns:1fr;padding-block:32px 20px}}
/* Correctif 15/09 (coordinateur) : l'ancienne arche 260px débordait sur une
   image au format large (rg_hero = 1800x1100) — hero sobre, image CONTENUE
   en 4:3, coins arrondis classiques (plus d'arche ici, réservée au hero
   accueil). */
.rgp-hero-image{border-radius:18px;overflow:hidden;aspect-ratio:4/3}
.rgp-hero-image :is(img,.rg-photo){display:block;width:100%;height:100%;object-fit:cover;border-radius:18px}
@media (max-width:900px){.rgp-hero-image{order:-1;aspect-ratio:16/9}}
.rgp-barre-prerempli{margin-top:1.6rem;display:inline-flex;align-items:center;gap:14px;
  background:var(--lin);border:1px solid var(--filet);border-radius:999px;padding:.5rem .5rem .5rem 1.2rem;
  box-shadow:0 18px 40px -18px color-mix(in srgb, var(--sapin) 28%, transparent)}
.rgp-barre-libelle{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--mousse)}
.rgp-barre-valeur{font-weight:700;color:var(--encre)}
@media (max-width:560px){.rgp-barre-prerempli{flex-wrap:wrap;border-radius:20px;padding:1rem}}

/* ---------- 4. SOMMAIRE D'ANCRES (L2) --------------------------------------*/
.rgp-sommaire-page{display:flex;gap:10px;overflow-x:auto;padding:14px 0;
  border-bottom:1px solid var(--filet);position:sticky;top:0;background:var(--creme);z-index:5}
.rgp-sommaire-page a{flex:none;padding:.5em 1.1em;border-radius:999px;background:var(--sable);
  color:var(--encre);text-decoration:none;font-size:14px;font-weight:600}
.rgp-sommaire-page a:hover{background:var(--terracotta);color:var(--lin)}

/* ---------- 5. LISTE DE GÎTES + MINI-CARTE (L3 / R3) -----------------------*/
.rgp-gites-layout{display:grid;grid-template-columns:8fr 4fr;gap:40px;align-items:start}
@media (max-width:900px){.rgp-gites-layout{grid-template-columns:1fr}}
/* Correctif 15/09 : 3 par ligne desktop / 2 tablette / 1 mobile (au lieu de 2
   fixe) — cartes compactes sans photo (§ ci-dessous), plus de place utile. */
@media (min-width:861px){.rgp-gites-grille{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:860px) and (min-width:621px){.rgp-gites-grille{grid-template-columns:repeat(2,minmax(0,1fr))}}
.rgp-carte-gite,.rgp-carte-article,.rgp-carte-lieu{background:var(--lin);border:1px solid var(--filet);
  border-radius:18px;overflow:hidden;display:flex;flex-direction:column;text-decoration:none;color:inherit}
.rgp-carte-gite-photo{position:relative}
.rgp-carte-gite-photo :is(img,.rg-photo){display:block;width:100%}
.rgp-carte-gite h3,.rgp-carte-article h3,.rgp-carte-lieu h3{font-size:19px;line-height:1.25;
  margin:14px 16px 2px;color:var(--encre)}
.rgp-carte-gite .rgp-meta,.rgp-carte-article .rgp-meta,.rgp-carte-lieu .rgp-meta{margin:0 16px 12px}
.rgp-chapo-carte{margin:4px 16px 0;font-size:14px;line-height:1.5;color:var(--mousse)}
.rgp-carte-gite-actions{display:flex;flex-wrap:wrap;gap:8px;padding:0 16px 16px;margin-top:auto}
.rgp-carte-gite-actions .rgp-btn{flex:1 1 150px;font-size:13px;padding:.7em .9em}

/* ---------- 5bis. CARTE GÎTE COMPACTE, SANS PHOTO (retour 15/09) ---------- */
/* DATAtourisme ne fournit qu'une photo de COMMUNE (pas du gîte) : répétée sur
   chaque fiche d'un même village, elle donnait des grilles de photos
   identiques. La carte compacte s'appuie sur le texte + la pastille de
   classement, jamais sur une image. */
.rgp-carte-gite--compacte{padding:18px 18px 16px}
.rgp-carte-gite-tete{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}
.rgp-carte-gite-tete .rgp-pastille{position:static;left:auto;right:auto;top:auto;bottom:auto}
.rgp-carte-gite-num{display:inline-flex;align-items:center;justify-content:center;height:26px;padding:0 .6em;
  border-radius:999px;background:var(--sable);color:var(--encre);font:700 12px/1 var(--corps);flex:none}
.rgp-carte-gite--compacte h3{margin:0 0 2px}
.rgp-carte-gite--compacte .rgp-meta{margin:0 0 12px}
.rgp-carte-gite--compacte .rgp-carte-gite-actions{padding:0;margin-top:auto}
.rgp-carte-gite[data-rgp-page]{display:none}
.rgp-carte-gite[data-rgp-page="1"]{display:flex}
.rgp-pager{display:flex;gap:8px;justify-content:center;margin-top:1.6rem}
.rgp-pager button{width:40px;height:40px;border-radius:999px;border:1px solid var(--filet);
  background:var(--lin);color:var(--encre);cursor:pointer;font-weight:700}
.rgp-pager button.is-actif{background:var(--terracotta);border-color:var(--terracotta);color:var(--lin)}
.rgp-mention{margin-top:1.2rem;font-size:13px;color:var(--mousse)}

/* Correctif 15/09 : la mini-carte lisait comme un cadre vide (peu de
   contraste sable/crème sans bordure propre) — habillage carte comme le
   reste du gabarit. */
.rgp-mini-carte-cote{position:sticky;top:calc(var(--rgp-tete-h) + 20px);
  background:var(--lin);border:1px solid var(--filet);border-radius:18px;padding:16px;
  max-height:420px;overflow:hidden}
.rgp-carte-ouvrir{display:none}
.rgp-carte-svg{width:100%;height:auto;max-height:388px;display:block}
.rgp-carte-fond{fill:color-mix(in srgb, var(--creme) 70%, var(--lin))}
.rgp-carte-region{fill:var(--sable);stroke:var(--lin);stroke-width:1.2;vector-effect:non-scaling-stroke}
.rgp-carte-region.is-courante{fill:color-mix(in srgb, var(--sable) 70%, var(--fougere))}
.rgp-carte-svg{border-radius:12px}
.rgp-pin{fill:var(--fougere);stroke:var(--lin);stroke-width:2;cursor:pointer;transition:fill .15s}
.rgp-pin:hover,.rgp-pin:focus,.rgp-pin.is-active{fill:var(--terracotta);outline:none}
@media (max-width:900px){
  .rgp-mini-carte-cote{position:static}
  .rgp-mini-carte-carte{display:none}
  .rgp-carte-ouvrir{display:inline-flex;width:100%;justify-content:center}
}
.rgp-carte-modale{position:fixed;inset:0;z-index:90;background:color-mix(in srgb, var(--sapin) 60%, transparent);
  display:flex;align-items:flex-end;justify-content:center}
/* CORRECTIF 15/09 (LOT D) — BUG MAJEUR : cette règle manquait. `display:flex`
   ci-dessus a la même spécificité que le `[hidden]{display:none}` de l'agent
   utilisateur mais vient APRÈS dans la cascade : il gagnait TOUJOURS, modale
   affichée en permanence — le "grand cadre sable" qui chevauchait le hero
   ET le voile vert plein écran sur le H1 (jura/bretagne, desktop ET mobile). */
.rgp-carte-modale[hidden]{display:none}
.rgp-carte-modale-in{position:relative;background:var(--lin);border-radius:24px 24px 0 0;
  padding:24px;width:100%;max-width:520px;max-height:85vh;overflow:auto}
.rgp-carte-fermer{position:absolute;top:10px;right:10px;width:48px;height:48px;border-radius:999px;
  background:var(--sable);color:var(--encre);font-size:22px;line-height:1;border:0;cursor:pointer}

/* ---------- 6. GUIDE + SIDEBAR COLLANTE (L4 / R4 / G2) ---------------------*/
.rgp-guide-layout{display:grid;grid-template-columns:7fr 4fr;gap:48px;align-items:start}
@media (max-width:900px){.rgp-guide-layout{grid-template-columns:1fr}}
/* Retour Mathias 15/09 soir : la colonne restait vide au défilement — sans
   align-self:start l'aside s'étire sur toute la hauteur de la grille et
   position:sticky n'a plus rien à faire. Hauteur bornée à l'écran : tout le
   bloc reste visible, le sommaire défile à l'intérieur s'il est long. */
.rgp-cote-collante{position:sticky;top:calc(var(--rgp-tete-h) + 20px);align-self:start;display:flex;flex-direction:column;gap:16px;
  max-height:calc(100vh - var(--rgp-tete-h) - 40px)}
.rgp-mini-carte-cote{align-self:start}
.rgp-sommaire{background:var(--lin);border:1px solid var(--filet);border-radius:18px;padding:18px 10px 12px 18px;
  display:flex;flex-direction:column;min-height:0;flex:0 1 auto}
.rgp-sommaire-titre{display:flex;align-items:center;gap:.6em;margin:0 0 10px;font:700 12px/1 var(--corps);
  text-transform:uppercase;letter-spacing:.08em;color:var(--terracotta)}
.rgp-sommaire-titre::after{content:"";flex:1;height:1px;background:var(--filet);margin-right:8px}
.rgp-sommaire ol{list-style:none;margin:0;padding:0 8px 0 0;counter-reset:som;overflow-y:auto;min-height:0;
  scrollbar-width:thin;scrollbar-color:var(--sable) transparent}
.rgp-sommaire li{counter-increment:som;margin:0}
.rgp-sommaire a{display:grid;grid-template-columns:26px 1fr;gap:10px;align-items:baseline;padding:7px 8px 7px 0;
  border-left:2px solid var(--filet);padding-left:12px;color:var(--mousse);text-decoration:none;font-size:14.5px;line-height:1.35;
  transition:color .15s,border-color .15s,background .15s}
.rgp-sommaire a::before{content:counter(som,decimal-leading-zero);font:700 12px/1.35 var(--corps);color:var(--fougere)}
.rgp-sommaire a:hover{color:var(--encre);border-left-color:var(--sable)}
.rgp-sommaire a.is-actif{color:var(--encre);font-weight:600;border-left-color:var(--terracotta);
  background:linear-gradient(90deg, color-mix(in srgb, var(--terracotta) 9%, transparent), transparent)}
.rgp-sommaire a.is-actif::before{color:var(--terracotta)}
.rgp-cote-collante .rgp-capture{flex:none}
@media (max-width:900px){.rgp-cote-collante{position:static}}

.rgp-corps{max-width:70ch;font-size:18px;line-height:1.65;color:var(--encre)}
.rgp-corps h2{font-size:28px;margin:2.4rem 0 1rem;scroll-margin-top:calc(var(--rgp-tete-h) + 56px)}
.rgp-corps h3{font-size:21px;margin:1.8rem 0 .8rem}
.rgp-corps p{margin:0 0 1.2rem}
.rgp-corps ul,.rgp-corps ol{margin:0 0 1.2rem;padding-left:1.3rem}
.rgp-corps li{margin-bottom:.4rem;padding-left:.2rem}
.rgp-corps li::marker{color:var(--terracotta)}
.rgp-corps blockquote{margin:1.6rem 0;padding:1rem 1.4rem;background:var(--lin);
  border-left:4px solid var(--terracotta);border-radius:0 12px 12px 0;font-style:italic}
.rgp-corps table{width:100%;border-collapse:collapse;margin:1.6rem 0;font-size:15px;display:block;overflow-x:auto}
/* CORRECTIF 15/09 (LOT D) : en-têtes de tableau illisibles en sombre — même
   cause (--lin bascule, --sapin non). */
.rgp-corps thead{background:var(--sapin);color:var(--lait)}
.rgp-corps th,.rgp-corps td{padding:.7em 1em;border:1px solid var(--filet);text-align:left}
/* Retour Mathias 15/09 soir : photos portrait affichées sur 900 px de haut. */
.rgp-corps img{border-radius:14px;margin:1.6rem 0;display:block;width:100%;height:auto;max-height:440px;object-fit:cover}
@media (max-width:620px){.rgp-corps img{max-height:300px}}
.rgp-corps figure{margin:1.6rem 0}.rgp-corps figure img{margin:0}
.rgp-corps figcaption,.rgp-corps .wp-caption-text{font-size:13px;color:var(--mousse);margin-top:.5rem}

.rgp-encart-demande{background:var(--lin);border:1px solid var(--filet);border-radius:18px;
  padding:1.6rem;margin:2rem 0}
.rgp-encart-demande h3{margin:0 0 .4rem;font-size:19px}
.rgp-encart-demande p{margin:0 0 1rem;color:var(--mousse);font-size:15px}

.rgp-capture{background:var(--lin);border:1px solid var(--filet);border-radius:18px;padding:1.4rem}
.rgp-capture h3{margin:0 0 1rem;font-size:17px}
.rgp-champ{margin-bottom:.9rem;display:flex;flex-direction:column;gap:.3rem}
.rgp-champ label{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--mousse)}
.rgp-champ input,.rgp-champ select{height:48px;padding:0 1.1rem;border-radius:999px;
  border:1.5px solid var(--mousse);background:var(--creme);color:var(--encre);font:inherit}
.rgp-champ textarea{padding:.8rem 1.1rem;border-radius:16px;border:1.5px solid var(--mousse);
  background:var(--creme);color:var(--encre);font:inherit;resize:vertical}
.rgp-champ input:focus-visible,.rgp-champ select:focus-visible,.rgp-champ textarea:focus-visible{
  outline:3px solid var(--terracotta);outline-offset:2px}
.rgp-champ-2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media (max-width:480px){.rgp-champ-2{grid-template-columns:1fr}}
.rgp-consentement{display:flex;gap:.6rem;align-items:flex-start;font-size:13px;color:var(--mousse);margin:1rem 0}
.rgp-capture .rgp-btn,.rgp-form .rgp-btn{width:100%;margin-top:.4rem}

.rgp-voisins{background:var(--lin);border:1px solid var(--filet);border-radius:18px;padding:1.4rem}
.rgp-voisins h3{margin:0 0 .8rem;font-size:16px}
.rgp-voisins ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:.5rem}
.rgp-voisins a{color:var(--fougere);text-decoration:none;font-weight:600}
.rgp-voisins a:hover{text-decoration:underline}
.rgp-cote-lieu{background:var(--sable);border-radius:18px;padding:1.4rem}
.rgp-cote-lieu h3{margin:0 0 .4rem;font-size:16px}

/* CORRECTIF 15/09 (LOT D) : carte "Autres lieux" sans photo (voir template-parts/lieu.php) */
.rgp-carte-lieu--compacte{padding:18px}
.rgp-carte-lieu--compacte h3{margin:0 0 4px}
.rgp-carte-lieu--compacte .rgp-meta{margin:0}
.rgp-lieux-voisins{grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width:900px){.rgp-lieux-voisins{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.rgp-lieux-voisins{grid-template-columns:1fr}}

/* ---------- 7. FAQ ACCORDÉON (L5 / R6) -------------------------------------*/
.rgp-faq-liste{display:flex;flex-direction:column;gap:12px;max-width:760px;margin-top:1.6rem}
.rgp-faq-item{background:var(--lin);border:1px solid var(--filet);border-radius:14px}
.rgp-faq-item summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;
  align-items:center;gap:1rem;padding:18px 20px;font-weight:700;font-size:18px;color:var(--encre)}
.rgp-faq-item summary::-webkit-details-marker{display:none}
.rgp-faq-chevron{width:11px;height:11px;flex:none;border-right:2px solid var(--terracotta);
  border-bottom:2px solid var(--terracotta);transform:rotate(45deg);transition:transform .2s}
.rgp-faq-item[open] .rgp-faq-chevron{transform:rotate(-135deg)}
.rgp-faq-reponse{padding:0 20px 20px;color:var(--mousse);line-height:1.6}

/* ---------- 8. PUCES régions/lieux (R8, 404) -------------------------------*/
.rgp-puces-liste{display:flex;flex-wrap:wrap;gap:10px;margin-top:1.4rem}
.rgp-puce{padding:.7em 1.3em;border-radius:999px;background:var(--lin);border:1px solid var(--filet);
  color:var(--encre);text-decoration:none;font-weight:600;font-size:14px}
.rgp-puce:hover,.rgp-puce.is-actif{background:var(--terracotta);border-color:var(--terracotta);color:var(--lin)}

/* ---------- 9. ARTICLE (G1-G5) ---------------------------------------------*/
.rgp-art-hero{display:grid;grid-template-columns:7fr 5fr;gap:40px;align-items:center;
  padding-block:40px 24px;max-height:none}
@media (max-width:900px){.rgp-art-hero{grid-template-columns:1fr;padding-block:24px 16px}}
.rgp-art-hero-image{order:2;border-radius:18px;overflow:hidden;max-height:340px}
.rgp-art-hero-image img{display:block;width:100%;height:100%;max-height:340px;object-fit:cover}
@media (max-width:900px){.rgp-art-hero-image{order:-1;max-height:220px}.rgp-art-hero-image img{max-height:220px}}
.rgp-art-titre{font-size:clamp(28px,2.2vw + 18px,44px);line-height:1.1;margin:.4rem 0 .6rem}
.rgp-art-chapo{font-size:19px;line-height:1.55;color:var(--mousse);max-width:56ch}
.rgp-art-meta{display:flex;flex-wrap:wrap;gap:.4rem 1rem;font-size:14px;color:var(--mousse);margin-top:.8rem}
.rgp-art-corps-grille{display:grid;grid-template-columns:7fr 4fr;gap:48px;margin-top:8px;align-items:start}
@media (max-width:900px){.rgp-art-corps-grille{grid-template-columns:1fr}}
.rgp-art-texte .rg-auteur{display:flex;gap:1rem;align-items:flex-start;margin-top:2.4rem;
  padding-top:2rem;border-top:1px solid var(--filet)}
.rgp-art-texte .rg-auteur img{border-radius:50%;flex:none}
.rgp-art-texte .rg-auteur-nom{font-weight:700;margin:0 0 .2rem;color:var(--encre)}
.rgp-art-texte .rg-auteur-bio,.rgp-art-texte .rg-auteur-date{margin:0 0 .2rem;font-size:14px;color:var(--mousse)}

/* ---------- 10. RUBRIQUE / RECHERCHE (C1-C5) -------------------------------*/
.rgp-liste-hero{padding-block:56px 24px}
.rgp-liste-compte{color:var(--mousse);font-size:14px;margin-top:.4rem}
.rgp-filtres{display:flex;gap:10px;overflow-x:auto;padding-bottom:1.6rem}
.rgp-liste-corps{padding-block:8px 40px}
@media (min-width:621px){.rgp-liste-grille{grid-template-columns:repeat(3,minmax(0,1fr))}}
.rgp-liste-desc{max-width:760px;margin-top:2.4rem;padding-top:1.6rem;border-top:1px solid var(--filet)}
.rgp-pagination{display:flex;justify-content:center;gap:8px;margin-top:2.4rem}
.rgp-pagination ul{display:flex;gap:8px;list-style:none;padding:0;margin:0}
.rgp-pagination a,.rgp-pagination span{display:inline-flex;align-items:center;justify-content:center;
  min-width:40px;height:40px;border-radius:999px;background:var(--lin);border:1px solid var(--filet);
  color:var(--encre);text-decoration:none;font-weight:700}
.rgp-pagination .current{background:var(--terracotta);border-color:var(--terracotta);color:var(--lin)}

/* ---------- 11. 404 / PAGES ANNEXES ----------------------------------------*/
.rgp-404{padding-block:90px;text-align:center}
.rgp-404 .rgp-corps-lg{max-width:52ch;margin:1rem auto 0;color:var(--mousse)}
.rgp-404-regions{justify-content:center;margin-top:2rem}
.rgp-page-tete{padding-block:56px 24px}
.rgp-page-corps{padding-block:0 60px}
.rgp-page-corps--apropos{display:grid;grid-template-columns:1fr;gap:2rem}
.rgp-apropos-image{border-radius:18px;overflow:hidden;max-height:420px}
.rgp-apropos-image img{width:100%;height:100%;object-fit:cover;display:block}

/* ---------- 12. CONTACT — NON SCROLLABLE (§13) -----------------------------*/
/* CORRECTIF 15/09 (LOT D) : `width:100%` ci-dessous avait la même spécificité
   que .rgp-wrap (une classe) mais venait APRÈS dans la cascade — il gagnait
   toujours et écrasait le width:min(1240px, 100% - 40px) de .rgp-wrap : texte
   collé à gauche, formulaire collé à droite, plus aucune gouttière. Retiré :
   .rgp-wrap fait déjà le travail de centrage. */
.rgp-contact-plein{min-height:calc(100dvh - var(--rgp-tete-h));display:flex;align-items:center;padding-block:24px}
.rgp-contact-grille{display:grid;grid-template-columns:5fr 7fr;gap:48px;align-items:center}
.rgp-contact-texte .rgp-corps{font-size:15px;line-height:1.5;margin-bottom:1rem}
.rgp-contact-motifs{margin:0 0 1.3rem;padding-left:1.2rem;color:var(--mousse);font-size:14.5px;
  display:flex;flex-direction:column;gap:.35rem}
.rgp-contact-motifs li{list-style:disc}
.rgp-contact-motifs li::marker{color:var(--terracotta)}
.rgp-contact-image{border-radius:280px 280px 18px 18px;overflow:hidden;max-height:280px;margin-top:1.4rem}
.rgp-contact-image :is(img,.rg-photo){display:block;width:100%}
.rgp-contact-form-carte{background:var(--lin);border:1px solid var(--filet);border-radius:24px;
  padding:1.8rem;box-shadow:0 18px 40px -18px color-mix(in srgb, var(--sapin) 28%, transparent)}
.rgp-envoye-msg{color:var(--fougere);font-weight:600}
@media (max-width:780px){
  .rgp-contact-plein{min-height:calc(100dvh - 56px);padding-block:16px}
  .rgp-contact-grille{grid-template-columns:1fr;gap:14px}
  .rgp-contact-image{display:none}
  .rgp-contact-texte .rgp-h1{font-size:26px}
  .rgp-contact-form-carte{padding:1.2rem}
}

/* ---------- 13. PROGRESSION mobile (aucun débordement, minmax(0,1fr) partout) */
img,svg{max-width:100%}

/* ---------- 14. SOURCES SOBRES (aside.sb-sources, inc/pages.php) ----------- */
/* Sobriété des liens sortants (règle réseau) : dans un aside.sb-sources, les
   <a> deviennent des <span class="sb-source"> par filtre PHP — ici juste
   l'habillage visuel, liste sobre, jamais d'URL brute affichée. */
.sb-sources{margin:2rem 0;padding:1.2rem 1.4rem;background:var(--lin);border:1px solid var(--filet);border-radius:14px}
.sb-sources p{margin:0 0 .5em;font-size:13px;color:var(--mousse)}
.sb-sources ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:.4em}
.sb-source{font-weight:600;color:var(--encre)}

/* ---------- Bloc « Décrivez votre séjour » des pages lieu/région ----------- *
 * Retour Mathias 15/09 soir : formulaire étalé sur 1 200 px, champs géants.
 * Même composition que l'accueil : intro + étapes à gauche, carte à droite. */
.rgp-form-grille{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:56px;align-items:center}
.rgp-form-grille .rgp-h2--sapin{margin:0 0 .6rem}
.rgp-form-intro p{color:color-mix(in srgb, var(--lait) 80%, transparent);font-size:17px;line-height:1.6;margin:0}
.rgp-form-grille .rg-form-carte{max-width:640px;width:100%;justify-self:end}
@media (max-width:900px){.rgp-form-grille{grid-template-columns:1fr;gap:24px}.rgp-form-grille .rg-form-carte{justify-self:stretch;max-width:none}}

/* ---------- Compteur de lecture ------------------------------------------- */
.rgp-lecture{display:flex;align-items:center;gap:10px;margin:-2px 8px 12px 0;font:600 13px/1 var(--corps);color:var(--fougere)}
.rgp-lecture-min{flex:none}
.rgp-lecture-barre{flex:1;height:4px;border-radius:999px;background:var(--sable);overflow:hidden}
.rgp-lecture-barre span,.rgp-progres-fixe span{display:block;height:100%;width:0;background:var(--terracotta);border-radius:inherit;transition:width .1s linear}
.rgp-progres-fixe{position:fixed;left:0;right:0;top:var(--rgp-tete-h);height:3px;z-index:39;background:transparent;pointer-events:none}
.rgp-progres-fixe em{display:none}
@media (max-width:900px){
  .rgp-progres-fixe{height:4px;background:color-mix(in srgb, var(--sable) 60%, transparent)}
  .rgp-progres-fixe em{display:block;position:absolute;right:12px;top:10px;font:600 12px/1 var(--corps);font-style:normal;
    background:var(--lin);color:var(--encre);border:1px solid var(--filet);border-radius:999px;padding:6px 10px;box-shadow:var(--rg-ombre)}
}

/* ---------- Bloc auteur unique -------------------------------------------- */
.rgp-art-texte .rg-auteur{display:grid;grid-template-columns:72px 1fr;gap:18px;align-items:start;margin-top:2.8rem;
  background:var(--lin);border:1px solid var(--filet);border-left:4px solid var(--terracotta);border-radius:18px;padding:22px 24px}
.rgp-art-texte .rg-auteur img{width:72px;height:72px;border-radius:50%;object-fit:cover}
.rg-auteur-surtitre{margin:0;font:700 11px/1 var(--corps);letter-spacing:.08em;text-transform:uppercase;color:var(--mousse)}
.rgp-art-texte .rg-auteur-nom{font:700 20px/1.2 var(--titre,inherit);margin:.35rem 0 .2rem;color:var(--encre)}
.rg-auteur-role{margin:0 0 .6rem;font:600 12.5px/1.3 var(--corps);letter-spacing:.03em;text-transform:uppercase;color:var(--terracotta)}
.rgp-art-texte .rg-auteur-bio{margin:0 0 .8rem;font-size:15px;line-height:1.55;color:var(--mousse)}
.rg-auteur-pied{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.4rem 1rem;margin:0;font-size:13.5px}
.rgp-art-texte .rg-auteur-date{color:var(--mousse);font-size:13.5px;margin:0}
.rg-auteur-lien{font-weight:700;color:var(--terracotta);text-decoration:none}.rg-auteur-lien:hover{text-decoration:underline}
@media (max-width:520px){.rgp-art-texte .rg-auteur{grid-template-columns:56px 1fr;padding:18px}.rgp-art-texte .rg-auteur img{width:56px;height:56px}}

/* ---------- Infographies (remplacent les tableaux) ------------------------ */
.rgi{margin:2rem 0;font-size:15px;line-height:1.45}
.rgi [data-serie="1"]{--serie:var(--terracotta)}
.rgi [data-serie="2"]{--serie:var(--fougere)}
.rgi [data-serie="3"]{--serie:color-mix(in srgb, var(--terracotta) 45%, var(--sable))}
.rgi [data-serie="4"]{--serie:var(--sapin)}
.rgi [data-serie="5"]{--serie:var(--mousse)}
.rgi--barres{background:var(--lin);border:1px solid var(--filet);border-radius:20px;padding:22px 24px 10px}
.rgi-tete{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 20px;margin-bottom:14px;padding-bottom:14px;border-bottom:1px solid var(--filet)}
.rgi-titre{font:700 12px/1 var(--corps);text-transform:uppercase;letter-spacing:.08em;color:var(--mousse)}
.rgi-legende{display:flex;flex-wrap:wrap;gap:8px 16px}
.rgi-cle{display:inline-flex;align-items:center;gap:7px;font:600 13px/1 var(--corps);color:var(--encre)}
.rgi-cle::before{content:"";width:12px;height:12px;border-radius:4px;background:var(--serie)}
.rgi-groupe{display:grid;grid-template-columns:minmax(0,220px) minmax(0,1fr);gap:8px 24px;padding:14px 0;border-bottom:1px dashed var(--filet)}
.rgi-groupe:last-child{border-bottom:0}
.rgi-groupe-nom{margin:0!important;font:700 15px/1.35 var(--corps);color:var(--encre);align-self:center}
.rgi-barres{display:flex;flex-direction:column;gap:7px}
.rgi-barre{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:2px 12px}
.rgi-barre-lib{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.rgi-barre-piste{height:14px;border-radius:999px;background:color-mix(in srgb, var(--sable) 55%, transparent);overflow:hidden}
.rgi-barre-plein{display:block;height:100%;width:var(--p);background:var(--serie);border-radius:inherit;transform-origin:left;animation:rgi-pousse .9s cubic-bezier(.2,.8,.2,1) both}
.rgi-barre-val{font:700 14px/1 var(--corps);color:var(--encre);min-width:4.5em;text-align:right;font-variant-numeric:tabular-nums}
@keyframes rgi-pousse{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@media (prefers-reduced-motion:reduce){.rgi-barre-plein{animation:none}}
@media (max-width:620px){
  .rgi--barres{padding:18px 16px 6px}
  .rgi-groupe{grid-template-columns:1fr}
  .rgi-barre-lib{position:static;width:auto;height:auto;clip:auto;grid-column:1/-1;font-size:12px;color:var(--mousse)}
}
.rgi--fiches{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;counter-reset:rgi}
.rgi-fiche{position:relative;display:grid;grid-template-columns:44px 1fr;gap:14px;background:var(--lin);border:1px solid var(--filet);border-radius:18px;padding:18px 18px 16px}
.rgi-num{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:14px;background:var(--sapin);color:var(--lait);font:800 15px/1 var(--titre,inherit)}
.rgi-fiche:nth-child(3n+2) .rgi-num{background:var(--terracotta);color:var(--lin)}
.rgi-fiche:nth-child(3n) .rgi-num{background:var(--sable);color:var(--encre)}
.rgp-corps .rgi-fiche-titre{margin:.1rem 0 .5rem;font-size:17px;line-height:1.3;color:var(--encre)}
.rgp-corps .rgi-fiche-ligne{margin:0 0 .45rem;font-size:14.5px;line-height:1.5;color:var(--encre)}
.rgi-fiche-lib{display:block;font:700 11px/1.2 var(--corps);letter-spacing:.06em;text-transform:uppercase;color:var(--mousse);margin-bottom:2px}
.rgi--fiches .rgi-fiche:last-child:nth-child(odd){grid-column:1/-1}
.rgi--fiches:has(> .rgi-fiche:nth-child(3):last-child){grid-template-columns:repeat(3,minmax(0,1fr))}
.rgi--fiches:has(> .rgi-fiche:nth-child(3):last-child) .rgi-fiche:last-child{grid-column:auto}
.rgi--fiches:has(> .rgi-fiche:nth-child(3):last-child) .rgi-fiche{grid-template-columns:1fr;gap:12px;align-content:start}
@media (max-width:720px){.rgi--fiches,.rgi--fiches:has(> .rgi-fiche:nth-child(3):last-child){grid-template-columns:1fr}}
/* L'ancien conteneur du tableau (figure/div de défilement) ne doit plus dessiner un 2e cadre autour de l'infographie. */
.rgp-corps :is(figure,div):is(:has(> .rgi),:has(> div > .rgi)){border:0!important;padding:0!important;background:none!important;box-shadow:none!important;overflow:visible!important;margin:2rem 0}
.rgp-corps :is(figure,div):has(> .rgi) > .rgi{margin:0}
/* Retour Mathias 15/09 nuit : bloc auteur + sidebar collés à « Dans la même rubrique ». */
.rgp-art-corps-grille{padding-bottom:clamp(64px,7vw,112px)}
.rgp-art-corps-grille + .rgp-bande{border-top:1px solid var(--filet)}
/* Mobile : la sidebar n'est plus collante, sa hauteur ne doit plus être bornée (sommaire coupé). */
@media (max-width:900px){.rgp-cote-collante{max-height:none}.rgp-sommaire ol{overflow:visible}}

/* ---------- « À découvrir également » (mu-plugin sb-maillage) en cartes ---- */
.rgp-corps .sb-maillage{margin:3rem 0 0;padding:24px;background:var(--lin);border:1px solid var(--filet);border-radius:20px}
.rgp-corps .sb-maillage h2{margin:0 0 16px;font:700 12px/1 var(--corps);text-transform:uppercase;letter-spacing:.08em;color:var(--terracotta)}
.rgp-corps .sb-maillage ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.rgp-corps .sb-maillage li{margin:0;padding:0}
.rgp-corps .sb-maillage li::before,.rgp-corps .sb-maillage li::after{content:none}
.rgp-corps .sb-maillage li a{display:flex;flex-direction:column;justify-content:space-between;gap:14px;height:100%;min-height:118px;
  padding:16px 18px;border-radius:14px;background:var(--creme);border:1px solid var(--filet);color:var(--encre);
  text-decoration:none;font:700 16px/1.35 var(--titre);transition:border-color .15s,transform .15s,box-shadow .15s}
.rgp-corps .sb-maillage li a::after{content:"Lire le guide →";font:700 13px/1 var(--corps);color:var(--terracotta)}
.rgp-corps .sb-maillage li a:hover{border-color:var(--terracotta);transform:translateY(-2px);box-shadow:var(--rg-ombre)}
.rgp-corps .sb-maillage li:last-child{grid-column:1/-1}
.rgp-corps .sb-maillage li:last-child a{min-height:0;flex-direction:row;align-items:center;background:none;border-style:dashed;font:600 15px/1.3 var(--corps)}
.rgp-corps .sb-maillage li:last-child a::before{content:"Toute la rubrique :";color:var(--mousse);font-weight:500;margin-right:-6px}
.rgp-corps .sb-maillage li:last-child a::after{content:"→";margin-left:auto}
@media (max-width:720px){.rgp-corps .sb-maillage ul{grid-template-columns:1fr}.rgp-corps .sb-maillage li a{min-height:0}}

/* ---------- Listes du contenu → infographies (CM-0513 : fin des puces) ---- *
 * Toutes les listes du corps, y compris celles posées dans un encadré. Puce
 * NEUTRE (pas une coche : une liste de réserves n'est pas une liste validée). */
.rgp-corps ul:not([class]):not(.sb-maillage ul):not(.rgi ul):not(nav ul):not([class*="source"] ul),.rgp-corps ol:not([class]):not(nav ol):not(.rgi ol){list-style:none;padding:0;margin:1.2rem 0 1.8rem}
.rgp-corps ul:not([class]):not(.sb-maillage ul):not(.rgi ul):not(nav ul):not([class*="source"] ul){display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:10px}
.rgp-corps ul:not([class]):not(.sb-maillage ul):not(.rgi ul):not(nav ul):not([class*="source"] ul) > li{position:relative;margin:0;padding:14px 16px 14px 46px;background:var(--lin);border:1px solid var(--filet);border-radius:14px;font-size:16px;line-height:1.5}
.rgp-corps ul:not([class]):not(.sb-maillage ul):not(.rgi ul):not(nav ul):not([class*="source"] ul) > li::before{content:"";position:absolute;left:18px;top:21px;width:10px;height:10px;border-radius:3px;background:var(--terracotta);transform:rotate(45deg)}
.rgp-corps ul:not([class]):not(.sb-maillage ul):not(.rgi ul):not(nav ul):not([class*="source"] ul) > li::after{content:none}
.rgp-corps ol:not([class]):not(nav ol):not(.rgi ol){counter-reset:etape}
.rgp-corps ol:not([class]):not(nav ol):not(.rgi ol) > li{counter-increment:etape;position:relative;margin:0;padding:6px 0 22px 64px;min-height:44px;font-size:16.5px;line-height:1.55}
.rgp-corps ol:not([class]):not(nav ol):not(.rgi ol) > li::before{content:counter(etape);position:absolute;left:0;top:0;width:42px;height:42px;border-radius:14px;display:flex;align-items:center;justify-content:center;
  background:var(--sapin);color:var(--lait);font:800 16px/1 var(--titre)}
.rgp-corps ol:not([class]):not(nav ol):not(.rgi ol) > li:nth-child(even)::before{background:var(--terracotta);color:var(--lin)}
.rgp-corps ol:not([class]):not(nav ol):not(.rgi ol) > li::after{content:"";position:absolute;left:20px;top:48px;bottom:4px;width:2px;background:repeating-linear-gradient(to bottom,var(--sable) 0 6px,transparent 6px 11px)}
.rgp-corps ol:not([class]):not(nav ol):not(.rgi ol) > li:last-child{padding-bottom:4px}.rgp-corps ol:not([class]):not(nav ol):not(.rgi ol) > li:last-child::after{content:none}
.rgp-corps ul:not([class]):not(.sb-maillage ul):not(.rgi ul):not(nav ul):not([class*="source"] ul) > li::marker,.rgp-corps ol:not([class]):not(nav ol):not(.rgi ol) > li::marker{content:none}

/* ---------- Page auteur + Notre équipe ------------------------------------ */
.rg-avatar{border-radius:50%;object-fit:cover;flex:none;display:block;max-width:none;border:4px solid var(--lin);box-shadow:var(--rg-ombre)}
.rgp-auteur-hero{padding-block:32px 24px}
.rgp-auteur-hero-in{display:grid;grid-template-columns:auto 1fr;gap:32px;align-items:center;margin-top:18px;background:var(--lin);border:1px solid var(--filet);border-radius:24px;padding:32px}
.rgp-auteur-hero .rgp-h1{margin:.3rem 0 .3rem}
.rgp-auteur-hero .rgp-chapo{max-width:62ch;margin:.6rem 0}
.rgp-auteur-stat{margin:0;font-size:14px;color:var(--mousse)}.rgp-auteur-stat strong{font:800 20px/1 var(--titre);color:var(--terracotta);margin-right:4px}
@media (max-width:620px){.rgp-auteur-hero-in{grid-template-columns:1fr;padding:22px;gap:16px}.rgp-auteur-hero-in .rg-avatar{width:96px!important;height:96px!important}}
.rgp-equipe-grille{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:20px;padding-bottom:96px}
.rgp-equipe-carte{display:flex;flex-direction:column;gap:12px;background:var(--lin);border:1px solid var(--filet);border-radius:22px;padding:26px}
.rgp-equipe-tete{display:flex;gap:18px;align-items:center}
.rgp-equipe-carte h2{margin:0;font-size:24px}.rgp-equipe-carte h2 a{color:var(--encre);text-decoration:none}
.rgp-equipe-bio{margin:0;color:var(--mousse);line-height:1.6}
.rgp-equipe-lib{margin:6px 0 0;font:700 11px/1 var(--corps);letter-spacing:.08em;text-transform:uppercase;color:var(--mousse)}
.rgp-equipe-derniers{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.rgp-equipe-derniers a{color:var(--encre);text-decoration:none;font-weight:600;font-size:15px}.rgp-equipe-derniers a:hover{color:var(--terracotta)}
.rgp-equipe-carte .rgp-btn{align-self:flex-start;margin-top:auto}

.rgp-corps .sb-maillage li:last-child a{flex-wrap:wrap;gap:4px 8px}
.rgp-corps .sb-maillage li:last-child a::before{margin-right:0}
.rgp-liste-corps > .rgp-h2{margin:8px 0 22px}
.rgp-carte-article .rg-photo{overflow:hidden;background:var(--sable)}
.rgp-carte-article .rg-photo img{width:100%;height:100%;object-fit:cover;display:block}
