/* Заявка из шапки: кнопка «Записаться», короткая форма и нижняя панель на телефоне. */
.header-actions { gap:14px; }
.header-lead { white-space:nowrap; cursor:pointer; font:inherit; font-weight:550; }
.header-contact>summary.header-question { display:inline-flex; align-items:center; gap:8px; min-height:46px; padding:0 4px; border:0; border-bottom:1px solid var(--line); background:transparent; color:var(--ink); font-size:14px; font-weight:500; line-height:1.35; transition:color .25s,border-color .25s; }
.header-contact>summary.header-question:hover { color:var(--red); border-color:var(--red); }
.header-contact>summary.header-question span { color:var(--red); font-size:16px; line-height:1; }

.lead-dialog { border:12px solid transparent; border-radius:18px; background:linear-gradient(var(--paper),var(--paper)) padding-box,var(--action-stripes) border-box,var(--paper); color:var(--ink); margin:auto; padding:clamp(24px,4vw,40px); width:min(560px,calc(100% - 24px)); max-height:calc(100dvh - 24px); overflow:auto; box-shadow:0 20px 70px #201a1538; }
.lead-dialog::backdrop { background:#1515158c; }
.lead-dialog .eyebrow { margin-bottom:14px; }
.lead-dialog h2 { font-size:clamp(1.8rem,4vw,2.4rem); margin:0 30px 10px 0; }
.lead-dialog>p { margin:0 0 6px; color:var(--muted); line-height:1.55; }
.lead-dialog-close { position:absolute; top:10px; right:10px; width:44px; height:44px; border:0; background:transparent; font-size:28px; color:var(--ink); cursor:pointer; }
.lead-dialog fieldset { margin:22px 0 0; padding:0; border:0; min-width:0; }
.lead-dialog legend { padding:0; margin-bottom:10px; font-size:14px; font-weight:600; }
.lead-choices { display:grid; gap:8px; }
.lead-choices--row { grid-template-columns:1fr 1fr; }
.lead-choice { display:flex; align-items:center; gap:12px; min-height:52px; padding:12px 14px; border:1px solid #c9c5bd; border-radius:8px; background:#fff; font-size:15px; line-height:1.3; cursor:pointer; transition:border-color .25s,background .25s; }
.lead-choice:has(input:checked) { border-color:var(--red); background:#fbf1ef; }
.lead-choice:has(input:focus-visible) { outline:2px solid var(--red); outline-offset:2px; }
.lead-choice input { width:20px; height:20px; margin:0; flex-shrink:0; accent-color:var(--red); }
.lead-choice small { display:block; color:var(--muted); font-size:13px; }
.lead-fields { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-top:22px; }
.lead-fields label { display:grid; gap:8px; font-size:14px; }
.lead-fields label[hidden] { display:none; }
.lead-fields input { min-width:0; width:100%; border:1px solid #c9c5bd; border-radius:8px; padding:13px 14px; background:#fff; font:inherit; font-size:16px; color:var(--ink); transition:border-color .25s,box-shadow .25s; }
.lead-fields input:focus { outline:2px solid var(--red); outline-offset:2px; border-color:transparent; }
.lead-age { grid-column:1/-1; }
.lead-age input { max-width:160px; }
.lead-age small { color:var(--muted); font-size:13px; }
.lead-consent { display:flex; gap:12px; margin:22px 0 18px; font-size:14px; align-items:flex-start; line-height:1.45; }
.lead-consent input { width:20px; height:20px; flex-shrink:0; accent-color:var(--red); margin-top:1px; }
.lead-consent a,.lead-alt a { text-decoration:underline; text-underline-offset:3px; }
.lead-honeypot { position:absolute; left:-9999px; }
.lead-dialog .button { width:100%; border-radius:8px; min-height:54px; cursor:pointer; }
.lead-dialog .button:disabled { opacity:.6; cursor:wait; }
.lead-promise { margin:14px 0 0; font-size:14px; color:var(--muted); line-height:1.5; }
.lead-alt { margin:18px 0 0; padding-top:16px; border-top:1px solid var(--line); font-size:14px; line-height:1.5; }
.lead-message { margin:16px 0 0; font-size:16px; line-height:1.5; }
.lead-message[hidden] { display:none; }
.lead-message--error { color:var(--red); }
.lead-dialog[data-state="done"] form,.lead-dialog[data-state="done"] .lead-intro,.lead-dialog[data-state="done"] .lead-promise,.lead-dialog[data-state="done"] .lead-alt { display:none; }
.lead-done { display:none; margin-top:20px; }
.lead-dialog[data-state="done"] .lead-done { display:block; }
.lead-done p { margin:0 0 12px; line-height:1.55; }
.lead-done .text-link { margin-top:6px; }
.lead-write-panel { margin-top:18px; }
.lead-write-panel a { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:52px; padding:12px 0; border-top:1px solid var(--line); font-size:16px; font-weight:500; }
.lead-write-panel a:hover { color:var(--red); }

/* Нижняя панель на телефоне. Появляется только там, где нет места для двух кнопок в шапке. */
.lead-bar { display:none; }
@media(max-width:680px) {
 .header-actions { gap:8px; }
 /* На телефоне оба действия живут в нижней панели; шапка остаётся логотипом и меню. */
 .header-lead,.header-contact { display:none; }
 body { padding-bottom:calc(72px + env(safe-area-inset-bottom,0px)); }
 .lead-bar { position:fixed; z-index:19; inset:auto 0 0; display:grid; grid-template-columns:1fr 1fr; gap:10px; padding:10px 16px calc(10px + env(safe-area-inset-bottom,0px)); background:rgba(250,249,246,.97); border-top:1px solid var(--line); box-shadow:0 -8px 24px #00000012; }
 .lead-bar .button { min-height:50px; padding:13px 16px; gap:12px; border-radius:6px; font-size:14px; justify-content:center; }
 .lead-bar .button--white { border-color:var(--line); }
 .lead-bar[hidden] { display:none; }
 .lead-dialog { width:calc(100% - 8px); max-height:calc(100dvh - 8px); border-width:6px; border-radius:12px; padding:16px 14px 18px; }
 .lead-dialog-close { top:5px; right:5px; }
 .lead-dialog h2 { margin:0 38px 8px 0; font-size:clamp(1.55rem,7vw,1.9rem); line-height:1.08; }
 .lead-dialog fieldset { margin-top:16px; }
 .lead-choices--row { grid-template-columns:1fr; }
 .lead-fields { grid-template-columns:1fr; gap:12px; margin-top:16px; }
 .lead-consent { margin:16px 0 14px; font-size:13px; }
}
