/* Round 20: robust touch scrolling and close controls on mobile.
   Maintain the Round 19 layout; no model images, pricing, or form delivery changes. */
.pmm-builder-shell,.pmm-builder-shell body{max-width:100%;overflow-x:hidden!important}
.pmm-builder-shell body{position:relative;overscroll-behavior-x:none;touch-action:pan-y pinch-zoom}
.r5-section,.r5-hero,.r5-footer,.topbar{max-width:100%;overflow-x:clip}
.r5-inner,.r5-grid,.r5-card,.r5-card-body,.r5-design-box,.r5-links,.container,
.r17-footer-inner,.r17-footer-intro,.r17-footer-menu{min-width:0}
.r5-card,.r5-card-body,.r5-design-box,.r17-footer-menu,.r5-section{overflow-wrap:anywhere}
.r5-btn{max-width:100%;white-space:normal}
/* Inquiry form: shrink to visible screen including mobile address bar / safe area. */
.pmm-pop-overlay{
  position:fixed!important;
  inset:0!important;
  height:100dvh!important;
  max-width:100vw!important;
  overflow-x:hidden!important;
  overflow-y:auto!important;
  overscroll-behavior:contain;
  padding:max(12px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left))!important;
  align-items:safe center;
}
.pmm-pop-dialog{
  max-height:calc(100dvh - 28px)!important;
  max-width:100%!important;
  overflow-x:hidden!important;
  overflow-y:auto!important;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
  scroll-padding-top:56px;
  padding:16px 20px 22px!important;
}
/* Sticky close never scrolls behind Safari/Chrome address-bar area. */
.pmm-pop-close{
  position:sticky!important;
  top:0!important;
  right:auto!important;
  float:right;
  z-index:10!important;
  display:grid!important;
  place-items:center!important;
  width:44px!important;
  height:44px!important;
  min-width:44px!important;
  border-radius:50%!important;
  margin:-2px -5px 2px 9px!important;
  background:#f0e5d4!important;
  color:#122f26!important;
  font-size:28px!important;
  box-shadow:0 1px 7px #0003;
  touch-action:manipulation;
}
.pmm-pop-close:focus-visible,.pmm-design-dialog .close-d:focus-visible{
 outline:3px solid #b88631;outline-offset:2px;
}
/* The two multi-step configurators get the same mobile address-bar safety. */
#pmmDesignOverlay,#pmmLandOverlay{
 height:100dvh!important;
 max-width:100vw;
 overflow-x:hidden;
 overflow-y:auto;
 overscroll-behavior:contain;
 padding:max(12px,env(safe-area-inset-top)) 12px max(12px,env(safe-area-inset-bottom))!important;
 align-items:safe center;
}
.pmm-design-dialog{
 max-height:calc(100dvh - 28px)!important;
 max-width:100%!important;
 overflow-x:hidden;
 overscroll-behavior:contain;
 -webkit-overflow-scrolling:touch;
 scroll-padding-top:58px;
}
.pmm-design-dialog .close-d{
 position:sticky!important;
 top:0!important;
 right:auto!important;
 float:right;
 z-index:10!important;
 width:44px!important;
 height:44px!important;
 display:grid!important;
 place-items:center!important;
 margin:-4px -7px 2px 10px!important;
 border-radius:50%!important;
 background:#f0e5d4!important;
 color:#122f26!important;
 box-shadow:0 1px 7px #0003;
 touch-action:manipulation;
}
@media(max-width:640px){
 .pmm-pop-dialog{padding:14px 16px 18px!important}
 .pmm-pop-dialog h2{font-size:23px;margin-top:5px}
 .r5-design-box .r5-links{flex-wrap:wrap}
 .pmm-design-dialog{padding:13px 15px 18px!important}
}
