.sdn-contact {
  max-width: var(--content, 720px);
  margin: 0 auto 34px;
  padding: 24px;
  background: #fff;
  border: 1px solid var(--line, #d9dee7);
  border-radius: 6px;
}

.sdn-contact-block-editor {
  width: 100%;
}

.sdn-contact--wide {
  max-width: 960px;
  margin: 28px auto 34px;
}

.sdn-contact--soft {
  max-width: 920px;
  margin: 28px auto 34px;
  background:
    radial-gradient(circle at 88% 0%, rgba(83, 58, 253, 0.09), transparent 30%),
    #f7faff;
  border-color: #d8e4f7;
}

.sdn-contact--minimal {
  max-width: 760px;
  margin-top: 24px;
  padding: 0;
  background: transparent;
  border: 0;
}

.sdn-contact--minimal .sdn-contact__intro {
  border-bottom: 0;
}

.sdn-contact--panel,
.sdn-contact--wide,
.sdn-contact--soft {
  border-radius: 12px;
  box-shadow: 0 16px 40px rgba(13, 37, 61, 0.06);
}

.sdn-contact__intro {
  padding-bottom: 18px;
  border-bottom: 1px solid var(--line, #d9dee7);
}

.sdn-contact__intro h2 {
  margin: 0;
  color: var(--text-strong, #111827);
  font-size: 24px;
  line-height: 1.4;
  letter-spacing: 0;
}

.sdn-contact__intro p {
  margin: 8px 0 0;
  color: var(--muted, #667085);
  font-size: 15px;
  line-height: 1.8;
}

.sdn-contact__notice {
  margin-top: 18px;
  padding: 12px 14px;
  border: 1px solid var(--line, #d9dee7);
  border-radius: 4px;
  font-size: 14px;
  line-height: 1.7;
}

.sdn-contact__notice--sent {
  color: var(--accent-dark, #115e59);
  background: var(--accent-soft, #e6f3f1);
  border-color: rgba(17, 94, 89, 0.22);
}

.sdn-contact__notice--error {
  color: #7a2e0e;
  background: #fff7e6;
  border-color: #f5d099;
}

.sdn-contact__form {
  display: grid;
  gap: 18px;
  margin-top: 20px;
}

.sdn-contact__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.sdn-contact label {
  display: grid;
  gap: 7px;
  min-width: 0;
  color: var(--text, #1f2933);
  font-size: 14px;
  font-weight: 700;
  line-height: 1.5;
}

.sdn-contact label span {
  min-width: 0;
}

.sdn-contact b {
  display: inline-flex;
  align-items: center;
  min-height: 18px;
  margin-left: 4px;
  padding: 1px 6px;
  color: #fff;
  background: var(--accent-dark, #115e59);
  border-radius: 999px;
  font-size: 11px;
  line-height: 1;
}

.sdn-contact input,
.sdn-contact select,
.sdn-contact textarea {
  width: 100%;
  min-width: 0;
  border: 1px solid var(--line-dark, #b8c0cc);
  border-radius: 4px;
  padding: 10px 12px;
  color: var(--text-strong, #111827);
  background: #fff;
  font: inherit;
  font-size: 15px;
  line-height: 1.6;
}

.sdn-contact input,
.sdn-contact select {
  min-height: 44px;
}

.sdn-contact textarea {
  resize: vertical;
}

.sdn-contact input:focus,
.sdn-contact select:focus,
.sdn-contact textarea:focus {
  border-color: var(--accent-dark, #115e59);
  box-shadow: 0 0 0 3px rgba(17, 94, 89, 0.12);
  outline: 0;
}

.sdn-contact__privacy {
  display: flex !important;
  grid-template-columns: none;
  gap: 9px;
  align-items: flex-start;
  font-weight: 600;
}

.sdn-contact__privacy input {
  width: 18px;
  min-width: 18px;
  height: 18px;
  min-height: 18px;
  margin-top: 4px;
  padding: 0;
}

.sdn-contact__privacy a {
  color: var(--accent-dark, #115e59);
  text-decoration: underline;
  text-underline-offset: 3px;
}

.sdn-contact__submit {
  justify-self: start;
  min-width: 180px;
}

.sdn-contact__trap {
  position: absolute;
  left: -9999px;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

.sdn-contact-admin {
  display: grid;
  grid-template-columns: 160px minmax(0, 1fr);
  gap: 0;
  margin: 0;
  border: 1px solid #dcdcde;
}

.sdn-contact-admin dt,
.sdn-contact-admin dd {
  margin: 0;
  padding: 10px 12px;
  border-bottom: 1px solid #dcdcde;
}

.sdn-contact-admin dt {
  background: #f6f7f7;
  border-right: 1px solid #dcdcde;
  font-weight: 700;
}

.sdn-contact-admin dt:last-of-type,
.sdn-contact-admin dd:last-of-type {
  border-bottom: 0;
}

@media (max-width: 720px) {
  .sdn-contact {
    max-width: 100%;
    padding: 18px 16px;
  }

  .sdn-contact__intro h2 {
    font-size: 22px;
  }

  .sdn-contact__grid {
    grid-template-columns: 1fr;
    gap: 14px;
  }

  .sdn-contact__submit {
    width: 100%;
    min-width: 0;
  }
}
