.nwl-modal[hidden] { display:none!important; }
.nwl-modal { position:fixed; box-sizing:border-box; inset:0; z-index:2147483400; display:grid; place-items:center; padding:20px; font-family:var(--nw-font-main,"Manrope",sans-serif); }
.nwl-modal *, .nwl-modal *::before, .nwl-modal *::after { box-sizing:border-box; }
.nwl-modal__backdrop { position:absolute; inset:0; background:rgba(27,40,48,.34); cursor:pointer; }
.nwl-modal__dialog { position:relative; z-index:1; width:min(520px,100%); max-height:calc(100dvh - 40px); padding:32px 24px; overflow-x:hidden; overflow-y:auto; border-radius:24px; outline:0; background:#fff; box-shadow:0 24px 48px -12px rgba(20,40,58,.18),0 0 0 1px rgba(20,40,58,.08); }
.nwl-modal__header { display:flex; align-items:flex-start; justify-content:space-between; gap:0; margin-bottom:24px; }
.nwl-modal__header h2, .nwl-modal__header p, .nwl-success h3, .nwl-success p { margin:0; font-family:inherit!important; }
.nwl-modal__header h2, .nwl-success h3 { color:#1b2830!important; font-size:22px!important; font-weight:800!important; line-height:30px!important; letter-spacing:0!important; }
.nwl-modal__header p { max-width:283px; margin-top:8px; color:#64727e!important; font-size:16px!important; line-height:24px!important; }
.nwl-modal__close { position:relative; width:36px; min-width:36px; height:36px; min-height:36px; margin:0; padding:0; border:0; border-radius:10px; background:#f7fcfd; box-shadow:none; color:#2ba8c4; cursor:pointer; }
.nwl-modal__close:hover { border-color:transparent; background:#eaf6f8; box-shadow:none; color:#22869d; }
.nwl-modal__close:focus { border-color:transparent; background:#f7fcfd; box-shadow:none; color:#2ba8c4; }
.nwl-modal__close:focus-visible { outline:3px solid rgba(43,168,196,.22); outline-offset:2px; }
.nwl-modal__close:active { background:#dceff3; color:#1b7185; }
.nwl-modal__close span::before, .nwl-modal__close span::after { position:absolute; top:17px; left:10px; width:16px; height:1.5px; content:""; background:currentColor; }
.nwl-modal__close span::before { transform:rotate(45deg); }
.nwl-modal__close span::after { transform:rotate(-45deg); }
.nwl-form { display:grid; gap:24px; margin:0; }
.nwl-field { display:grid; gap:8px; }
.nwl-field[hidden] { display:none!important; }
.nwl-field label { margin:0; color:#1b2830; font-size:14px; font-weight:400; line-height:21px; }
.nwl-field label > span { color:#d92929; }
.nwl-field label small { margin-left:4px; color:#64727e; font-size:12px; }
.nwl-field input, .nwl-field textarea { display:block; width:100%; margin:0; padding:12px; border:1px solid #bfe3ec; border-radius:8px; outline:0; background:#fff; box-shadow:none; color:#1b2830; font-family:inherit; font-size:14px; font-weight:400; line-height:21px; }
.nwl-field input { height:44px; }
.nwl-field textarea { min-height:84px; resize:vertical; }
.nwl-field input::placeholder, .nwl-field textarea::placeholder { color:#8a9aa4; opacity:1; }
.nwl-field input:focus, .nwl-field textarea:focus { border-color:#2ba8c4; box-shadow:0 0 0 3px rgba(43,168,196,.12); }
.nwl-field.is-invalid input, .nwl-field.is-invalid textarea { border-color:#d92929; }
.nwl-field__error { color:#d92929; font-size:12px; line-height:16px; }
.nwl-field__error:empty { display:none; }
.nwl-trap { position:absolute!important; left:-10000px!important; width:1px!important; height:1px!important; overflow:hidden!important; }
.nwl-captcha { display:flex; max-width:100%; justify-content:center; overflow:hidden; }
.nwl-captcha[data-visible="0"], .nwl-captcha[data-state="unavailable"] { display:none; }
.nwl-captcha__widget { max-width:100%; }
.nwl-captcha__loading { margin:0; color:#64727e; font-size:13px; line-height:18px; text-align:center; }
.nwl-form__submit, .nwl-success button { display:inline-flex; width:100%; min-height:52px; align-items:center; justify-content:center; margin:0; padding:16px 28px; border:0; border-radius:999px; background:#2ba8c4; box-shadow:none; color:#fff; font-family:inherit; font-size:15px; font-weight:700; line-height:20px; cursor:pointer; }
.nwl-form__submit:hover, .nwl-success button:hover { border-color:transparent; background:#22869d; box-shadow:none; color:#fff; }
.nwl-form__submit:focus, .nwl-success button:focus { border-color:transparent; background:#2ba8c4; box-shadow:none; color:#fff; }
.nwl-form__submit:focus-visible, .nwl-success button:focus-visible { outline:3px solid rgba(43,168,196,.24); outline-offset:2px; }
.nwl-form__submit:active, .nwl-success button:active { background:#1b7185; color:#fff; }
.nwl-form__submit:disabled { cursor:wait; opacity:.65; }
.nwl-form__actions { display:grid; gap:12px; }
.nwl-form__status { margin:0; color:#d92929; font-size:13px; line-height:18px; text-align:center; }
.nwl-form__status:empty { display:none; }
.nwl-form__phone { margin:0; color:#64727e; font-size:14px; font-weight:400; line-height:21px; text-align:center; }
.nwl-form__phone a { color:#2ba8c4; font-weight:700; text-decoration:none; }
.nwl-form__phone a:hover, .nwl-form__phone a:focus-visible { color:#22869d; text-decoration:underline; }
.nwl-success { padding:52px 0 20px; text-align:center; }
.nwl-success p { margin-top:8px; color:#64727e; font-size:16px; line-height:24px; }
.nwl-success button { margin-top:28px; }
body.nwl-modal-open { overflow:hidden; }
[data-nw-form] { cursor:pointer; }
.nwl-noscript { margin:16px auto; max-width:720px; padding:12px 16px; border:1px solid #bfe3ec; border-radius:10px; background:#f5fbfd; color:#1b2830; text-align:center; }
@media (max-width:767px) {
  .nwl-modal { padding:12px; }
  .nwl-modal__dialog { width:min(350px,100%); max-height:calc(100dvh - 24px); padding:32px 24px; border-radius:24px; }
  .nwl-modal__header h2, .nwl-success h3 { font-size:20px!important; line-height:26px!important; }
  .nwl-modal__header p { font-size:14px!important; line-height:21px!important; }
  .nwl-form__submit, .nwl-success button { min-height:52px; }
  .nwl-captcha[data-visible="1"] .nwl-captcha__widget { transform:scale(.98); transform-origin:center; }
}
@media (max-width:374px) {
  .nwl-modal { padding:8px; }
  .nwl-modal__dialog { max-height:calc(100dvh - 16px); padding-right:16px; padding-left:16px; }
}

