.callback-dialog { width:min(510px,calc(100vw - 32px)); max-height:calc(100dvh - 32px); box-sizing:border-box; margin:auto; padding:30px; border:1px solid var(--line); border-radius:24px; color:var(--text); background:var(--surface); box-shadow:0 24px 100px #0005; overflow:auto; overscroll-behavior:contain; }
.callback-dialog::backdrop { background:#030a17a6; backdrop-filter:blur(6px); }
.callback-dialog .dialog-close { top:12px; right:12px; }
.callback-symbol { display:grid; place-items:center; width:46px; height:46px; margin-bottom:16px; color:var(--action); background:var(--bg); border:1px solid var(--line); border-radius:14px; }
.callback-symbol .ui-icon { width:24px; height:24px; }
.callback-dialog>.tiny-label { display:block; color:var(--blueText); margin-bottom:7px; }
.callback-dialog h2 { margin:0 0 10px; font-size:34px; line-height:1.1; letter-spacing:-.045em; }
.callback-dialog>p:not(.callback-status) { margin:0; font-size:14px; line-height:1.4; color:var(--muted); }
.callback-direct { margin:20px 0 18px; padding-bottom:18px; border-bottom:1px solid var(--line); }
.callback-direct>p { margin:0 0 9px; font-size:12px; color:var(--muted); }
.callback-messengers { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.callback-messengers a { display:flex; align-items:center; justify-content:center; gap:9px; min-height:46px; border:1px solid var(--line); border-radius:11px; font-size:13px; font-weight:750; color:var(--blueText); }
.callback-messengers a:hover { border-color:var(--action); background:var(--bg); }
.callback-messengers .ui-icon { width:19px; height:19px; min-width:19px; }
.callback-fields { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.callback-fields label { display:flex; flex-direction:column; gap:7px; margin:0; min-width:0; font-size:11px; font-weight:750; }
.callback-fields input { width:100%; min-width:0; box-sizing:border-box; margin:0; min-height:48px; }
.callback-dialog .callback-consent { margin:15px 0; font-size:10px; line-height:1.35; }
.callback-submit { width:100%; justify-content:space-between; min-height:50px; font-size:14px; }
.callback-submit:disabled { opacity:.65; cursor:wait; }
.callback-status { margin:15px 0 0; font-size:12px; line-height:1.4; }
.callback-status.error { color:var(--text); padding:12px; border:1px solid var(--line); border-radius:10px; }
.callback-status.success { padding:16px; background:var(--bg); border:1px solid var(--action); border-radius:12px; color:var(--text); font-size:14px; }
.contact-person .callback-open { display:inline-flex; align-items:center; gap:8px; margin-top:12px; font-size:12px; color:var(--blueText); }
@media(max-width:480px) {
  .callback-dialog { padding:24px 20px; border-radius:19px; }
  .callback-dialog h2 { font-size:29px; }
  .callback-dialog>p:not(.callback-status) { font-size:13px; }
  .callback-fields { grid-template-columns:1fr; gap:12px; }
  .callback-symbol { width:40px; height:40px; margin-bottom:14px; }
  .callback-direct { margin-top:16px; padding-bottom:15px; }
}
