/* HEADER STICKY */
.site-header{
  position:fixed;
  top:0;left:0;right:0;
  height:var(--header-h-mobile);
  background:rgba(247,241,225,.92);
  backdrop-filter:saturate(140%) blur(8px);
  -webkit-backdrop-filter:saturate(140%) blur(8px);
  border-bottom:1px solid transparent;
  z-index:var(--z-header);
  transition:border-color .25s ease, background .25s ease, box-shadow .25s ease;
}
.site-header.is-scrolled{
  border-bottom-color:var(--border);
  box-shadow:0 4px 18px rgba(49,42,32,.06);
}
.header-inner{
  height:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  max-width:var(--container);
  margin:0 auto;
  padding:0 20px;
}
.brand{
  display:inline-flex;
  align-items:center;
  gap:10px;
  color:var(--text);
  font-family:var(--ff-display);
  font-size:1.05rem;
  letter-spacing:.005em;
  font-weight:500;
}
.brand:hover{color:var(--text);}
.brand-mono{
  width:38px;height:38px;
  flex-shrink:0;
  border-radius:8px;
  display:block;
}
.brand-text{
  display:flex;
  flex-direction:column;
  line-height:1.1;
}
.brand-name{font-family:var(--ff-display);font-size:1.05rem;}
.brand-city{font-family:var(--ff-body);font-size:.72rem;color:var(--text-mute);text-transform:uppercase;letter-spacing:.14em;}
.open-dot{
  display:inline-block;width:7px;height:7px;border-radius:50%;
  background:var(--ok);margin-right:4px;
  box-shadow:0 0 0 4px rgba(58,122,63,.16);
}
.open-dot.is-closed{background:var(--warn);box-shadow:0 0 0 4px rgba(182,83,42,.16);}

.nav-desktop{display:none;}
.nav-desktop ul{list-style:none;display:flex;gap:28px;margin:0;padding:0;}
.nav-desktop a{
  font-family:var(--ff-ui);font-size:.92rem;color:var(--text-2);
  position:relative;padding:4px 0;font-weight:500;
}
.nav-desktop a:hover,.nav-desktop a[aria-current="true"]{color:var(--text);}
.nav-desktop a::after{
  content:"";position:absolute;left:0;right:0;bottom:-2px;height:1.5px;
  background:var(--accent);transform:scaleX(0);transform-origin:left center;
  transition:transform .25s ease;
}
.nav-desktop a:hover::after{transform:scaleX(1);}

.header-cta{display:none;}
.header-cta .btn{padding:8px 14px;font-size:.88rem;}

/* BURGER */
.burger{
  width:42px;height:42px;
  display:inline-flex;align-items:center;justify-content:center;
  border:0;background:transparent;cursor:pointer;
  border-radius:8px;
  color:var(--text);
  padding:0;
  -webkit-tap-highlight-color:transparent;
}
.burger span,.burger span::before,.burger span::after{
  content:"";display:block;width:22px;height:2px;
  background:currentColor;border-radius:2px;
  transition:transform .3s ease, top .25s ease, opacity .2s ease;
  position:relative;
}
.burger span::before{position:absolute;top:-7px;}
.burger span::after{position:absolute;top:7px;}
.burger.is-open span{background:transparent;}
.burger.is-open span::before{top:0;transform:rotate(45deg);}
.burger.is-open span::after{top:0;transform:rotate(-45deg);}

@media(min-width:768px){
  .site-header{height:var(--header-h);}
  .header-inner{padding:0 40px;}
  .brand-mono{width:44px;height:44px;}
  .brand-name{font-size:1.18rem;}
  .nav-desktop{display:flex;}
  .header-cta{display:inline-flex;gap:10px;align-items:center;}
  .burger{display:none;}
}

/* MAIN spacer */
main{padding-top:var(--header-h-mobile);}
@media(min-width:768px){main{padding-top:var(--header-h);}}

/* SECTION rythme */
section{
  padding:56px 0;
  position:relative;
}
@media(min-width:768px){
  section{padding:88px 0;}
}
section + section.tight{padding-top:32px;}

/* FOOTER */
.site-footer{
  background:#2A241C;
  color:#D8CFB7;
  padding:48px 0 24px;
  font-size:.94rem;
}
.site-footer h4{color:#F2E9CE;font-family:var(--ff-display);margin:0 0 12px;font-size:1.05rem;}
.site-footer a{color:#D8CFB7;}
.site-footer a:hover{color:#fff;}
.footer-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:32px;
  margin-bottom:32px;
}
.footer-grid p{color:#D8CFB7;margin:0 0 6px;}
.footer-bottom{
  border-top:1px solid rgba(255,255,255,.08);
  padding-top:18px;
  display:flex;flex-wrap:wrap;gap:12px 20px;
  justify-content:space-between;align-items:center;
  font-size:.82rem;color:#9C9277;
}
.footer-bottom a{color:#9C9277;text-decoration:underline;text-decoration-color:rgba(255,255,255,.18);}
.footer-bottom a:hover{color:#F2E9CE;}
@media(min-width:768px){
  .footer-grid{grid-template-columns:1.4fr 1fr 1fr;gap:48px;}
}

/* FAB Mobile */
.fab-call{
  position:fixed;
  right:16px;
  bottom:16px;
  z-index:var(--z-fab);
  display:inline-flex;align-items:center;gap:8px;
  padding:14px 18px;
  background:var(--accent);
  color:#fff;
  border-radius:999px;
  font-family:var(--ff-ui);font-weight:600;font-size:.95rem;
  box-shadow:0 8px 24px rgba(107,122,58,.35);
  text-decoration:none;
}
.fab-call:hover{background:var(--accent-ink);color:#fff;}
@media(min-width:768px){.fab-call{display:none;}}

/* MENU MOBILE (panneau plein ecran) */
.menu-mobile{
  position:fixed;
  top:0;left:0;
  width:100%;
  height:100dvh;
  background:var(--bg);
  z-index:var(--z-menu);
  padding:calc(var(--header-h-mobile) + 24px) 24px 40px;
  display:flex;
  flex-direction:column;
  gap:6px;
  overflow-y:auto;
  -webkit-overflow-scrolling:touch;
  transform:translateY(-100%);
  opacity:0;
  visibility:hidden;
  transition:transform .35s ease, opacity .35s ease, visibility 0s linear .35s;
}
.menu-mobile.is-open{
  transform:translateY(0);
  opacity:1;
  visibility:visible;
  transition:transform .35s ease, opacity .35s ease;
}
.menu-mobile a{
  display:flex;align-items:center;justify-content:space-between;
  padding:18px 4px;
  font-family:var(--ff-display);
  font-size:1.5rem;
  color:var(--text);
  border-bottom:1px solid var(--border);
  text-decoration:none;
}
.menu-mobile a::after{content:"→";color:var(--accent);font-size:1.1rem;opacity:.6;}
.menu-mobile a:last-of-type{border-bottom:0;}
.menu-mobile .menu-cta{
  margin-top:24px;
  display:flex;flex-direction:column;gap:10px;
}
.menu-mobile .menu-cta a{
  font-family:var(--ff-ui);font-size:1rem;
  border-bottom:0;
  padding:14px 18px;
  border-radius:var(--r-md);
  justify-content:center;
}
.menu-mobile .menu-cta a::after{content:"";}
@media(min-width:768px){
  .burger{display:none;}
  .menu-mobile{display:none;}
}
