/* Enquiry controls stay outside the scrolling form; existing type and colours remain. */
#inquiry { padding:0; overflow:hidden; }
#inquiry[open] { display:grid; grid-template-rows:auto minmax(0,1fr); }
#inquiry .dialog-toolbar {
  display:flex; justify-content:flex-end; align-items:center;
  min-height:58px; padding:8px 16px 6px; background:var(--cream);
}
#inquiry .dialog-close { position:static; width:44px; height:44px; flex:0 0 44px; }
#inquiry .dialog-body {
  min-height:0; overflow:auto; overscroll-behavior:contain;
  padding:0 40px 40px; scroll-padding-block:16px;
}
#inquiry .dialog-body > .eyebrow { padding-right:30px; }
.mobile-contact.contact-clearance { visibility:hidden; pointer-events:none; }
body:has(#inquiry[open]) .mobile-contact { visibility:hidden; pointer-events:none; }
@media(max-width:700px) {
  #inquiry .dialog-toolbar { min-height:56px; padding:6px 8px; }
  #inquiry .dialog-body { padding:0 23px calc(24px + env(safe-area-inset-bottom)); }
}

/* The keyboard changes the visual viewport, not necessarily 100dvh.
 * Keep the existing type and width. Never resize the form to pinch-zoom width. */
#inquiry { max-inline-size:620px; }
#inquiry .dialog-body { scroll-behavior:auto; }
#inquiry :is(input,select,textarea) { font-size:16px; }
@media (max-width:700px), (max-height:600px), (max-width:1100px) and (pointer:coarse) {
  #inquiry {
    --inquiry-edge:10px;
    top:calc(var(--inquiry-viewport-top,0px) + var(--inquiry-edge) + env(safe-area-inset-top));
    bottom:auto;
    margin-block:0;
    max-height:calc(var(--inquiry-viewport-height,100dvh) - 2 * var(--inquiry-edge) - env(safe-area-inset-top) - env(safe-area-inset-bottom));
    max-block-size:calc(var(--inquiry-viewport-height,100dvh) - 2 * var(--inquiry-edge) - env(safe-area-inset-top) - env(safe-area-inset-bottom));
  }
}
