
/* Jay Consultant v16 — approved cumulative UX corrections.
   User's latest reference supersedes the earlier charcoal-header/white-body RFQ proposal.
   ALL RFQ: steel-grey heading with black text; red form body; white fields;
   metallic-grey action buttons with black text. No backend field changes. */
:root{--rfq-v16-ink:#111315;--rfq-v16-grey:#C7CED3;--rfq-v16-red:#D91E36;--rfq-v16-btn:#B5BEC5;}

/* HOME-UX-01: Balanced 2x2 four-stage B2B order process, retain ol semantics. */
.v12-final #sec-05 ol.steps {
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:16px!important;
  list-style:none;
  padding:0!important;
  margin:20px 0 10px!important;
  counter-reset:steps;
}
.v12-final #sec-05 ol.steps>li {
  display:grid!important;
  grid-template-columns:54px minmax(0,1fr)!important;
  grid-template-rows:auto 1fr!important;
  align-content:start!important;
  align-items:start!important;
  column-gap:14px!important;
  row-gap:8px!important;
  padding:20px!important;
  background:#fff!important;
  border:3px solid var(--rfq-v16-ink)!important;
  border-top:6px solid var(--rfq-v16-red)!important;
  box-shadow:4px 4px 0 var(--rfq-v16-ink)!important;
  min-width:0;
  border-radius:0;
}
.v12-final #sec-05 ol.steps>li:nth-child(even){background:#E7EBEE!important}
.v12-final #sec-05 ol.steps>li::before {
  display:grid!important;
  place-items:center!important;
  content:counter(steps, decimal-leading-zero)!important;
  grid-column:1!important;
  grid-row:1/3!important;
  position:static!important;
  padding:0!important;
  margin:0!important;
  width:49px!important;
  height:49px!important;
  min-width:49px!important;
  color:#fff!important;
  background:var(--rfq-v16-red)!important;
  border:2px solid var(--rfq-v16-ink)!important;
  font-size:1.05rem!important;
  font-weight:950!important;
  line-height:1!important;
}
.v12-final #sec-05 ol.steps>li>strong {
  grid-column:2!important;
  grid-row:1!important;
  min-width:0!important;
  max-width:none!important;
  font-weight:950!important;
  font-size:clamp(1.03rem,1.9vw,1.2rem)!important;
  line-height:1.24!important;
}
.v12-final #sec-05 ol.steps>li>span {
  grid-column:2!important;
  grid-row:2!important;
  font-size:.94rem!important;
  line-height:1.5!important;
}

/* ABT-UX-01: Removed figure must not leave any two-column media vacancy. */
.v12-final #sec-01 .editorial-copy-only {
  display:block!important;
  width:100%!important;
  max-width:none!important;
  padding:0!important;
}
.v12-final #sec-01 .editorial-copy-only>p{max-width:80ch;margin:0 0 18px}

/* Global RFQ: grey top strip with black label, title and supporting copy. */
.v12-final .rfq-panel>.rfq-banner-v12,
.v12-final .rfq-intake-section>.rfq-intake-banner-v12 {
  background:var(--rfq-v16-grey)!important;
  color:var(--rfq-v16-ink)!important;
  border:3px solid var(--rfq-v16-ink)!important;
  border-bottom:4px solid var(--rfq-v16-ink)!important;
  margin:0!important;
  padding:clamp(17px,2.5vw,28px)!important;
}
.v12-final .rfq-panel>.rfq-banner-v12 .eyebrow,
.v12-final .rfq-panel>.rfq-banner-v12 h2,
.v12-final .rfq-panel>.rfq-banner-v12 p,
.v12-final .rfq-intake-section>.rfq-intake-banner-v12 h2,
.v12-final .rfq-intake-section>.rfq-intake-banner-v12 p,
.v12-final .rfq-intake-section>.rfq-intake-banner-v12 .rfq-intake-intro{
  color:var(--rfq-v16-ink)!important;
}
.v12-final .rfq-panel>.rfq-banner-v12 h2::before,
.v12-final .rfq-intake-section>.rfq-intake-banner-v12 h2::before {
  background:var(--rfq-v16-red)!important;
}
.v12-final .rfq-panel>.rfq-banner-v12 .eyebrow {
  font-weight:900!important;
}

