/* ─── FONTS ─── */
@font-face { font-family:'CalSans'; src:url('../fonts/CalSans-Regular.ttf') format('truetype'); font-weight:400 900; font-display:swap; }
@font-face { font-family:'Lora'; src:url('../fonts/Lora-Variable.ttf') format('truetype'); font-weight:100 900; font-style:normal; font-display:swap; }
@font-face { font-family:'Lora'; src:url('../fonts/Lora-Italic-Variable.ttf') format('truetype'); font-weight:100 900; font-style:italic; font-display:swap; }
@font-face { font-family:'Urbanist'; src:url('../fonts/Urbanist-Variable.ttf') format('truetype'); font-weight:100 900; font-display:swap; }

/* ─── TOKENS ─── */
:root {
  --teal:       #3DBDB5;
  --teal-dark:  #046F72;
  --orange:     #F07B3A;
  --yellow:     #F5C842;
  --cream:      #FDF5EE;
  --peach:      #FAE8D8;
  --peach-mid:  #F5D4B5;
  --mint:       #DFF2F0;
  --mint-light: #EDF8F7;
  --yellow-bg:  #FBF4D4;
  --text-body:  #2C4A4B;
  --muted:      #6B9EA0;
  --glass:      rgba(255,255,255,0.62);
}

/* ─── RESET ─── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'Urbanist',system-ui,sans-serif;font-weight:400;background:var(--cream);color:var(--text-body);overflow-x:hidden;cursor:auto}
img{max-width:100%;height:auto}
a{cursor:pointer}
button{cursor:pointer}

/* ─── TYPOGRAPHY ─── */
h1,h2,h3,h4{font-family:'CalSans','Urbanist',sans-serif;color:var(--teal-dark);letter-spacing:.05em;line-height:1.1}
em.thin{font-family:'Lora',serif;font-style:italic;font-weight:400;color:var(--teal);letter-spacing:-.02em}
p{font-family:'Urbanist',sans-serif;line-height:1.6}

/* ─── NAV ─── */
.navbar{position:fixed;top:0;left:0;right:0;z-index:1000;padding:.7rem 3.5rem;display:flex;align-items:center;justify-content:space-between;transition:all .4s cubic-bezier(.16,1,.3,1)}
.navbar.scrolled{padding:.7rem 3.5rem;background:rgba(253,245,238,.92);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);box-shadow:0 2px 30px rgba(4,111,114,.07);border-bottom:1px solid rgba(61,189,181,.1)}
.nav-logo{text-decoration:none;display:flex;align-items:center}
.nav-logo img{height:44px;width:auto}
.nav-links{list-style:none;display:flex;align-items:center;gap:2.5rem}
.nav-links a{text-decoration:none;color:var(--text-body);font-family:'CalSans',sans-serif;font-size:.82rem;letter-spacing:.1em;text-transform:uppercase;transition:color .2s;position:relative}
.nav-links a::after{content:'';position:absolute;bottom:-3px;left:0;width:0;height:1.5px;background:var(--teal);transition:width .3s}
.nav-links a:hover::after{width:100%}
.nav-links a:hover{color:var(--teal-dark)}
.nav-cta{padding:.52rem 1.4rem !important;border-radius:50px !important;background:var(--mint) !important;color:var(--teal-dark)!important;border:1.5px solid var(--teal)!important;transition:background .25s,color .25s!important;display:inline-flex !important;align-items:center !important;}
.nav-cta::after{display:none!important}
.nav-cta:hover{background:var(--teal)!important;color:#fff!important}
.hamburger{display:none;flex-direction:column;gap:5px;background:none;border:none}
.hamburger span{width:22px;height:1.5px;background:var(--text-body);border-radius:2px;display:block;transition:.3s}

/* ─── NAV DROPDOWN "Mes offres" STABILISÉ ─── */
.nav-dropdown { position: relative; }
.nav-links li { position: relative; padding: 0.5rem 0; }
.nav-dropdown-toggle { background:none; border:none; color:var(--text-body); font-family:'CalSans',sans-serif; font-size:.82rem; letter-spacing:.1em; text-transform:uppercase; cursor:pointer; padding:0; position:relative; transition:color .2s; }
.nav-dropdown-toggle::after { content:''; position:absolute; bottom:-3px; left:0; width:0; height:1.5px; background:var(--teal); transition:width .3s; }
.nav-dropdown-toggle:hover { color:var(--teal-dark); }
.nav-dropdown-toggle:hover::after, .nav-dropdown.open .nav-dropdown-toggle::after { width:100%; }

.nav-dropdown-menu {
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%) translateY(-8px);
  min-width: 260px;
  list-style: none;
  background: rgba(253,245,238,.97);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border: 1px solid rgba(61,189,181,.18);
  border-radius: 1rem;
  padding: .6rem;
  box-shadow: 0 16px 40px rgba(4,111,114,.14);
  opacity: 0;
  pointer-events: none;
  transition: opacity .25s, transform .25s;
}

