.callback-dialog{width:min(420px,calc(100% - 30px));max-width:none;max-height:calc(100% - 20px);margin:auto;overflow:auto;padding:0;border:0;border-radius:14px;color:#172b42;box-shadow:0 18px 60px rgba(0,0,0,.3)}
.callback-dialog::backdrop{background:rgba(8,26,46,.65)}
.callback-content{position:relative;padding:30px}
.callback-content h2{margin:0 30px 10px 0;color:#123965;font-size:25px;line-height:1.2}
.callback-content>p{font-size:15px;line-height:1.5;color:#5d6f80}
.callback-close{position:absolute;top:15px;right:17px;border:0;background:none;color:#455b70;font-size:32px;line-height:1;cursor:pointer}
.callback-form>label:not(.callback-consent){display:block;margin:20px 0 8px;font-size:14px;font-weight:700}
.callback-form input[type=tel]{width:100%;border:2px solid #b7c9d9;border-radius:7px;padding:13px;font:16px Inter,Arial,sans-serif;color:#172b42}
.callback-form input[type=tel]:focus{border-color:#1677d2;outline:none}
.callback-consent{display:flex;align-items:flex-start;gap:8px;margin:14px 0;font-size:13px;line-height:1.45;color:#4c6073}
.callback-consent input{width:17px;height:17px;flex:none;accent-color:#1677d2}
.callback-consent a{color:#1267b5}
.callback-trap{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.callback-message{min-height:1.4em;font-size:14px;line-height:1.4;color:#174f79}
.callback-submit{width:100%;padding:15px;border:0;border-radius:7px;background:#f58220;color:#fff;font:700 16px Inter,Arial,sans-serif;cursor:pointer}
.callback-submit:disabled{opacity:.6;cursor:wait}
/* Кнопка связи и варианты связи остаются доступны при прокрутке. */
.contact-widget{position:fixed;z-index:40;right:22px;bottom:max(22px,env(safe-area-inset-bottom));display:flex;flex-direction:column;align-items:flex-end;gap:12px}
.contact-toggle{position:relative;isolation:isolate;display:grid;place-items:center;width:62px;height:62px;border:0;border-radius:50%;background:#f58220;color:#fff;box-shadow:0 6px 18px rgba(0,0,0,.3);cursor:pointer}
.contact-toggle:before{content:"";position:absolute;inset:0;z-index:-1;border-radius:50%;background:#f58220;animation:contact-pulse 2.2s ease-out infinite}
.contact-toggle[aria-expanded=true]:before{animation:none}
.contact-toggle svg{width:30px;height:30px}
.contact-menu{display:flex;flex-direction:column;align-items:stretch;gap:8px}
.contact-menu[hidden]{display:none}
.contact-choice{display:flex;align-items:center;gap:10px;padding:9px 14px 9px 9px;border:0;border-radius:30px;background:#fff;color:#123965;box-shadow:0 4px 16px rgba(0,0,0,.22);font:700 14px Inter,Arial,sans-serif;cursor:pointer}
.contact-choice svg{width:35px;height:35px;flex:none}.contact-choice[data-contact=phone] svg{padding:7px;border-radius:50%;background:#1677d2;color:#fff}
.contact-toggle:focus-visible,.contact-choice:focus-visible,.callback-bot-link:focus-visible{outline:3px solid #ff9c37;outline-offset:3px}
.callback-bot-link:not([hidden]){display:block;margin:0 0 12px;padding:12px;border-radius:7px;background:#1677d2;color:#fff;text-align:center;text-decoration:none;font-weight:700}
@keyframes contact-pulse{0%{transform:scale(1);opacity:.55}80%,100%{transform:scale(1.7);opacity:0}}
@media(max-width:700px){.contact-widget{right:16px;bottom:max(16px,env(safe-area-inset-bottom))}.contact-toggle{width:58px;height:58px}}
@media(prefers-reduced-motion:reduce){.contact-toggle:before{animation:none}}

.callback-dialog{font-family:Inter,Arial,sans-serif}
.callback-dialog #callback-name{width:100%;border:2px solid #b7c9d9;border-radius:7px;padding:13px;font:16px Inter,Arial,sans-serif;color:#172b42}
.callback-dialog #callback-name:focus{border-color:#1677d2;outline:none}
@media(max-width:700px){.callback-content{padding:25px 20px}}
.lk-cookie:not(.is-hidden){bottom:95px}
