.quote-dialog {
  width: min(640px, calc(100% - 32px));
  max-height: calc(100vh - 32px);
  max-height: calc(100dvh - 32px);
  margin: auto;
  padding: 32px;
  overflow-y: auto;
  overscroll-behavior: contain;
  border: 0;
  border-radius: 20px;
  background: #fff;
  color: var(--ink, #1b2320);
  box-shadow: 0 24px 80px rgb(0 0 0 / 25%);
}
.quote-dialog::backdrop { background: rgb(0 0 0 / 55%); }
body.quote-dialog-open { overflow: hidden; }
.quote-dialog h2 { margin: 0 44px 12px 0; font-size: clamp(26px, 4vw, 34px); line-height: 1.2; }
.quote-dialog h2:focus { outline: none; }
.quote-dialog > p { margin: 0 0 24px; line-height: 1.6; color: #59625d; }
.quote-dialog-close {
  position: absolute;
  top: 16px;
  right: 16px;
  width: 44px;
  height: 44px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: #eef1ee;
  color: #1b2320;
  font-size: 30px;
  line-height: 1;
  cursor: pointer;
}
.quote-dialog-close:focus-visible { outline: 3px solid var(--green, #008514); outline-offset: 2px; }
.quote-dialog .news-contact-form { padding: 0; background: transparent; }
.quote-dialog .news-contact-form input,
.quote-dialog .news-contact-form textarea { font-size: 16px; }
.quote-dialog .news-contact-form .inquiry-privacy-field { display: flex; align-items: flex-start; font-weight: 400; }
.quote-dialog .news-contact-form input[type="checkbox"] { width: 18px; height: 18px; flex: 0 0 18px; margin-top: 3px; }
.quote-dialog .quote-button:disabled { opacity: .65; cursor: wait; }
@media (max-width: 600px) {
  .quote-dialog { padding: 24px 20px; border-radius: 16px; }
  .quote-dialog .news-contact-form { gap: 12px; }
  .quote-dialog .news-contact-form textarea { min-height: 110px; }
}
