:root{--nav:78px;--lin:#f7f0e6;--ink:#2b251f;--gold:#c8a96a;--glass:rgba(255,255,255,.78);--shadow:0 28px 80px rgba(30,22,15,.22)}*{box-sizing:border-box}html,body{height:100%;margin:0}body{font-family:Inter,sans-serif;background:var(--lin);color:var(--ink);overflow:hidden}h1,h2,h3{font-family:'Playfair Display',serif;line-height:1.05;margin:0 0 1rem}h1{font-size:clamp(2.6rem,6vw,6.4rem)}h2{font-size:clamp(2rem,4vw,4.6rem)}h3{font-size:2rem}p{line-height:1.7}.topbar{height:var(--nav);position:fixed;inset:0 0 auto;z-index:50;display:flex;align-items:center;gap:.8rem;padding:.6rem 1rem;background:rgba(247,240,230,.91);backdrop-filter:blur(18px);box-shadow:0 1px 0 rgba(0,0,0,.06)}.hamb{display:none}.brand{display:flex;align-items:center;gap:.7rem;cursor:pointer;min-width:max-content}.brand span{font-family:'Playfair Display',serif;font-weight:700;font-size:1.25rem}.brand img{height:45px;max-width:88px;object-fit:contain}.nav{display:flex;gap:.2rem;flex:1;overflow:auto}.nav button,.cta,.tab,.rooms button{border:0;border-radius:999px;padding:.76rem .95rem;background:transparent;color:var(--ink);font-weight:800;cursor:pointer;white-space:nowrap}.nav button.active,.nav button:hover,.tab.active{background:white;box-shadow:0 8px 25px rgba(0,0,0,.08);color:#7b5c2c}.nav .reserveTop{background:#b96d43;color:#fff;box-shadow:0 10px 26px rgba(185,109,67,.24)}.nav .reserveTop:hover,.nav .reserveTop.active{background:#c97d53;color:#fff;box-shadow:0 12px 30px rgba(185,109,67,.34)}.weather{min-width:190px;background:white;border-radius:18px;padding:.45rem .65rem;display:flex;align-items:center;gap:.45rem;box-shadow:0 8px 24px rgba(0,0,0,.07)}.weather .days{display:flex;gap:.5rem}.weather .day{display:grid;text-align:center}.weather small{font-size:.72rem}.app{height:100vh;padding-top:var(--nav);position:relative}.panel{position:absolute;inset:var(--nav) 0 0 0;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .55s ease,visibility .55s ease;overflow:hidden}.panel.active{opacity:1;visibility:visible;pointer-events:auto}.panel.scroll{overflow:auto;padding:2rem clamp(1rem,3vw,3rem)}.bg{position:absolute;inset:0;background-size:cover;background-position:center}.bg:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(30,22,15,.62),rgba(30,22,15,.18),rgba(30,22,15,.25))}.ken{animation:ken 18s ease-in-out infinite alternate}@keyframes ken{from{transform:scale(1.01)}to{transform:scale(1.08)}}.intro,.reviews{position:relative;z-index:2;width:min(720px,92vw);margin:clamp(2rem,7vh,7rem) 0 0 clamp(1rem,6vw,7rem);padding:clamp(1.5rem,3vw,3rem);background:var(--glass);border-radius:34px;box-shadow:var(--shadow);backdrop-filter:blur(14px)}.tag{text-transform:uppercase;letter-spacing:.18em;font-size:.78rem;font-weight:900;color:#8c5f37;margin:0 0 .8rem}.cta{background:var(--ink);color:#fff;text-decoration:none;display:inline-block}.photo{position:absolute;right:clamp(1rem,5vw,6rem);bottom:clamp(1rem,6vh,4rem);width:min(42vw,620px);height:min(42vh,420px);z-index:3;border-radius:34px;overflow:hidden;box-shadow:var(--shadow);cursor:pointer;background:#18130f}.photo img{width:100%;height:100%;object-fit:cover;display:block;transition:.45s}.photo span{position:absolute;inset:0;display:grid;place-items:center;color:white;font-weight:900;font-size:1.2rem;opacity:0;transition:.35s;text-shadow:0 3px 16px #000;background:rgba(0,0,0,0)}.photo:hover img{transform:scale(1.035);filter:brightness(1.08)}.photo:hover span{opacity:1;background:rgba(0,0,0,.18)}.head{text-align:center;max-width:930px;margin:0 auto 1.5rem}.tabs{display:flex;justify-content:center;gap:.6rem;flex-wrap:wrap}.tab{background:#fff}.pane{display:none}.pane.active{display:block}.grid{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem}.activity,.rooms article,.contact article{background:#fff;border-radius:28px;overflow:hidden;box-shadow:0 18px 50px rgba(0,0,0,.1);border:1px solid rgba(0,0,0,.05)}.activity{cursor:pointer}.activity figure{position:relative;margin:0;overflow:hidden}.activity img{width:100%;height:215px;object-fit:cover;display:block;transition:.35s}.activity figure span{position:absolute;inset:0;display:grid;place-items:center;color:white;font-weight:900;font-size:1.05rem;opacity:0;background:rgba(0,0,0,.22);text-shadow:0 3px 16px rgba(0,0,0,.65);transition:.3s}.activity:hover figure span{opacity:1}.activity:hover figure img{transform:scale(1.035);filter:brightness(1.05)}.activity div,.rooms article,.contact article{padding:1.25rem}.activity small{font-weight:900;color:#bd775d}.rooms{padding-top:2rem}.rooms article{text-align:center;padding:2.2rem}.rooms button{background:var(--gold);color:#fff}.reviews{text-align:center;margin:auto;position:absolute;inset:0;height:max-content}.stars{color:#d4a737;font-size:1.7rem;letter-spacing:.18em}.reviews #reviewText{font-family:'Playfair Display',serif;font-size:clamp(1.5rem,3vw,2.8rem);line-height:1.2}.reviews button{width:42px;height:42px;border-radius:50%;border:0;background:var(--ink);color:#fff;font-size:1.5rem;margin:.4rem}.reviews a{font-weight:900;color:var(--ink)}.contact{max-width:1100px;margin:2rem auto;display:grid;grid-template-columns:1fr 1.2fr;gap:1.2rem}.contact article{padding:2rem}.contact img{width:100%;height:100%;min-height:370px;object-fit:cover;border-radius:28px;box-shadow:var(--shadow)}.roomModal{display:none;position:fixed;inset:0;z-index:90;background:rgba(25,20,16,.72);backdrop-filter:blur(8px);padding:5vh 1rem;overflow:auto}.roomModal.open{display:block}.roomModal>div{position:relative;margin:auto;background:#fff;border-radius:32px;padding:2rem;width:min(760px,96vw);box-shadow:var(--shadow);text-align:center}.close{position:absolute;right:1rem;top:1rem;border:0;background:rgba(255,255,255,.9);border-radius:50%;width:46px;height:46px;font-size:2rem;z-index:5;cursor:pointer}.plaque{max-width:260px;max-height:120px;object-fit:contain}.roomOpen{position:relative;right:auto;bottom:auto;width:100%;height:360px;margin-top:1rem}.lightbox{display:none;position:fixed;inset:0;z-index:100;background:rgba(0,0,0,.92);place-items:center}.lightbox.open{display:grid}.lightbox #lbImg{max-width:90vw;max-height:76vh;object-fit:contain;border-radius:14px}.arrow{position:absolute;top:50%;transform:translateY(-50%);border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.12);color:white;border-radius:50%;width:56px;height:56px;font-size:2.5rem}.prev{left:2rem}.next{right:2rem}#count{position:absolute;left:2rem;bottom:1.3rem;color:white;font-weight:900}#thumbs{position:absolute;bottom:1rem;left:50%;transform:translateX(-50%);display:flex;gap:.5rem;max-width:70vw;overflow:auto;background:rgba(0,0,0,.35);padding:.35rem;border-radius:18px}#thumbs img{width:86px;height:58px;flex:0 0 86px;object-fit:cover;border-radius:10px;opacity:.65;border:2px solid transparent;cursor:pointer}#thumbs img.active{opacity:1;border-color:var(--gold)}@media(max-width:900px){:root{--nav:128px}.topbar{height:var(--nav);flex-wrap:wrap}.brand{width:100%;justify-content:center}.weather{display:none}.nav{justify-content:flex-start}.panel{overflow:auto}.intro{margin:1rem}.photo{position:relative;right:auto;bottom:auto;width:calc(100% - 2rem);height:34vh;margin:1rem}.contact{grid-template-columns:1fr}#thumbs{display:none}.prev{left:.5rem}.next{right:.5rem}}
/* V4.1 — domaine fusionné */
.domaine .intro{width:min(600px,48vw);padding:clamp(1.2rem,2.4vw,2.4rem)}
.domaine h1{font-size:clamp(2.2rem,4.5vw,5.2rem)}
.domaine .intro p:not(.tag){font-size:clamp(.95rem,1.2vw,1.12rem);line-height:1.55}
.domaineText.fadeout,.storyCopy.fadeout{opacity:.18;transform:translateY(10px)}
.domaineText,.storyCopy{transition:opacity .45s ease,transform .45s ease}
.storyCard{position:absolute;z-index:4;right:clamp(1rem,5vw,6rem);bottom:clamp(1rem,5vh,3rem);width:min(430px,36vw);background:rgba(255,255,255,.84);backdrop-filter:blur(16px);border-radius:32px;box-shadow:var(--shadow);overflow:hidden;cursor:pointer}
.storyImage{height:260px;position:relative;overflow:hidden;background:#1b1510}
.storyImage img{width:100%;height:100%;object-fit:cover;display:block;transition:opacity .55s ease,transform 5s ease,filter .35s ease}
.storyImage span{position:absolute;inset:0;display:grid;place-items:center;color:#fff;font-weight:900;opacity:0;background:rgba(0,0,0,.18);transition:.35s;text-shadow:0 4px 18px #000}
.storyCard:hover .storyImage img{transform:scale(1.06);filter:brightness(1.08)}
.storyCard:hover .storyImage span{opacity:1}
.storyCopy{padding:1.15rem 1.25rem}
.storyCopy small{font-weight:900;color:#9a6c39;letter-spacing:.12em;text-transform:uppercase}
.storyCopy h3{font-size:1.8rem;margin:.35rem 0 .35rem}
.storyCopy p{margin:0;line-height:1.45;font-size:.95rem}
@media(max-width:900px){.domaine .intro{width:auto;margin:1rem}.storyCard{position:relative;right:auto;bottom:auto;width:calc(100% - 2rem);margin:1rem}.storyImage{height:32vh}.nav button{padding:.65rem .78rem}}

/* V4.2 — colonne gauche fixe, récit uniquement à droite */
.domaine .intro{
  width:min(560px,42vw);
  margin-top:clamp(1.4rem,5vh,4.6rem);
}
.domaine .intro h1{font-size:clamp(2.1rem,4vw,4.7rem)}
.domaine .intro p:not(.tag){font-size:clamp(.92rem,1.05vw,1.05rem);line-height:1.6;margin-bottom:1.25rem}
.domaineText.fadeout{opacity:1;transform:none}
.storyCard{width:min(500px,40vw)}
.storyImage{height:min(44vh,410px)}
.storyCopy h3{font-size:clamp(1.45rem,2vw,2.2rem)}
.storyDots{display:flex;gap:.42rem;margin-top:.9rem}
.storyDots span{width:8px;height:8px;border-radius:999px;background:rgba(43,37,31,.25);transition:.35s ease}
.storyDots span.active{width:26px;background:var(--gold)}
@media(max-width:900px){.domaine .intro{width:auto;margin:1rem}.storyCard{width:calc(100% - 2rem)}.storyImage{height:35vh}}

/* V4.3 — menu simplifié et récit stable */
.brand{min-width:0;padding-right:.4rem}
.brand img{height:52px;max-width:96px}
.nav button[data-section="domaine"]{font-family:'Playfair Display',serif;font-size:1.06rem}
.domaine .intro h1{font-size:clamp(2.6rem,5vw,5.8rem)}
.storyCard{cursor:default}
.storyImage{cursor:pointer}
.storyNav{display:flex;align-items:center;gap:.7rem;margin-bottom:.2rem}
.storyNav button{width:34px;height:34px;border:0;border-radius:999px;background:var(--ink);color:white;font-size:1.5rem;line-height:1;cursor:pointer;box-shadow:0 8px 20px rgba(0,0,0,.12)}
.storyNav small{font-family:'Playfair Display',serif;font-weight:700;color:#7b5c2c;letter-spacing:.02em;text-transform:none;min-width:180px;text-align:center;font-size:1.35rem;line-height:1.05}
.storyLink{display:inline-block;margin-top:.75rem;font-weight:900;color:#7b5c2c;text-decoration:none;border-bottom:2px solid var(--gold)}
.storyLink:hover{color:var(--ink)}
@media(max-width:900px){.brand img{height:44px}.nav button[data-section="domaine"]{font-size:.95rem}}

/* V4.4 — titre de scène dans la navigation + pause au survol */
.storyNav{justify-content:center}
.storyNav button:hover{background:#7b5c2c;transform:translateY(-1px)}
.storyNav button{transition:.25s ease}
@media(max-width:900px){.storyNav small{min-width:145px;font-size:1.1rem}}

/* V4.5 — menu final : onglet accueil visible, 3 épis + météo à droite */
.topbar.finalMenu{
  height:var(--nav);
  padding:.55rem 1.05rem;
  gap:.75rem;
  background:rgba(247,240,230,.86);
  backdrop-filter:blur(18px) saturate(1.08);
  -webkit-backdrop-filter:blur(18px) saturate(1.08);
  border-bottom:1px solid rgba(200,169,106,.22);
}
.mainNav{align-items:center;gap:.35rem;flex:1;min-width:0}
.mainNav button.homeTab{
  font-family:'Playfair Display',serif;
  font-size:clamp(1.05rem,1.55vw,1.45rem);
  font-weight:700;
  padding:.8rem 1.05rem .7rem;
}
.mainNav button.homeTab.active{
  background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(255,255,255,.75));
  box-shadow:0 10px 26px rgba(43,37,31,.08);
  position:relative;
}
.mainNav button.homeTab.active:after{
  content:"";
  position:absolute;
  left:1.05rem;
  right:1.05rem;
  bottom:.32rem;
  height:2px;
  border-radius:999px;
  background:var(--gold);
}
.quality{display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.72);border-radius:16px;padding:.26rem .45rem;box-shadow:0 8px 22px rgba(0,0,0,.06);border:1px solid rgba(200,169,106,.22)}
.quality img{height:46px;max-width:94px;object-fit:contain;display:block}
.nav button[data-section="activites"]{color:#5f6f3e}
.nav button[data-section="activites"].active{color:#5f6f3e}
@media(max-width:1040px){
  .topbar.finalMenu{height:auto;min-height:var(--nav);flex-wrap:wrap;align-content:center}
  .mainNav{order:1;width:100%;justify-content:center}
  .quality{order:2;margin-left:auto}.weather{order:3}
  .mainNav button.homeTab{font-size:1.05rem}
}
@media(max-width:700px){
  :root{--nav:142px}
  .topbar.finalMenu{padding:.45rem .55rem}
  .mainNav{justify-content:flex-start;overflow:auto;padding-bottom:.15rem}
  .quality img{height:38px}.weather{min-width:auto}
}

/* V4 finale — logo 3 épis transparent + météo au survol */
.quality{
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  padding:0 !important;
  border-radius:0 !important;
}
.quality img{
  height:48px;
  max-width:112px;
  object-fit:contain;
  display:block;
}
.weatherMenu{
  position:relative;
  min-width:auto !important;
  background:transparent !important;
  box-shadow:none !important;
  padding:0 !important;
  border-radius:0 !important;
}
.weatherTrigger{
  border:0;
  border-radius:999px;
  background:rgba(255,255,255,.82);
  color:var(--ink);
  font-weight:900;
  padding:.72rem .95rem;
  display:flex;
  align-items:center;
  gap:.42rem;
  cursor:pointer;
  box-shadow:0 8px 24px rgba(0,0,0,.07);
}
.weatherPopover{
  position:absolute;
  top:calc(100% + .65rem);
  right:0;
  width:310px;
  padding:1rem;
  border-radius:24px;
  background:rgba(255,255,255,.96);
  border:1px solid rgba(200,169,106,.25);
  box-shadow:0 22px 70px rgba(43,37,31,.18);
  opacity:0;
  visibility:hidden;
  transform:translateY(8px);
  transition:.28s ease;
  pointer-events:none;
}
.weatherMenu:hover .weatherPopover,
.weatherMenu:focus-within .weatherPopover{
  opacity:1;
  visibility:visible;
  transform:translateY(0);
  pointer-events:auto;
}
.weatherPopover>strong{
  display:block;
  margin-bottom:.75rem;
  font-family:'Playfair Display',serif;
  font-size:1.15rem;
}
.weatherDays{
  display:grid;
  gap:.55rem;
}
.weatherDay{
  display:grid;
  grid-template-columns:44px 1fr auto;
  align-items:center;
  gap:.65rem;
  background:#f8f2e9;
  border-radius:16px;
  padding:.55rem .7rem;
}
.weatherDay b{font-size:1.45rem;text-align:center}.weatherDay em{font-style:normal;font-weight:800}.weatherDay strong{color:#7b5c2c}

/* V4 finale — Explorer la Provence : Sur place d'abord + sports */
.localGrid{margin-bottom:1.2rem}
.sportsOnSite{
  max-width:1200px;
  margin:0 auto 1.5rem;
  display:grid;
  grid-template-columns:minmax(280px, .95fr) 1fr;
  gap:1.2rem;
  align-items:stretch;
  background:#fff;
  border-radius:32px;
  overflow:hidden;
  box-shadow:0 18px 50px rgba(0,0,0,.10);
  border:1px solid rgba(0,0,0,.05);
}
.sportsOnSite .vttClip{
  min-height:280px;
  background:#d8ceb9;
  overflow:hidden;
}
.sportsOnSite .vttClip img{
  width:100%;
  height:100%;
  min-height:280px;
  object-fit:cover;
  display:block;
}
.sportsOnSite>div:last-child{
  padding:1.6rem clamp(1.2rem,2vw,2rem);
}
.sportsOnSite h3{font-size:clamp(1.7rem,2.5vw,2.8rem)}
.sportsOnSite ul{list-style:none;padding:0;margin:1rem 0 0;display:grid;gap:.6rem}
.sportsOnSite li{
  padding:.75rem .9rem;
  border-radius:16px;
  background:#f8f2e9;
  font-weight:900;
}
.tabs .tab[data-tab="place"]{order:0}.tabs .tab[data-tab="visites"]{order:1}
@media(max-width:900px){
  .quality img{height:38px;max-width:92px}
  .weatherMenu{display:block !important;order:3;margin-left:0}
  .weatherTrigger span{display:none}
  .weatherPopover{right:auto;left:50%;transform:translate(-50%,8px);width:min(92vw,310px)}
  .weatherMenu:hover .weatherPopover,.weatherMenu:focus-within .weatherPopover{transform:translate(-50%,0)}
  .sportsOnSite{grid-template-columns:1fr}.sportsOnSite .vttClip,.sportsOnSite .vttClip img{min-height:220px}
}

/* V4.1 — Page contact avec carte Google Maps + formulaire */
.contactV2{
  max-width:1180px;
  grid-template-columns:1.15fr .95fr;
  align-items:stretch;
}
.mapCard{
  position:relative;
  min-height:520px;
  border-radius:32px;
  overflow:hidden;
  box-shadow:var(--shadow);
  background:#e9dfcf;
  border:1px solid rgba(0,0,0,.06);
}
.mapCard iframe{
  width:100%;
  height:100%;
  min-height:520px;
  border:0;
  display:block;
  filter:saturate(.94) contrast(.96);
}
.mapLink{
  position:absolute;
  left:1rem;
  bottom:1rem;
  text-decoration:none;
  color:var(--ink);
  background:rgba(255,255,255,.92);
  backdrop-filter:blur(10px);
  border-radius:999px;
  padding:.78rem 1rem;
  font-weight:900;
  box-shadow:0 12px 30px rgba(0,0,0,.12);
}
.contactCard{
  padding:2rem !important;
}
.contactInfo a{color:var(--ink);font-weight:900}
.contactForm{display:grid;gap:.8rem;margin-top:1.1rem}
.contactForm label{display:grid;gap:.35rem;font-weight:900;color:#5a4b3d}
.contactForm input,.contactForm textarea{
  width:100%;
  border:1px solid rgba(43,37,31,.16);
  border-radius:16px;
  background:#fbf7ef;
  padding:.85rem 1rem;
  font:inherit;
  color:var(--ink);
  outline:none;
  resize:vertical;
}
.contactForm input:focus,.contactForm textarea:focus{
  border-color:var(--gold);
  box-shadow:0 0 0 4px rgba(200,169,106,.18);
  background:#fff;
}
.contactForm .cta{justify-self:start;margin-top:.25rem}
.formNote{font-size:.92rem;color:#6e6154;margin:.9rem 0 0}
@media(max-width:900px){
  .contactV2{grid-template-columns:1fr}
  .mapCard,.mapCard iframe{min-height:360px}
}


/* V5.1 — Chambres directement sur la page, sans fenêtre modale */
.roomsDetailed{
  max-width:1180px;
  margin:2rem auto 0;
  display:grid;
  gap:1.4rem;
}
.roomDetail{
  display:grid;
  grid-template-columns:minmax(280px,.9fr) minmax(320px,1.25fr);
  gap:1.2rem;
  align-items:stretch;
  background:#fff;
  border-radius:32px;
  overflow:hidden;
  box-shadow:0 18px 50px rgba(0,0,0,.10);
  border:1px solid rgba(0,0,0,.05);
}
.roomDetail:nth-child(even){
  grid-template-columns:minmax(320px,1.25fr) minmax(280px,.9fr);
}
.roomDetail:nth-child(even) .roomText{order:2}
.roomDetail:nth-child(even) .roomGallery{order:1}
.roomText{
  padding:clamp(1.35rem,2.5vw,2.3rem);
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.roomText .plaque{
  max-width:250px;
  max-height:115px;
  margin:0 0 1rem;
}
.roomHeader{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}
.roomHeader .plaque{margin:0;flex:0 0 auto;max-width:180px;max-height:90px}
.roomHeader h3{margin:0}

.roomText h3{font-size:clamp(2rem,3vw,3.2rem)}
.roomText p{margin:.25rem 0 .8rem}
.roomGallery{
  position:relative;
  right:auto;
  bottom:auto;
  width:100%;
  height:100%;
  min-height:380px;
  margin:0;
  border-radius:0;
  box-shadow:none;
}
.roomGallery img{width:100%;height:100%;object-fit:cover}
@media(max-width:900px){
  .roomsDetailed{margin-top:1rem}
  .roomDetail,.roomDetail:nth-child(even){grid-template-columns:1fr}
  .roomDetail:nth-child(even) .roomText,.roomDetail:nth-child(even) .roomGallery{order:initial}
  .roomGallery{min-height:280px;height:34vh}
}

/* V6 — bouton Réserver placé à droite, à côté du logo 3 épis */
.topbar > .reserveTop{
  border:0;
  border-radius:999px;
  padding:.76rem 1rem;
  background:#b96d43;
  color:#fff;
  font-weight:900;
  cursor:pointer;
  white-space:nowrap;
  box-shadow:0 10px 26px rgba(185,109,67,.24);
  transition:.25s ease;
}
.topbar > .reserveTop:hover{
  background:#c97d53;
  transform:translateY(-1px);
  box-shadow:0 12px 30px rgba(185,109,67,.34);
}
@media(max-width:1040px){
  .topbar > .reserveTop{order:2}
  .quality{order:3}
  .weather{order:4}
}
@media(max-width:700px){
  .topbar > .reserveTop{padding:.62rem .8rem;font-size:.9rem}
}

/* V6 bilingue — sélecteur FR / EN */
.langSwitch{
  display:flex;
  align-items:center;
  gap:.25rem;
  padding:.18rem;
  border-radius:999px;
  background:rgba(255,255,255,.72);
  border:1px solid rgba(200,169,106,.22);
  box-shadow:0 8px 22px rgba(0,0,0,.05);
}
.langSwitch button{
  border:0;
  border-radius:999px;
  background:transparent;
  padding:.45rem .62rem;
  font-weight:900;
  font-size:.78rem;
  color:rgba(43,37,31,.66);
  cursor:pointer;
  transition:.25s ease;
}
.langSwitch button.active,
.langSwitch button:hover{
  background:#fff;
  color:#7b5c2c;
  box-shadow:0 6px 16px rgba(43,37,31,.08);
}
@media(max-width:1040px){.langSwitch{order:2}.reserveTop{order:2}.quality{order:2}.weatherMenu{order:2}}
@media(max-width:700px){.langSwitch button{padding:.38rem .52rem;font-size:.72rem}}

/* V6.1 — drapeaux FR/EN et switch de langue dans le bloc Bienvenue */
.langSwitch button{
  min-width:34px;
  font-size:1.05rem;
  line-height:1;
  padding:.42rem .5rem;
}
.langSwitch button:hover{
  transform:scale(1.08);
}
.welcomeTitle{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:1rem;
  margin-bottom:1rem;
}
.welcomeTitle h1{
  margin-bottom:0;
}
.homeLang{
  flex:0 0 auto;
  margin-top:.35rem;
  background:rgba(255,255,255,.62);
}
@media(max-width:700px){
  .welcomeTitle{align-items:center}
  .homeLang{margin-top:0}
}

/* V6.5 — langue à droite du tag + menu mobile hamburger utilisable */
.tagRow{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  margin-bottom:.8rem;
}
.tagRow .tag{margin:0;min-width:0}
.tagRow .homeLang{flex:0 0 auto;margin:0;background:rgba(255,255,255,.62)}

@media(max-width:760px){
  :root{--nav:64px}
  body{overflow:hidden}
  .topbar.finalMenu{
    height:var(--nav) !important;
    min-height:var(--nav) !important;
    padding:.55rem .8rem !important;
    flex-wrap:nowrap !important;
    align-content:center !important;
    gap:.5rem;
    z-index:200;
  }
  .hamb{
    display:flex !important;
    align-items:center;
    justify-content:center;
    order:2;
    margin-left:auto;
    width:44px;
    height:44px;
    border:0;
    border-radius:999px;
    background:rgba(255,255,255,.78);
    color:var(--ink);
    font-size:1.7rem;
    line-height:1;
    cursor:pointer;
    box-shadow:0 8px 20px rgba(0,0,0,.08);
    z-index:202;
  }
  .mainNav{
    order:1;
    flex:1;
    width:auto !important;
    min-width:0;
    overflow:hidden !important;
    padding:0 !important;
    justify-content:flex-start !important;
  }
  .mainNav button{
    display:none;
  }
  .mainNav button.homeTab{
    display:inline-flex;
    max-width:calc(100vw - 84px);
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    font-size:1rem !important;
    padding:.65rem .8rem !important;
  }
  .topbar > .langSwitch,
  .topbar > .reserveTop,
  .topbar > .quality,
  .topbar > .weatherMenu{
    display:none !important;
  }

  .topbar.menuOpen{
    position:fixed;
    inset:0;
    height:100vh !important;
    min-height:100vh !important;
    padding:2rem 1rem !important;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    background:rgba(247,240,230,.97);
    backdrop-filter:blur(20px) saturate(1.08);
    -webkit-backdrop-filter:blur(20px) saturate(1.08);
  }
  .topbar.menuOpen .hamb{
    position:absolute;
    top:14px;
    right:14px;
    margin:0;
  }
  .topbar.menuOpen .mainNav{
    flex:0 0 auto;
    width:100% !important;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center !important;
    gap:.8rem;
    overflow:visible !important;
  }
  .topbar.menuOpen .mainNav button,
  .topbar.menuOpen .mainNav button.homeTab{
    display:flex;
    width:min(92vw,360px);
    max-width:none;
    justify-content:center;
    font-size:1.08rem !important;
    padding:.9rem 1rem !important;
  }
  .topbar.menuOpen .mainNav button.homeTab{
    font-size:1.24rem !important;
  }
  .topbar.menuOpen > .langSwitch,
  .topbar.menuOpen > .reserveTop,
  .topbar.menuOpen > .quality{
    display:flex !important;
  }
  .topbar.menuOpen > .weatherMenu{
    display:none !important;
  }
  .topbar.menuOpen > .reserveTop{
    order:3;
    width:min(92vw,360px);
    justify-content:center;
    margin-top:.5rem;
  }
  .topbar.menuOpen > .quality{order:4;margin:.2rem 0 0}
  .topbar.menuOpen > .langSwitch{order:5;margin-top:.3rem}

  .app{padding-top:var(--nav)}
  .panel{inset:var(--nav) 0 0 0}
  .intro,.domaine .intro{
    margin:.8rem !important;
    width:auto !important;
    max-width:none;
  }
  .tagRow{gap:.6rem;align-items:flex-start}
  .tagRow .tag{font-size:.66rem;letter-spacing:.12em;line-height:1.35}
  .tagRow .homeLang button{font-size:1rem;min-width:30px;padding:.36rem .42rem}
}


/* V6.5 final — vrais drapeaux SVG pour compatibilité navigateurs */
.langSwitch button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
.langSwitch button img{
  width:28px;
  height:19px;
  object-fit:cover;
  border-radius:3px;
  box-shadow:0 2px 6px rgba(0,0,0,.18);
  display:block;
}
.langSwitch button.active img{
  box-shadow:0 0 0 2px rgba(200,169,106,.55), 0 2px 6px rgba(0,0,0,.18);
}
@media(max-width:760px){
  .tagRow .homeLang button img{width:26px;height:18px}
  .topbar.menuOpen > .langSwitch button img{width:32px;height:22px}
}


/* V6.6 — retour AJAX du formulaire contact */
.contactSubmitStatus{
  justify-self:start;
  display:inline-flex;
  align-items:center;
  gap:.55rem;
  margin-top:.25rem;
  padding:.76rem 1rem;
  border-radius:999px;
  font-weight:900;
  animation:formStatusIn .25s ease both;
}
.contactSubmitStatus.success{
  background:rgba(67,132,92,.12);
  color:#2f6b46;
  border:1px solid rgba(67,132,92,.22);
}
.contactSubmitStatus.error{
  background:rgba(175,75,56,.12);
  color:#9b3f30;
  border:1px solid rgba(175,75,56,.22);
}
.contactForm .cta.isSending{
  opacity:.92;
  cursor:wait;
  pointer-events:none;
}
.contactSpinner{
  width:18px;
  height:18px;
  border:3px solid rgba(255,255,255,.45);
  border-top-color:#fff;
  border-radius:50%;
  display:inline-block;
  animation:spin .8s linear infinite;
  vertical-align:-4px;
}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes formStatusIn{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}
