/* ================================================================
   Формы захвата, согласия, cookie-баннер и юридический футер.
   Подключается к лендингу: <link rel="stylesheet" href="/forms/forms.css">
   Опирается на переменные из index.html (--paper, --ink, --accent…).
   ================================================================ */

/* ——— секция формы ——— */
.lead{background:var(--white);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.lead-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start}
@media(max-width:900px){.lead-grid{grid-template-columns:1fr;gap:30px}form.kt{justify-self:stretch;max-width:none}}
.lead-intro h2{margin-bottom:16px}
.lead-intro p{color:var(--ink-2);margin:0 0 14px;max-width:44ch}
.lead-intro .ill{width:150px;margin-top:24px}

form.kt{max-width:520px;width:100%;justify-self:end;
  background:var(--paper);border:1px solid var(--line-strong);border-radius:16px;
  padding:30px 28px;box-shadow:0 18px 40px -30px rgba(51,41,31,.55);
}
@media(max-width:520px){form.kt{padding:22px 18px}}

.field{display:grid;gap:6px;margin-bottom:16px}
.field label{font-size:14.5px;font-weight:500;color:var(--ink)}
.field input,.field select{
  font-family:var(--body);font-size:16px;color:var(--ink);
  background:var(--white);border:1px solid var(--line-strong);border-radius:10px;
  padding:12px 14px;width:100%;
  transition:border-color .16s ease,box-shadow .16s ease;
}
.field input::placeholder{color:var(--ink-3)}
.field input:focus,.field select:focus{
  outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(201,85,58,.18);
}
.field input[aria-invalid="true"],.field select[aria-invalid="true"]{border-color:var(--accent);background:rgba(201,85,58,.05)}
.field .err{font-size:13px;color:var(--accent);font-weight:500;display:none}
.field .err.on{display:block}

/* ловушка для ботов */
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

/* ——— согласия ——— */
.consents{border-top:1px solid var(--line);margin-top:22px;padding-top:20px;display:grid;gap:13px}
.consents .consent-err{margin-left:33px;margin-top:-6px}
.consent{display:grid;grid-template-columns:22px 1fr;gap:11px;align-items:start}
.consent input[type=checkbox]{
  appearance:none;-webkit-appearance:none;
  width:22px;height:22px;margin:1px 0 0;flex:none;cursor:pointer;
  border:2px solid var(--line-strong);border-radius:6px;background:var(--white);
  transition:background-color .14s ease,border-color .14s ease;
}
.consent input[type=checkbox]:checked{background:var(--accent);border-color:var(--accent)}
.consent input[type=checkbox]:checked::after{
  content:"";display:block;width:6px;height:11px;margin:2px auto 0;
  border:solid #fff;border-width:0 2.5px 2.5px 0;transform:rotate(45deg);
}
.consent input[type=checkbox]:focus-visible{outline:2.5px solid var(--accent);outline-offset:3px}
.consent input[type=checkbox][aria-invalid="true"]{border-color:var(--accent);background:rgba(201,85,58,.1)}
.consent label{font-size:14px;line-height:1.5;color:var(--ink-2);cursor:pointer}
.consent a{color:var(--accent)}
.consent .req{color:var(--accent);font-weight:600}
.consent .opt{color:var(--ink-3);font-size:13px}

.form-actions{margin-top:24px;display:grid;gap:12px}
.form-actions .btn{width:100%;text-align:center}
.form-note{font-size:12.5px;color:var(--ink-3);line-height:1.5;margin:0}

