/* Request forms: readable fields and a scroll area that fits the phone keyboard. */
.request-form-header { position:relative; flex:none; padding-right:48px; margin-bottom:20px; }
.request-form-header .eyebrow { margin:0 0 8px; }
.lead-dialog .request-form-header h2,
#customOrderDialog .request-form-header h2 { margin:0; font-size:28px; line-height:1.1; }
.request-form-header #leadClose,
.request-form-header #customClose { top:-6px; right:-6px; width:48px; height:48px; min-width:48px; min-height:48px; }
.lead-form { gap:20px; }
.lead-dialog .lead-form { grid-template-columns:minmax(0,1fr); }
.lead-form > *, #customOrderForm > * { min-width:0; }
.lead-form label { font-size:14px; line-height:1.4; letter-spacing:.025em; }
.lead-form input:not([type=checkbox]):not([type=hidden]),
.lead-form select, .lead-form textarea,
#customOrderForm input:not([type=hidden]), #customOrderForm select, #customOrderForm textarea,
#vipForm input:not([type=checkbox]):not([type=hidden]) {
  box-sizing:border-box; min-width:0; max-width:100%; min-height:50px;
  padding:12px; font:400 16px/1.5 Roboto,Arial,sans-serif;
  scroll-margin-block:16px;
}
.lead-form textarea, #customOrderForm textarea { min-height:144px; }
.lead-form .consent { min-height:44px; align-items:flex-start; font-size:14px; line-height:1.5; padding:8px 0; }
.lead-form .consent input { width:24px; height:24px; }
.lead-form .form-status, #customOrderForm .form-status { font-size:16px; line-height:1.5; }
.lead-form .turnstile-slot, #customOrderForm .turnstile-slot { min-width:0; }
.lead-form input:focus-visible, .lead-form textarea:focus-visible, .lead-form select:focus-visible,
#customOrderForm input:focus-visible, #customOrderForm textarea:focus-visible, #customOrderForm select:focus-visible {
  outline:2px solid var(--teal,#00e6d6); outline-offset:3px;
}
@media (max-width:900px), (pointer:coarse) {
  .lead-dialog:not([hidden]), #customOrderDialog[open] {
    box-sizing:border-box; position:fixed; display:flex; flex-direction:column;
    top:calc(var(--form-viewport-top,0px) + 8px); bottom:auto; left:8px; right:auto;
    transform:none; margin:0; width:calc(100% - 16px); max-width:none;
    height:calc(var(--form-viewport-height,100dvh) - 16px);
    max-height:calc(var(--form-viewport-height,100dvh) - 16px);
    padding:16px 12px max(12px,env(safe-area-inset-bottom));
    border:1px solid var(--teal,#00e6d6); border-radius:8px; overflow:hidden;
  }
  .lead-dialog .request-form-header, #customOrderDialog .request-form-header { margin-bottom:16px; }
  .lead-dialog .request-form-header h2, #customOrderDialog .request-form-header h2 { font-size:24px; }
  .lead-dialog .lead-form, #customOrderForm {
    flex:1; min-height:0; margin:0; overflow-y:auto; overflow-x:hidden;
    overscroll-behavior-y:contain; -webkit-overflow-scrolling:touch;
    scroll-padding-block:16px; padding:4px 4px 24px;
    align-content:start;
  }
  .lead-form, .contact-page .lead-form { grid-template-columns:minmax(0,1fr); gap:20px; }
  .lead-form label.full, .lead-submit, .form-status, .turnstile-slot { grid-column:1/-1; }
  #customOrderForm label { font-size:16px; line-height:1.5; }
  #customOrderForm .custom-controls { gap:12px; flex-wrap:wrap; }
  #customOrderForm .custom-controls button { min-height:50px; }
}
