*,*::before,*::after{margin:0;padding:0;box-sizing:border-box;}
:root{
  /* ── Palette « Sauge & Volcan » — version réchauffée ──
     Accent principal = vert olive ensoleillé (sauge tirée vers le chaud).
     Accent secondaire = braise volcanique (terracotta) pour les touches chaudes.
     Fonds = ivoire chaud. Texte/foncés = brun-olive (plus chaud que le vert-forêt). */
  --bg:       #F1EEE0;   /* ivoire chaud */
  --bg-d:     #E4DDC9;   /* sable chaud */
  --blanc:    #FFFFFF;
  --or:       #596E45;   /* OLIVE — accent principal. Assombri le 17/09/2026 :
                            4,5:1 mini en TEXTE sur le sable #EAE7D1 (4,50), le crème
                            #F1EEE0 (4,82) et le blanc (5,61), ET en FOND sous du
                            texte blanc (5,61). L'ancien #6B8453 plafonnait à 3,34. */
  --or-cl:    #94A776;   /* olive clair — sert UNIQUEMENT sur fonds foncés.
                            Éclairci le 17/09/2026 : 4,6:1 sur l'extrémité la plus
                            claire du dégradé du hero (#3A3722), 5,9:1 sur le pied
                            de page (#2B2A1A). */
  --or-bg:    #EAE7D1;   /* panneau olive-crème chaud */
  --terra:    #C25E36;   /* BRAISE volcanique — accent secondaire chaud */
  --terra-cl: #DC8A5A;   /* braise claire (sur fonds foncés) */
  --brun:     #2B2A1A;   /* brun-olive profond — texte + panneaux foncés */
  --brun-m:   #55503B;   /* olive-taupe — texte secondaire */
  --gris:     #6E6758;   /* greige chaud. Assombri le 17/09/2026 : 4,50:1 sur le
                            sable, 4,82 sur le crème, 5,61 sur le blanc (avant : 3,60). */
  --gris-cl:  #CAC4B3;
  --ombre-s:  0 4px 20px rgba(43,42,26,.07);
  --ombre-m:  0 10px 40px rgba(43,42,26,.1);
  --ombre-l:  0 24px 70px rgba(43,42,26,.13);
  --radius-s: 14px;
  --radius-m: 22px;
  --radius-l: 28px;
  --radius-xl:36px;
}
html{scroll-behavior:smooth;font-size:112.5%;}
body{background:var(--bg);color:var(--brun);font-family:'DM Sans',sans-serif;font-weight:300;min-height:100vh;overflow-x:hidden;}
/* Icônes fines (remplacent les emojis) */
.ico{width:1em;height:1em;vertical-align:-0.14em;display:inline-block;flex:none;stroke:currentColor;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;}

/* ─────────── NAV ─────────── */
nav{position:fixed;top:0;left:0;right:0;z-index:100;padding:16px 40px;}
.nav-pill{background:rgba(255,255,255,.85);backdrop-filter:blur(18px);border-radius:100px;padding:12px 24px;display:flex;align-items:center;justify-content:space-between;box-shadow:var(--ombre-s);border:1px solid rgba(255,255,255,.9);}
.nav-logo{font-family:'Playfair Display',serif;font-size:1.05rem;font-weight:600;color:var(--brun);text-decoration:none;letter-spacing:.02em;display:inline-flex;flex-direction:row;align-items:center;gap:9px;line-height:1.05;}
.nav-logo .nav-name{white-space:nowrap;}
.nav-logo .nav-name span{color:var(--or);font-style:italic;}
.nav-mark{display:block;width:26px;height:23px;flex-shrink:0;}
.nav-links{display:flex;gap:4px;list-style:none;}
.nav-links a{font-size:.79rem;font-weight:400;color:var(--gris);text-decoration:none;padding:7px 14px;border-radius:100px;transition:all .2s;}
.nav-links a:hover{background:var(--bg-d);color:var(--brun);}
.nav-links a.active{background:var(--bg-d);color:var(--brun);font-weight:500;}
.nav-cta{background:var(--brun) !important;color:var(--blanc) !important;font-weight:500 !important;padding:9px 20px !important;}
.nav-cta:hover{background:var(--or) !important;color:var(--blanc) !important;}

/* ─────────── HERO ─────────── */
.hero{padding:90px 24px 28px;max-width:1280px;margin:0 auto;}
.hero-card{border-radius:var(--radius-xl);overflow:hidden;position:relative;height:520px;box-shadow:var(--ombre-l);}
.hero-photo{position:absolute;inset:0;}
.hero-photo img{width:100%;height:100%;object-fit:cover;transform:scale(1.04);animation:slowZoom 14s ease-out forwards;}
@keyframes slowZoom{to{transform:scale(1);}}
.hero-photo-overlay{position:absolute;inset:0;background:linear-gradient(120deg,rgba(43,42,26,.45) 0%,rgba(43,42,26,.1) 55%,transparent 100%);}
/* Floating text card */
.hero-float-card{position:absolute;top:50%;left:44px;transform:translateY(-50%);background:rgba(26,24,14,.68);backdrop-filter:blur(9px) saturate(1.3);-webkit-backdrop-filter:blur(9px) saturate(1.3);border-radius:var(--radius-m);padding:36px 36px 32px;max-width:340px;box-shadow:0 20px 60px rgba(20,18,8,.45);border:1px solid rgba(255,255,255,.22);}
/* Texte clair sur verre teinté → lisible quel que soit le lit derrière */
.hero-float-card .hero-label{color:#EBDFC4;text-shadow:0 1px 8px rgba(0,0,0,.5);}
.hero-float-card .hero-h1{color:#fff;text-shadow:0 2px 14px rgba(0,0,0,.6),0 1px 3px rgba(0,0,0,.5);}
.hero-float-card .hero-h1 em{color:#F0A87A;}
.hero-float-card .hero-p{color:rgba(255,255,255,.98);text-shadow:0 1px 10px rgba(0,0,0,.6);}
.hero-label{font-size:.62rem;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--or);margin-bottom:14px;display:block;}
.hero-h1{font-family:'Playfair Display',serif;font-size:2.3rem;font-weight:700;color:var(--brun);line-height:1.15;margin-bottom:14px;}
.hero-p{font-size:.88rem;font-weight:300;color:var(--brun-m);line-height:1.75;margin-bottom:24px;}
.btn-pill{display:inline-flex;align-items:center;gap:8px;background:var(--or);color:var(--blanc);font-family:'DM Sans',sans-serif;font-size:.84rem;font-weight:500;padding:12px 24px;border-radius:100px;text-decoration:none;border:none;cursor:pointer;transition:all .3s;box-shadow:0 4px 16px rgba(107,132,83,.35);}
.btn-pill:hover{background:var(--or-cl);transform:translateY(-2px);box-shadow:0 8px 28px rgba(107,132,83,.4);}
.btn-pill svg{transition:transform .3s;}
.btn-pill:hover svg{transform:translateX(3px);}
/* Hero booking strip */
.hero-booking-strip{position:absolute;bottom:24px;left:50%;transform:translateX(-50%);background:rgba(26,24,14,.68);backdrop-filter:blur(10px) saturate(1.3);-webkit-backdrop-filter:blur(10px) saturate(1.3);border-radius:100px;padding:10px 14px 10px 20px;display:flex;align-items:center;gap:0;box-shadow:0 10px 36px rgba(20,18,8,.4);border:1px solid rgba(255,255,255,.22);white-space:nowrap;}
.hbs-field{padding:0 18px;border-right:1px solid rgba(255,255,255,.18);}
.hbs-field:last-of-type{border-right:none;}
.hbs-label{font-size:.62rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.95);display:block;margin-bottom:2px;text-shadow:0 1px 4px rgba(0,0,0,.45);}
.hbs-val{font-size:.88rem;font-weight:500;color:#fff;text-shadow:0 1px 6px rgba(0,0,0,.5);}
.hbs-input{border:none;background:transparent;font-size:.88rem;font-weight:500;color:#fff;font-family:'DM Sans',sans-serif;width:auto;min-width:104px;outline:none;cursor:pointer;text-shadow:0 1px 4px rgba(0,0,0,.4);}
.hbs-input option{color:#2B2A1A;text-shadow:none;}
.hbs-input::-webkit-calendar-picker-indicator{filter:invert(1) brightness(1.5);opacity:.85;cursor:pointer;}
/* Facade carte Google Maps (chargée au consentement — RGPD) */
.map-consent{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;text-align:center;min-height:320px;padding:36px 28px;background:var(--or-bg);border:1.5px dashed var(--gris-cl);border-radius:inherit;}
.map-consent svg{color:var(--or);}
.map-consent p{max-width:400px;font-size:.9rem;line-height:1.6;color:var(--gris);margin:0;}
/* Case à cocher consentement RGPD (formulaires) */
.form-consent{display:flex;align-items:flex-start;gap:10px;font-size:.8rem;color:var(--gris);line-height:1.5;margin:6px 0 16px;cursor:pointer;}
.form-consent input[type=checkbox]{margin-top:2px;width:16px;height:16px;flex-shrink:0;accent-color:var(--or);cursor:pointer;}
.form-consent a{color:var(--or);text-decoration:underline;}
.hbs-btn{background:var(--or);color:var(--blanc);border:none;border-radius:100px;padding:10px 22px;font-size:.84rem;font-weight:500;font-family:'DM Sans',sans-serif;cursor:pointer;margin-left:10px;transition:all .2s;}
.hbs-btn:hover{background:var(--or-cl);}

/* ─────────── FEATURE CARDS ─────────── */
.features{padding:12px 24px 28px;max-width:1280px;margin:0 auto;}
.features-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;}
.feat-card{background:var(--blanc);border-radius:var(--radius-m);overflow:hidden;box-shadow:var(--ombre-s);transition:transform .35s,box-shadow .35s;cursor:pointer;}
.feat-card:hover{transform:translateY(-6px);box-shadow:var(--ombre-l);}
.feat-photo{height:180px;overflow:hidden;}
.feat-photo img{width:100%;height:100%;object-fit:cover;transition:transform .6s;}
.feat-card:hover .feat-photo img{transform:scale(1.06);}
.feat-body{padding:20px 22px 22px;}
.feat-h3{font-family:'Playfair Display',serif;font-size:1.05rem;font-weight:600;color:var(--brun);margin-bottom:6px;}
.feat-p{font-size:.84rem;font-weight:300;color:var(--gris);line-height:1.65;}
/* ── TILT 3D au survol (vignettes) ── */
.feat-card.tilt{position:relative;transition:transform .35s cubic-bezier(.2,.7,.3,1),box-shadow .35s;will-change:transform;backface-visibility:hidden;-webkit-backface-visibility:hidden;}
.feat-card.tilt:hover{box-shadow:var(--ombre-l);}
.feat-card.tilt .feat-photo{border-radius:var(--radius-m) var(--radius-m) 0 0;overflow:hidden;}
.feat-card.tilt .feat-photo img{transition:transform .4s ease;}
.feat-card.tilt:hover .feat-photo img{transform:scale(1.04);}

/* ─────────── SECTION GÉNÉRIQUE ─────────── */
.section{padding:24px;max-width:1280px;margin:0 auto;}
.section-inner{background:var(--blanc);border-radius:var(--radius-xl);padding:64px 72px;box-shadow:var(--ombre-s);}
.section-inner.dark{background:var(--brun);color:var(--blanc);}
.section-inner.or{background:var(--or-bg);}
.sec-pre{font-size:.64rem;font-weight:500;letter-spacing:.25em;text-transform:uppercase;color:var(--or);display:block;margin-bottom:14px;}
.sec-pre::before{content:'';display:inline-block;width:22px;height:1px;background:var(--or);vertical-align:middle;margin-right:10px;margin-bottom:2px;}
.section-inner.dark .sec-pre::before,.page-hero-inner .sec-pre::before{background:var(--or-cl);}
.section-inner.dark .sec-pre{color:var(--or-cl);}
.sec-h2{font-family:'Playfair Display',serif;font-size:clamp(1.9rem,3vw,2.8rem);font-weight:700;color:var(--brun);line-height:1.15;margin-bottom:10px;}
.section-inner.dark .sec-h2{color:var(--blanc);}
.sec-h2 em{font-style:italic;color:var(--terra);}
.section-inner.dark .sec-h2 em{color:var(--terra-cl);}
.sec-p{font-size:.9rem;font-weight:300;color:var(--brun-m);line-height:1.9;max-width:520px;}
.section-inner.dark .sec-p{color:rgba(255,255,255,.6);}

/* ─────────── CHAMBRES ─────────── */
.chambres-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:40px;}
.ch-card{border-radius:var(--radius-m);overflow:hidden;position:relative;cursor:pointer;transition:transform .35s,box-shadow .35s;}
.ch-card:hover{transform:translateY(-4px);box-shadow:var(--ombre-l);}
.ch-photo{height:340px;overflow:hidden;position:relative;}
.ch-photo img{width:100%;height:100%;object-fit:cover;transition:transform .7s;}
.ch-card:hover .ch-photo img{transform:scale(1.05);}
.ch-photo-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(43,42,26,.94) 0%,rgba(43,42,26,.88) 30%,rgba(43,42,26,.55) 58%,rgba(43,42,26,.12) 82%,transparent 100%);}
.ch-info{position:absolute;bottom:0;left:0;right:0;padding:28px 28px 24px;}
.ch-num{font-size:.62rem;font-weight:500;letter-spacing:.3em;text-transform:uppercase;color:var(--or-cl);display:block;margin-bottom:6px;}
.ch-name{font-family:'Playfair Display',serif;font-size:1.6rem;font-weight:600;color:var(--blanc);margin-bottom:4px;}
.ch-name em{font-style:italic;}
.ch-cap{font-size:.74rem;font-weight:400;color:rgba(255,255,255,.96);margin-bottom:14px;}
.ch-bottom{display:flex;align-items:center;justify-content:space-between;}
.ch-price{font-family:'Playfair Display',serif;font-size:1.5rem;font-weight:600;color:var(--blanc);}
.ch-price span{font-size:.76rem;font-weight:300;color:rgba(255,255,255,.6);}
.ch-btn{background:rgba(255,255,255,.2);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.4);color:var(--blanc);font-size:.74rem;font-weight:500;padding:8px 18px;border-radius:100px;cursor:pointer;font-family:'DM Sans',sans-serif;transition:all .25s;text-decoration:none;display:inline-block;}
.ch-btn:hover{background:var(--or);border-color:var(--or);}
/* Tags équipements */
.ch-equip{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px;}
.ch-tag{background:rgba(26,24,14,.55);backdrop-filter:blur(4px);border:1px solid rgba(255,255,255,.35);color:#fff;font-size:.66rem;padding:3px 9px;border-radius:100px;}

/* ─────────── STATS STRIP ─────────── */
.stats{padding:0 24px 24px;max-width:1280px;margin:0 auto;}
.stats-inner{background:#B8945A;border-radius:var(--radius-xl);padding:40px 60px;display:grid;grid-template-columns:repeat(4,1fr);gap:0;box-shadow:0 16px 48px rgba(184,148,90,.35);}
.stat-item{text-align:center;border-right:1px solid rgba(43,42,26,.22);padding:0 24px;}
.stat-item:last-child{border-right:none;}
/* Texte brun sur l'or #B8945A = 5,12:1. En blanc il plafonnait à 2,83:1 :
   aucune nuance de blanc ne peut passer AA sur cet or — c'est le texte qui change,
   pas la couleur du bandeau. */
.stat-val{font-family:'Playfair Display',serif;font-size:2.8rem;font-weight:700;color:var(--brun);display:block;line-height:1;}
.stat-unit{font-size:.64rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--brun);display:block;margin:6px 0 4px;}
.stat-label{font-size:.79rem;font-weight:400;color:var(--brun);}

/* ─────────── TERRITOIRE ─────────── */
.territoire-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:40px;}
.terr-card{background:var(--bg);border-radius:var(--radius-m);padding:28px;transition:transform .3s;}
.terr-card:hover{transform:translateY(-4px);}
.terr-icon{font-size:1.8rem;margin-bottom:14px;display:block;}
.terr-h3{font-family:'Playfair Display',serif;font-size:1.1rem;font-weight:600;color:var(--brun);margin-bottom:6px;}
.terr-p{font-size:.84rem;font-weight:300;color:var(--gris);line-height:1.7;}
.terr-dist{display:inline-block;background:var(--or-bg);color:var(--or);font-size:.66rem;font-weight:500;padding:3px 10px;border-radius:100px;margin-top:10px;}

/* ─────────── HÔTES ─────────── */
.hotes-layout{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:40px;align-items:start;}
.hote-portrait-card{background:var(--bg);border-radius:var(--radius-m);overflow:hidden;}
.hote-portrait-card img{width:100%;aspect-ratio:4/5;object-fit:cover;display:block;transition:transform .6s;}
.hote-portrait-card:hover img{transform:scale(1.03);}
.hote-caption{padding:20px 22px;}
.hote-name{font-family:'Playfair Display',serif;font-size:1.15rem;font-weight:600;color:var(--brun);}
.hote-role{font-size:.72rem;font-weight:400;color:var(--or);margin-top:3px;}
.hotes-text-col{display:flex;flex-direction:column;gap:16px;}
.hotes-quote{background:var(--or-bg);border-radius:var(--radius-m);padding:32px;border-left:3px solid var(--or);}
.hotes-quote p{font-family:'Playfair Display',serif;font-size:1.05rem;font-style:italic;color:var(--brun);line-height:1.7;}
.hotes-desc{font-size:.89rem;font-weight:300;color:rgba(255,255,255,.8);line-height:1.9;}
.hotes-contact{display:flex;gap:10px;flex-wrap:wrap;margin-top:8px;}
.hc-btn{display:inline-flex;align-items:center;gap:8px;background:var(--bg);color:var(--brun);font-size:.79rem;font-weight:500;padding:10px 18px;border-radius:100px;text-decoration:none;border:1.5px solid var(--bg-d);transition:all .2s;}
.hc-btn:hover{border-color:var(--or);color:var(--or);}

/* ─────────── BOOKING SECTION ─────────── */
.booking-layout{display:grid;grid-template-columns:1fr 1.1fr;gap:40px;align-items:start;}
.booking-form-card{background:var(--bg);border-radius:var(--radius-m);padding:32px;}
.bf-title{font-family:'Playfair Display',serif;font-size:1.3rem;font-weight:600;color:var(--brun);margin-bottom:4px;}
.bf-sub{font-size:.76rem;color:var(--gris);margin-bottom:22px;}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.fg{display:flex;flex-direction:column;gap:5px;}
.fg.full{grid-column:1/-1;}
.fl{font-size:.64rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--brun-m);}
.fi{border:1.5px solid var(--bg-d);border-radius:10px;padding:10px 13px;font-size:.89rem;font-family:'DM Sans',sans-serif;color:var(--brun);background:var(--blanc);outline:none;transition:border .2s,box-shadow .2s;width:100%;}
.fi:focus{border-color:var(--or);box-shadow:0 0 0 3px rgba(107,132,83,.12);}
.room-tabs{display:grid;grid-template-columns:1fr 1fr;gap:8px;grid-column:1/-1;}
.rt{border:2px solid var(--bg-d);border-radius:10px;padding:12px 14px;cursor:pointer;background:var(--blanc);transition:all .2s;}
.rt.active{border-color:var(--or);background:var(--or-bg);}
.rt-name{font-size:.88rem;font-weight:500;color:var(--brun);display:block;}
.rt-cap{font-size:.69rem;color:var(--gris);}
.rt-price{font-size:.93rem;font-weight:700;color:var(--or);margin-top:4px;display:block;}
.price-box{background:var(--brun);border-radius:10px;padding:14px 16px;grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;}
.pb-label{font-size:.69rem;color:rgba(255,255,255,.62);display:block;margin-bottom:3px;}
.pb-val{font-family:'Playfair Display',serif;font-size:1.7rem;font-weight:600;color:var(--terra-cl);}
.pb-note{font-size:.69rem;color:rgba(255,255,255,.62);}
.btn-submit{width:100%;background:var(--or);color:var(--blanc);border:none;border-radius:100px;padding:14px;font-family:'DM Sans',sans-serif;font-size:.88rem;font-weight:500;cursor:pointer;transition:all .3s;grid-column:1/-1;box-shadow:0 4px 16px rgba(107,132,83,.3);}
.btn-submit:hover{background:var(--or-cl);transform:translateY(-2px);box-shadow:0 8px 24px rgba(107,132,83,.4);}
.booking-info-col{display:flex;flex-direction:column;gap:14px;}
.bi-card{background:var(--bg);border-radius:var(--radius-m);padding:24px 28px;}
.bi-icon{font-size:1.5rem;margin-bottom:12px;}
.bi-h3{font-family:'Playfair Display',serif;font-size:1rem;font-weight:600;color:var(--brun);margin-bottom:6px;}
.bi-p{font-size:.84rem;font-weight:300;color:var(--gris);line-height:1.7;}

