/* SourcingPromo — /rfq/, /thank-you/ and /contact/: the inquiry form, the quote basket, the next steps. */

/* ---------- layout ---------- */
.form-layout{display:grid;gap:clamp(1.5rem,4vw,3rem)}
@media (min-width:960px){
  .form-layout{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);align-items:start}
  .form-aside{position:sticky;top:5.5rem}
}
.form-main{min-width:0}
.form-section .wrap>h2{margin-bottom:.4rem}

/* ---------- panels ---------- */
.form-panel{
  background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-lg);
  padding:clamp(1.1rem,2.4vw,1.75rem);display:flex;flex-direction:column;gap:1.1rem;
  min-width:0;
}
.form-panel--sand{background:var(--sand)}
.form-panel__head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.5rem .9rem}
.form-panel__head h2{font-size:var(--step-2)}
.form-panel>h2{font-size:var(--step-2)}
.form-panel .note{max-width:58ch}

/* ---------- fields ---------- */
.form-fields{display:grid;gap:.9rem 1rem}
@media (min-width:560px){.form-fields{grid-template-columns:1fr 1fr}}
.form-required{color:var(--brand);font-weight:700}
.form-subblock{
  border-top:1px solid var(--line);padding-top:1.15rem;
  display:flex;flex-direction:column;gap:.7rem;min-width:0;
}
.form-subblock h3{font-size:var(--step-1)}
.form-subblock .note{max-width:60ch}
.form-file{
  width:100%;font:inherit;font-size:var(--step--1);color:var(--ink-2);
  background:var(--sand);border:1px dashed var(--line-strong);border-radius:var(--radius);
  padding:.6rem .7rem;cursor:pointer;
}
.form-file:hover{border-color:var(--ink-3);background:var(--sand-2)}
.form-file::file-selector-button{
  font:inherit;font-size:var(--step--1);font-weight:600;color:var(--ink);
  background:var(--paper);border:1px solid var(--line-strong);border-radius:var(--radius-sm);
  padding:.35rem .7rem;margin-right:.7rem;cursor:pointer;
}
.form-progress{width:100%;height:.45rem;border:0;border-radius:var(--radius-pill);overflow:hidden;accent-color:var(--brand)}
.form-progress[hidden]{display:none}
.form-actions{
  display:flex;flex-wrap:wrap;align-items:center;gap:.7rem 1rem;
  border-top:1px solid var(--line);padding-top:1.2rem;
}
.form-actions .note{max-width:34ch;margin:0}
.form-inquiry[data-state="success"] .form-status{color:var(--ok)}
.form-inquiry[data-state="submitting"] .form-status{color:var(--ink-3)}
.form-inquiry[data-state="error"] .form-status,
.form-inquiry[data-state="invalid"] .form-status{color:var(--brand-dark)}

/* ---------- quote basket ---------- */
.form-basket .note{font-size:var(--step--1)}
.form-basket__list{list-style:none;margin:0;padding:0;display:grid;gap:.6rem}
.form-basket__list[hidden]{display:none}
.form-basket__item{
  display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .8rem;
  padding:.7rem .85rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--sand);
}
.form-basket__item-main{flex:1 1 12rem;min-width:0;display:flex;flex-direction:column;gap:.15rem}
.form-basket__name{font-size:.9375rem;font-weight:600;line-height:1.3;text-decoration:none}
.form-basket__name:hover{text-decoration:underline}
.form-basket__meta{margin:0}
.form-basket__find{align-self:flex-start;color:var(--brand-dark);font-weight:560}
.form-basket__qty{display:flex;align-items:center;gap:.4rem}
.form-basket__qty input[type=number]{
  width:5rem;padding:.35rem .45rem;font-size:.875rem;text-align:right;background:var(--paper);
}
.form-basket__remove{
  font:inherit;font-size:var(--step--1);font-weight:560;color:var(--ink-3);
  background:none;border:0;padding:.3rem .1rem;cursor:pointer;
  text-decoration:underline;text-underline-offset:3px;
}
.form-basket__remove:hover{color:var(--brand-dark)}
.form-basket__empty{
  display:flex;flex-direction:column;gap:.8rem;
  padding:1rem 1.1rem;border:1px dashed var(--line-strong);border-radius:var(--radius);
  background:var(--sand);color:var(--ink-2);
}
.form-basket__empty[hidden]{display:none}
.form-basket__empty p{margin:0}
.form-basket__empty .cluster{margin:0}

/* ---------- next steps ---------- */
.form-steps{list-style:none;margin:0;padding:0;display:grid;gap:1.1rem;counter-reset:form-step}
.form-steps>li{position:relative;padding-left:2.3rem;counter-increment:form-step;min-width:0}
.form-steps>li::before{
  content:counter(form-step);position:absolute;left:0;top:.05rem;
  width:1.6rem;height:1.6rem;border-radius:var(--radius-pill);
  background:var(--brand-tint);color:var(--brand-dark);
  font-size:.75rem;font-weight:700;display:grid;place-items:center;
}
.form-steps>li>strong{display:block;font-size:.9375rem;letter-spacing:-.01em;line-height:1.35}
.form-steps>li>span{display:block;margin-top:.2rem;font-size:var(--step--1);line-height:1.5;color:var(--ink-2)}
.form-steps--cards{margin-top:1.4rem;gap:1.25rem}
.form-steps--cards>li{padding-left:0;counter-increment:none}
.form-steps--cards>li::before{display:none}
.form-steps--cards .card__body{gap:.55rem}
.form-steps--cards h3{font-size:var(--step-1)}
.form-after{margin-top:1.25rem}