/* All embedded RFQs: one visually unified red body. */
.v12-final .rfq-panel {
  background:#E7EBEE!important;
  border:3px solid var(--rfq-v16-ink)!important;
  padding:0!important;
  overflow:visible;
}
.v12-final .rfq-panel>.rfq-form {
  width:100%!important;
  margin:0!important;
  padding:clamp(16px,2.6vw,26px)!important;
  box-sizing:border-box!important;
  border:3px solid var(--rfq-v16-ink)!important;
  border-top:0!important;
  background:var(--rfq-v16-red)!important;
  color:#fff!important;
  box-shadow:none!important;
}

/* Dedicated /request-for-quotation/ wizard uses same form colour system. */
.v12-final .rfq-intake-section {
  background:#E7EBEE!important;
  border:3px solid var(--rfq-v16-ink)!important;
  overflow:visible;
}
.v12-final .rfq-intake-section>.rfq-intake-banner-v12 {
  border:0!important;
  border-bottom:4px solid var(--rfq-v16-ink)!important;
}
.v12-final .rfq-intake-section>.rfq-intake-grid {
  background:var(--rfq-v16-red)!important;
  padding:clamp(13px,2vw,23px)!important;
  min-width:0;
  box-sizing:border-box!important;
}
.v12-final .rfq-intake-grid>.rfq-intake-form{min-width:0!important}
.v12-final .rfq-intake-form .rfq-form.wizard-form{
  margin:0!important;
  padding:clamp(10px,2vw,19px)!important;
  border:3px solid var(--rfq-v16-ink)!important;
  box-shadow:4px 4px 0 var(--rfq-v16-ink)!important;
  background:var(--rfq-v16-red)!important;
  color:#fff!important;
}

