/* Shared product selection for the quick inquiry and full contact form. */
.product-picker { border: 1px solid var(--line); border-radius: 3px; min-width: 0; margin: 0 0 24px; padding: 22px; background: #f7f8f8; }
.product-picker legend { color: #111; padding: 0 8px; margin-left: -8px; font: 400 26px/1.25 var(--heading-font); letter-spacing: 0; }
.product-picker-fields { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.4fr); gap: 16px; }
.product-picker label { display: flex; flex-direction: column; gap: 8px; min-width: 0; font: 400 13px/1.5 var(--body-font, Arial, sans-serif); color: #34383b; margin: 0; }
.product-picker label:last-child { grid-column: 1 / -1; }
.product-picker[data-ready] label:last-child { grid-column: auto; }
.product-picker select { width: 100%; min-width: 0; height: 48px; padding: 10px 30px 10px 12px; font: 400 14px/1.5 var(--body-font, Arial, sans-serif); color: #202528; border: 1px solid #bfc7cb; border-radius: 2px; background: #fff; }
.product-picker [hidden] { display: none; }
.product-picker-preview { display: grid; grid-template-columns: minmax(0, 1fr); gap: 18px; align-items: center; margin-top: 20px; border-top: 1px solid var(--line); padding-top: 20px; }
.product-picker-preview.has-image { grid-template-columns: 104px minmax(0, 1fr); }
.product-picker-preview > img { width: 104px; height: 88px; object-fit: cover; border: 1px solid var(--line); border-radius: 2px; background: #e9edee; }
.product-picker-preview > div { min-width: 0; }
.product-picker [data-product-title] { margin: 0; font: 400 24px/1.25 var(--heading-font); letter-spacing: 0; color: #111; }
.product-picker [data-product-description] { margin: 7px 0 0; font: 400 12px/1.7 var(--body-font, Arial, sans-serif); color: var(--muted); }
.product-picker .button { margin-top: 12px; padding: 7px 12px; min-height: 36px; font-size: 11px; }
.product-picker .button[hidden] { display: none; }
.request-fieldset { margin: 0; min-width: 0; border: 0; padding: 0; }
.request-fieldset + .request-fieldset { margin-top: 30px; padding-top: 26px; border-top: 1px solid var(--line); }
.request-fieldset legend { float: left; width: 100%; padding: 0; margin-bottom: 18px; font: 400 27px/1.3 var(--heading-font); letter-spacing: 0; color: #111; }
.request-fieldset > .service-form-grid { clear: both; }
.request-fieldset .service-form-grid label { margin: 0; }
.service-request .product-picker { margin-bottom: 30px; }
.service-request .product-picker .button { min-height: 36px; }
.service-request #contact-request > .button { min-height: 48px; }
.contact-page .service-contact-layout { grid-template-columns: minmax(0, 1fr); }
.contact-page .service-contact-aside { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.service-form-status:empty { display: none; }
#inquiry-dialog { width: min(660px, calc(100% - 28px)); }
#inquiry-dialog h2 { font: 400 36px/1.2 var(--heading-font); letter-spacing: 0; color: #111; }
#inquiry-dialog .dialog-intro { margin: 12px 0 22px; line-height: 1.7; }
#inquiry-dialog .product-picker { padding: 18px; margin-bottom: 20px; }
#inquiry-dialog .product-picker legend { font-size: 24px; }
#inquiry-dialog .product-picker-fields { grid-template-columns: minmax(0, 1fr); gap: 13px; }
#inquiry-dialog .product-picker-preview { margin-top: 16px; padding-top: 16px; }
#inquiry-dialog .product-picker select { height: 44px; font-size: 13px; }
#inquiry-dialog .product-picker [data-product-title] { font-size: 22px; }
@media (max-width: 980px) {
  .product-picker-fields { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 600px) {
  .contact-page .service-contact-aside { grid-template-columns: minmax(0, 1fr); }
  .product-picker, #inquiry-dialog .product-picker { padding: 17px; }
  .product-picker select, #inquiry-dialog .product-picker select { font-size: 16px; }
  .product-picker-preview.has-image { grid-template-columns: 76px minmax(0, 1fr); gap: 14px; align-items: start; }
  .product-picker-preview > img { width: 76px; height: 76px; }
  .product-picker [data-product-title] { font-size: 22px; }
  #inquiry-dialog { padding: 22px 18px; }
  #inquiry-dialog .form-row { grid-template-columns: minmax(0, 1fr); gap: 0; }
  #inquiry-dialog h2 { font-size: 31px; }
  .request-fieldset + .request-fieldset { margin-top: 25px; padding-top: 22px; }
}
