/* Формы заявок «Весны» (inc/leads-site.php, assets/lead.js): форма записи, блок «Запись на примерку» перед подвалом, окно записи.
   Основа (цвета, шрифты, кнопки, .sec, .eyebrow, .h) — home.css. */
.form{background:var(--paper);padding:26px 22px 28px;display:grid;gap:14px;border-radius:26px;box-shadow:0 24px 50px -36px rgba(58,47,43,.5);position:relative}
.form>*{position:relative}
.form h3{font-size:26px;margin-bottom:4px}
.form-row{display:grid;gap:14px}
.field{display:grid;gap:6px;align-content:start}
.field label{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--taupe);font-weight:700}
.field input,.field select,.field textarea{font:inherit;font-weight:400;font-size:16px;padding:12px 16px;border:1.5px solid var(--line);border-radius:14px;background:#fff;color:var(--ink);width:100%;min-height:52px;transition:border-color .2s}
.field select{appearance:none;-webkit-appearance:none;padding-right:44px;cursor:pointer;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23b9405a' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") right 16px center/18px no-repeat}
.field input:hover,.field select:hover,.field textarea:hover{border-color:var(--rose)}
.field input:focus-visible,.field select:focus-visible,.field textarea:focus-visible{outline:none;border-color:var(--rose-deep)}
.field input[aria-invalid="true"],.field textarea[aria-invalid="true"]{border-color:#b32d2e}
.field textarea{min-height:96px;resize:vertical}
.consent{display:grid;grid-template-columns:20px 1fr;gap:10px;align-items:start;font-size:13.5px;color:var(--taupe);line-height:1.4}
.consent input{width:20px;height:20px;margin:1px 0 0;accent-color:var(--rose-deep)}
.consent a{color:var(--rose-ink)}
.form .btn{width:100%}
.form-note{font-size:14px;color:var(--taupe);line-height:1.5}
.form .hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.form button[disabled]{opacity:.6;cursor:wait}
.field-err{font-size:13.5px;line-height:1.4;color:#8e1f22;margin:0}
.field-err[hidden]{display:none}
.form .consent + .field-err{margin-top:-6px;padding-left:30px}
.lead-msg{padding:14px 16px;border:1.5px solid var(--line);border-radius:14px;background:var(--petal);font-size:15px;line-height:1.45}
.lead-msg--err,.lead-status[data-state=err]{border-color:#b32d2e;color:#7a1f1f;background:#fff5f5}
.lead-status[data-state=ok]{border-color:var(--leaf);color:var(--ink)}
.lead-status:empty{display:none}
.lead-status a{color:inherit;text-decoration:underline}
@media (min-width:600px){.form-row{grid-template-columns:1fr 1fr}}

/* Блок «Запись на примерку» перед подвалом */
.fitcta{background:linear-gradient(160deg,var(--petal) 0%,var(--blush) 100%);border-top:1px solid var(--line)}
.fit{display:grid;gap:36px}
.fit-text{display:grid;gap:26px;align-content:start}
.fit-text .sec-head{margin-bottom:0}
.fit-text .sec-head p{color:var(--ink-2)}
.steps{display:grid;gap:14px;counter-reset:step}
.steps li{display:flex;gap:16px;align-items:flex-start;counter-increment:step}
.steps li::before{content:counter(step);flex:none;width:40px;height:40px;display:grid;place-items:center;border-radius:50%;background:#fff;color:var(--rose-ink);font:700 15px var(--sans);box-shadow:0 10px 24px -14px rgba(185,64,90,.6)}
.steps li div{display:grid;gap:2px;padding-top:6px}
.steps strong{font-weight:700}
.steps span{color:var(--ink-2);font-size:15px}
.fit-contacts{display:flex;flex-wrap:wrap;gap:12px 32px}
.fit-contacts a{display:inline-flex;align-items:center;gap:12px;text-decoration:none;font-weight:700;min-height:44px}
.fit-contacts a .ico{color:var(--rose-deep);width:22px;height:22px}
.fit-contacts span{display:grid;line-height:1.2}
.fit-contacts small{font-weight:400;color:var(--taupe);font-size:13px}
@media (min-width:900px){.fit{grid-template-columns:1fr 1fr;gap:64px;align-items:start}.form{padding:36px 36px 38px}}

/* Окно записи (dialog): кнопки с data-modal="lead", закрыть — data-close, Esc, клик по затемнению */
dialog.modal{border:0;padding:0;margin:auto;width:calc(100% - 24px);max-width:560px;max-height:calc(100dvh - 24px);background:transparent;color:var(--ink);overflow:visible}
dialog.modal::backdrop{background:rgba(53,33,43,.62);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}
dialog.modal[open]{animation:mfade .3s cubic-bezier(.2,.65,.2,1)}
@keyframes mfade{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.modal-box{position:relative;max-height:calc(100dvh - 24px);overflow:auto;overscroll-behavior:contain;background:var(--paper);border-radius:26px;box-shadow:0 30px 80px rgba(0,0,0,.35)}
.modal-close{position:absolute;right:10px;top:10px;z-index:3;width:44px;height:44px;display:grid;place-items:center;border:0;border-radius:50%;background:transparent;color:var(--ink);cursor:pointer}
.modal-close:hover{background:var(--blush);color:var(--rose-ink)}
.modal-close .ico{width:22px;height:22px}
.lead-pop{padding:30px 22px 26px}
.lead-pop .eyebrow{margin-bottom:12px}
.lead-pop-h{font-size:clamp(28px,1.2rem + 2vw,40px);margin-bottom:10px;padding-right:40px}
.lead-pop-text{color:var(--ink-2);margin-bottom:18px}
.lead-pop .form{padding:0;box-shadow:none;border-radius:0;background:none}
.modal-open{overflow:hidden}
@media (min-width:600px){.lead-pop{padding:36px 36px 32px}}
@media (prefers-reduced-motion:reduce){dialog.modal[open]{animation:none}}

/* Плашка cookie (inc/consent.php, assets/consent.js) — над нижней панелью телефона */
.cookie-bar{position:fixed;left:12px;right:12px;bottom:calc(82px + env(safe-area-inset-bottom));z-index:90;display:flex;flex-wrap:wrap;gap:12px 20px;align-items:center;justify-content:space-between;max-width:760px;margin:0 auto;padding:14px 20px;background:var(--plum);color:var(--on-plum);font-size:14px;line-height:1.45;border-radius:20px;box-shadow:0 18px 40px -20px rgba(53,33,43,.7)}
.cookie-bar[hidden]{display:none}
.cookie-bar__text{margin:0;flex:1 1 320px}
.cookie-bar__text a{color:#f6a5b1;text-decoration:underline;text-underline-offset:2px}
.cookie-bar__btn{flex:none;min-height:44px;padding:0 22px;border:1.5px solid var(--rose-deep);border-radius:999px;background:var(--rose-deep);color:#fff;font:700 14px/1 var(--sans);letter-spacing:.03em;cursor:pointer}
.cookie-bar__btn:hover{background:#a23650}
@media (min-width:1000px){.cookie-bar{bottom:16px}}
