/* Malouinière de la Bardoulais. Couleurs mesurées (brand/charte.md) : ardoise et vert du logo pour les fonds sombres,
   sauge du site actuel assombrie pour les boutons (#46645B, blanc dessus 6,49:1), sauge claire d'origine sur fond sombre.
   Titres Adamina (police de titres du site actuel), texte Libre Franklin. Un seul rayon : 0, comme le modèle Asterre.
   Ce fichier est minifié dans src/styles/critique.css (outils/critique.py) et posé inline dans chaque page. */
:root{
  --blanc:#FFFFFF;--gris:#F6F5F1;--filet:#E2E0D9;--champ:#CFCDC5;
  --encre:#1C2420;--muted:#5E655F;--accent:#46645B;--sauge:#8CAFA4;
  --nuit:#1F2A25;--creme:#EFE9DD;
  --titre:'Adamina',Georgia,serif;--texte:'Libre Franklin',system-ui,sans-serif;
  --gutter:clamp(20px,2.3vw,32px);--wrap:1376px;
  /* Les jetons que l'admin, le mode édition et la page de connexion réutilisent. */
  --paper:var(--blanc);--paper-2:var(--filet);--cream:var(--blanc);--wine:var(--accent);--green-ink:var(--accent);
  --ink:var(--encre);--display:var(--titre);--ui:var(--texte);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:var(--texte);color:var(--encre);background:var(--blanc);font-size:17px;line-height:1.65;overflow-x:hidden}
img,picture{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
ul,ol{list-style:none}
[data-cle]{white-space:pre-line}
:focus-visible{outline:2px solid var(--sauge);outline-offset:3px}
.wrap{width:100%;max-width:var(--wrap);margin-inline:auto;padding-inline:var(--gutter)}
.etroit{max-width:860px}
.centre{text-align:center;justify-content:center;margin-inline:auto}

/* TYPO */
.titre-xl,.titre-l,.titre-m,.e-titre,.h-grand{font-family:var(--titre);font-weight:400;text-transform:uppercase;letter-spacing:-.01em}
.titre-xl{font-size:clamp(38px,5.6vw,84px);line-height:.98}
.titre-l{font-size:clamp(30px,3.6vw,52px);line-height:1.04}
.titre-m{font-size:clamp(23px,2.1vw,31px);line-height:1.12}
.titre-s{font-family:var(--titre);font-weight:400;font-size:21px;line-height:1.25}
.kicker,.h-kicker{display:block;font-family:var(--texte);font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.16em;color:var(--accent)}
.lead{font-family:var(--titre);font-size:clamp(19px,1.6vw,23px);line-height:1.5}
.pl{white-space:pre-line}
p+p{margin-top:14px}
.lien{display:inline-block;padding-block:12px;font-size:12.5px;font-weight:600;text-transform:uppercase;letter-spacing:.14em;color:var(--accent);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:7px;transition:color .2s}
.liens{display:flex;flex-wrap:wrap;gap:0 32px;margin-top:16px;align-items:center}
@media (hover:hover){.lien:hover{color:var(--encre)}}

/* BOUTONS : un seul gabarit. Fond clair : le plein passe en blanc à contour encre, le filaire se remplit en encre.
   Fond sombre : le plein passe en blanc, le filaire se remplit en blanc. */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 28px;border:1px solid transparent;border-radius:0;font-family:var(--texte);font-size:12.5px;font-weight:600;text-transform:uppercase;letter-spacing:.14em;line-height:1.2;text-align:center;transition:background-color .25s,color .25s,border-color .25s;cursor:pointer}