/* Universal RFQ typography and white buyer fields. */
.v12-final form.rfq-form,
.v12-final form.rfq-form .wizard-panel,
.v12-final form.rfq-form label,
.v12-final form.rfq-form .checkline,
.v12-final form.rfq-form legend,
.v12-final form.rfq-form h3,
.v12-final form.rfq-form p.step-description,
.v12-final form.rfq-form .form-status {
  color:#fff!important;
}
.v12-final form.rfq-form label{font-size:clamp(.83rem,1vw,.95rem)!important;line-height:1.5}
.v12-final form.rfq-form input:not([type=checkbox]),
.v12-final form.rfq-form select,
.v12-final form.rfq-form textarea{
  background:#fff!important;
  color:var(--rfq-v16-ink)!important;
  border:2px solid var(--rfq-v16-ink)!important;
  border-radius:0!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  box-sizing:border-box!important;
  padding:10px 11px!important;
  box-shadow:none!important;
  font-size:16px!important;
}
.v12-final form.rfq-form input::placeholder,
.v12-final form.rfq-form textarea::placeholder{color:#555b60!important;opacity:1}
.v12-final form.rfq-form input:focus-visible,
.v12-final form.rfq-form textarea:focus-visible,
.v12-final form.rfq-form select:focus-visible{
  outline:3px solid #fff!important;
  outline-offset:2px!important;
}
.v12-final form.rfq-form input[type=checkbox]{accent-color:var(--rfq-v16-ink);width:19px;height:19px}
.v12-final form.rfq-form a:not(.btn){color:#fff!important;text-decoration:underline;text-underline-offset:3px}
.v12-final form.rfq-form .rfq-technical-details{
  background:transparent!important;
  border:2px solid #fff!important;
  color:#fff!important;
  padding:12px!important;
}
.v12-final form.rfq-form .rfq-technical-details summary,
.v12-final form.rfq-form .rfq-technical-details p{color:#fff!important}
.v12-final form.rfq-form .rfq-technical-details input[type=file]{
  background:#fff!important;color:var(--rfq-v16-ink)!important;
}
.v12-final form.rfq-form .form-grid,
.v12-final form.rfq-form .form-grid>*{min-width:0;max-width:100%}

/* Metallic-grey buttons with heavy black outlines and black text.
   Keep functional type/disabled/submit buttons unchanged. */
.v12-final form.rfq-form button.btn,
.v12-final form.rfq-form .wizard-controls button,
.v12-final form.rfq-form .form-actions button{
  background:var(--rfq-v16-btn)!important;
  color:var(--rfq-v16-ink)!important;
  border:3px solid var(--rfq-v16-ink)!important;
  border-radius:0!important;
  box-shadow:4px 4px 0 var(--rfq-v16-ink)!important;
  min-height:44px;
  font-weight:900!important;
}
.v12-final form.rfq-form button.btn:hover:not(:disabled),
.v12-final form.rfq-form .wizard-controls button:hover:not(:disabled),
.v12-final form.rfq-form .wizard-nav button:hover:not(:disabled){
  background:#f1f3f4!important;
  color:var(--rfq-v16-ink)!important;
}
.v12-final form.rfq-form .wizard-nav .wizard-tab{
  background:var(--rfq-v16-btn)!important;
  color:var(--rfq-v16-ink)!important;
  border:2px solid var(--rfq-v16-ink)!important;
  box-shadow:none!important;
  font-weight:900!important;
  min-height:52px;
}
.v12-final form.rfq-form .wizard-nav .wizard-tab[data-active=true]{
  background:#fff!important;
  box-shadow:inset 0 -5px 0 var(--rfq-v16-ink)!important;
}
.v12-final form.rfq-form .wizard-tab-num{
  background:var(--rfq-v16-ink)!important;
  color:#fff!important;
}
.v12-final form.rfq-form .rfq-review dt{
  background:var(--rfq-v16-grey)!important;
  color:var(--rfq-v16-ink)!important;
  border-color:var(--rfq-v16-ink)!important;
}
.v12-final form.rfq-form .rfq-review dd{
  color:var(--rfq-v16-ink)!important;
  background:#fff!important;
  border-color:var(--rfq-v16-ink)!important;
}
.v12-final form.rfq-form .rfq-review{
  border:2px solid var(--rfq-v16-ink)!important;
}
.v12-final form.rfq-form .wizard-panel h3{color:#fff!important}
.v12-final form.rfq-form .step-description{color:#fff!important}

/* Clear confirmation remains distinct from the form, retains reference and buttons. */
.v12-final .rfq-success{
  background:#fff!important;
  color:var(--rfq-v16-ink)!important;
  border:3px solid var(--rfq-v16-ink)!important;
}
.v12-final .rfq-success .btn{background:var(--rfq-v16-btn)!important;color:var(--rfq-v16-ink)!important;border:3px solid var(--rfq-v16-ink)!important}
.v12-final .rfq-success h2,.v12-final .rfq-success p{color:var(--rfq-v16-ink)!important}

/* Responsive: keep fields within red form and mobile step labels legible. */
@media (max-width:750px){
  .v12-final #sec-05 ol.steps{grid-template-columns:minmax(0,1fr)!important;gap:14px!important}
  .v12-final #sec-05 ol.steps>li{padding:16px!important;grid-template-columns:48px minmax(0,1fr)!important}
  .v12-final #sec-05 ol.steps>li::before{width:44px!important;height:44px!important;min-width:44px!important}
  .v12-final .rfq-intake-section>.rfq-intake-grid{grid-template-columns:minmax(0,1fr)!important}
  .v12-final form.rfq-form .form-grid{grid-template-columns:minmax(0,1fr)!important}
  .v12-final form.rfq-form .wizard-nav{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media (max-width:390px){
  .v12-final .rfq-intake-form .rfq-form.wizard-form,
  .v12-final .rfq-panel>.rfq-form{padding:12px!important}
  .v12-final .rfq-intake-section>.rfq-intake-grid{padding:10px!important}
  .v12-final form.rfq-form .wizard-nav .wizard-tab{font-size:.75rem!important}
}

/* Clear black button labels even while a step is disabled; disabled still remains native. */
.v12-final form.rfq-form button.btn:disabled,
.v12-final form.rfq-form .wizard-tab:disabled {
  opacity:.85!important;
  color:var(--rfq-v16-ink)!important;
  cursor:not-allowed;
}
.v12-final form.rfq-form .wizard-tab:disabled .wizard-tab-num{
  color:#fff!important;background:var(--rfq-v16-ink)!important;
}

/* Keep black labels legible when an action or step is disabled. */
.v12-final form.rfq-form button.btn:disabled,
.v12-final form.rfq-form .wizard-tab:disabled {
  opacity:.85!important;
  color:var(--rfq-v16-ink)!important;
  cursor:not-allowed;
}
.v12-final form.rfq-form .wizard-tab:disabled .wizard-tab-num{
  color:#fff!important;background:var(--rfq-v16-ink)!important;
}

/* Contact page: separate the business name from its street address. */
.v12-final #direct-contact .business-address strong,
.v12-final #direct-contact .business-address span{display:block}
