/* ThinkTankPro — панель заявки (ui/lead.js): форма, согласие, способы связи.
   Цвета берутся из токенов страницы (ttp.css), а если их нет — из запасных значений. Оформление демо переопределяет --lead-* на своём контейнере. */
.ttp-lead{
  --lead-ink:var(--ink,#121211); --lead-ink-2:var(--ink-2,#4a4842); --lead-ink-3:var(--ink-3,#6f6c64);
  --lead-bg:var(--paper-hi,#f8f7f3); --lead-field:var(--paper,#f1efe8); --lead-line:var(--rule,#d1cdc1); --lead-line-2:var(--rule-2,#e1ded4);
  --lead-accent:var(--signal,#ff4f14); --lead-accent-ink:var(--signal-ink,#c23a08); --lead-accent-soft:var(--signal-soft,#ffe2d5); --lead-on-accent:#fff;
  --lead-btn:var(--ink,#121211); --lead-on-btn:var(--paper,#f1efe8);
  --lead-bad:#b3261e; --lead-ok:var(--green,#0f7a63); --lead-ok-soft:var(--green-soft,#d5ece4);
  --lead-radius:20px; --lead-field-radius:12px;
  --lead-font:var(--font-sans,"Inter",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif); --lead-mono:var(--font-mono,"Roboto Mono",ui-monospace,Consolas,monospace);
  position:relative;display:block;margin-top:24px;padding:clamp(20px,2.6vw,32px);border:1px solid var(--lead-line);border-radius:var(--lead-radius);
  background:var(--lead-bg);color:var(--lead-ink);font-family:var(--lead-font);font-size:15px;line-height:1.5;text-align:left;
}
.ttp-lead *,.ttp-lead *::before,.ttp-lead *::after{box-sizing:border-box}
.ttp-lead [hidden]{display:none!important}
.ttp-lead-head{margin-bottom:18px}
.ttp-lead-k{margin:0 0 8px;font-family:var(--lead-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--lead-accent-ink)}
.ttp-lead-title{margin:0;font-size:clamp(20px,2.2vw,26px);font-weight:600;line-height:1.2;letter-spacing:-.02em;color:var(--lead-ink)}
.ttp-lead-lead{margin:8px 0 0;max-width:62ch;color:var(--lead-ink-2);font-size:15px}

.ttp-lead-form{display:grid;gap:14px}
.ttp-lead-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:14px}
.ttp-lead-f{display:flex;flex-direction:column;gap:6px;min-width:0}
.ttp-lead-f label{font-size:13.5px;font-weight:600;color:var(--lead-ink)}
.ttp-lead-f label small{margin-left:4px;font-weight:400;color:var(--lead-ink-3)}
.ttp-lead-f input[type="text"],.ttp-lead-f textarea{width:100%;min-height:48px;padding:12px 14px;border:1px solid var(--lead-line);border-radius:var(--lead-field-radius);background:var(--lead-field);color:var(--lead-ink);font:inherit;font-size:16px;line-height:1.4;transition:border-color .2s,box-shadow .2s,background-color .2s}
.ttp-lead-f textarea{min-height:132px;resize:vertical}
.ttp-lead-f input::placeholder,.ttp-lead-f textarea::placeholder{color:var(--lead-ink-3);opacity:1}
.ttp-lead-f input:hover,.ttp-lead-f textarea:hover{border-color:var(--lead-ink-3)}
.ttp-lead-f input:focus,.ttp-lead-f textarea:focus{outline:0;border-color:var(--lead-accent);box-shadow:0 0 0 3px var(--lead-accent-soft)}
.ttp-lead [aria-invalid="true"]{border-color:var(--lead-bad)!important;box-shadow:0 0 0 3px rgba(179,38,30,.12)}
.ttp-lead-err{margin:0;font-size:13px;line-height:1.35;color:var(--lead-bad)}
.ttp-lead-consent{display:grid;grid-template-columns:22px minmax(0,1fr);gap:12px;align-items:start;font-size:13.5px!important;font-weight:400!important;line-height:1.45;color:var(--lead-ink-2)!important;cursor:pointer}
.ttp-lead-consent input{width:20px;height:20px;margin:1px 0 0;accent-color:var(--lead-accent);cursor:pointer}
.ttp-lead-consent a{color:var(--lead-ink);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.18em}
.ttp-lead-consent a:hover{color:var(--lead-accent-ink)}
.ttp-lead-hp{position:absolute!important;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}

.ttp-lead-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px 18px}
.ttp-lead-send{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:52px;padding:0 28px;border:1px solid var(--lead-btn);border-radius:999px;background:var(--lead-btn);color:var(--lead-on-btn);font:600 16px/1 var(--lead-font);letter-spacing:-.01em;cursor:pointer;overflow:hidden;isolation:isolate;transition:color .25s,border-color .25s,opacity .2s}
.ttp-lead-send::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--lead-accent-ink);transform:translateY(101%);transition:transform .45s cubic-bezier(.16,1,.3,1)}
.ttp-lead-send:hover::before,.ttp-lead-send:focus-visible::before{transform:none}
.ttp-lead-send:hover,.ttp-lead-send:focus-visible{color:var(--lead-on-accent);border-color:var(--lead-accent-ink)}
.ttp-lead-send:focus-visible,.ttp-lead-chip:focus-visible{outline:2px solid var(--lead-accent);outline-offset:3px}
.ttp-lead-send[aria-disabled="true"]{opacity:.6;cursor:progress}
.ttp-lead-arr{display:inline-block;transition:transform .35s cubic-bezier(.16,1,.3,1)}
.ttp-lead-send:hover .ttp-lead-arr{transform:translateX(4px)}
.ttp-lead-status{margin:0;font-size:14px;color:var(--lead-ink-2)}
.ttp-lead-status.is-bad{color:var(--lead-bad)}

