/* ============================================
   CHALETS MONTGENÈVRE — style.css
   Partagé par toutes les pages et langues
   ============================================ */

:root {
  --dark:    #0D0C09;
  --dark2:   #111009;
  --dark3:   #161410;
  --ivory:   #FAFAF6;
  --parch:   #F5F0E8;
  --ink:     #1C180E;
  --gold:    #C8A86A;
  --gold2:   #A88A50;
  --il:      rgba(245,240,232,1);
  --im:      rgba(245,240,232,0.82);
  --il2:     rgba(245,240,232,0.52);
  --bdr:     rgba(255,255,255,0.07);
  --bdr-l:   rgba(28,24,14,0.09);
  --nav-h:   64px;
}

*,*::before,*::after { box-sizing:border-box; margin:0; padding:0; }
html { scroll-behavior:smooth; -webkit-text-size-adjust:100%; }
body {
  font-family:'DM Sans',sans-serif;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
body.dark  { background:var(--dark2); color:var(--il); }
body.light { background:var(--ivory); color:var(--ink); }

/* ── NAV ── */
nav {
  position:fixed; top:0; left:0; right:0; z-index:200;
  height:var(--nav-h); padding:0 40px;
  display:flex; align-items:center; justify-content:space-between;
  background:rgba(13,12,9,0.96);
  backdrop-filter:blur(20px); -webkit-backdrop-filter:blur(20px);
  border-bottom:1px solid var(--bdr);
  transition:background 0.4s;
}
nav.scrolled { background:rgba(13,12,9,1); }
.nav-brand {
  font-family:'Cormorant Garamond',serif;
  font-size:17px; font-weight:400;
  letter-spacing:0.2em; text-transform:uppercase;
  color:var(--il); line-height:1;
}
.nav-brand small {
  display:block; font-family:'DM Sans',sans-serif;
  font-size:9px; letter-spacing:0.28em;
  color:var(--il2); margin-top:3px; font-weight:300;
}
.nav-mid { display:flex; gap:32px; }
.nav-mid a {
  font-size:11px; letter-spacing:0.14em; text-transform:uppercase;
  color:var(--im); text-decoration:none; transition:color 0.2s;
}
.nav-mid a:hover, .nav-mid a.active { color:var(--il); }
.nav-right { display:flex; align-items:center; gap:18px; }
.nav-lang { font-size:11px; letter-spacing:0.14em; color:var(--il2); display:flex; gap:6px; align-items:center; }
.nav-lang a { color:var(--il2); text-decoration:none; transition:color 0.2s; }
.nav-lang a.active, .nav-lang a:hover { color:var(--il); }
.nav-lang span { opacity:0.2; }
.nav-back { font-size:11px; letter-spacing:0.14em; text-transform:uppercase; color:var(--im); text-decoration:none; transition:color 0.2s; }
.nav-back:hover { color:var(--il); }
.btn-nav {
  font-family:'DM Sans',sans-serif;
  font-size:9px; letter-spacing:0.2em; text-transform:uppercase;
  padding:10px 22px; background:var(--gold); color:var(--dark);
  border:none; cursor:pointer; transition:background 0.2s; white-space:nowrap;
}
.btn-nav:hover { background:var(--gold2); }
.nav-burger { display:none; flex-direction:column; gap:5px; cursor:pointer; padding:4px; }
.nav-burger span { display:block; width:22px; height:1px; background:var(--il); transition:all 0.3s; }

/* ── BOUTONS ── */
.btn-gold {
  font-family:'DM Sans',sans-serif;
  font-size:9px; letter-spacing:0.2em; text-transform:uppercase;
  padding:15px 30px; background:var(--gold); color:var(--dark);
  border:none; cursor:pointer; transition:background 0.25s; display:inline-block;
  -webkit-tap-highlight-color:transparent;
}
.btn-gold:hover { background:var(--gold2); }
.btn-ghost {
  font-family:'DM Sans',sans-serif;
  font-size:9px; letter-spacing:0.2em; text-transform:uppercase;
  padding:15px 30px; background:transparent; color:var(--im);
  border:1px solid rgba(255,255,255,0.25); cursor:pointer; transition:all 0.25s; display:inline-block;
  -webkit-tap-highlight-color:transparent;
}
.btn-ghost:hover { border-color:rgba(255,255,255,0.45); color:var(--il); }
.btn-full { width:100%; text-align:center; }

/* ── ANIMATIONS ── */
.reveal { opacity:0; transform:translateY(16px); transition:opacity 0.7s ease, transform 0.7s ease; }
.reveal.on { opacity:1; transform:translateY(0); }
.content .reveal, .dest-band .reveal { opacity:1; transform:none; }
.d1{transition-delay:.1s} .d2{transition-delay:.2s} .d3{transition-delay:.3s}

/* ── FOOTER ── */
footer {
  background:var(--dark); padding:26px 40px;
  display:flex; align-items:center; justify-content:space-between; gap:16px;
  border-top:1px solid var(--bdr);
}
.f-brand { font-family:'Cormorant Garamond',serif; font-size:13px; letter-spacing:0.2em; text-transform:uppercase; color:rgba(255,255,255,0.15); }
.f-credit { font-size:9px; color:rgba(255,255,255,0.14); }
.f-links { display:flex; gap:24px; }
.f-links a { font-size:9px; letter-spacing:0.14em; text-transform:uppercase; color:rgba(255,255,255,0.18); text-decoration:none; transition:color 0.2s; }
.f-links a:hover { color:rgba(255,255,255,0.6); }

/* ── MOBILE GLOBAL ── */
@media(max-width:800px) {
  nav { padding:0 20px; }
  .nav-mid { display:none; }
  .nav-right { display:none; }
  .nav-burger { display:flex; }
  footer { flex-direction:column; padding:22px 20px; text-align:center; }
  .f-links { flex-wrap:wrap; justify-content:center; }
}

/* ── MENU MOBILE DÉPLIÉ ── */
.nav-mobile-open {
  position:fixed;
  top:var(--nav-h);
  left:0; right:0;
  background:#0D0C09;
  z-index:199;
  border-bottom:1px solid rgba(255,255,255,0.08);
  padding:0;
}
.nav-mobile-open a {
  display:block;
  font-size:15px;
  letter-spacing:0.12em;
  text-transform:uppercase;
  color:var(--il);
  text-decoration:none;
  padding:20px 24px;
  border-bottom:1px solid rgba(255,255,255,0.05);
  font-family:'DM Sans',sans-serif;
  font-weight:300;
  line-height:1;
  transition:color 0.2s, background 0.2s;
}
.nav-mobile-open a:hover { color:var(--gold); background:rgba(200,168,106,0.04); }
.nav-mobile-open .nav-mobile-lang {
  display:flex;
  gap:0;
  padding:16px 24px 20px;
}
.nav-mobile-open .nav-mobile-lang a {
  font-size:11px;
  padding:8px 16px 8px 0;
  border-bottom:none;
  color:var(--il2);
  letter-spacing:0.2em;
}
.nav-mobile-open .nav-mobile-lang a.active { color:var(--gold); }
.nav-mobile-btn {
  margin:0 24px 20px;
  display:block;
  font-family:'DM Sans',sans-serif;
  font-size:9px; letter-spacing:0.2em; text-transform:uppercase;
  padding:16px; background:var(--gold); color:var(--dark);
  border:none; cursor:pointer; text-align:center; text-decoration:none;
  width:calc(100% - 48px);
}

/* ── BACK TO TOP ── */
.back-to-top {
  position:fixed;
  bottom:28px;right:24px;
  width:40px;height:40px;
  background:var(--dark3);
  border:1px solid var(--bdr);
  color:var(--gold);
  font-size:16px;
  display:flex;align-items:center;justify-content:center;
  cursor:pointer;
  opacity:0;pointer-events:none;
  transform:translateY(10px);
  transition:opacity 0.3s,transform 0.3s,background 0.2s,color 0.2s;
  z-index:190;
  text-decoration:none;
}
.back-to-top.visible { opacity:1; pointer-events:auto; transform:translateY(0); }
.back-to-top:hover { background:var(--gold); color:var(--dark); }
@media(max-width:800px){.back-to-top{bottom:20px;right:16px;width:36px;height:36px}}
@supports(padding:max(0px)){
  .back-to-top{bottom:max(20px,env(safe-area-inset-bottom));right:max(16px,env(safe-area-inset-right))}
}
