/* V10.4 — navigation et interactions vérifiées sur petit écran, tablette, desktop. */
html{scroll-padding-top:calc(var(--header-h,68px) + 17px)}
main>section[id],main>.section[id]{scroll-margin-top:calc(var(--header-h,68px) + 18px)}
body.mobile-nav-open{overflow:hidden}
.site-header .nav a:focus-visible,.site-header .burger:focus-visible{outline:3px solid #f3ad87;outline-offset:3px}
.site-header .nav a.is-current{opacity:1;border-color:#ef9a78}
.gallery__stage,.guide__view,.table-scroll,.rooms{min-width:0}
.gallery__stage button,.gallery__thumbs button{touch-action:manipulation}
.formcard :is(input,textarea,select):focus-visible{outline:3px solid #f0ad90;outline-offset:2px}
.formcard .field.has-err :is(input,textarea,select){border-color:#b64833}
.room-floating-tip{overflow-wrap:anywhere}
.footer--v91 .footer__links a,.footer--v91 .footer__contact-item{min-height:39px}
@media(max-width:1060px){
  .site-header .nav{z-index:51;overscroll-behavior:contain;max-height:calc(100dvh - var(--header-h,68px) - 12px);padding-bottom:max(24px,env(safe-area-inset-bottom,0px))}
  .site-header .nav__cta{width:100%;min-height:48px;justify-content:center}
  .site-header .burger{flex:none}
}
@media(max-width:599px){
  .site-header .nav{width:calc(100% - 2*var(--mf-gutter));margin-inline:var(--mf-gutter)}
  .hero__cta--v9 .btn{max-width:100%}
  #plans .rooms li button{min-height:46px}
  #rentabilite :is(.stress,.formula){max-width:100%}
  .footer--v91 .footer__actions a{min-height:49px}
  .formcard .btn{width:100%;justify-content:center}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .site-header .nav,.site-header .burger__bars,.site-header .burger__bars::before,.site-header .burger__bars::after{transition:none}
}
