/* One-field callback, using the site's existing colours and controls. */
.callback-dialog{box-sizing:border-box;width:min(460px,calc(100% - 32px));max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);margin:auto;padding:36px 28px 28px;border:1px solid rgba(139,108,255,.4);border-radius:24px;background:radial-gradient(ellipse at top right,rgba(139,108,255,.13),transparent 65%),#0c1027;color:var(--white);box-shadow:0 25px 100px rgba(0,0,0,.5);overflow-y:auto;overscroll-behavior:contain}
.callback-dialog:not([open]){display:none}
.callback-dialog::backdrop{background:rgba(3,5,17,.78);backdrop-filter:blur(7px)}
.callback-dialog h2{font-size:clamp(26px,6vw,34px);line-height:1.15;margin:0 28px 14px 0}
.callback-description{font-size:15px;line-height:1.6;color:var(--dim);margin-bottom:24px}
.callback-close{position:absolute;right:12px;top:12px;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;border:1px solid var(--line);background:transparent;color:var(--white);font-size:25px;cursor:pointer}
.callback-close:focus-visible{outline:2px solid var(--cyan);outline-offset:2px}
.callback-form input[type="tel"]{font-size:16px;min-height:52px}
.callback-form .btn{width:100%;justify-content:center;min-height:50px;margin-top:6px}
.callback-form .btn:disabled{opacity:.6;cursor:wait}
.callback-form .callback-note{min-height:24px;margin:12px 0 0;color:var(--cyan);font-size:14px;line-height:1.5}
.callback-consent{margin:14px 0 0;font-size:12px;line-height:1.6;color:var(--dim)}
.callback-consent a{color:var(--cyan)}
.factory-team .tg{max-width:100%;min-height:44px;box-sizing:border-box;position:relative;z-index:1}
@media(max-width:600px){.callback-dialog{padding:46px 22px 24px;border-radius:20px}.factory-team .tg{padding-inline:7px;font-size:10.5px;gap:4px}.quick-contacts{row-gap:0}.quick-contacts address{font-size:12px}}

/* Fit the callback to the visible viewport, including the iOS keyboard. */
.callback-form .data-consent,.callback-form .consent-policy{font-size:12px;line-height:1.6}
.callback-form .callback-note:empty{display:none}
@media(max-width:600px){
 .callback-dialog{position:fixed;inset:auto 0 auto;top:calc(var(--callback-offset-top,0px) + 12px);margin:0 auto;max-height:calc(100vh - 24px);max-height:calc(var(--callback-viewport-height,100dvh) - 24px);padding:46px 20px 18px;scroll-padding-block:16px;-webkit-overflow-scrolling:touch}
 .callback-dialog h2{margin-bottom:10px}
 .callback-description{margin-bottom:14px}
 .callback-form{gap:10px}
 .callback-form .data-consent{margin:6px 0 0}
 .callback-form .consent-policy{margin:0 0 2px}
}