/* ─────────── MODAL ─────────── */
.modal-overlay{position:fixed;inset:0;background:rgba(43,42,26,.5);backdrop-filter:blur(10px);z-index:1000;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .3s;}
.modal-overlay.open{opacity:1;pointer-events:all;}
.modal-box{background:var(--blanc);border-radius:var(--radius-xl);padding:48px 40px;max-width:440px;width:92%;text-align:center;transform:scale(.95);transition:transform .3s;box-shadow:var(--ombre-l);}
.modal-overlay.open .modal-box{transform:scale(1);}
.modal-icon{font-size:2.5rem;margin-bottom:16px;}
.modal-h2{font-family:'Playfair Display',serif;font-size:1.7rem;font-weight:700;color:var(--brun);margin-bottom:10px;}
.modal-p{font-size:.88rem;color:var(--gris);line-height:1.8;margin-bottom:16px;}
.modal-recap{background:var(--bg);border-radius:var(--radius-s);padding:16px;text-align:left;margin-bottom:20px;}
.mr-row{display:flex;justify-content:space-between;font-size:.84rem;padding:5px 0;border-bottom:1px solid var(--bg-d);color:var(--brun-m);}
.mr-row:last-child{border-bottom:none;font-weight:500;color:var(--brun);}
.btn-modal-close{background:var(--brun);color:var(--blanc);border:none;border-radius:100px;padding:12px 32px;font-family:'DM Sans',sans-serif;font-size:.88rem;font-weight:500;cursor:pointer;transition:background .2s;}
.btn-modal-close:hover{background:var(--or);}