.nav-links li:hover .nav-dropdown-menu, .nav-dropdown.open .nav-dropdown-menu { opacity:1; pointer-events:all; transform:translateX(-50%) translateY(0); }
.nav-dropdown-menu li a { display:block; padding:.6rem .9rem; border-radius:.6rem; font-family:'Urbanist',sans-serif; font-size:.85rem; letter-spacing:normal; text-transform:none; color:var(--text-body); text-decoration:none; transition:background .2s, color .2s; white-space:nowrap; }
.nav-dropdown-menu li a::after { display:none; }

/* Couleurs au survol par onglet */
.nav-dropdown-menu li:nth-child(1) a:hover { background: var(--mint) !important; color: var(--teal-dark) !important; }
.nav-dropdown-menu li:nth-child(2) a:hover { background: rgba(240, 123, 58, 0.12) !important; color: var(--orange) !important; }
.nav-dropdown-menu li:nth-child(3) a:hover { background: rgba(245, 200, 66, 0.15) !important; color: #bfa010 !important; }
.nav-dropdown-menu li:nth-child(4) a:hover { background: rgba(216, 55, 18, 0.1) !important; color: #d83712 !important; }

/* ─── BUTTONS SECURISÉS ─── */
.btn {
  display: inline-flex !important;
  align-items: center !important;
  gap: .45rem !important;
  padding: .8rem 1.8rem !important;
  border-radius: 50px !important;
  font-family: 'CalSans', sans-serif !important;
  font-size: .86rem !important;
  font-weight: 400 !important;
  text-decoration: none !important;
  border: none !important;
  transition: transform .25s cubic-bezier(.34,1.56,.64,1), box-shadow .25s !important;
  letter-spacing: .06em !important;
  line-height: 1.2 !important;
}

.btn:hover {
  transform: translateY(-3px) !important;
}

.btn-primary {
  background: var(--teal-dark) !important;
  color: #fff !important;
  box-shadow: 0 8px 28px rgba(4,111,114,.22) !important;
}

.btn-primary:hover {
  box-shadow: 0 16px 40px rgba(4,111,114,.32) !important;
}

.btn-orange-soft {
  background: rgba(240,123,58,.15) !important;
  color: var(--orange) !important;
  border: 1.5px solid rgba(240,123,58,.35) !important;
}

.btn-orange-soft:hover {
  background: rgba(240,123,58,.25) !important;
}

.btn-soft {
  background: var(--glass) !important;
  backdrop-filter: blur(10px) !important;
  color: var(--teal-dark) !important;
  border: 1.5px solid rgba(61,189,181,.4) !important;
}

.btn-soft:hover {
  background: var(--mint) !important;
  border-color: var(--teal) !important;
}

.btn-outline {
  background: transparent !important;
  color: var(--teal-dark) !important;
  border: 1.5px solid rgba(61,189,181,.45) !important;
}

.btn-outline:hover {
  background: var(--mint-light) !important;
}

.btn-peach {
  background: var(--peach) !important;
  color: var(--teal-dark) !important;
  border: 1.5px solid var(--peach-mid) !important;
}

.btn-peach:hover {
  background: var(--peach-mid) !important;
}

.btn-white {
  background: #fff !important;
  color: var(--teal-dark) !important;
}

.btn-ghost-w {
  background: rgba(255,255,255,.15) !important;
  backdrop-filter: blur(10px) !important;
  color: var(--teal-dark) !important;
  border: 1.5px solid rgba(4,111,114,.25) !important;
}

.btn-ghost-w:hover {
  background: rgba(255,255,255,.35) !important;
}

/* ─── SECTIONS ─── */
.si{max-width:1160px;margin:0 auto;padding:6rem 3rem}
.section-eyebrow{display:block;font-family:'CalSans',sans-serif;font-size:.68rem;font-weight:400;letter-spacing:.22em;text-transform:uppercase;color:var(--teal);margin-bottom:.8rem}
.section-h2{font-size:clamp(1.9rem,3.2vw,2.8rem);margin-bottom:.6rem}
.section-lead{font-family:'Urbanist',sans-serif;font-size:.97rem;line-height:1.6;color:var(--muted)}

/* ─── REVEAL ANIMATIONS ─── */
.rv{opacity:0;transform:translateY(35px);transition:opacity .75s cubic-bezier(.16,1,.3,1),transform .75s cubic-bezier(.16,1,.3,1)}
.rv-l{opacity:0;transform:translateX(-45px);transition:opacity .8s cubic-bezier(.16,1,.3,1),transform .8s cubic-bezier(.16,1,.3,1)}
.rv-r{opacity:0;transform:translateX(45px);transition:opacity .8s cubic-bezier(.16,1,.3,1),transform .8s cubic-bezier(.16,1,.3,1)}
.rv.on,.rv-l.on,.rv-r.on{opacity:1;transform:none}
.d1{transition-delay:.1s}.d2{transition-delay:.2s}.d3{transition-delay:.3s}.d4{transition-delay:.4s}.d5{transition-delay:.5s}

/* ─── WAVE ─── */
.wave{line-height:0;position:relative;z-index:1}
.wave svg{display:block;width:100%}

/* ─── ZONE VIP ─── */
.vip-sec{background:var(--mint-light);padding:5rem 3rem;position:relative;overflow:hidden;border-top:1.5px solid rgba(61,189,181,.15)}
.vip-sec::before{content:'';position:absolute;top:-80px;left:50%;transform:translateX(-50%);width:700px;height:500px;background:rgba(61,189,181,.1);border-radius:50%;filter:blur(90px);pointer-events:none}
.vip-inner{max-width:1160px;margin:0 auto;position:relative;z-index:1}
.vip-title{font-family:'CalSans',sans-serif;font-size:clamp(2rem,4vw,3rem);color:var(--orange);text-align:center;margin-bottom:3.5rem;letter-spacing:.08em}
.vip-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2.5rem}
.vip-card{text-align:center;padding:1.5rem;background:rgba(255,255,255,.55);backdrop-filter:blur(20px);border:1.5px solid rgba(255,255,255,.85);border-radius:2rem;box-shadow:0 8px 32px rgba(4,111,114,.08)}
.vip-badge{width:90px;height:90px;border-radius:50%;margin:0 auto 1.5rem;display:flex;align-items:center;justify-content:center;position:relative}
.vip-badge-inner{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;width:100%;height:100%;border-radius:50%;box-shadow:0 8px 24px rgba(0,0,0,.15)}
.vb-teal{background:var(--teal)}
.vb-orange{background:var(--orange)}
.vb-dark{background:var(--teal-dark)}
.vip-card h3{font-family:'CalSans',sans-serif;font-size:1rem;letter-spacing:.1em;text-transform:uppercase;margin-bottom:1rem;color:var(--teal-dark)}
.vip-card p{font-family:'Urbanist',sans-serif;font-size:.9rem;line-height:1.62;color:var(--text-body)}
.vip-card p strong{font-family:'Lora',serif;font-style:italic;font-weight:600;color:var(--teal-dark)}

/* ─── FOOTER ─── */
footer{background:var(--peach)!important;color:var(--text-body)!important;padding:5rem 3.5rem 2.5rem;border-top:1.5px solid var(--peach-mid)}
.footer-inner{max-width:1160px;margin:0 auto}
.footer-top{display:flex;justify-content:space-between;align-items:center;padding-bottom:1.5rem;margin-bottom:3rem;border-bottom:1px solid var(--peach-mid)}
.footer-hw{font-family:'Lora',serif;font-style:italic;font-size:.88rem;color:var(--muted)}
.footer-grid{display:grid;grid-template-columns:1.8fr 1fr 1fr 1.4fr;gap:3rem;margin-bottom:3rem}
.footer-brand p,.footer-grid > div > p{font-family:'Urbanist',sans-serif;font-size:.85rem;line-height:1.65;color:var(--muted);max-width:260px;margin-top:.7rem}
.footer-social{display:flex;gap:.7rem;margin-top:1.4rem}
.soc-ico{width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.6);backdrop-filter:blur(8px);border:1px solid rgba(61,189,181,.2);display:flex;align-items:center;justify-content:center;color:var(--teal-dark);text-decoration:none;transition:background .2s,transform .2s,border-color .2s}
.soc-ico:hover{background:var(--teal);color:#fff;border-color:var(--teal);transform:translateY(-3px)}
.footer-col h4{font-family:'CalSans',sans-serif;font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:var(--teal-dark);opacity:.6;margin-bottom:1.2rem}
.footer-col ul{list-style:none}
.footer-col ul li{margin-bottom:.55rem}
.footer-col ul li a{font-family:'Urbanist',sans-serif;color:var(--muted);text-decoration:none;font-size:.85rem;transition:color .2s}
.footer-col ul li a:hover{color:var(--teal-dark)}
.footer-nl{font-family:'Urbanist',sans-serif;font-size:.82rem;color:var(--muted);line-height:1.65;margin-bottom:.9rem!important;max-width:100%!important}
.nl-form{display:flex;gap:.45rem}
.nl-form input{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.15);color:#fff;padding:.55rem .9rem;border-radius:50px;font-size:.82rem;flex:1;font-family:'Urbanist',sans-serif;outline:none}
.nl-form input::placeholder{color:rgba(255,255,255,.35)}
.nl-form input:focus{border-color:var(--teal)}
.nl-form button{background:var(--teal);color:#fff;border:none;padding:.55rem 1.1rem;border-radius:50px;font-family:'CalSans',sans-serif;font-size:.8rem;transition:background .2s}
.nl-form button:hover{background:var(--teal-dark)}
.footer-bottom{border-top:1px solid var(--peach-mid);padding-top:1.5rem;display:flex;justify-content:space-between;font-family:'Urbanist',sans-serif;font-size:.76rem;color:var(--muted)}
.footer-bottom a{color:var(--muted);text-decoration:underline}
footer .footer-top img{filter:brightness(10)}

/* ─── BACK TOP ─── */
.back-top{position:fixed;bottom:2rem;right:2rem;width:46px;height:46px;background:rgba(255,255,255,.65);backdrop-filter:blur(16px);border:1.5px solid rgba(61,189,181,.3);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--teal-dark);font-family:'CalSans',sans-serif;font-size:1rem;text-decoration:none;opacity:0;transform:translateY(20px);transition:opacity .3s,transform .3s;z-index:997;box-shadow:0 8px 24px rgba(4,111,114,.12)}
.back-top.show{opacity:1;transform:none}
.back-top:hover{background:var(--teal);color:#fff;border-color:var(--teal)}

/* ─── MOBILE MENU ─── */
.mob-overlay{position:fixed;inset:0;background:rgba(4,111,114,.15);backdrop-filter:blur(4px);z-index:1050;opacity:0;pointer-events:none;transition:opacity .35s}
.mob-overlay.open{opacity:1;pointer-events:all}
.mob-menu{position:fixed;top:0;right:-100%;width:290px;height:100vh;background:rgba(253,245,238,.97);backdrop-filter:blur(20px);z-index:1100;padding:6rem 2rem 2rem;transition:right .4s cubic-bezier(.16,1,.3,1);border-left:1px solid rgba(61,189,181,.15)}
.mob-menu.open{right:0}
.mob-menu ul{list-style:none}
.mob-menu ul li{margin-bottom:1.4rem}
.mob-menu ul li a{text-decoration:none;color:var(--teal-dark);font-family:'CalSans',sans-serif;font-size:1.05rem}
.mob-close{position:absolute;top:1.5rem;right:1.5rem;background:none;border:none;font-size:1.3rem;color:var(--teal-dark);font-family:'CalSans',sans-serif}

/* ─── RESPONSIVE ─── */
@media(max-width:768px){
  .navbar{padding:1rem 1.5rem}
  .nav-links{display:none}
  .hamburger{display:flex}
  .si{padding:4rem 1.5rem}
  .footer-grid{grid-template-columns:1fr}
  .footer-bottom{flex-direction:column;gap:.8rem;text-align:center}
  .vip-grid{grid-template-columns:1fr}
}
@media(max-width:1024px){
  .footer-grid{grid-template-columns:1fr 1fr;gap:2rem}
}

/* VIP plus discrète */
.vip-sec{background:rgba(237,248,247,.6)!important;padding:3.5rem 3rem!important;border-top:1px solid rgba(61,189,181,.12)!important}
.vip-sec::before{opacity:.5}
.vip-title{font-size:clamp(1.4rem,2.5vw,2rem)!important;color:var(--orange)!important}
.vip-badge{width:70px!important;height:70px!important}
.vip-card{padding:1.2rem!important;background:rgba(255,255,255,.45)!important;box-shadow:0 4px 16px rgba(4,111,114,.05)!important}
.vip-card h3{font-size:.88rem!important}
.vip-card p{font-size:.83rem!important}

/* ── CURSEUR GLASSMORPHISM (global) ── */
body{cursor:none}
a,button,select,input,textarea,[role="button"]{cursor:none}