.request-dialog {
  width: min(440px, calc(100% - 28px));
  max-height: min(90vh, 750px);
  padding: 30px;
  border: 1px solid #d9e9ed;
  border-radius: 20px;
  color: #103647;
  background: #fff;
  box-shadow: 0 25px 80px rgba(4, 30, 41, .25);
}
.request-dialog::backdrop { background: rgba(3, 27, 39, .72); }
.request-dialog__close { position: absolute; top: 14px; right: 16px; width: 38px; height: 38px; border: 0; border-radius: 50%; background: #eaf7f9; color: #103647; font-size: 24px; line-height: 1; cursor: pointer; }
.request-dialog__title { margin: 10px 35px 10px 0; font-size: clamp(1.5rem, 4vw, 2rem); line-height: 1.16; }
.request-dialog__intro { margin: 0 0 20px; color: #536b75; font-size: 1rem; line-height: 1.5; }
.request-dialog__form { display: grid; gap: 16px; }
.request-dialog__label { display: grid; gap: 8px; font-size: .95rem; font-weight: 700; }
.request-dialog__form input[type="tel"] { width: 100%; min-height: 52px; padding: 12px 16px; border: 1px solid #a9c6d0; border-radius: 10px; color: #103647; background: #fff; font: inherit; font-weight: 400; }
.request-dialog__form input[type="tel"]:focus-visible, .request-dialog__close:focus-visible { outline: 3px solid #18b7cc; outline-offset: 2px; }
.request-consent { display: flex; align-items: flex-start; gap: 10px; font-size: .86rem; line-height: 1.45; cursor: pointer; }
.request-consent input[type="checkbox"], .mini-form .request-consent input[type="checkbox"] { flex: 0 0 18px; width: 18px; height: 18px; min-height: 18px; padding: 0; margin: 2px 0 0; border: 0; accent-color: #0781a1; box-shadow: none; }
.request-consent a { color: #067796; text-decoration: underline; text-underline-offset: 2px; }
.request-dialog__form .btn { width: 100%; min-height: 52px; cursor: pointer; }
.request-inline .request-consent { grid-column: 1 / -1; color: #fff; }
.request-inline .request-consent a { color: #bceef4; }
.request-inline input[type="tel"] { grid-column: 1; grid-row: 1; }
.request-inline .btn { grid-column: 2; grid-row: 1; }
.request-inline .request-consent { grid-row: 2; }
.request-honey { display: none; }
.request-status { grid-column: 1 / -1; margin: 0; padding: 12px 14px; border-radius: 10px; color: #07535f; background: #e8f8fa; font-size: .92rem; line-height: 1.4; }
.request-status--error { color: #8a2714; background: #fff1eb; }
.request-dialog__form .request-status { width: 100%; }
.request-inline .request-status { color: #07535f; }
.request-inline .request-status--error { color: #8a2714; }
.request-dialog__form[hidden], .request-status[hidden] { display: none; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
@media (max-width: 640px) {
  .request-dialog { padding: 24px 20px; }
  .request-inline input[type="tel"], .request-inline .btn, .request-inline .request-consent { grid-column: 1; grid-row: auto; }
  .request-inline .request-consent { order: 2; }
  .request-inline .btn { order: 3; }
}