/* ─────────── AVIS ─────────── */
.avis-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:40px;}
.avis-card{background:var(--bg);border-radius:var(--radius-m);padding:24px 22px;transition:transform .3s;}
.avis-card:hover{transform:translateY(-4px);}
.avis-stars{color:#A44F2E;font-size:1rem;margin-bottom:12px;letter-spacing:2px;}
.avis-text{font-size:.88rem;font-weight:300;color:var(--brun-m);line-height:1.75;font-style:italic;margin-bottom:16px;}
.avis-author{font-size:.74rem;font-weight:500;color:var(--brun);}
.avis-date{font-size:.69rem;color:var(--gris);margin-top:2px;}
.avis-cta{margin-top:36px;text-align:center;}

/* ─────────── CTA FINAL ─────────── */
.cta-final-inner{display:grid;grid-template-columns:1fr auto;gap:40px;align-items:center;}
.cta-final-inner .sec-h2{max-width:480px;}
.cta-btns{display:flex;flex-direction:column;gap:10px;flex-shrink:0;}
.btn-pill-outline{display:inline-flex;align-items:center;gap:8px;background:transparent;color:var(--brun);font-family:'DM Sans',sans-serif;font-size:.84rem;font-weight:500;padding:12px 24px;border-radius:100px;text-decoration:none;border:2px solid var(--bg-d);cursor:pointer;transition:all .3s;justify-content:center;}
.btn-pill-outline:hover{border-color:var(--or);color:var(--or);}

/* ─────────── FOOTER ─────────── */
.footer-section{padding:0 24px 24px;max-width:1280px;margin:0 auto;}
.footer-inner{background:var(--brun);border-radius:var(--radius-xl);padding:52px 64px 36px;color:rgba(255,255,255,.6);}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:56px;margin-bottom:48px;}
.footer-brand{font-family:'Playfair Display',serif;font-size:1.4rem;font-weight:600;color:var(--blanc);margin-bottom:12px;}
.footer-tagline{font-size:.79rem;font-weight:300;line-height:1.8;}
/* Sur le brun foncé c'est --or-cl qui passe (5,42:1) ; --or assombri y tomberait. */
.footer-col h2{font-size:.62rem;font-weight:500;letter-spacing:.3em;text-transform:uppercase;color:var(--or-cl);margin-bottom:18px;}
.footer-col ul{list-style:none;}
.footer-col li{margin-bottom:10px;}
.footer-col a{font-size:.79rem;font-weight:300;color:rgba(255,255,255,.5);text-decoration:none;transition:color .2s;}
.footer-col a:hover{color:var(--or-cl);}
.footer-bottom{border-top:1px solid rgba(255,255,255,.08);padding-top:24px;display:flex;justify-content:space-between;font-size:.69rem;font-weight:300;color:rgba(255,255,255,.62);}