.form-msg{
  display:none;border-radius:12px;padding:16px 18px;margin-bottom:18px;font-size:15px;line-height:1.55;
}
.form-msg.on{display:block}
.form-msg.ok{background:#E4EFE3;border:1px solid #9DBE99;color:#2C4A31}
.form-msg.bad{background:#FBE6E0;border:1px solid #DFA08C;color:#7A2E19}
@media(prefers-color-scheme:dark){
  .form-msg.ok{background:#22392A;border-color:#456B4E;color:#CDE6CD}
  .form-msg.bad{background:#3E211A;border-color:#8A4632;color:#F4CDC0}
}

/* ——— cookie-баннер ——— */
.cookie-banner{
  position:fixed;left:16px;right:16px;bottom:16px;z-index:9000;
  max-width:560px;margin:0 auto;
  background:var(--white);border:1px solid var(--line-strong);border-radius:16px;
  padding:20px 22px;box-shadow:0 24px 60px -24px rgba(51,41,31,.55);
  display:none;
}
.cookie-banner.on{display:block;animation:ckIn .4s cubic-bezier(0.23,1,0.32,1)}
@keyframes ckIn{from{opacity:0;transform:translateY(16px)}}
.cookie-banner p{margin:0 0 16px;font-size:14.5px;line-height:1.55;color:var(--ink-2)}
.cookie-banner a{color:var(--accent)}
.cookie-actions{display:flex;flex-wrap:wrap;gap:10px}
.cookie-actions .btn{flex:1 1 auto;text-align:center;min-width:140px}
.btn.ghost{
  background:transparent;color:var(--ink-2);box-shadow:none;
  border:1px solid var(--line-strong);
}
@media(hover:hover) and (pointer:fine){
  .btn.ghost:hover{border-color:var(--accent);color:var(--accent);transform:none;box-shadow:none}
}

/* ——— юридический подвал ———
   Тёмный, чтобы продолжать финальную секцию, а не спорить с ней. */
.legal-footer{background:var(--sage-deep);color:rgba(247,241,228,.72);padding:52px 0 26px;font-size:14px}
.legal-footer .cols{display:grid;grid-template-columns:1.1fr 1.3fr 1fr;gap:40px;margin-bottom:36px}
@media(max-width:900px){.legal-footer .cols{grid-template-columns:1fr 1fr;gap:32px}}
@media(max-width:600px){.legal-footer .cols{grid-template-columns:1fr;gap:28px}}

.legal-footer .fbrand{font-family:var(--serif);font-size:26px;font-weight:600;color:#F7F1E4;margin:0 0 8px;line-height:1.1}
.legal-footer .ftag{color:rgba(247,241,228,.6);margin:0;max-width:26ch;line-height:1.5}

.legal-footer h3{font-family:var(--body);font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;
  color:rgba(247,241,228,.5);font-weight:600;margin:0 0 14px}
.legal-footer h3.mt{margin-top:26px}
.legal-footer p{margin:0 0 10px;line-height:1.55}
.legal-footer .fmuted{color:rgba(247,241,228,.5);font-size:13px}

.legal-footer nav{display:grid;gap:9px}
.legal-footer a{color:rgba(247,241,228,.82);text-decoration:none;border-bottom:1px solid transparent;justify-self:start}
@media(hover:hover) and (pointer:fine){
  .legal-footer a:hover{color:var(--accent-2);border-color:var(--accent-2)}
}

.legal-footer .bottom{
  border-top:1px solid rgba(247,241,228,.16);padding-top:20px;
  display:flex;flex-wrap:wrap;gap:12px 26px;align-items:center;
  color:rgba(247,241,228,.5);font-size:13px;
}
.legal-footer .bottom .main-legal{border-bottom:1px solid rgba(247,241,228,.35)}
.legal-footer button.linklike{
  background:none;border:none;padding:0;font:inherit;color:rgba(247,241,228,.82);cursor:pointer;
  border-bottom:1px solid transparent;
}
@media(hover:hover) and (pointer:fine){
  .legal-footer button.linklike:hover{color:var(--accent-2);border-color:var(--accent-2)}
}

.fill{background:#FFE9A8;color:#5A4416;padding:1px 6px;border-radius:4px;font-size:.94em;white-space:nowrap;font-weight:500}
@media(prefers-color-scheme:dark){.fill{background:#5C4A1C;color:#F5E7BE}}

@media(prefers-reduced-motion:reduce){
  .cookie-banner.on{animation:none}
  .field input,.field select,.consent input[type=checkbox]{transition:none}
}
