#contactDialog {
  width: min(600px, calc(100% - 28px));
  max-height: calc(100dvh - 28px);
  padding: clamp(20px, 4vw, 36px);
  border: 1px solid var(--line);
  border-radius: 18px;
}

#contactDialog [hidden] { display: none !important; }
#contactDialog .dialog-head { display: flex; justify-content: space-between; align-items: start; gap: 14px; }
#contactDialog h2 { margin: 0; font: 700 clamp(24px, 4vw, 34px)/1.1 var(--ft-display); }
#contactDialog p { margin: 12px 0 0; }
#contactDialog .icon-button { border: 0; background: none; color: var(--ink); cursor: pointer; font-size: 26px; line-height: 1; }
#contactDialog form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin-top: 20px; }
#contactDialog .full { grid-column: 1 / -1; }
#contactDialog .field { display: grid; gap: 5px; font-size: 14px; }
#contactDialog .field :is(input, select, textarea) {
  width: 100%;
  padding: 10px 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  color: var(--ink);
  background: transparent;
  font: inherit;
  font-size: 16px;
}
#contactDialog small, #contactDialog .field span, #contactDialog .form-alternative { color: var(--muted); }
#contactDialog .consents { display: grid; gap: 8px; }
#contactDialog .consents label { display: grid; grid-template-columns: auto 1fr; align-items: start; gap: 8px; font-size: 13px; }
#contactDialog .consents input { accent-color: var(--red); }
#contactDialog a { color: var(--red); text-decoration: underline; }
#contactDialog .button { padding: 10px 16px; border: 0; border-radius: 8px; background: var(--red); color: white; cursor: pointer; }
#contactDialog .button:disabled { opacity: .65; cursor: wait; }
#contactDialog .form-success .button { margin-top: 16px; }
#contactDialog .form-error { color: var(--red); }
#contactDialog .form-alternative { font-size: 13px; }
#contactDialog .honeypot { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.footer-bottom .legal-links { display: grid; gap: 6px; }

@media (max-width: 430px) {
  #contactDialog form { grid-template-columns: 1fr; }
}
