/* Форма расчёта: состояния disabled / loading / success / error */
.rfq-form { padding: clamp(22px, 3vw, 36px); display: grid; gap: 18px; }
.rfq-form__row { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
@media (max-width: 560px) { .rfq-form__row { grid-template-columns: 1fr; } }
select.input {
  appearance: none; padding-right: 40px; cursor: pointer;
  background-image: linear-gradient(45deg, transparent 50%, currentColor 50%), linear-gradient(135deg, currentColor 50%, transparent 50%);
  background-position: calc(100% - 20px) 50%, calc(100% - 14px) 50%; background-size: 6px 6px; background-repeat: no-repeat;
}
select.input option { background: var(--color-surface); color: var(--color-text); }
.rfq-form__btn { justify-self: start; min-width: 260px; }
.rfq-form__btn.is-loading { pointer-events: none; color: transparent; }
.rfq-form__btn.is-loading::before {
  content: attr(data-loading); position: absolute; inset: 0; display: grid; place-items: center; color: var(--color-primary-foreground);
}
.rfq-form__btn.is-loading::after { transform: none; inset: auto 0 0 0; height: 3px; background: var(--color-primary-foreground); animation: rfq-load 1s linear infinite; }
@keyframes rfq-load { from { transform: translateX(-100%); } to { transform: translateX(100%); } }
.rfq-form__done { display: grid; gap: 10px; padding: 18px 20px; border: 1px solid var(--color-success); border-left-width: 4px; border-radius: var(--r-card); background: rgba(58, 168, 91, .08); }
.rfq-form__done .h3::before { content: ""; display: inline-block; width: 10px; height: 16px; margin-right: 12px; border: solid var(--color-success); border-width: 0 3px 3px 0; transform: rotate(45deg) translateY(-3px); }
.rfq-form.is-sent > :not(.rfq-form__done) { display: none; }
@media (max-width: 560px) { .rfq-form__btn { width: 100%; min-width: 0; } }
.form-policy { font-size: 13.5px; margin-top: -6px; }
.form-policy a { color: var(--color-text-muted); }
