/*
Theme Name: Rue des Gîtes
*/

/* ==========================================================================
   RUE DES GÎTES — refonte du 15/09/2026.
   Direction artistique : DIRECTION-ARTISTIQUE.md (fait foi, remplace
   REFERENCE-DESIGN.md du 14/09 — palette violet/lavandin jetée).
   Palette : vert forêt (--sapin) + crème (--creme) + terracotta (accent
   UNIQUE). Clair par défaut, bascule manuelle en sombre via [data-theme]
   (JAMAIS de prefers-color-scheme automatique — §14). Polices self-hostées
   (P-086) : Solway (titres) + Albert Sans (corps/interface).
   Grilles en minmax(0,1fr) partout : aucun débordement horizontal à 390px.
   ========================================================================== */

/* ---------- 0. POLICES (self-hosted, woff2) ------------------------------ */
@font-face{font-family:'Solway';font-style:normal;font-weight:700;font-display:swap;
  src:url('assets/fonts/solway-700.woff2') format('woff2');}
@font-face{font-family:'Solway';font-style:normal;font-weight:800;font-display:swap;
  src:url('assets/fonts/solway-800.woff2') format('woff2');}
@font-face{font-family:'Albert Sans';font-style:normal;font-weight:400;font-display:swap;
  src:url('assets/fonts/albert-sans-regular.woff2') format('woff2');}
@font-face{font-family:'Albert Sans';font-style:normal;font-weight:500;font-display:swap;
  src:url('assets/fonts/albert-sans-500.woff2') format('woff2');}
@font-face{font-family:'Albert Sans';font-style:normal;font-weight:600;font-display:swap;
  src:url('assets/fonts/albert-sans-600.woff2') format('woff2');}
@font-face{font-family:'Albert Sans';font-style:normal;font-weight:700;font-display:swap;
  src:url('assets/fonts/albert-sans-700.woff2') format('woff2');}

/* ---------- 1. JETONS — clair par défaut ---------------------------------- */
:root{
  --creme:#F5EFE3;
  --lin:#FFFBF4;
  --sable:#E2D2B4;
  --filet:#D8CAB0;
  --encre:#1C2A22;
  --mousse:#4F5E54;
  --sapin:#1E3B2E;
  --sapin-haut:#244536;
  --fougere:#3D6B52;
  --lichen:#C9D5BE;
  --terracotta:#A94A2C;
  --terracotta-fonce:#8B3A20;
  --tuile:#EC9A78;

  /* bandes toujours sombres, INDÉPENDANTES du mode (§1.2) */
  --sapin-bande:#1E3B2E;
  --sapin-bande-haut:#244536;

  --accent:var(--terracotta);
  --accent-fonce:var(--terracotta-fonce);
  --accent-texte:var(--lin);

  --titre:'Solway', Georgia, 'Times New Roman', serif;
  --corps:'Albert Sans', -apple-system, 'Segoe UI', Helvetica, Arial, sans-serif;

  --rg-rayon-carte:18px;
  --rg-rayon-pilule:999px;
  --rg-rayon-modale:24px;
  --rg-tete-h:76px;
  --rg-tete-h-mobile:56px;
  --rg-pad-desktop:104px;
  --rg-pad-mobile:64px;
  --rg-max:1240px;
  --rg-marge:20px;
  --rg-ombre:0 18px 40px -18px rgba(30,59,46,.28);
  color-scheme:light;
}

