/* Анкета поставщика — kezi.kz/anketa-postavshchika/ (токены из catalog.css) */
.sf{ padding-top:28px; }
.sf-layout{ display:grid; gap:24px; }
@media (min-width:960px){ .sf-layout{ grid-template-columns:minmax(0,5fr) minmax(0,7fr); gap:48px; align-items:start; } .sf-intro{ position:sticky; top:92px; } }

.sf-eyebrow{ margin:0 0 8px; font-size:13px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--kc-blue-light); }
.sf-title{ margin:0 0 12px; font-size:clamp(28px,5vw,40px); line-height:1.1; font-weight:800; color:var(--kc-blue-dark); text-wrap:balance; }
.sf-lead{ margin:0 0 24px; font-size:17px; color:var(--kc-muted); max-width:46ch; }
.sf-steps{ list-style:none; margin:0; padding:0; display:grid; gap:16px; counter-reset:sf; }
.sf-steps li{ counter-increment:sf; display:grid; grid-template-columns:36px 1fr; column-gap:14px; }
.sf-steps li::before{ content:counter(sf); grid-row:span 2; width:36px; height:36px; border-radius:50%; background:var(--kc-blue-bg); color:var(--kc-blue); font-weight:800; display:grid; place-items:center; }
.sf-steps b{ font-size:15px; color:var(--kc-text); }
.sf-steps span{ font-size:14px; color:var(--kc-muted); }

.sf-card{ background:var(--kc-surface); border:1px solid var(--kc-border); border-radius:var(--kc-radius); box-shadow:var(--kc-shadow); padding:24px 20px; }
@media (min-width:700px){ .sf-card{ padding:32px; } }
.sf-card__title{ margin:0 0 14px; font-size:18px; font-weight:800; color:var(--kc-blue-dark); }
.sf-card__title--gap{ margin-top:24px; padding-top:22px; border-top:1px solid var(--kc-border); }

.sf-row{ display:grid; gap:0 14px; }
@media (min-width:600px){ .sf-row{ grid-template-columns:1fr 1fr; } }
.sf-field{ display:block; margin:0 0 14px; }
.sf-field > span{ display:block; margin:0 0 6px; font-size:14px; font-weight:600; }
.sf-field i{ font-style:normal; color:#c25400; margin-left:2px; }
.sf-field input, .sf-field select, .sf-field textarea{
  width:100%; display:block; margin:0; font:inherit; font-size:16px; color:var(--kc-text);
  background:var(--kc-bg); border:1px solid var(--kc-border); border-radius:12px; padding:12px 14px; min-height:48px;
  transition:border-color var(--kc-ease), box-shadow var(--kc-ease), background var(--kc-ease);
  -webkit-appearance:none; appearance:none;
}
.sf-field select{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%235a6a7a' d='m7 10 5 5 5-5z'/%3E%3C/svg%3E");
  background-repeat:no-repeat; background-position:right 10px center; background-size:22px; padding-right:40px;
}
.sf-field textarea{ resize:vertical; min-height:96px; }
.sf-field input:focus, .sf-field select:focus, .sf-field textarea:focus{ outline:0; border-color:var(--kc-blue-light); box-shadow:0 0 0 3px rgba(24,127,211,.15); background:#fff; }
.sf-field [aria-invalid=true]{ border-color:#d63638; }

.sf-trap{ position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }

.sf-drop{ position:relative; display:grid; gap:4px; justify-items:center; text-align:center; padding:22px 16px; margin:0 0 10px;
  border:1.5px dashed var(--kc-border); border-radius:12px; background:var(--kc-bg); cursor:pointer;
  transition:border-color var(--kc-ease), background var(--kc-ease); }
.sf-drop:hover, .sf-drop.is-over{ border-color:var(--kc-blue-light); background:var(--kc-blue-bg); }
.sf-drop:focus-within{ border-color:var(--kc-blue-light); box-shadow:0 0 0 3px rgba(24,127,211,.15); }
.sf-drop input{ position:absolute; inset:0; opacity:0; cursor:pointer; }
.sf-drop__title{ font-weight:700; color:var(--kc-blue); }
.sf-drop__hint{ font-size:13px; color:var(--kc-muted); }
.sf-files{ list-style:none; margin:0 0 14px; padding:0; display:grid; gap:6px; }
.sf-files:empty{ display:none; }
.sf-files li{ display:flex; align-items:center; gap:10px; padding:8px 8px 8px 12px; border:1px solid var(--kc-border); border-radius:10px; font-size:14px; }
.sf-files li span{ flex:1; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.sf-files li small{ color:var(--kc-muted); flex:none; }
.sf-files button{ flex:none; border:0; background:none; width:32px; height:32px; border-radius:8px; color:var(--kc-muted); font-size:20px; line-height:1; }
.sf-files button:hover{ background:var(--kc-blue-bg); color:var(--kc-blue); }

.sf-error{ margin:4px 0 12px; padding:10px 12px; border-radius:10px; background:#fdf0f0; color:#b3261e; font-size:14px; }
.sf-submit{ width:100%; min-height:52px; margin-top:4px; border:0; border-radius:12px; background:var(--kc-blue); color:#fff;
  font-size:16px; font-weight:700; transition:background var(--kc-ease), transform var(--kc-ease); }
.sf-submit:hover{ background:var(--kc-blue-dark); }
.sf-submit:active{ transform:scale(.98); }
.sf-submit:disabled{ opacity:.65; cursor:progress; }
.sf-note{ margin:10px 0 0; font-size:12px; color:var(--kc-muted); text-align:center; }

.sf-done{ text-align:center; padding:24px 0 8px; outline:0; }
.sf-done svg{ width:56px; height:56px; padding:12px; border-radius:50%; background:#eefaf2; fill:var(--kc-wa); }
.sf-done h2{ margin:14px 0 6px; font-size:22px; color:var(--kc-blue-dark); }
.sf-done p{ margin:0 auto 20px; color:var(--kc-muted); max-width:36ch; }