/* ─────────── PAGE HERO (pages secondaires) ─────────── */
.page-hero-c7{padding:110px 24px 0;max-width:1280px;margin:0 auto;}
.page-hero-inner{position:relative;overflow:hidden;background:linear-gradient(135deg,#24230f 0%,#2f2d1b 50%,#3a3722 100%);border-radius:var(--radius-xl);padding:64px 72px;color:var(--blanc);box-shadow:var(--ombre-l);min-height:300px;display:flex;flex-direction:column;justify-content:center;}
.page-hero-inner::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(130% 110% at 88% -10%, rgba(196,148,90,.16), transparent 55%);}
.page-hero-inner::after{content:"";position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 -90px 110px -50px rgba(12,11,4,.5);}
.page-hero-inner > *{position:relative;z-index:1;}
.page-hero-inner .sec-pre{color:var(--or-cl);}
.page-hero-inner .sec-h2{color:var(--blanc);}
.page-hero-inner .sec-h2 em{color:var(--terra-cl);}
.page-hero-desc{font-size:.93rem;font-weight:300;color:rgba(255,255,255,.65);line-height:1.8;margin-top:10px;max-width:600px;}

/* ─────────── PAGES SECONDAIRES ─────────── */
.page-content-section{padding:24px;max-width:1280px;margin:0 auto;}
.page-content-inner{background:var(--blanc);border-radius:var(--radius-xl);padding:64px 72px;box-shadow:var(--ombre-s);}
.page-content-inner.bg-or{background:var(--or-bg);}
.page-content-inner.bg-dark{background:var(--brun);color:var(--blanc);}

/* Galerie chambre */
.chambre-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start;}
.chambre-gallery-main{border-radius:var(--radius-m);overflow:hidden;height:340px;margin-bottom:14px;box-shadow:var(--ombre-m);}
.chambre-gallery-main img{width:100%;height:100%;object-fit:cover;}
.chambre-gallery-thumbs{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.chambre-gallery-thumb{border-radius:var(--radius-s);overflow:hidden;height:160px;}
.chambre-gallery-thumb img{width:100%;height:100%;object-fit:cover;}
.chambre-detail-label{font-size:.64rem;font-weight:500;letter-spacing:.25em;text-transform:uppercase;color:var(--or);display:block;margin-bottom:10px;}
.chambre-detail-h2{font-family:'Playfair Display',serif;font-size:2rem;font-weight:700;color:var(--brun);line-height:1.2;margin-bottom:16px;}
.chambre-detail-p{font-size:.9rem;font-weight:300;color:var(--brun-m);line-height:1.9;margin-bottom:12px;}
.chambre-equip-list{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0;}
.equip-pill{background:var(--bg);border:1px solid var(--bg-d);color:var(--brun-m);font-size:.76rem;padding:5px 12px;border-radius:100px;}
.chambre-price-box{background:var(--bg);border-radius:var(--radius-m);padding:22px 24px;margin-top:20px;border:2px solid var(--bg-d);}
.chambre-price-main{font-family:'Playfair Display',serif;font-size:2rem;font-weight:700;color:var(--terra);}
.chambre-price-unit{font-size:.86rem;font-weight:300;color:var(--gris);margin-left:4px;}
.chambre-price-note{font-size:.79rem;color:var(--gris);margin-top:6px;}

/* Tarifs */
.tarifs-grid-c7{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:40px;}
.tarif-card-c7{background:var(--bg);border-radius:var(--radius-m);padding:32px;position:relative;transition:transform .3s,box-shadow .3s;}
.tarif-card-c7:hover{transform:translateY(-4px);box-shadow:var(--ombre-m);}
.tarif-card-c7.featured{background:var(--brun);color:var(--blanc);}
.tarif-badge-c7{font-size:.62rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--or);display:block;margin-bottom:12px;}
.tarif-card-c7.featured .tarif-badge-c7{color:var(--or-cl);}
.tarif-h3{font-family:'Playfair Display',serif;font-size:1.3rem;font-weight:600;color:var(--brun);margin-bottom:8px;}
.tarif-card-c7.featured .tarif-h3{color:var(--blanc);}
.tarif-sub{font-size:.84rem;font-weight:300;color:var(--gris);margin-bottom:20px;}
.tarif-card-c7.featured .tarif-sub{color:rgba(255,255,255,.5);}
.tarif-price-c7{font-family:'Playfair Display',serif;font-size:2.5rem;font-weight:700;color:var(--terra);margin-bottom:4px;}
.tarif-card-c7.featured .tarif-price-c7{color:var(--terra-cl);}
.tarif-price-unit{font-size:.86rem;font-weight:300;color:var(--gris);}
.tarif-card-c7.featured .tarif-price-unit{color:rgba(255,255,255,.5);}
.tarif-list-c7{list-style:none;margin:20px 0;display:flex;flex-direction:column;gap:8px;}
.tarif-list-c7 li{font-size:.84rem;font-weight:300;color:var(--brun-m);padding-left:16px;position:relative;}
.tarif-list-c7 li::before{content:'—';position:absolute;left:0;color:var(--or);}
.tarif-card-c7.featured .tarif-list-c7 li{color:rgba(255,255,255,.65);}
.tarif-card-c7.featured .tarif-list-c7 li::before{color:var(--or-cl);}