.btn.plein{background:var(--accent);color:#fff;border-color:var(--accent)}
.btn.fil{background:transparent;color:var(--encre);border-color:var(--encre)}
.btn.petit{min-height:42px;padding:0 20px;font-size:12px}
.heros .btn.fil,.photo-plein .btn.fil,.entete .btn.fil,.demande:not(.sur-clair) .dem-texte .btn.fil,footer.site .btn.fil{color:var(--creme);border-color:var(--creme)}
@media (hover:hover){
  .btn.plein:hover{background:#fff;color:var(--encre);border-color:var(--encre)}
  .btn.fil:hover{background:var(--encre);color:#fff;border-color:var(--encre)}
  .heros .btn.plein:hover,.photo-plein .btn.plein:hover,.entete .btn.plein:hover,.nav.sur-photo:not(.on) .btn.plein:hover{border-color:#fff}
  .heros .btn.fil:hover,.photo-plein .btn.fil:hover,.entete .btn.fil:hover,footer.site .btn.fil:hover{background:#fff;color:var(--encre);border-color:#fff}
}

/* MENU (Asterre : liens à gauche, logo au centre, action à droite) */
.nav{position:fixed;top:0;left:0;right:0;z-index:50;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px;height:88px;padding:0 var(--gutter);color:var(--encre);background:#fff;border-bottom:1px solid var(--filet);transition:background-color .3s,color .3s,border-color .3s,height .3s}
.nav.sur-photo{background:transparent;color:var(--creme);border-color:transparent}
.nav.sur-photo.on{background:#fff;color:var(--encre);border-color:var(--filet)}
.nav.on{height:72px}
.nav-liens ul{display:flex;gap:6px 24px}
.nav-liens li{flex:none}
.nav-liens a,.lien-nav{position:relative;display:inline-block;padding:10px 0;font-size:11.5px;font-weight:600;text-transform:uppercase;letter-spacing:.12em;white-space:nowrap}
.nav-liens a::after,.lien-nav::after{content:"";position:absolute;left:0;right:0;bottom:4px;height:2px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .3s cubic-bezier(.4,0,.2,1)}
.nav.sur-photo:not(.on) .nav-liens a::after,.nav.sur-photo:not(.on) .lien-nav::after{background:var(--sauge)}
.nav-liens a[aria-current]::after,.lien-nav[aria-current]::after{transform:scaleX(1)}
@media (hover:hover){.nav-liens a:hover::after,.lien-nav:hover::after{transform:scaleX(1)}}
.marque{display:inline-flex;align-items:center;gap:12px;min-height:44px}
.marque img{height:40px;width:auto}
.marque-nom{font-family:var(--titre);font-size:21px;text-transform:uppercase;letter-spacing:.02em;line-height:1;white-space:nowrap}
.nav-droite{display:flex;align-items:center;justify-content:flex-end;gap:28px}
.burger{display:none;width:44px;height:44px;position:relative}
.burger span,.burger::before{content:"";position:absolute;left:10px;right:10px;height:1.5px;background:currentColor}
.burger::before{top:17px}.burger span{top:25px}
.menu{display:none}

/* PREMIER ÉCRAN (Asterre) */
.heros{position:relative;height:100vh;height:100svh;min-height:640px;max-height:1100px;color:var(--creme);background:#141a17;overflow:hidden}
.h-photo,.h-photo picture{position:absolute;inset:0;height:100%}
.h-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 35%}
.h-voile{position:absolute;inset:0;background:rgba(14,18,15,.42)}
.h-voile::after{content:"";position:absolute;left:0;right:0;bottom:0;height:42%;background:linear-gradient(to top,rgba(14,18,15,.62),rgba(14,18,15,0))}
.h-centre{position:absolute;left:0;right:0;top:24.4%;text-align:center;padding-inline:var(--gutter)}
.h-kicker{color:var(--creme);font-weight:500;letter-spacing:.12em;margin-bottom:22px}
.h-grand{display:block;font-size:clamp(40px,6.4vw,104px);line-height:.94;letter-spacing:-.025em}
.h-ligne{display:block}
.h-cote{position:absolute;bottom:calc(clamp(40px,6.4vw,104px) * .94 - 8px);font-size:12px;font-weight:500;text-transform:uppercase;letter-spacing:.12em}
.h-cote-g{left:var(--gutter)}.h-cote-d{right:var(--gutter)}
.h-bas{position:absolute;left:var(--gutter);right:var(--gutter);bottom:32px;display:flex;justify-content:space-between;align-items:flex-end;gap:32px}
.h-texte{max-width:330px}
.h-texte p{font-family:var(--titre);font-size:20px;line-height:1.3;margin-bottom:22px}
.h-note{display:block;width:296px;background:#fff;color:var(--encre)}
.h-note-haut{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;border-bottom:1px solid var(--filet)}
.h-etoiles{display:flex;gap:3px;color:var(--accent)}
.h-google{font-size:11.5px;font-weight:600;text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}
.h-note-bas{display:flex;align-items:center;gap:22px;padding:16px 14px 18px}
.h-chiffre{font-family:var(--titre);font-size:50px;line-height:1;letter-spacing:-.03em}
.h-chiffre sup{font-size:14px;letter-spacing:0;vertical-align:top;position:relative;top:4px;margin-left:2px;color:var(--muted)}
.h-note-txt{display:flex;flex-direction:column;gap:4px}
.h-note-txt b{font-family:var(--titre);font-weight:400;font-size:17px;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px;text-decoration-color:var(--filet);transition:text-decoration-color .2s}
.h-note-txt>span{font-size:13px;color:var(--muted)}
@media (hover:hover){.h-note:hover .h-note-txt b{text-decoration-color:var(--encre)}}

/* SECTIONS */
.section{padding-block:clamp(72px,8.5vw,128px)}
.section.serre{padding-top:0}
.gris{background:var(--gris)}
.tete{max-width:760px;margin:0 auto clamp(40px,5vw,64px);text-align:center}
.tete .pl{margin-top:20px;color:var(--muted)}
.duo{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,6vw,96px);align-items:start}
.cadre{position:relative;overflow:hidden;background:var(--filet)}
.cadre picture,.cadre img{width:100%;height:100%}
.cadre img{object-fit:cover}
.filets{border-top:1px solid var(--filet)}
.filets li{padding:15px 0;border-bottom:1px solid var(--filet)}
.fin{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:20px 36px;margin-top:clamp(48px,6vw,80px)}
.fin .liens{margin-top:0}

/* PHOTO PLEIN CADRE (Asterre « Stay awhile », « Follow the island ») */
.photo-plein{position:relative;min-height:88vh;display:grid;place-items:center;text-align:center;color:var(--creme);background:#141a17;overflow:hidden;padding:120px var(--gutter)}
.photo-plein .fond,.entete .fond{position:absolute;inset:0}
.photo-plein .fond picture,.photo-plein .fond img,.entete .fond picture,.entete .fond img{width:100%;height:100%;object-fit:cover}
.photo-plein::after,.entete::after{content:"";position:absolute;inset:0;background:rgba(14,18,15,.5);pointer-events:none}
.plein-texte{position:relative;z-index:1;max-width:780px}
.photo-plein .kicker{color:var(--creme);font-weight:500;letter-spacing:.12em;margin-bottom:22px}
.photo-plein .pl{margin-top:24px;font-size:18px;max-width:600px;margin-inline:auto}
.photo-plein.haut{padding-bottom:180px}
.entrees{position:absolute;z-index:1;left:0;right:0;bottom:0;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(239,233,221,.32)}
.entrees li+li{border-left:1px solid rgba(239,233,221,.32)}
.entrees a{display:flex;justify-content:center;align-items:center;gap:10px;padding:30px 20px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.14em;transition:background-color .25s,color .25s}
@media (hover:hover){.entrees a:hover{background:#fff;color:var(--encre)}}

/* RÉCEPTION */
#reception .lead{margin-bottom:8px}
#reception .cadre{aspect-ratio:3/2;margin-top:44px}
@media (min-width:861px){.faq-grille .titre-l{position:sticky;top:120px}}

/* WEEK-END EN TROIS TEMPS (collage décalé d'Asterre) */
.temps{display:grid;gap:clamp(56px,7vw,112px)}
.temps li{display:grid;grid-template-columns:repeat(12,1fr);gap:24px;align-items:center}
.temps .cadre{grid-row:1}
.temps-1 .cadre{grid-column:1/6;aspect-ratio:4/5}
.temps-1 .temps-texte{grid-column:7/12;grid-row:1}
.temps-2 .cadre{grid-column:6/13;aspect-ratio:3/2}
.temps-2 .temps-texte{grid-column:2/6;grid-row:1}
.temps-3 .cadre{grid-column:2/7;aspect-ratio:4/5}
.temps-3 .temps-texte{grid-column:8/13;grid-row:1}
.temps-texte .titre-m{margin-bottom:18px}

/* HÉBERGEMENTS (carrousel « Settle in ») */
.carrousel{position:relative}
.piste{display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding-inline:max(var(--gutter),calc((100vw - var(--wrap)) / 2 + var(--gutter)));scroll-padding-inline:max(var(--gutter),calc((100vw - var(--wrap)) / 2 + var(--gutter)))}
.piste::-webkit-scrollbar{display:none}
.piste li{flex:0 0 clamp(264px,29vw,420px);scroll-snap-align:start}
.carrousel::before,.carrousel::after{content:"";position:absolute;top:0;bottom:84px;width:40px;z-index:1;pointer-events:none}
.carrousel::before{left:0;background:linear-gradient(to right,#fff,rgba(255,255,255,0))}
.carrousel::after{right:0;background:linear-gradient(to left,#fff,rgba(255,255,255,0))}
.carte{display:block}
.carte .cadre{display:block;aspect-ratio:4/5}
.carte-nom{display:block;font-family:var(--titre);font-size:23px;line-height:1.2;margin-top:20px}
.carte-detail{display:block;font-size:14px;color:var(--muted);margin-top:6px}
@media (hover:hover){.carte:hover .carte-nom{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:6px}}
.fleches{display:flex;justify-content:center;gap:10px;margin-top:36px}
.fleche{width:48px;height:48px;display:grid;place-items:center;border:1px solid var(--champ);transition:background-color .2s,color .2s,border-color .2s}
.fleche:disabled{opacity:.35;cursor:default}
@media (hover:hover){.fleche:not(:disabled):hover{background:var(--encre);color:#fff;border-color:var(--encre)}}

/* AVIS */
.score{display:flex;flex-wrap:wrap;justify-content:center;align-items:baseline;gap:8px 12px;margin-bottom:18px;font-size:14px;color:var(--muted)}
.score b{font-family:var(--titre);font-weight:400;font-size:34px;color:var(--encre);line-height:1}
.score .sep{width:1px;height:14px;background:var(--champ);align-self:center}
.citations{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(28px,4vw,56px)}
.citations li{border-top:1px solid var(--champ);padding-top:28px}
.citations blockquote p,.messages blockquote p,.citation-seule blockquote p{font-family:var(--titre);font-size:19px;line-height:1.55}
.auteur,.citation-seule figcaption{margin-top:20px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}
.auteur span{display:block;margin-top:4px;font-weight:400;text-transform:none;letter-spacing:0;font-size:14px}
.citation-seule{border-top:1px solid var(--champ);padding-top:28px}
.citation-seule blockquote p{font-size:clamp(20px,1.8vw,24px)}

/* VIDÉO (chargée au clic) */
.video-sec{padding-top:clamp(56px,6vw,96px)}
.video{position:relative;aspect-ratio:16/9;max-width:1100px;margin-inline:auto;overflow:hidden;background:#141a17}
.video picture,.video img,.video iframe{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border:0}
.lecture{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;color:#fff;background:rgba(14,18,15,.28)}
.rond{width:76px;height:76px;border-radius:50%;display:grid;place-items:center;background:var(--accent);color:#fff;transition:background-color .25s,color .25s}
.rond svg{margin-left:4px}
.lecture-txt{font-size:12.5px;font-weight:600;text-transform:uppercase;letter-spacing:.14em}
@media (hover:hover){.lecture:hover .rond{background:#fff;color:var(--accent)}}

/* FAQ : une seule ouverte, glissée en 0,35 s */
.faq-grille{grid-template-columns:5fr 7fr}
.faq-liste{border-top:1px solid var(--filet)}
.faq-liste details{border-bottom:1px solid var(--filet)}
.faq-liste summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:24px;padding:22px 0;cursor:pointer;font-family:var(--titre);font-size:19px;line-height:1.35}
.faq-liste summary::-webkit-details-marker{display:none}
.plus{position:relative;flex:0 0 16px;height:16px;transition:transform .35s cubic-bezier(.4,0,.2,1)}
.plus::before,.plus::after{content:"";position:absolute;left:0;right:0;top:7.25px;height:1.5px;background:var(--accent)}
.plus::after{transform:rotate(90deg)}
details[open]:not(.ferme) .plus,details.ouvre .plus{transform:rotate(45deg)}
.rep{overflow:hidden}
.rep p{padding:0 40px 24px 0;color:var(--muted);max-width:62ch}

/* DEMANDE */
.demande{background:var(--nuit);color:var(--creme)}
.dem-grille{display:grid;grid-template-columns:5fr 7fr;gap:clamp(32px,6vw,96px);align-items:start}
.dem-texte .titre-l{margin-bottom:24px}
.dem-texte .pl{color:rgba(239,233,221,.86)}
.dem-visite{margin-top:18px}
.dem-note{margin-top:32px;padding-top:20px;border-top:1px solid rgba(239,233,221,.22);font-size:14px;color:rgba(239,233,221,.8)}
.dem-note b{font-family:var(--titre);font-weight:400;font-size:24px;color:var(--creme);margin-right:4px}
.demande.sur-clair{background:var(--gris);color:var(--encre)}
.demande.sur-clair .dem-texte .pl,.demande.sur-clair .dem-note{color:var(--muted)}
.demande.sur-clair .dem-note{border-color:var(--filet)}
.demande.sur-clair .dem-note b{color:var(--encre)}
.dem-carte{background:#fff;color:var(--encre);padding:clamp(22px,3vw,40px)}
.demande.sur-clair .dem-carte{border:1px solid var(--filet)}
.form{display:grid;grid-template-columns:1fr 1fr;gap:20px 18px}
.form .large,.envoi,.form .erreur{grid-column:1/-1}
.form label,.etiquette,.segment legend{display:flex;flex-direction:column;gap:8px;font-size:11.5px;font-weight:600;text-transform:uppercase;letter-spacing:.12em;color:var(--encre)}
.form label>span{display:block}
.fac{font-weight:400;text-transform:none;letter-spacing:0;color:var(--muted);font-size:13px}
.form input:not([type=radio]),.form textarea,.choisir{width:100%;min-height:52px;padding:0 14px;border:1px solid var(--champ);border-radius:0;background:#fff;color:var(--encre);font:400 16px/1.4 var(--texte);letter-spacing:0;text-transform:none;transition:border-color .2s,box-shadow .2s}
.form textarea{padding:13px 14px;resize:vertical;min-height:112px}
.form input::placeholder,.form textarea::placeholder{color:#6B716C}
.form input:focus,.form textarea:focus,.choisir:focus-visible{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(70,100,91,.18)}
.segment{border:0;display:grid;grid-template-columns:1fr 1fr;gap:8px}
.segment legend{grid-column:1/-1;margin-bottom:8px;padding:0}
.segment label{display:block;position:relative;text-transform:none;letter-spacing:0;font-size:15px;font-weight:500}
.segment input{position:absolute;opacity:0;width:1px;height:1px}
.form .segment label>span{display:flex;align-items:center;justify-content:center;min-height:50px;padding:0 12px;border:1px solid var(--champ);text-align:center;transition:background-color .2s,color .2s,border-color .2s;cursor:pointer}
.form .segment input:checked+span{background:var(--accent);border-color:var(--accent);color:#fff}
.segment input:focus-visible+span{outline:2px solid var(--accent);outline-offset:2px}
.champ{position:relative;display:flex;flex-direction:column;gap:8px}
.form .etiquette{display:block}
.choisir{display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left;cursor:pointer}
.choisir svg{flex:0 0 auto;transition:transform .25s}
[aria-expanded=true]>svg{transform:rotate(180deg)}
.val[data-vide-actif]{color:#6B716C}
.options{position:absolute;z-index:5;top:calc(100% + 6px);left:0;right:0;background:#fff;border:1px solid var(--champ);box-shadow:0 10px 28px rgba(20,26,23,.1);padding:6px 0;max-height:300px;overflow-y:auto;display:none}
.liste-maison.ouverte .options{display:block}
.options li{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;cursor:pointer;font-size:15px}
.options li svg{color:var(--accent);opacity:0}
.options li[aria-selected=true] svg{opacity:1}
.options li.actif,.options li:hover{background:var(--gris)}
.calendrier{position:absolute;z-index:6;top:calc(100% + 6px);left:0;width:min(330px,calc(100vw - 48px));background:#fff;border:1px solid var(--champ);box-shadow:0 10px 28px rgba(20,26,23,.1);padding:14px}
.cal-haut{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.cal-mois{font-family:var(--titre);font-size:17px;text-transform:capitalize}
.cal-nav{width:40px;height:40px;display:grid;place-items:center;border:1px solid var(--filet)}
.cal-nav:disabled{opacity:.3;cursor:default}
.cal-jours,.cal-grille{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;text-align:center}
.cal-jours span{font-size:11px;font-weight:600;color:var(--muted);padding:6px 0}
.cal-grille button{height:40px;font-size:14px;transition:background-color .15s,color .15s}
.cal-grille button:disabled{color:#B4B7B2;cursor:default}
.cal-grille button[aria-pressed=true]{background:var(--accent);color:#fff}
@media (hover:hover){.cal-grille button:not(:disabled):not([aria-pressed=true]):hover{background:var(--gris)}.cal-nav:not(:disabled):hover{background:var(--gris)}}
.cal-mois-seul{width:100%;margin-top:10px;padding:12px;border-top:1px solid var(--filet);font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.12em;color:var(--accent)}
.envoi{display:flex;flex-wrap:wrap;align-items:center;gap:14px 24px;margin-top:6px}
.rgpd{font-size:13px;color:var(--muted);max-width:36ch}
.rgpd a{text-decoration:underline;text-underline-offset:3px}
.piege{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.erreur{font-size:14px;color:#9B2F1C}
.manque .choisir{border-color:#9B2F1C}
.merci{font-family:var(--titre);font-size:22px;line-height:1.45;padding:12px 0}

/* VENIR */
.venir{grid-template-columns:6fr 5fr;align-items:center}
.venir .cadre{aspect-ratio:3/2}
.venir .titre-l{margin-bottom:22px}
.modes{margin:28px 0;border-top:1px solid var(--filet)}
.modes div{display:grid;grid-template-columns:120px 1fr;gap:16px;padding:14px 0;border-bottom:1px solid var(--filet)}
.modes dt{font-size:11.5px;font-weight:600;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);padding-top:3px}
address{font-style:normal;margin-bottom:28px}

/* EN-TÊTE DES PAGES INTÉRIEURES */
.entete{position:relative;min-height:78vh;display:grid;place-items:center;text-align:center;color:var(--creme);background:#141a17;overflow:hidden}
.entete .contenu{position:relative;z-index:1;max-width:1040px;padding:150px var(--gutter) 96px}
.ariane{display:flex;justify-content:center;gap:10px;font-size:12px;font-weight:500;text-transform:uppercase;letter-spacing:.12em;margin-bottom:30px;opacity:.9}
.ariane a{text-decoration:underline;text-underline-offset:4px}
.entete .h-kicker{margin-bottom:22px}
.e-titre{display:block;font-size:clamp(30px,4.1vw,60px);line-height:1.04}
.e-texte{max-width:58ch;margin:26px auto 34px;font-size:17.5px}

/* BLOCS DES PAGES INTÉRIEURES */
.blocs{display:grid;gap:clamp(72px,8vw,120px)}
.bloc{display:grid;grid-template-columns:repeat(12,1fr);gap:24px;align-items:center}
.bloc .cadre{grid-column:1/7;grid-row:1;aspect-ratio:3/2}
.bloc .bloc-texte{grid-column:8/13;grid-row:1}
.bloc.inverse .cadre{grid-column:7/13}
.bloc.inverse .bloc-texte{grid-column:1/6}
.bloc.sans-photo .bloc-texte{grid-column:1/-1}
.bloc .kicker{margin-bottom:14px}
.bloc .titre-m{margin-bottom:20px}
.lead.centre{max-width:820px}
.citation-seule{margin-top:32px}

/* MOBILIER, DOCUMENTS */
#mobilier .cadre{aspect-ratio:3/2;margin-top:32px}
.plans{display:grid;grid-template-columns:3fr 2fr;gap:24px;align-items:start}
.plan{display:block;background:#fff;border:1px solid var(--filet);padding:16px}
.plan img{width:100%;height:auto}
.plan span{display:block;margin-top:14px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}
@media (hover:hover){.plan:hover span{color:var(--encre)}}

/* GÎTES */
.sommaire{display:flex;justify-content:center;flex-wrap:wrap;gap:0 8px;border-bottom:1px solid var(--filet)}
.sommaire a{position:relative;padding:20px 18px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.14em}
.sommaire a::after{content:"";position:absolute;left:18px;right:18px;bottom:-1px;height:2px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .3s}
@media (hover:hover){.sommaire a:hover::after{transform:scaleX(1)}}
.gite-tete{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px 32px;margin-bottom:32px}
.fiche{font-size:12.5px;font-weight:600;text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}
.mosaique{display:grid;grid-template-columns:2fr 1fr;grid-template-rows:1fr 1fr;gap:16px;height:clamp(320px,40vw,580px)}
.mosaique .m1{grid-row:1/3}
.gite-corps{margin-top:44px}
.details{border-top:1px solid var(--filet)}
.details div{padding:16px 0;border-bottom:1px solid var(--filet)}
.details dt{font-size:11.5px;font-weight:600;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);margin-bottom:6px}
.pile{display:grid;gap:16px}
.pile .cadre{aspect-ratio:3/2}
#domaine .pl{margin-bottom:24px}
.avertissement{margin-top:24px;padding:16px 20px;border-left:2px solid var(--accent);background:#fff;font-size:15px}
#famille .pl{margin:20px 0 32px}
#alentours .titre-s{margin-bottom:16px}

/* CHAMBRES */
.chambres{display:grid;grid-template-columns:repeat(6,1fr);gap:40px 28px}
.chambres li{grid-column:span 2}
.chambres li:nth-child(4){grid-column:2/4}
.chambres .cadre{aspect-ratio:3/2}
.chambres .titre-s{margin:18px 0 6px}
.chambres .fiche{text-transform:none;letter-spacing:0;font-weight:400;font-size:14px}

/* HISTOIRE, ARTICLE */
.recit{margin-top:32px}
.recit p{line-height:1.75}
.source{margin-top:28px;font-size:13.5px;color:var(--muted)}
figure figcaption{margin-top:12px;font-size:13.5px;color:var(--muted)}
#archives .cadre{aspect-ratio:3/2}
.article .partie{margin-bottom:64px}
.article .titre-m{margin-bottom:26px}
.article .titre-s{margin:30px 0 12px}
.article p{line-height:1.75}
.puces{margin:16px 0 8px}
.puces li{position:relative;padding-left:24px;margin-bottom:12px;line-height:1.7}
.puces li::before{content:"";position:absolute;left:2px;top:.72em;width:6px;height:6px;border-radius:50%;background:var(--accent)}
.encart{border-top:1px solid var(--filet);padding-top:44px;text-align:center}
.encart .liens{justify-content:center;margin:14px 0 30px}

/* LIVRE D'OR */
.messages{display:grid;grid-template-columns:1fr 1fr;gap:44px 64px}
.messages li{border-top:1px solid var(--champ);padding-top:26px}
.messages blockquote p{font-size:18px}
.voir-plus{margin-top:48px}
.appel .titre-l{margin-bottom:18px}
.appel .pl{max-width:56ch;margin:0 auto 32px;color:var(--muted)}
.appel .liens{margin:0 0 32px}

/* PAGES LÉGALES */
.legal{max-width:860px;padding-top:150px;padding-bottom:96px}
.legal h1{font-family:var(--titre);font-weight:400;text-transform:uppercase;font-size:clamp(30px,3.6vw,48px);line-height:1.05;margin-bottom:36px}
.legal h2{font-family:var(--titre);font-weight:400;font-size:22px;margin:36px 0 12px}
.legal a{text-decoration:underline;text-underline-offset:3px}
.manque{background:#FBF1D9;color:#6B4A00;padding:0 4px}

/* PIED DE PAGE */
footer.site{background:var(--nuit);color:rgba(239,233,221,.84);padding-top:80px;font-size:15px}
.foot{display:grid;grid-template-columns:repeat(4,1fr);gap:40px}
footer.site h2{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.14em;color:var(--creme);margin-bottom:20px;line-height:20px}
footer.site .marque{color:var(--creme);margin-bottom:20px}
footer.site .marque img{height:40px}
footer.site li{margin-bottom:9px;line-height:1.5}
footer.site a{transition:color .2s}
@media (hover:hover){footer.site a:hover{color:#fff;text-decoration:underline;text-underline-offset:4px}}
.reseaux{display:flex;gap:22px;margin-top:18px}
.bas{position:relative;display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px 32px;margin-top:64px;padding-top:24px;padding-bottom:28px;font-size:13px}
.bas::before{content:"";position:absolute;top:0;left:var(--gutter);right:var(--gutter);border-top:1px solid rgba(239,233,221,.16)}
.bas nav{display:flex;flex-wrap:wrap;gap:8px 26px}

/* BARRE MOBILE */
.mbar{display:none}

/* APPARITIONS : état de départ posé ici, jamais par le script (pas de saut) */
@media (scripting:enabled) and (prefers-reduced-motion:no-preference){
  html:not(.no-gsap) .rv{opacity:0}
  html:not(.no-gsap) .balaye{clip-path:inset(0 100% 0 0)}
  html:not(.no-gsap) .heros .e-txt,html:not(.no-gsap) .nav[data-entree]{opacity:0}
}

/* TABLETTE */
@media (max-width:1240px){
  .nav-liens ul{gap:4px 18px}
  .lien-nav{display:none}
}
@media (max-width:1100px){
  .citations{grid-template-columns:1fr}
  .citations li{max-width:720px;margin-inline:auto;width:100%}
  .foot{grid-template-columns:1fr 1fr}
}

/* TÉLÉPHONE */
/* Menu à burger dès la tablette : les quatre liens et le logo central ne tiennent plus sur une ligne. */
@media (max-width:1100px){
  .nav{grid-template-columns:44px 1fr 44px;height:68px;gap:8px}
  .nav.on{height:64px}
  .nav-liens,.nav-droite{display:none}
  .nav .marque{grid-column:2;justify-self:center}
  .nav .marque img{height:34px}
  .marque-nom{font-size:18px}
  .burger{display:block;grid-column:3}
  .menu{display:flex;flex-direction:column;position:fixed;inset:0;z-index:70;background:#fff;color:var(--encre);padding:0 24px 32px;overflow-y:auto;transform:translateX(100%);visibility:hidden;transition:transform .35s cubic-bezier(.4,0,.2,1),visibility 0s .35s}
  .menu.ouvert{transform:none;visibility:visible;transition:transform .35s cubic-bezier(.4,0,.2,1)}
  .menu-haut{display:grid;grid-template-columns:44px 1fr 44px;align-items:center;height:68px;margin-bottom:12px}
  .menu-haut .marque{justify-self:center}
  .menu-haut img{height:34px;width:auto}
  .fermer{width:44px;height:44px;display:grid;place-items:center}
  .menu ul{border-top:1px solid var(--filet)}
  .menu li{border-bottom:1px solid var(--filet)}
  .menu ul a{display:flex;justify-content:space-between;align-items:center;padding:17px 0;font-family:var(--titre);font-size:21px}
  .menu ul a svg{color:var(--accent)}
  .menu ul a[aria-current]{color:var(--accent)}
  .menu-bas{margin-top:auto;padding-top:32px;display:grid;gap:20px}
  .menu-reseaux{display:flex;gap:24px;font-size:14px;color:var(--muted)}
}
@media (max-width:860px){

  .heros{min-height:600px;max-height:none}
  .h-centre{top:26%}
  .h-kicker{font-size:11px;margin-bottom:18px;letter-spacing:.1em}
  .h-kicker-ville{display:block;margin-top:4px}
  .h-grand{font-size:clamp(30px,9.2vw,52px)}
  .h-cote{position:static;display:inline-block;margin-top:22px;font-size:11px}
  .h-cote-d::before{content:"";display:inline-block;width:4px;height:4px;border-radius:50%;background:currentColor;margin:0 10px;vertical-align:middle}
  .h-bas{bottom:84px;flex-direction:column;align-items:stretch;gap:14px}
  .h-texte{max-width:none}
  .h-texte p{display:none}
  .h-texte .btn{width:100%}
  .h-note{width:100%}
  .h-note-haut{padding:10px 14px}
  .h-note-bas{padding:12px 14px 14px}
  .h-chiffre{font-size:40px}

  .duo,.faq-grille,.dem-grille,.venir{grid-template-columns:1fr}
  .temps li,.bloc{grid-template-columns:1fr;gap:22px}
  .temps .cadre,.temps .temps-texte,.bloc .cadre,.bloc .bloc-texte,.bloc.inverse .cadre,.bloc.inverse .bloc-texte{grid-column:1;grid-row:auto}
  .temps .cadre{aspect-ratio:4/3}
  .photo-plein{min-height:78vh;padding:96px var(--gutter)}
  .photo-plein.haut{padding-bottom:96px;min-height:auto;display:block}
  .photo-plein.haut .plein-texte{margin:0 auto 32px}
  .entrees{position:relative;grid-template-columns:1fr;margin:0 calc(var(--gutter) * -1) -96px;background:rgba(14,18,15,.35)}
  .entrees li+li{border-left:0;border-top:1px solid rgba(239,233,221,.32)}
  .entrees a{justify-content:space-between;padding:22px var(--gutter)}
  .entete{min-height:84vh;min-height:84svh}
  .entete .contenu{padding:124px var(--gutter) 72px}
  .e-texte{font-size:16.5px}
  .entete .btn,.appel .btn,.fin .btn,#famille .btn,.encart .btn{width:100%}
  .form{grid-template-columns:1fr}
  .segment{grid-template-columns:1fr 1fr}
  .envoi .btn{width:100%}
  .messages{grid-template-columns:1fr}
  .chambres{grid-template-columns:1fr}
  .chambres li,.chambres li:nth-child(4){grid-column:auto}
  .plans{grid-template-columns:1fr}
  .mosaique{grid-template-columns:1fr 1fr;grid-template-rows:auto;height:auto}
  .mosaique .m1{grid-column:1/-1;grid-row:auto;aspect-ratio:3/2}
  .mosaique .m2,.mosaique .m3{aspect-ratio:1}
  .modes div{grid-template-columns:1fr;gap:4px}
  .carrousel::before,.carrousel::after{width:20px}
  .piste li{flex-basis:78vw}
  .foot{grid-template-columns:1fr;gap:36px}
  .bas{flex-direction:column}
  .faq-liste summary{font-size:18px}
  .rep p{padding-right:0}
  body{padding-bottom:62px}
  .mbar{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;position:fixed;left:0;right:0;bottom:0;z-index:60;background:var(--accent);padding-bottom:env(safe-area-inset-bottom)}
  .mbar a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-height:62px;color:#fff;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.1em}
  .mbar a+a{border-left:1px solid rgba(255,255,255,.28)}
  .mbar a{transition:background-color .2s}
  .mbar a:hover,.mbar a:active{background:#3A544C}
}
@media (max-width:360px){
  .segment{grid-template-columns:1fr}
  .marque-nom{font-size:16px}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
