/* Small fallback styling for [bam_quote_form] when the BAM theme is inactive. */
.quote-form {
  color: #172338;
  background: #f5f7fa;
  border: 1px solid #d8dee8;
  border-radius: 8px;
  padding: clamp(20px, 4vw, 32px);
}
.quote-form h2,
.quote-success h2,
.form-notice h2 { margin: 0 0 8px; line-height: 1.2; }
.quote-form .form-intro,
.quote-form .form-help,
.quote-form .form-footer { color: #536176; }
.quote-form .form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.quote-form .form-field.full { grid-column: 1 / -1; }
.quote-form .form-field label,
.quote-form .form-field legend { display: block; margin-bottom: 7px; font-weight: 600; }
.quote-form .form-field fieldset { min-width: 0; padding: 0; border: 0; }
.quote-form .form-field input:not([type="checkbox"]),
.quote-form .form-field select,
.quote-form .form-field textarea {
  box-sizing: border-box;
  width: 100%;
  min-height: 44px;
  padding: 10px 12px;
  color: #172338;
  background: #fff;
  border: 1px solid #9aa7b8;
  border-radius: 4px;
}
.quote-form .form-field textarea { min-height: 130px; resize: vertical; }
.quote-form .check-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
.quote-form .check-option { display: flex; align-items: center; gap: 9px; padding: 10px; border: 1px solid #c8d0dc; border-radius: 4px; }
.quote-form .consent { display: flex; gap: 10px; margin: 22px 0 16px; align-items: flex-start; }
.quote-form .consent input { margin-top: 5px; }
.quote-form .button { min-height: 46px; padding: 10px 20px; border: 0; border-radius: 5px; color: #fff; background: #c91e32; font: inherit; font-weight: 600; cursor: pointer; }
.quote-form :focus-visible,
.quote-success :focus-visible { outline: 3px solid #1769aa; outline-offset: 3px; }
.quote-form .optional { font-size: .85em; font-weight: 400; }
.quote-form .form-help,
.quote-form .form-footer { font-size: .85em; }
.quote-form .bam-trap { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
.form-notice { margin-bottom: 20px; padding: 18px 22px; color: #5b1a23; background: #fff1f2; border: 1px solid #d58b94; border-radius: 6px; }
.form-notice.success,
.quote-success { padding: 24px; color: #123e2c; background: #effaf4; border: 1px solid #8ec8a8; border-radius: 8px; }
@media (max-width: 600px) {
  .quote-form .form-grid,
  .quote-form .check-grid { grid-template-columns: 1fr; }
  .quote-form .form-field.full { grid-column: auto; }
}