/* ---------- 1.2 JETONS — sombre (bascule manuelle, [data-theme="dark"]) -- */
:root[data-theme="dark"]{
  --creme:#101915;
  --lin:#18251E;
  --sable:#223229;
  --filet:#34473B;
  --bord-champ-nuit:#6F8175;
  --encre:#F1E9DA;
  --mousse:#B2BDB0;
  --sapin-haut:#0B130F;
  --fougere:#9DB59F;
  --lichen:#9DB59F;
  --terracotta:#EC9A78;
  --terracotta-fonce:#F2B498;
  --accent:var(--terracotta);
  --accent-fonce:var(--terracotta-fonce);
  --accent-texte:#101915;
  --rg-ombre:none;
  color-scheme:dark;
}
:root[data-theme="dark"] .rg-region--eteinte,
:root[data-theme="dark"] .rg-region.rg-region--eteinte{ fill:#2E4136; }

/* Noms clairs supplémentaires pour le logo/pied (toujours sur --sapin) */
:root{
  --lait:#F1E9DA;
  --lichen-nuit:#9DB59F;
  --nuit:#101915;
}
:root[data-theme="dark"]{ --nuit:#0B130F; }

/* ---------- 2. RESET / BASE ------------------------------------------------ */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
body{margin:0;background:var(--creme);color:var(--encre);font-family:var(--corps);font-size:18px;line-height:1.65;
  -webkit-font-smoothing:antialiased;overflow-x:hidden;transition:background-color .25s ease,color .25s ease}
img,svg{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
input,select,textarea{font:inherit;color:inherit}
ul{list-style:none;margin:0;padding:0}
h1,h2,h3,p,figure{margin:0}
:focus-visible{outline:3px solid var(--terracotta);outline-offset:2px;border-radius:4px}
:root[data-theme="dark"] :focus-visible{outline-color:var(--tuile)}

h1,h2,h3{font-family:var(--titre);font-weight:800;color:var(--encre);line-height:1.12}
h3{font-weight:700}

.rg-wrap{max-width:var(--rg-max);margin-inline:auto;padding-inline:var(--rg-marge)}
.rg-bande{padding-block:var(--rg-pad-desktop)}
.rg-bande--creme{background:var(--creme)}
.rg-bande--sable{background:var(--sable)}
/* CORRECTIF 15/09 (LOT D) : --sapin-bande est TOUJOURS sombre (§1.2) mais
   --lin bascule sombre en mode sombre — texte invisible. --lait reste clair
   dans les deux modes : seul jeton correct pour du texte posé sur sapin. */
.rg-bande--sapin{background:var(--sapin-bande);color:var(--lait)}
.rg-bande--sapin .rg-mousse,.rg-bande--sapin p{color:var(--lichen)}

.rg-surtitre{display:inline-flex;align-items:center;gap:.5em;margin:0 0 .8rem;font:700 13px/1 var(--corps);
  letter-spacing:.08em;text-transform:uppercase;color:var(--terracotta)}
.rg-surtitre--sombre{color:var(--tuile)}
.rg-surtitre-chevron{width:14px;height:9px;color:inherit}
.rg-h2{font-size:42px;margin-bottom:.6rem}
.rg-h2--sombre{color:var(--lait)}
.rg-corps-lg{font-size:21px;line-height:1.6;color:var(--mousse)}
.rg-bande--sapin .rg-corps-lg{color:var(--lichen)}
.rg-meta{font-size:14px;color:var(--mousse)}
.rg-sourde{color:var(--mousse);font-size:14px}
.rg-oeil{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
a.rg-oeil:focus{position:fixed!important;width:auto;height:auto;clip:auto;top:8px;left:8px;z-index:999;
  background:var(--sapin);color:var(--lait);padding:.6em 1em;border-radius:8px}

.rg-tete-bande{display:flex;justify-content:space-between;align-items:flex-end;gap:1.5rem;margin-bottom:2.4rem;flex-wrap:wrap}
.rg-tete-bande--centre{justify-content:center;text-align:center}
.rg-lien-accent{display:inline-flex;align-items:center;gap:.4em;font:700 15px/1 var(--corps);color:var(--terracotta);
  white-space:nowrap}
:root[data-theme="dark"] .rg-lien-accent,.rg-bande--sapin .rg-lien-accent{color:var(--tuile)}

.rg-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5em;border-radius:var(--rg-rayon-pilule);
  padding:.85em 1.6em;font:700 15px/1 var(--corps);white-space:nowrap;transition:background-color .15s,color .15s,transform .15s}
.rg-btn--pleine{background:var(--terracotta);color:var(--accent-texte)}
.rg-btn--pleine:hover{background:var(--terracotta-fonce)}
:root[data-theme="dark"] .rg-btn--pleine:hover{background:#F7C7AE}
.rg-btn--filaire{background:transparent;color:var(--fougere);border:1.5px solid var(--fougere)}
.rg-btn--filaire:hover{background:var(--fougere);color:var(--lin)}
.rg-btn:active{transform:translateY(1px)}

.rg-pilule-rubrique{display:inline-block;background:var(--sable);color:var(--encre);font:700 12px/1 var(--corps);
  letter-spacing:.04em;text-transform:uppercase;padding:.5em 1em;border-radius:var(--rg-rayon-pilule)}

/* Photos : ratio forcé, jamais de titre sans voile ailleurs que §défini */
.rg-photo{display:block;position:relative;width:100%;aspect-ratio:var(--ar,16/9);overflow:hidden;border-radius:var(--rg-rayon-carte);
  background:var(--sable) linear-gradient(160deg,var(--sable),var(--filet))}
.rg-photo img{width:100%;height:100%;object-fit:cover}
/* rg_photo() ne rend plus jamais de span vide : une clé absente de photos.json
   ne produit AUCUNE sortie (voir functions.php), donc plus de placeholder ici. */
.rg-photo-credit{position:absolute;right:8px;bottom:6px;font:500 10px/1 var(--corps);color:rgba(255,255,255,.75);
  background:rgba(0,0,0,.35);padding:2px 6px;border-radius:99px;pointer-events:none}
/* Correctif 15/09 : sur les petites arches mobiles (~108px de large) le
   crédit devient proportionnellement énorme — masqué visuellement sous
   600px, gardé accessible (texte toujours dans le DOM, lu au clavier/VO). */
@media (max-width:600px){
  .rg-photo-credit{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);
    white-space:nowrap;padding:0;background:none;right:auto;bottom:auto}
}

/* ---------- 3. EN-TÊTE ------------------------------------------------------ */
.rg-tete{position:sticky;top:0;z-index:40;background:var(--creme);border-bottom:1px solid transparent;transition:border-color .2s}
.rg-tete-in{display:flex;align-items:center;gap:16px;height:var(--rg-tete-h)}
/* Correctif 15/09 (coordinateur) : le menu passait sur 2 lignes à 1440 et la
   2e ligne débordait de la hauteur fixe du header — plus de flex-wrap, gap
   resserré, taille de texte légèrement réduite pour que les 6 items + le
   CTA tiennent sur UNE ligne, verticalement centrés (align-items:center
   sur .rg-tete-in s'applique correctement dès qu'il n'y a plus de retour). */
.rg-nav{display:flex;align-items:center;gap:18px;margin-inline:auto;flex-wrap:nowrap}
.rg-nav a{font:600 14px/1 var(--corps);color:var(--encre);white-space:nowrap;position:relative;padding-block:4px}
.rg-nav a.is-actif,.rg-nav a:hover{color:var(--terracotta)}
.rg-nav a.is-actif::after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:2px;background:var(--terracotta)}
.rg-tete-actions{display:flex;align-items:center;gap:14px}
.rg-tete-cta{height:48px;padding-inline:1.5em;font-size:15px}

.rg-logo{display:inline-flex;align-items:center;gap:.5em}
.rg-logo-picto{width:40px;height:38px;flex:none}
.rg-logo-texte{font:800 22px/1 var(--titre);color:var(--encre);white-space:nowrap}
/* CORRECTIF 15/09 (LOT D) : le logo du pied est TOUJOURS sur --sapin-bande
   (fond fixe sombre, indépendant du mode) — --lin bascule sombre en mode
   sombre et rendait le texte invisible ; --lait reste clair dans les deux
   modes (§1.2, jetons "toujours clairs sur --sapin"). */
.rg-logo--pied-bas .rg-logo-texte,.rg-pied .rg-logo-texte{color:var(--lait)}

.rg-bascule{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;position:relative;flex:none;color:var(--encre)}
.rg-bascule:hover{background:var(--sable)}
.rg-bascule svg{width:20px;height:20px;position:absolute;transition:opacity .2s,transform .3s}
.rg-bascule-lune{opacity:0;transform:rotate(-90deg)}
:root[data-theme="dark"] .rg-bascule-soleil{opacity:0;transform:rotate(90deg)}
:root[data-theme="dark"] .rg-bascule-lune{opacity:1;transform:rotate(0)}
.rg-bascule--pied{color:var(--lait)}
.rg-bascule--pied:hover{background:var(--sapin-haut)}

.rg-burger{display:none;flex-direction:column;justify-content:center;gap:5px;width:44px;height:44px;flex:none}
.rg-burger span{display:block;width:22px;height:2px;background:var(--encre);margin-inline:auto;transition:transform .2s,opacity .2s}

.rg-cta-collant{position:fixed;left:0;right:0;bottom:0;z-index:39;padding:8px 16px;background:var(--terracotta);
  transform:translateY(100%);transition:transform .2s;display:none}
.rg-cta-collant.est-visible{transform:translateY(0)}
.rg-cta-collant .rg-btn{display:flex;width:100%;height:44px;background:transparent;color:var(--lin)}

@media (max-width:999px){
  .rg-nav{display:none;position:fixed;inset:var(--rg-tete-h-mobile) 0 0 0;background:var(--creme);flex-direction:column;
    align-items:flex-start;gap:4px;padding:24px var(--rg-marge);overflow-y:auto;z-index:38}
  .rg-nav.is-ouvert{display:flex}
  .rg-nav a{width:100%;padding-block:14px;font-size:18px;border-bottom:1px solid var(--filet)}
  .rg-burger{display:flex;margin-left:auto}
  .rg-tete-cta{display:none}
  .rg-tete-in{height:var(--rg-tete-h-mobile)}
  .rg-cta-collant{display:block}
  .rg-logo-texte{font-size:18px}
  .rg-logo-picto{width:32px;height:30px}
}

/* ---------- 4. PIED DE PAGE ------------------------------------------------- */
.rg-pied{background:var(--sapin-bande);color:var(--lait)}
.rg-pied-haut{display:grid;grid-template-columns:1.4fr repeat(4,minmax(0,1fr));gap:32px;padding-block:56px 32px;
  border-bottom:1px solid rgba(241,233,218,.12)}
.rg-pied-marque p{font-size:14px;color:var(--lichen);margin-top:.8em;max-width:26em}
.rg-pied-titre{font:700 13px/1 var(--corps);letter-spacing:.06em;text-transform:uppercase;color:var(--lichen);margin-bottom:1em}
.rg-pied-liste{display:flex;flex-direction:column;gap:.65em}
.rg-pied-liste a{font-size:14.5px;color:var(--lait)}
.rg-pied-liste a:hover{color:var(--tuile)}
.rg-pied-bas{display:flex;align-items:center;gap:16px;padding-block:24px;font-size:13px;color:var(--lichen);flex-wrap:wrap}
.rg-pied-bas>span{margin-right:auto}

@media (max-width:900px){
  .rg-pied-haut{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 20px}
  .rg-pied-marque{grid-column:1/-1}
}
@media (max-width:560px){.rg-pied-haut{grid-template-columns:minmax(0,1fr)}}

/* ---------- 5. HERO + ARCADE (A1) ------------------------------------------- */
.rg-hero{position:relative;background:var(--creme);padding-top:48px;padding-bottom:72px;overflow:hidden}
/* Retour Mathias 15/09 soir : proportions — titre moins massif, arcade moins haute,
   barre posée SOUS l'arcade (plus à cheval sur les photos). */
.rg-hero-in{display:grid;grid-template-columns:minmax(0,11fr) minmax(0,10fr);gap:56px;align-items:center}
.rg-hero-texte h1{font-size:clamp(40px,4.1vw,56px);line-height:1.08;letter-spacing:-.01em;max-width:15ch;margin-bottom:.45em}
.rg-hero-chapo{font-size:19px;line-height:1.6;color:var(--mousse);max-width:40ch;margin-bottom:1.1em}
.rg-hero-preuve{font:600 15px/1 var(--corps);color:var(--fougere)}

.rg-arcade{display:flex;align-items:flex-end;gap:14px;justify-content:center}
.rg-arche{display:block;border-radius:999px 999px 18px 18px;overflow:hidden;border:6px solid var(--lin);box-shadow:var(--rg-ombre);width:100%}
.rg-arche .rg-photo{border-radius:0;aspect-ratio:auto;height:100%}
.rg-arche--1{max-width:31%;align-self:flex-end;height:360px;margin-bottom:28px}
.rg-arche--2{max-width:34%;height:430px}
.rg-arche--3{max-width:31%;align-self:flex-end;height:330px;margin-bottom:56px}

@media (max-width:999px){
  .rg-hero{padding-top:32px;padding-bottom:0}
  .rg-hero-in{grid-template-columns:minmax(0,1fr);gap:20px}
  .rg-hero-texte h1{font-size:38px;max-width:none}
  .rg-hero-chapo{font-size:17px}
  .rg-arcade{gap:8px}
  .rg-arche{border-width:4px}
  .rg-arche--1,.rg-arche--2,.rg-arche--3{height:108px;max-width:33%;margin:0}
}

/* Barre pilule qui chevauche le bas du hero (§4.2) */
.rg-barre{position:relative;z-index:5;max-width:1040px;margin:40px auto 0;padding-inline:var(--rg-marge)}
.rg-barre-in{display:flex;align-items:stretch;background:var(--lin);border:1px solid var(--filet);border-radius:var(--rg-rayon-pilule);box-shadow:var(--rg-ombre);
  padding:8px;gap:4px}
/* Chaque champ est une pilule : au focus c'est elle qui s'éclaire (plus de contour
   rectangulaire décalé du navigateur autour de l'input — retour Mathias 15/09). */
.rg-barre-champ,.rg-barre .rg-champ-voyageurs{display:flex;flex-direction:column;justify-content:center;gap:4px;padding:10px 24px;min-width:0;flex:1;
  border-radius:var(--rg-rayon-pilule);transition:background .15s,box-shadow .15s;cursor:text}
.rg-barre-champ:hover,.rg-barre .rg-champ-voyageurs:hover{background:color-mix(in srgb, var(--sable) 45%, transparent)}
.rg-barre-champ:focus-within,.rg-barre .rg-champ-voyageurs:focus-within{background:var(--creme);box-shadow:inset 0 0 0 2px var(--terracotta)}
.rg-barre-champ input:focus,.rg-barre-champ select:focus,.rg-voyageurs-bouton:focus{outline:none}
.rg-barre-champ label{font:600 12px/1 var(--corps);color:var(--mousse);letter-spacing:.02em}
.rg-barre-ou input[type="text"]{border:0;background:none;padding:0;font:600 15px/1.2 var(--corps);color:var(--encre);width:100%}
.rg-barre-envie select{border:0;background:none;padding:0;font:600 15px/1.2 var(--corps);color:var(--encre);width:100%;appearance:none}
.rg-barre-filet{width:1px;background:var(--filet);align-self:center;height:34px;flex:none}
.rg-champ-voyageurs{display:flex;flex-direction:column;gap:2px;justify-content:center}
.rg-champ-voyageurs label{font:600 12px/1 var(--corps);color:var(--mousse)}
.rg-voyageurs-bouton{text-align:left;font:600 15px/1.2 var(--corps);color:var(--encre);padding:0}
.rg-barre-chercher{flex:none;display:flex;align-items:center;gap:.5em;background:var(--terracotta);color:var(--lin);
  border-radius:var(--rg-rayon-pilule);padding:0 2em;font:700 16px/1 var(--corps);min-height:56px}
.rg-barre-chercher:hover{background:var(--terracotta-fonce)}
.rg-barre-chercher svg{width:18px;height:18px}

@media (max-width:999px){
  .rg-barre{margin-top:20px;max-width:none}
  .rg-barre-in{flex-direction:column;border-radius:24px;padding:14px;gap:10px}
  .rg-barre-champ,.rg-barre .rg-champ-voyageurs{padding:10px 16px;border-radius:16px}
  .rg-barre-filet{display:none}
  .rg-barre-chercher{height:52px;justify-content:center;margin-top:4px}
}

/* ---------- 6. CARTE DE FRANCE (A2, §4.3) ----------------------------------- */
.rg-carte-bande{overflow:visible}
.rg-carte-grille{display:grid;grid-template-columns:minmax(0,8fr) minmax(0,4fr);gap:40px;align-items:start}
.rg-carte-svg-hold{position:relative}
.rg-france{width:100%;height:auto}
/* CORRECTIF 15/09 (LOT D) : "aucune région remplie" — --allumee/--eteinte
   rendaient le même fill (--sable) que le fond de bande, donc rien ne se
   voyait (seul un contour --lin trop pâle en clair). Désormais : régions
   avec ≥1 lieu publié = remplies (--fougere, contour --lait toujours clair,
   §1.2) ; régions sans lieu = sable plus soutenu (color-mix, s'adapte aux
   deux modes automatiquement) ; survol/actif = terracotta (--accent, seule
   couleur d'accent du site, §"contraintes dures"). */
.rg-region{fill:color-mix(in srgb, var(--sable) 60%, var(--mousse) 40%);stroke:var(--filet);stroke-width:1.5;
  cursor:default;transition:fill .18s ease,stroke .18s ease}
.rg-region--allumee{fill:var(--fougere);stroke:var(--lait)}
.rg-region--cliquable{cursor:pointer}
.rg-region:hover,.rg-region:focus-visible,.rg-region.is-active{fill:var(--terracotta)}
.rg-carte-infobulle{position:absolute;pointer-events:none;background:var(--lin);border-radius:12px;box-shadow:var(--rg-ombre);
  padding:10px 14px;font-size:14px;transform:translate(-50%,-115%);white-space:nowrap;z-index:6}
.rg-carte-infobulle b{display:block;font:700 18px/1.2 var(--titre);margin-bottom:2px}
@media (max-width:999px){
  .rg-carte-infobulle{left:50%!important;top:auto!important;bottom:8px;transform:translateX(-50%)}
}

.rg-carte-liste{display:flex;flex-direction:column;gap:2px}
.rg-carte-ligne{display:flex;align-items:center;gap:10px;padding:14px 6px;border-bottom:1px solid var(--filet);font-weight:600}
.rg-carte-ligne-nom{flex:1;min-width:0}
.rg-carte-ligne-n{color:var(--mousse);font-size:14px;font-weight:500}
.rg-carte-ligne-fleche{width:16px;height:16px;color:var(--terracotta);flex:none}
.rg-carte-ligne:hover .rg-carte-ligne-nom,.rg-carte-ligne[data-actif] .rg-carte-ligne-nom{color:var(--terracotta)}
.rg-carte-ligne--eteinte{color:var(--mousse);cursor:default}
.rg-carte-liste .rg-lien-accent{margin-top:12px}

@media (max-width:999px){
  .rg-carte-grille{grid-template-columns:minmax(0,1fr)}
  .rg-carte-liste{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .rg-carte-ligne{border:1px solid var(--filet);border-radius:999px;padding:12px 14px;height:48px;background:var(--lin)}
  .rg-carte-liste .rg-lien-accent{grid-column:1/-1;justify-content:center;margin-top:8px}
}

/* ---------- 7. DESTINATIONS (A3) -------------------------------------------- */
.rg-destination-section+.rg-destination-section{margin-top:56px}
.rg-destination-section h3{font-size:28px;margin-bottom:1em}
.rg-destination-grandes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.rg-destination-grande{display:block;position:relative;border-radius:18px;overflow:hidden}
.rg-destination-grande .rg-photo{border-radius:18px;aspect-ratio:16/9}
.rg-destination-nom{display:block;font:700 22px/1.2 var(--titre);margin-top:.6em}
.rg-destination-n{display:block;color:var(--mousse);font-size:14px}
.rg-destination-defilante-hold{position:relative;margin-top:20px}
.rg-destination-defilante{display:flex;gap:16px;overflow-x:auto;padding-bottom:6px;scroll-snap-type:x proximity;scrollbar-width:none}
.rg-destination-defilante::-webkit-scrollbar{display:none}
.rg-destination-petite{flex:0 0 230px;scroll-snap-align:start}
.rg-destination-petite .rg-photo{aspect-ratio:4/3}
.rg-destination-petite .rg-destination-nom{font-size:18px}
.rg-destination-fleche{position:absolute;top:calc(50% - 14px);width:44px;height:44px;border-radius:50%;
  background:var(--lin);box-shadow:var(--rg-ombre);display:grid;place-items:center;color:var(--encre);z-index:2}
.rg-destination-fleche svg{width:16px;height:16px}
.rg-destination-fleche:hover{background:var(--sable)}
.rg-destination-fleche:disabled{opacity:.35;pointer-events:none}
.rg-destination-fleche--prec{left:-6px}
.rg-destination-fleche--suiv{right:-6px}

@media (max-width:768px){
  .rg-destination-grandes{grid-template-columns:minmax(0,1fr)}
  .rg-destination-petite{flex-basis:62%}
  .rg-destination-fleche{display:none}
}

/* ---------- 8. ENVIES (A4, sapin) ------------------------------------------- */
.rg-envies-grille{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.rg-envie-tuile{position:relative;display:block;border-radius:18px;overflow:hidden;background:var(--sapin-bande-haut)}
.rg-envie-tuile .rg-photo{aspect-ratio:1/1;border-radius:18px}
.rg-envie-voile{position:absolute;inset:0;background:linear-gradient(to top,rgba(30,59,46,.85),rgba(30,59,46,0) 62%)}
.rg-envie-titre{position:absolute;left:18px;right:18px;bottom:16px;font:700 22px/1.15 var(--titre);color:var(--lait)}

@media (max-width:768px){
  .rg-envies-grille{display:flex;overflow-x:auto;gap:12px;scroll-snap-type:x proximity}
  .rg-envie-tuile{flex:0 0 72%;scroll-snap-align:start}
}

/* ---------- 9. CHIFFRES ANIMÉS (A5, §4.6) ----------------------------------- */
.rg-chiffres{display:grid;grid-template-columns:repeat(var(--n,4),minmax(0,1fr));gap:16px;max-width:var(--rg-max);
  margin-inline:auto;padding-inline:var(--rg-marge)}
.rg-chiffre{background:var(--sapin-bande);border-radius:18px 18px 40px 40px/18px 18px 26px 26px;padding:36px 20px 26px;text-align:center}
.rg-chiffre b{display:block;font:800 88px/1 var(--titre);color:var(--tuile);font-variant-numeric:tabular-nums}
.rg-chiffre span{display:block;margin-top:.4em;color:var(--lichen);font-size:15px}
.rg-source-donnees{max-width:var(--rg-max);margin:20px auto 0;padding-inline:var(--rg-marge);text-align:center;
  font-size:12.5px;color:var(--mousse)}

@media (max-width:768px){
  .rg-chiffres{grid-template-columns:repeat(2,minmax(0,1fr))}
  .rg-chiffre b{font-size:56px}
}

/* ---------- 10. DERNIERS GUIDES (A6) ---------------------------------------- */
.rg-guides-grille{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,6fr);gap:28px}
.rg-guide-grande .rg-photo{aspect-ratio:16/10}
.rg-guide-grande h3{font:700 26px/1.2 var(--titre);margin:.6em 0 .3em}
.rg-guides-petites{display:grid;gap:18px}
.rg-guide-petite{display:grid;grid-template-columns:96px minmax(0,1fr);gap:14px;align-items:center}
.rg-guide-petite .rg-photo{border-radius:14px}
.rg-guide-petite h3{font:700 17px/1.3 var(--titre)}

@media (max-width:900px){
  .rg-guides-grille{grid-template-columns:minmax(0,1fr)}
}

/* ---------- 11. PROPRIÉTAIRES, discret (A7) --------------------------------- */
/* Correctif 15/09 : bandeau compact SANS colonne photo (voir front-page.php,
   rg_photo() ne rendait rien pour cette clé libre). */
.rg-proprietaires-in{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:24px;
  background:var(--lin);border:1px solid var(--filet);border-radius:var(--rg-rayon-carte);padding:32px 36px}
.rg-proprietaires-texte{max-width:560px}
.rg-proprietaires-texte h3{font-size:24px;margin-bottom:.3em}
.rg-proprietaires-texte p{color:var(--mousse);margin:0}
.rg-proprietaires-actions{display:flex;gap:12px;flex-wrap:wrap;flex:none}
@media (max-width:640px){.rg-proprietaires-in{flex-direction:column;align-items:flex-start;padding:24px}}

/* ---------- 12. FORMULAIRE DE DEMANDE (A8, §3.1/§0bis) ---------------------- */
.rg-form-grille{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:48px;align-items:start}
.rg-form-etapes-liste{display:flex;flex-direction:column;gap:18px;margin-top:1.6rem}
.rg-form-etapes-liste li{display:flex;align-items:center;gap:.8em;font:600 16px/1.3 var(--corps);color:var(--lichen)}
.rg-etape-chevron{width:20px;height:12px;color:var(--tuile);flex:none}

.rg-form-carte{background:var(--lin);border-radius:var(--rg-rayon-modale);padding:32px;box-shadow:var(--rg-ombre)}
.rg-form-progres{margin-bottom:20px}
.rg-progres-barre{height:6px;border-radius:999px;background:var(--sable);overflow:hidden}
.rg-progres-remplissage{display:block;height:100%;width:50%;background:var(--terracotta);border-radius:999px;transition:width .3s ease}
.rg-form-etape[data-rg-etape="2"] ~ .rg-form-progres .rg-progres-remplissage,
[data-rg-etape="2"].is-active ~ * .rg-progres-remplissage{width:100%}
.rg-form-progres-txt{display:block;margin-top:.6em;font-size:13px;color:var(--mousse);font-weight:600}

.rg-cle-recap{margin-bottom:16px}
.rg-cle{display:inline-block;background:var(--sable);color:var(--encre);border-radius:999px;padding:.5em 1em;font-size:13px;font-weight:600}

.rg-form-etape{display:none;flex-direction:column;gap:16px}
.rg-form-etape.is-active{display:flex}
.rg-champ-vertical{display:flex;flex-direction:column;gap:6px}
.rg-champ-vertical label{font:600 13px/1 var(--corps);letter-spacing:.04em;text-transform:uppercase;color:var(--mousse)}
.rg-champ-vertical input,.rg-champ-vertical select,.rg-champ-vertical textarea{
  background:var(--creme);border:1.5px solid var(--mousse);border-radius:var(--rg-rayon-pilule);padding:.9em 1.2em;
  font:600 15px/1.2 var(--corps);color:var(--encre)}
:root[data-theme="dark"] .rg-champ-vertical input,:root[data-theme="dark"] .rg-champ-vertical select,
:root[data-theme="dark"] .rg-champ-vertical textarea{border-color:var(--bord-champ-nuit,var(--mousse))}
.rg-champ-vertical textarea{border-radius:18px;resize:vertical}
.rg-champ-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.rg-consentement{display:flex;align-items:flex-start;gap:.6em;font-size:13.5px;color:var(--mousse)}
.rg-consentement input{margin-top:.3em}
.rg-form-actions{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:8px}
.rg-form-actions .rg-btn{flex:1;justify-content:center;height:52px}

.rg-envoye{display:none;flex-direction:column;align-items:flex-start;gap:.6em}
.rg-envoye.est-visible,[hidden].rg-envoye{display:none}
.rg-envoye-icone{width:40px;height:40px;color:var(--fougere)}
.rg-envoye h3{font-size:22px}

@media (max-width:999px){
  .rg-form-grille{grid-template-columns:minmax(0,1fr);gap:24px}
  .rg-form-carte{padding:22px}
  .rg-champ-2{grid-template-columns:minmax(0,1fr)}
  .rg-form-etapes-liste{flex-direction:row;flex-wrap:wrap;gap:10px 18px}
  .rg-form-etapes-liste li{font-size:13px}
}

/* ---------- 13. MODALE VOYAGEURS (§14, commune) ----------------------------- */
.rg-modale{position:fixed;inset:0;z-index:80;display:flex;align-items:center;justify-content:center}
.rg-modale[hidden]{display:none}
.rg-modale-fond{position:absolute;inset:0;background:rgba(16,25,21,.55)}
.rg-modale-carte{position:relative;background:var(--lin);border-radius:var(--rg-rayon-modale);padding:28px;width:min(380px,90vw);
  box-shadow:var(--rg-ombre);display:flex;flex-direction:column;gap:16px}
.rg-modale-carte h3{font-size:20px}
.rg-modale-fermer{position:absolute;top:14px;right:14px;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;
  font-size:20px;color:var(--mousse)}
.rg-modale-fermer:hover{background:var(--sable)}

.rg-compteurs{display:flex;flex-direction:column;gap:14px}
.rg-compteur{display:flex;align-items:center;justify-content:space-between;gap:12px}
.rg-compteur>span{font-weight:600}
.rg-compteur>div{display:flex;align-items:center;gap:14px}
.rg-compteur button{width:36px;height:36px;border-radius:50%;border:1.5px solid var(--mousse);display:grid;place-items:center;
  font-size:18px;line-height:1}
.rg-compteur button:hover{border-color:var(--terracotta);color:var(--terracotta)}
.rg-compteur output{min-width:1.4em;text-align:center;font-variant-numeric:tabular-nums;font-weight:700}

@media (max-width:600px){
  .rg-modale{align-items:flex-end}
  .rg-modale-carte{width:100%;max-height:35vh;border-radius:24px 24px 0 0;overflow-y:auto}
}

/* ---------- 14. POP-UP (sortie / 20 s) -------------------------------------- */
.rg-popup{position:fixed;inset:0;z-index:90;display:flex;align-items:center;justify-content:center;background:rgba(16,25,21,.6);
  opacity:0;pointer-events:none;transition:opacity .2s}
.rg-popup[hidden]{display:none}
.rg-popup.is-ouvert{opacity:1;pointer-events:auto}
.rg-popup-carte{position:relative;background:var(--lin);border-radius:var(--rg-rayon-modale);padding:28px;width:min(420px,92vw);
  box-shadow:var(--rg-ombre)}
.rg-popup-carte .rg-photo{margin-bottom:16px;aspect-ratio:16/9}
.rg-popup-carte h2{font-size:24px;margin-bottom:.5em}
.rg-popup-carte p{color:var(--mousse);margin-bottom:1.2em}
.rg-popup-fermer{position:absolute;top:12px;right:12px;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;
  font-size:20px;color:var(--accent-texte);background:var(--accent);box-shadow:var(--rg-ombre)}
.rg-popup-fermer:hover{background:var(--accent-fonce)}

/* ---------- 15. BLOC AUTEUR (single.php) ------------------------------------ */
.rg-auteur{display:flex;gap:14px;align-items:flex-start;background:var(--lin);border:1px solid var(--filet);border-radius:18px;padding:20px}
.rg-auteur img{border-radius:50%}
.rg-auteur-nom{font-weight:700;margin-bottom:.2em}
.rg-auteur-bio{color:var(--mousse);font-size:14.5px}
.rg-auteur-date{color:var(--mousse);font-size:13px;margin-top:.4em}

/* ---------- 16. LOT B — baseline provisoire (gabarits pas encore repris) ---- */
.rg-page-tete{padding-block:56px 32px}
.rg-page-corps{padding-block:0 var(--rg-pad-desktop)}
.rg-grille{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.rg-liste-grille{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.rg-carte-article,.rg-dossiers-liste>*{background:var(--lin);border:1px solid var(--filet);border-radius:18px;padding:16px}
.rg-pagination{display:flex;gap:8px;justify-content:center;margin-top:32px}
@media (max-width:900px){.rg-grille,.rg-liste-grille{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:600px){.rg-grille,.rg-liste-grille{grid-template-columns:minmax(0,1fr)}}

/* ---------- 17. IMPRESSION / DIVERS ----------------------------------------- */
::selection{background:var(--terracotta);color:var(--lin)}
