/* Форма заявки — финальный экран. Mobile-first, на тёмном фоне --espresso.
   Контраст: текст полей --espresso на --bone ≈ 13:1; подписи --bone на --espresso ≈ 13:1;
   пояснения rgba(246,241,233,.78) на --espresso ≈ 8:1; ошибки --amber-l на --espresso ≈ 8:1. */

.final .fgrid{align-items:start}
@media (min-width:900px){.final .fph{position:sticky;top:clamp(40px,7vh,86px)}}

.lf{display:grid;gap:clamp(18px,2.2vw,22px);max-width:520px}
.lf[hidden],.done[hidden],.lf [hidden]{display:none!important}

.fld{display:grid;gap:8px;border:0;margin:0;padding:0;min-width:0}
.fld > label,.fld > legend{padding:0;font-size:15px;font-weight:500;letter-spacing:.01em;color:var(--bone)}
.fld .opt{font-weight:400;color:rgba(246,241,233,.78)}

.inp{width:100%;font:inherit;font-size:16px;line-height:1.4;color:var(--espresso);
     background:var(--bone);border:1.5px solid transparent;border-radius:10px;
     padding:14px 16px;min-height:52px;-webkit-appearance:none;appearance:none;
     transition:border-color .15s,box-shadow .15s}
.inp::placeholder{color:#8a7466}
.inp:focus{outline:none;border-color:var(--amber);box-shadow:0 0 0 3px rgba(224,164,88,.35)}
textarea.inp{min-height:112px;resize:vertical}
.inp[aria-invalid="true"]{border-color:var(--amber-l);box-shadow:0 0 0 3px rgba(239,187,120,.3)}

.hint{margin:0;font-size:13.5px;line-height:1.5;color:rgba(246,241,233,.78)}
.err{margin:0;font-size:14px;line-height:1.45;color:var(--amber-l)}
.err:empty{display:none}

/* способ связи — сегменты */
.kinds{display:grid;grid-template-columns:1fr 1fr;gap:8px}
@media (min-width:480px){.kinds{grid-template-columns:repeat(4,1fr)}}
.kind{position:relative}
.kind input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.kind span{display:flex;align-items:center;justify-content:center;min-height:48px;padding:10px 8px;
           border-radius:10px;border:1.5px solid rgba(246,241,233,.32);
           font-size:15px;color:var(--bone);text-align:center;transition:background .15s,border-color .15s,color .15s}
.kind input:checked + span{background:var(--bone);border-color:var(--bone);color:var(--espresso);font-weight:500}
.kind input:focus-visible + span{box-shadow:0 0 0 3px rgba(224,164,88,.5)}

/* согласия */
.checks{display:grid;gap:14px}
.chk{display:grid;grid-template-columns:26px 1fr;gap:12px;align-items:start;cursor:pointer;
     font-size:14.5px;line-height:1.5;color:rgba(246,241,233,.9)}
.chk input{width:26px;height:26px;margin:0;-webkit-appearance:none;appearance:none;cursor:pointer;
           border-radius:7px;border:1.5px solid rgba(246,241,233,.55);background:transparent;
           display:grid;place-content:center;transition:background .15s,border-color .15s}
.chk input::after{content:'';width:12px;height:7px;border-left:2.4px solid var(--espresso);
           border-bottom:2.4px solid var(--espresso);transform:rotate(-45deg) translate(1px,-1px);opacity:0}
.chk input:checked{background:var(--amber-l);border-color:var(--amber-l)}
.chk input:checked::after{opacity:1}
.chk input:focus-visible{box-shadow:0 0 0 3px rgba(224,164,88,.5)}
.chk input[aria-invalid="true"]{border-color:var(--amber-l);box-shadow:0 0 0 3px rgba(239,187,120,.3)}
.chk a{color:var(--amber-l)}
.chk .must{color:var(--amber-l)}

.notice{margin:-4px 0 0;padding:0;background:none;font-size:13px;line-height:1.5;color:rgba(246,241,233,.62)}
.notice p{margin:0}
.notice a{color:var(--amber-l)}

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

button.btn{border:0;font-family:inherit;cursor:pointer;width:100%;white-space:normal;line-height:1.3}
@media (min-width:600px){button.btn{width:auto;white-space:nowrap}}
button.btn[disabled]{cursor:progress;filter:saturate(.6) brightness(.95);animation:none}
button.btn[disabled]::after{animation:none;opacity:0}

.formerr{margin:0;padding:12px 16px;border-radius:10px;background:rgba(239,187,120,.12);
         border-left:3px solid var(--amber-l);font-size:14.5px;color:var(--bone)}

/* после отправки */
.done{max-width:520px;padding:clamp(24px,3vw,32px);border-radius:16px;background:rgba(246,241,233,.08);
      border-left:3px solid var(--amber)}
.done h3{margin:0;font-family:var(--d);font-weight:400;line-height:1.15;color:var(--amber-l);
         font-size:clamp(28px,3.4vw,40px)}
.done p{margin:14px 0 0;font-size:clamp(15.5px,1.6vw,17.5px);color:rgba(246,241,233,.9)}
.done:focus{outline:none}

/* страница политики */
.doc{background:var(--bone)}
.doc .inner{max-width:760px}
.doc h1{font-family:var(--d);font-weight:400;font-size:clamp(30px,4vw,46px);line-height:1.1;margin:0 0 8px}
.doc h2{font-size:clamp(20px,2.4vw,26px);margin:36px 0 12px;text-transform:none;letter-spacing:.01em}
.doc p,.doc li{font-size:16.5px;color:var(--soft)}
.doc .draft{padding:14px 18px;border-radius:10px;background:var(--glacier);color:var(--ink)}
.doc .back{color:var(--amber-text)}
/* «Коротко» в начале политики: кто получает данные, зачем, добровольно, не передаются (29.10.2026) */
.doc .tldr{margin:18px 0 8px;padding:16px 18px;border-radius:12px;background:#EDE6DA;border-left:3px solid #D9992F}
.doc .tldr p{margin:0}
.doc .docdate{margin:0 0 22px;font-size:14px;color:var(--deep)}
.doc .docbody ul{margin:0 0 14px;padding-left:22px}
.doc .docbody li{margin:0 0 6px;line-height:1.6;color:var(--soft)}
.doc .docbody a{color:var(--amber-text)}