.ttp-lead-done{padding:18px 20px;border:1px solid var(--lead-ok);border-left-width:4px;border-radius:14px;background:var(--lead-ok-soft);color:var(--lead-ink)}
.ttp-lead-done:focus{outline:0}
.ttp-lead-done-k{margin:0 0 4px;font-family:var(--lead-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--lead-ok)}
.ttp-lead-done-t{margin:0;font-size:16px;font-weight:600}
.ttp-lead-done-n{margin:6px 0 0;font-size:14px;color:var(--lead-ink-2)}

.ttp-lead-alt{margin-top:22px;padding-top:18px;border-top:1px dashed var(--lead-line);transition:background-color .4s,box-shadow .4s}
.ttp-lead-alt.is-attention{margin-inline:-10px;padding:18px 10px 12px;border-radius:14px;background:var(--lead-accent-soft);box-shadow:inset 0 0 0 1px var(--lead-accent)}
.ttp-lead-alt-k{margin:0 0 10px;font-family:var(--lead-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--lead-ink-3)}
.ttp-lead-alt-list{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}
.ttp-lead-chip{display:inline-flex;align-items:center;min-height:44px;padding:0 18px;border:1px solid var(--lead-ink);border-radius:999px;color:var(--lead-ink);font-size:14.5px;font-weight:600;text-decoration:none;transition:background-color .2s,color .2s,border-color .2s}
.ttp-lead-chip:hover{background:var(--lead-ink);color:var(--lead-bg)}
.ttp-lead-who{margin:12px 0 0;font-size:13.5px;color:var(--lead-ink-2);overflow-wrap:anywhere}
.ttp-lead-who b{color:var(--lead-ink);font-weight:600}
.ttp-lead-alt-note{margin:8px 0 0;min-height:1.2em;font-size:13.5px;color:var(--lead-ink-2)}

@media (max-width:640px){
  .ttp-lead{padding:18px;border-radius:16px}
  .ttp-lead-grid{grid-template-columns:1fr}
  .ttp-lead-send{width:100%}
  .ttp-lead-chip{flex:1 1 auto;justify-content:center}
}
@media (prefers-reduced-motion:reduce){
  .ttp-lead *,.ttp-lead *::before,.ttp-lead *::after{transition:none!important}
}