/* Conditions */
.conditions-grid-c7{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:24px;}
.cond-card{background:var(--bg);border-radius:var(--radius-m);padding:20px 22px;}
.cond-title{font-size:.64rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--or);display:block;margin-bottom:8px;}
.cond-val{font-size:.88rem;font-weight:400;color:var(--brun);line-height:1.6;}

/* Activités */
.activites-grid-c7{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:40px;}
.activite-card-c7{background:var(--bg);border-radius:var(--radius-m);padding:28px;display:flex;gap:20px;align-items:flex-start;transition:transform .3s;}
.activite-card-c7:hover{transform:translateY(-4px);}
.activite-icon{font-size:2rem;flex-shrink:0;}
.activite-dist-c7{font-size:.64rem;font-weight:500;letter-spacing:.15em;text-transform:uppercase;color:var(--or);display:block;margin-bottom:6px;}
.activite-h3{font-family:'Playfair Display',serif;font-size:1.05rem;font-weight:600;color:var(--brun);margin-bottom:6px;}
.activite-p{font-size:.84rem;font-weight:300;color:var(--gris);line-height:1.7;}

/* Accès */
.acces-grid-c7{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:24px;}
.acces-card-c7{background:var(--bg);border-radius:var(--radius-m);padding:28px;}
.acces-h4{font-family:'Playfair Display',serif;font-size:1rem;font-weight:600;color:var(--brun);margin-bottom:16px;}
.acces-step-c7{display:flex;gap:12px;margin-bottom:12px;align-items:flex-start;}
.step-num-c7{background:var(--or);color:var(--blanc);font-size:.69rem;font-weight:500;width:22px;height:22px;border-radius:100px;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:2px;}
.step-txt-c7{font-size:.86rem;font-weight:300;color:var(--brun-m);line-height:1.6;}
.step-action{color:var(--or);font-weight:600;}
.adresse-box{background:var(--or-bg);border-radius:var(--radius-m);padding:24px 28px;display:flex;gap:16px;align-items:flex-start;border:1px solid rgba(107,132,83,.2);margin-top:20px;}
.adresse-icon{font-size:1.5rem;flex-shrink:0;}
.adresse-label{font-family:'Playfair Display',serif;font-size:.99rem;font-weight:600;color:var(--brun);display:block;margin-bottom:4px;}
.adresse-val{font-size:.88rem;font-weight:300;color:var(--brun-m);line-height:1.7;}
.adresse-val a{color:var(--or);font-weight:500;text-decoration:none;}
.map-wrapper{border-radius:var(--radius-m);overflow:hidden;box-shadow:var(--ombre-m);margin-top:24px;}
.map-wrapper iframe{display:block;}

