/* Enhanced form layout; without JavaScript the existing complete form remains available. */
.rfq-form.v2-rfq { display: grid; grid-template-columns: minmax(0, 1fr); gap: 20px; }
.v2-rfq-progress { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; padding: 0; margin: 0; list-style: none; }
.v2-rfq-progress li { min-width: 0; }
.v2-rfq-progress button { display: flex; flex-direction: column; align-items: flex-start; width: 100%; min-height: 78px; gap: 8px; padding: 14px 12px; text-align: start; color: #526578; background: #f1f6fa; border: 1px solid #dce6ed; border-radius: 10px; font: inherit; font-size: 12px; font-weight: 600; line-height: 1.4; cursor: pointer; transition: background-color .16s, border-color .16s; }
.v2-rfq-progress button span:first-child { color: #677e92; font-size: 11px; font-weight: 500; letter-spacing: .12em; }
.v2-rfq-progress button:hover { background: #e8f1f7; border-color: #9bb7cd; }
.v2-rfq-progress button.is-current { color: #153d60; border-color: #6895b8; background: #e9f3fa; box-shadow: inset 0 -2px 0 #2b6b9f; }
.v2-rfq-progress button.is-current span:first-child { color: #28628f; }
.v2-rfq-progress button.is-complete { color: #334f64; background: #eef4f7; }
.v2-rfq-progress button:focus-visible, .v2-rfq-navigation button:focus-visible { outline: 3px solid #317cb7; outline-offset: 3px; }
.v2-rfq-status { margin: -8px 0 0; color: #586d7e; font-size: 12px; }
.v2-rfq-step { min-width: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; margin: 0; padding: 20px 0 0; border: 0; border-top: 1px solid #dde7ee; }
.v2-rfq-step[hidden], .v2-rfq-navigation button[hidden] { display: none !important; }
.v2-rfq-step legend { grid-column: 1 / -1; padding: 0 12px 0 0; margin-bottom: 8px; color: #173d5b; font-size: 21px; font-weight: 600; letter-spacing: -.02em; }
.v2-rfq-step > .full { grid-column: 1 / -1; }
.v2-rfq-step .form-field { min-width: 0; }
.v2-rfq-step input, .v2-rfq-step textarea, .v2-rfq-step select { max-width: 100%; }
.v2-rfq-navigation { display: flex; justify-content: space-between; gap: 12px; padding-top: 8px; }
.v2-rfq-navigation button:last-child { margin-inline-start: auto; }
@media (max-width: 600px) {
  .rfq-form.v2-rfq { gap: 18px; }
  .v2-rfq-progress { gap: 5px; }
  .v2-rfq-progress button { min-height: 84px; padding: 11px 8px; font-size: 11px; border-radius: 8px; }
  .v2-rfq-step { grid-template-columns: minmax(0, 1fr); gap: 16px; }
  .v2-rfq-step legend { font-size: 20px; }
  .v2-rfq-navigation button { min-height: 46px; }
}
@media (prefers-reduced-motion: reduce) {
  .v2-rfq-progress button { transition: none; }
}
