/* Форма заявки (/ceny/, /predlozheniya/). Цвета только из токенов темы; свой токен один: цвет ошибки. */
.lead{ --lead-err:#b42318; --lead-ok:#127a3e;
  display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.5fr); gap:24px 40px; align-items:start;
  margin:48px 0 8px; padding:32px; border-radius:22px; scroll-margin-top:90px;
  background:var(--bg-card); border:1px solid var(--border); box-shadow:var(--shadow); }
.lead-intro h2{ margin:0 0 10px; font-size:clamp(1.5rem,2.6vw,2rem); line-height:1.15; text-wrap:balance; color:var(--text); }
.lead-intro p{ margin:0; color:var(--text-secondary); line-height:1.6; }
.lead-alt{ display:flex; flex-wrap:wrap; align-items:center; gap:8px 10px; margin-top:20px; font-size:.9rem; color:var(--text-secondary); }
.lead-alt .btn{ padding:10px 16px; font-size:.88rem; }

.lead-form{ display:flex; flex-direction:column; gap:16px; min-width:0; }
.lead-row{ display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.lead-field{ display:flex; flex-direction:column; gap:6px; min-width:0; }
.lead-label{ font-size:.88rem; font-weight:700; color:var(--text); }
.lead-opt{ font-weight:500; color:var(--text-secondary); }
.lead-hint{ font-size:.8rem; color:var(--text-secondary); }
.lead-field input, .lead-field textarea{ width:100%; box-sizing:border-box; font:inherit; font-size:1rem; color:var(--text);
  background:var(--bg); border:1px solid var(--border-hover); border-radius:12px; padding:12px 14px; min-height:48px;
  transition:border-color .15s ease, box-shadow .15s ease, background-color .15s ease; }
.lead-field textarea{ resize:vertical; min-height:110px; line-height:1.5; }
.lead-field input::placeholder, .lead-field textarea::placeholder{ color:var(--text-secondary); opacity:.85; }
.lead-field input:hover, .lead-field textarea:hover{ border-color:var(--accent); }
.lead-field input:focus-visible, .lead-field textarea:focus-visible{ outline:none; border-color:var(--accent); box-shadow:0 0 0 3px var(--accent-glow); background:var(--bg-card); }
.lead-field.is-error input, .lead-field.is-error textarea{ border-color:var(--lead-err); }
.lead-field.is-error input:focus-visible{ box-shadow:0 0 0 3px rgba(180,35,24,.18); }
.lead-err{ display:flex; align-items:center; gap:6px; font-size:.84rem; font-weight:600; color:var(--lead-err); }
.lead-err::before{ content:""; flex:0 0 6px; height:6px; border-radius:50%; background:currentColor; }
.lead-err[hidden]{ display:none; }

.lead-consent{ display:flex; align-items:flex-start; gap:10px; font-size:.88rem; line-height:1.45; color:var(--text-secondary); cursor:pointer; }
.lead-consent input{ flex:0 0 auto; width:20px; height:20px; margin:1px 0 0; accent-color:var(--accent); cursor:pointer; }
.lead-consent input:focus-visible{ outline:2px solid var(--accent); outline-offset:2px; }
.lead-consent.is-error{ color:var(--text); }
.lead-consent.is-error input{ outline:2px solid var(--lead-err); outline-offset:2px; }
.lead-consent a{ color:var(--accent); text-underline-offset:3px; }

/* Ловушка для ботов: людям не видна и недоступна. */
.lead-hp{ position:absolute !important; left:-9999px; width:1px; height:1px; overflow:hidden; }

.lead-actions{ display:flex; }
.lead-submit{ min-height:52px; justify-content:center; padding:14px 28px; }
.lead-submit:focus-visible{ outline:3px solid var(--accent); outline-offset:3px; }
.lead-submit:active{ transform:translateY(1px); }
.lead-submit:disabled{ opacity:.6; cursor:not-allowed; transform:none; box-shadow:none; }
.lead-form.is-loading .lead-submit i{ display:none; }
.lead-form.is-loading .lead-submit::before{ content:""; width:16px; height:16px; border-radius:50%;
  border:2px solid rgba(255,255,255,.45); border-top-color:#fff; animation:lead-spin .8s linear infinite; }
@keyframes lead-spin{ to{ transform:rotate(360deg); } }
@media (prefers-reduced-motion:reduce){ .lead-form.is-loading .lead-submit::before{ animation-duration:2.4s; } }

.lead-status:empty{ display:none; }
.lead-status.is-error{ padding:12px 14px; border-radius:12px; font-size:.92rem; line-height:1.5; color:var(--text);
  background:rgba(180,35,24,.07); border:1px solid rgba(180,35,24,.35); }
.lead-status.is-error a{ color:var(--lead-err); font-weight:700; text-underline-offset:3px; }

.lead-done{ display:flex; gap:14px; align-items:flex-start; padding:20px; border-radius:16px; outline:none;
  background:rgba(18,122,62,.07); border:1px solid rgba(18,122,62,.3); }
.lead-done i{ font-size:28px; color:var(--lead-ok); line-height:1; }
.lead-done b{ display:block; font-size:1.1rem; color:var(--text); margin-bottom:4px; }
.lead-done p{ margin:0; color:var(--text-secondary); line-height:1.55; }

@media (max-width:860px){ .lead{ grid-template-columns:1fr; padding:24px; } }
@media (max-width:560px){ .lead{ padding:20px 16px; border-radius:18px; } .lead-row{ grid-template-columns:1fr; } .lead-submit{ width:100%; } }