/* Avis page */
.avis-intro-box-c7{background:var(--or-bg);border-radius:var(--radius-m);padding:40px;text-align:center;margin-bottom:24px;border:1px solid rgba(107,132,83,.2);}
.avis-notice-c7{background:var(--bg);border-radius:var(--radius-m);padding:24px 28px;display:flex;gap:16px;align-items:flex-start;margin-top:24px;}
.avis-notice-c7 p{font-size:.88rem;font-weight:300;color:var(--brun-m);line-height:1.8;}

/* Contact */
.contact-grid-c7{display:grid;grid-template-columns:1fr 1.2fr;gap:40px;}
.contact-info-c7{display:flex;flex-direction:column;gap:14px;}
.contact-item-c7{display:flex;gap:16px;align-items:flex-start;background:var(--bg);border-radius:var(--radius-m);padding:20px 22px;}
.contact-ico-c7{font-size:1.4rem;flex-shrink:0;}
.contact-item-h4{font-family:'Playfair Display',serif;font-size:.95rem;font-weight:600;color:var(--brun);margin-bottom:4px;}
.contact-item-p{font-size:.86rem;font-weight:300;color:var(--brun-m);line-height:1.6;}
.contact-item-p a{color:var(--or);font-weight:500;text-decoration:none;}
.contact-form-c7{background:var(--bg);border-radius:var(--radius-m);padding:32px;}
.contact-form-title{font-family:'Playfair Display',serif;font-size:1.3rem;font-weight:600;color:var(--brun);margin-bottom:4px;}
.contact-form-sub{font-size:.76rem;color:var(--gris);margin-bottom:24px;}
.form-row-c7{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px;}
.form-group-c7{display:flex;flex-direction:column;gap:6px;margin-bottom:12px;}
.form-label-c7{font-size:.64rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--brun-m);}
.form-input-c7{border:1.5px solid var(--bg-d);border-radius:10px;padding:10px 13px;font-size:.89rem;font-family:'DM Sans',sans-serif;color:var(--brun);background:var(--blanc);outline:none;transition:border .2s,box-shadow .2s;width:100%;}
.form-input-c7:focus{border-color:var(--or);box-shadow:0 0 0 3px rgba(107,132,83,.12);}
textarea.form-input-c7{min-height:100px;resize:vertical;}
select.form-input-c7{cursor:pointer;}
.form-success-c7{background:var(--or-bg);border:1px solid var(--or);border-radius:10px;padding:16px;font-size:.88rem;color:var(--brun);margin-top:12px;display:none;}
.form-note-c7{font-size:.76rem;color:var(--gris);margin-bottom:12px;line-height:1.6;}
.form-note-c7 a{color:var(--or);}
.tarif-rappel{background:var(--bg);border-radius:var(--radius-m);padding:20px 22px;border-left:4px solid var(--or);}
.tarif-rappel h3{font-size:.64rem;font-weight:500;letter-spacing:.15em;text-transform:uppercase;color:var(--or);margin-bottom:10px;}
.tarif-rappel p{font-size:.88rem;font-weight:300;color:var(--brun-m);margin-bottom:6px;line-height:1.6;}
.tarif-rappel a{color:var(--or);font-weight:500;text-decoration:none;}

