/* 4dsHub CONTACT stable layout v8
   One isolated scroll surface under the real menu. No legacy grid clearance,
   no duplicated top padding, and no scroll-time relayout/reset. */
html.contact-stable-v7-active,
body.contact-stable-v7-active{
  width:100%!important;
  height:100%!important;
  overflow:hidden!important;
}

body.contact-stable-v7-active .site{
  height:0!important;
  min-height:0!important;
  padding:0!important;
  margin:0!important;
  overflow:hidden!important;
  visibility:hidden!important;
}
body.contact-stable-v7-active .recep-chrome-layer{
  visibility:visible!important;
}

#contact-stable-v7{
  position:fixed!important;
  left:0!important;
  right:0!important;
  top:var(--contact-v7-top,320px)!important;
  bottom:0!important;
  width:100vw!important;
  height:auto!important;
  margin:0!important;
  padding:0!important;
  overflow-x:hidden!important;
  overflow-y:auto!important;
  overscroll-behavior:none!important;
  scroll-behavior:auto!important;
  overflow-anchor:none!important;
  touch-action:pan-y!important;
  -webkit-overflow-scrolling:touch!important;
  background:transparent!important;
  z-index:80!important;
  box-sizing:border-box!important;
  scrollbar-width:thin;
}
#contact-stable-v7[hidden]{display:none!important;}

#contact-stable-v7 > .concept-contact,
#contact-stable-v7 > .concept-contact.is-active{
  position:relative!important;
  inset:auto!important;
  display:block!important;
  width:100%!important;
  max-width:none!important;
  height:auto!important;
  min-height:0!important;
  margin:0!important;
  padding:12px var(--safe-x,40px) 48px!important;
  overflow:visible!important;
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
  transform:none!important;
  filter:none!important;
  contain:none!important;
  content-visibility:visible!important;
  background:transparent!important;
  box-sizing:border-box!important;
}
#contact-stable-v7 > .concept-contact::before,
#contact-stable-v7 > .concept-contact::after{
  display:none!important;
  content:none!important;
}

#contact-stable-v7 .contact-holy-wrap{
  position:relative!important;
  display:grid!important;
  grid-template-columns:minmax(360px,1fr) minmax(390px,520px)!important;
  align-items:start!important;
  gap:clamp(24px,3vw,48px)!important;
  width:min(1380px,92vw)!important;
  max-width:1380px!important;
  height:auto!important;
  min-height:0!important;
  margin:0 auto!important;
  padding:0!important;
  transform:none!important;
  background:transparent!important;
  box-sizing:border-box!important;
}
#contact-stable-v7 .contact-map-panel,
#contact-stable-v7 .map-wrap,
#contact-stable-v7 .contact-copy,
#contact-stable-v7 .quick-contact-form{
  position:relative!important;
  inset:auto!important;
  margin-top:0!important;
  padding-top:0!important;
  transform:none!important;
}
#contact-stable-v7 .contact-map-panel{margin:0!important;align-self:start!important;}
#contact-stable-v7 .map-wrap{width:100%!important;max-width:610px!important;margin:0!important;}
#contact-stable-v7 .contact-copy{margin:10px 0 0!important;text-align:left!important;}
#contact-stable-v7 .quick-contact-form{
  align-self:start!important;
  margin:0!important;
  padding:clamp(18px,1.8vw,30px)!important;
  gap:10px!important;
  box-shadow:0 16px 42px rgba(0,0,0,.22)!important;
}
#contact-stable-v7 .quick-contact-form textarea{min-height:78px!important;}

/* Keep CONTACT completely stable while scrolling: no pulse/transform work on map markers. */
#contact-stable-v7 .map-wrap i,
#contact-stable-v7 .map-wrap i::before,
#contact-stable-v7 .map-wrap i::after{
  animation:none!important;
  transition:none!important;
}

@media(max-width:900px){
  #contact-stable-v7 > .concept-contact,
  #contact-stable-v7 > .concept-contact.is-active{padding:8px 16px 36px!important;}
  #contact-stable-v7 .contact-holy-wrap{display:block!important;width:min(92vw,760px)!important;max-width:760px!important;}
  #contact-stable-v7 .contact-map-panel{margin:0 0 20px!important;}
  #contact-stable-v7 .map-wrap{max-width:540px!important;margin:0 auto!important;}
  #contact-stable-v7 .quick-contact-form{max-width:680px!important;margin:0 auto!important;}
}
@media(max-width:520px){
  #contact-stable-v7 > .concept-contact,
  #contact-stable-v7 > .concept-contact.is-active{padding-left:12px!important;padding-right:12px!important;}
}
