/* Contact form (Figma node 1:664). */

.dn-contact__intro { display: flex; flex-direction: column; gap: 20px; width: 800px; max-width: 100%; }
.dn-contact__intro p + p { margin-top: 0; }

.dn-contact__form { display: flex; flex-direction: column; align-items: flex-start; gap: 30px; margin-top: 40px; width: var(--content-width); max-width: 100%; }
.dn-contact__fields { display: flex; flex-direction: column; gap: 18px; width: 100%; }
.dn-contact__row { display: flex; gap: 18px; }
.dn-contact__row > * { flex: 1; min-width: 0; }

/* Consent checkbox (required) */
.dn-consent { position: relative; display: grid; grid-template-columns: 24px 1fr; column-gap: 14px; align-items: start; }
.dn-consent__box {
  appearance: none;
  -webkit-appearance: none;
  width: 24px;
  height: 24px;
  margin: 0;
  border: var(--border-width) solid var(--elements-lines);
  border-radius: 4px;
  background: var(--background-primary);
  cursor: pointer;
  transition: border-color var(--transition), background-color var(--transition);
}
.dn-consent__box:hover, .dn-consent__box:focus-visible { border-color: var(--elements-hover); }
.dn-consent__box:checked { background: var(--button-primary) url("../../svg/check.svg") center / 14px no-repeat; border-color: var(--button-primary); }
.dn-consent__box.is-invalid { border-color: var(--typography-primary); border-width: 2px; }
.dn-consent__label { font-size: 16px; line-height: 1.4; cursor: pointer; padding-top: 2px; }
.dn-consent__label a { text-decoration: underline; text-underline-offset: 3px; }
.dn-consent__label a:hover, .dn-consent__label a:focus-visible { color: var(--elements-hover); }
.dn-consent__error { grid-column: 1 / -1; margin-top: 8px; padding-left: 0; }

/* Honeypot for bots: out of sight and out of the tab order (the server rejects any value) */
.dn-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