/* Légal */
.legal-content-c7{max-width:760px;}
.legal-content-c7 h2{font-family:'Playfair Display',serif;font-size:1.3rem;font-weight:700;color:var(--brun);margin:2rem 0 .8rem;}
.legal-content-c7 h3{font-family:'Playfair Display',serif;font-size:1rem;font-weight:600;color:var(--brun);margin:1.4rem 0 .6rem;}
.legal-content-c7 p{font-size:.9rem;font-weight:300;color:var(--brun-m);line-height:1.9;margin-bottom:.8rem;}
.legal-content-c7 ul{margin-left:1.2rem;margin-bottom:.8rem;}
.legal-content-c7 ul li{font-size:.9rem;font-weight:300;color:var(--brun-m);line-height:1.8;margin-bottom:.3rem;}
.legal-content-c7 a{color:var(--or);text-decoration:none;}
.legal-content-c7 a:hover{text-decoration:underline;}
.legal-date{font-size:.84rem;color:var(--gris);margin-top:2rem;padding-top:1rem;border-top:1px solid var(--bg-d);}
.btn-cookie-reset{background:var(--bg);color:var(--brun);border:2px solid var(--bg-d);border-radius:100px;padding:10px 24px;font-family:'DM Sans',sans-serif;font-size:.86rem;font-weight:500;cursor:pointer;transition:all .2s;}
.btn-cookie-reset:hover{border-color:var(--or);color:var(--or);}

/* ─────────── COOKIE BANNER ─────────── */
#cookie-banner{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:rgba(255,255,255,.95);backdrop-filter:blur(18px);border-radius:100px;padding:12px 20px 12px 24px;display:flex;align-items:center;gap:16px;box-shadow:var(--ombre-l);border:1px solid rgba(255,255,255,.9);z-index:9999;white-space:nowrap;font-size:.79rem;color:var(--brun-m);}
#cookie-banner p{margin:0;}
#cookie-banner a{color:var(--or);}
.cookie-btns{display:flex;gap:8px;}
.cookie-btn{border:none;border-radius:100px;padding:8px 16px;font-family:'DM Sans',sans-serif;font-size:.76rem;font-weight:500;cursor:pointer;transition:all .2s;}
.cookie-accept{background:var(--brun);color:var(--blanc);}
.cookie-accept:hover{background:var(--or);}
.cookie-refuse{background:var(--bg-d);color:var(--brun-m);}
.cookie-refuse:hover{background:var(--gris-cl);}

/* ─────────── REVEAL ─────────── */
.reveal{opacity:0;transform:translateY(20px);transition:opacity .7s ease,transform .7s ease;}
.reveal.visible{opacity:1;transform:none;}
.r1{transition-delay:.1s;}.r2{transition-delay:.2s;}.r3{transition-delay:.3s;}

/* ─────────── RESPONSIVE ─────────── */
@media(max-width:1000px){
  .hero-float-card{top:auto;bottom:120px;left:24px;right:24px;max-width:100%;transform:none;}
  .hero-booking-strip{display:none;}
  .features-grid{grid-template-columns:1fr 1fr;}
  .chambres-grid,.territoire-grid,.hotes-layout,.booking-layout,.cta-final-inner{grid-template-columns:1fr;}
  .section-inner{padding:40px 28px;}
  .page-hero-inner{padding:40px 28px;}
  .page-content-inner{padding:40px 28px;}
  .stats-inner{grid-template-columns:1fr 1fr;gap:24px;}
  .stat-item{border-right:none;border-bottom:1px solid rgba(255,255,255,.15);padding-bottom:20px;}
  .stat-item:nth-child(even){border-bottom:none;}
  .avis-grid{grid-template-columns:1fr;}
  .footer-inner{padding:40px 28px 28px;}
  .footer-grid{grid-template-columns:1fr 1fr;gap:32px;}
  nav{padding:12px 16px;}
  .nav-links li:not(:last-child):not(:nth-last-child(2)){display:none;}
  .chambre-detail-grid{grid-template-columns:1fr;}
  .tarifs-grid-c7{grid-template-columns:1fr;}
  .conditions-grid-c7{grid-template-columns:1fr 1fr;}
  .activites-grid-c7{grid-template-columns:1fr;}
  .acces-grid-c7{grid-template-columns:1fr;}
  .contact-grid-c7{grid-template-columns:1fr;}
}
@media(max-width:600px){
  .hero-card{height:420px;}
  .hero-float-card{padding:24px 22px;bottom:90px;}
  .hero-h1{font-size:1.8rem;}
  .features-grid{grid-template-columns:1fr;}
  .stats-inner{grid-template-columns:1fr 1fr;}
  .form-grid{grid-template-columns:1fr;}
  .room-tabs{grid-template-columns:1fr;}
  .price-box,.btn-submit{grid-column:1/-1;}
  .footer-grid{grid-template-columns:1fr;}
  .conditions-grid-c7{grid-template-columns:1fr;}
  .form-row-c7{grid-template-columns:1fr;}
  #cookie-banner{white-space:normal;border-radius:var(--radius-m);flex-direction:column;text-align:center;bottom:16px;left:16px;right:16px;transform:none;}
}

/* ─── Ajustements mobile (17/09/2026) — accompagnent l'agrandissement des textes.
       Corrigent le défilement horizontal du téléphone (barre de nav + bandeau
       chiffres trop larges) et redonnent de la place à la carte du hero. ─── */
@media(max-width:600px){
  nav{padding:10px 12px;}
  .nav-pill{padding:10px 14px;}
  .nav-links li:not(:last-child){display:none;}   /* ne garde que le bouton « Réserver » */
  .nav-logo{font-size:.95rem;}
  .stats-inner{padding:32px 20px;}
  .stat-item{padding:0 8px;}
  .stat-val{font-size:2.2rem;}
  .hero-card{height:470px;}
  .hero-float-card{bottom:24px;padding:22px 20px;}
  .hero-h1{font-size:1.7rem;}
}

/* ─── Hero (17/09/2026) — le texte du hero est ramené à sa taille d'origine
       et la carte est élargie : le titre tient de nouveau sur 2 lignes, la carte
       redevient courte, et la barre de réservation retrouve sa place centrée
       sans recouvrir le bouton « Découvrir les chambres ».
       Le reste du site conserve les textes agrandis. ─── */
.hbs-field{padding:0 12px;}
.hbs-input{width:auto;min-width:104px;}
@media(min-width:1001px){
  .hero-float-card{max-width:430px;padding:30px 32px 28px;transform:translateY(-54%);}
  .hero-label{font-size:.55rem;margin-bottom:11px;}
  .hero-h1{font-size:2rem;margin-bottom:12px;}
  .hero-p{font-size:.8rem;margin-bottom:20px;}
}

/* Le GAUCHE / DROITE des itinéraires (page Contact) : la couleur vient d'ici,
   plus d'un style écrit dans le HTML — le CMS ne peut pas transporter d'attribut. */
[data-c^="contact.itineraire"] strong{color:var(--or);font-weight:600;}

/* ─── Derniers ajustements mobile (17/09/2026) ─── */
@media(max-width:600px){
  .hote-name{overflow-wrap:anywhere;}       /* un nom long débordait de sa carte */
}

/* ─── Barre de navigation au défilement (17/09/2026) ──────────────────────────
   Problème corrigé : la pastille était translucide (85 % + flou). En haut de
   page c'est élégant sur la photo, mais dès qu'on défile, les titres passaient
   DERRIÈRE et transparaissaient au travers — des mots devenaient illisibles.
   Solution : opaque dès qu'on quitte le haut de page (classe posée par js/nav.js). */
nav{transition:padding .3s ease;}
.nav-pill{transition:background .3s ease, box-shadow .3s ease, border-color .3s ease;}
.nav-scrolled{padding-top:10px;padding-bottom:10px;}
.nav-scrolled .nav-pill{
  background:#FFFFFF;                         /* opaque : plus rien ne transparaît */
  box-shadow:0 6px 28px rgba(43,42,26,.16);
  border-color:rgba(43,42,26,.08);
}
/* Les ancres (#tangor, #avis…) ne doivent pas atterrir sous la barre fixe */
html{scroll-padding-top:104px;}
@media(max-width:1000px){ html{scroll-padding-top:88px;} }

/* Confort de lecture : on respecte le réglage système « réduire les animations » */
@media(prefers-reduced-motion:reduce){
  nav,.nav-pill{transition:none;}
  .reveal{transition:none !important;}
}

/* ─── Bloc prix des cartes chambres (17/09/2026) ──────────────────────────────
   Le prix, la mention « dès 2 nuits » et le bouton étaient sur une seule ligne
   flex : sur téléphone, « 85 € / nuit » se cassait en trois morceaux. Le prix et
   sa mention forment désormais un bloc, le bouton passe dessous sur petit écran. */
.ch-bottom{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;flex-wrap:wrap;}
.ch-price-wrap{min-width:0;}
.ch-price{white-space:nowrap;}
.ch-price-sub{font-size:.74rem;font-weight:300;color:rgba(255,255,255,.85);margin-top:3px;}
.ch-btn{flex:none;white-space:nowrap;}
@media(max-width:600px){
  .ch-bottom{flex-direction:column;align-items:stretch;gap:12px;}
  .ch-btn{text-align:center;}
}
/* Page Chambres : #888 sur le crème ne donnait que 2,7:1 — en dessous du seuil AA. */
.chambre-price-sub{display:block;font-size:.82rem;color:var(--gris);margin-top:4px;}

/* ── Lien d'évitement (clavier / lecteur d'écran) ── */
.skip-link{position:absolute;left:12px;top:-60px;z-index:10000;background:var(--brun);color:#fff;padding:12px 20px;border-radius:8px;font-size:.9rem;font-weight:500;text-decoration:none;transition:top .15s;}
.skip-link:focus{top:12px;outline:3px solid var(--or-cl);outline-offset:2px;}
