.somaform-section-webform {
  padding-top: clamp(1.4rem, 2.1vw, 2rem);
  padding-bottom: clamp(1.25rem, 1.9vw, 1.8rem);
}

.somaform-section-webform.somaform-section-teal-soft,
.somaform-section-webform.somaform-section-band {
  background: var(--color-teal-25);
}

.somaform-section-webform .somaform-section-description {
  margin-bottom: 0.95rem;
  max-width: 33rem;
}

.somaform-webform-panel,
.somaform-faq-form-panel {
  border: 1px solid var(--color-teal-200);
  background: var(--color-teal-25);
  padding: 1.35rem 1.25rem 1.1rem;
}

.somaform-section-webform .somaform-container {
  border: 1px solid var(--color-teal-200);
  background: var(--color-teal-25);
  padding: clamp(1.1rem, 1.8vw, 1.55rem) clamp(1rem, 1.7vw, 1.5rem);
}

.somaform-section-webform .somaform-webform-panel {
  border: 0;
  background: transparent;
  padding: 0;
}

.somaform-webform-shell {
  margin-top: 0.9rem;
}

.somaform-route-contact .somaform-section-webform {
  padding-top: clamp(2rem, 2.8vw, 3rem);
  padding-bottom: clamp(2rem, 2.8vw, 3rem);
}

.somaform-route-contact .somaform-section-webform .somaform-container {
  border: 0;
  background: transparent;
  padding: 0;
}

.somaform-route-contact .somaform-contact-form-grid {
  display: grid;
  gap: 1.5rem;
}

.somaform-route-contact .somaform-contact-form-aside {
  border: 1px solid var(--color-border);
  background: var(--color-surface);
  padding: 1.5rem;
}

.somaform-route-contact .somaform-contact-form-aside .somaform-section-title {
  margin-top: 0.75rem;
  max-width: 18ch;
}

.somaform-route-contact .somaform-contact-form-aside .somaform-section-description {
  margin-top: 1rem;
  max-width: none;
  color: var(--color-ink-75);
}

.somaform-route-contact .somaform-contact-form-note {
  margin-top: 1rem;
  border: 1px solid var(--color-border);
  background: #fff;
  padding: 0.95rem 1rem;
  font-size: 0.875rem;
  line-height: 1.75;
  color: var(--color-ink-75);
}

.somaform-route-contact .somaform-contact-form-note-privacy {
  border-color: var(--color-teal-300);
  background: var(--color-teal-25);
}

.somaform-route-contact .somaform-contact-form-note a {
  text-decoration: underline;
  text-underline-offset: 0.2em;
}

.somaform-route-contact .somaform-contact-details {
  margin-top: 1.5rem;
  display: grid;
  gap: 0.75rem;
  font-size: 0.875rem;
  color: var(--color-ink-70);
}

.somaform-route-contact .somaform-contact-details dt {
  margin: 0;
  font-weight: 600;
  color: var(--color-ink);
}

.somaform-route-contact .somaform-contact-details dd {
  margin: 0;
}

.somaform-route-contact .somaform-contact-details a {
  text-decoration: underline;
  text-underline-offset: 0.2em;
}

.somaform-route-contact .somaform-contact-form-aside .somaform-actions {
  margin-top: 1.5rem;
  justify-content: flex-start;
}

.somaform-route-contact .somaform-contact-form-main {
  border: 1px solid var(--color-border);
  background: #fff;
  box-shadow: 0 14px 30px rgba(0, 0, 0, 0.05);
  padding: 1.5rem;
}

.somaform-route-contact .somaform-contact-form-main h3 {
  margin: 0;
  font-size: 1.5rem;
  font-weight: 600;
  line-height: 1.2;
  color: var(--color-ink);
}

.somaform-route-contact .somaform-contact-form-main > p {
  margin-top: 0.45rem;
  color: var(--color-ink-65);
  font-size: 0.875rem;
  line-height: 1.7;
}

.somaform-route-contact .somaform-contact-form-main .somaform-webform-shell {
  margin-top: 1rem;
}

.somaform-route-contact .somaform-contact-form-main .somaform-webform-panel {
  border: 0;
  background: transparent;
  padding: 0;
}

.somaform-webform-panel form,
.somaform-faq-form-panel form {
  display: grid;
  gap: 0.72rem;
}

.somaform-webform-panel .form-item,
.somaform-faq-form-panel .form-item {
  margin: 0;
}

.somaform-webform-panel label,
.somaform-faq-form-panel label {
  margin-bottom: 0.42rem;
  color: var(--color-ink-85);
  font-weight: 500;
  font-size: 0.98rem;
}

.somaform-webform-panel input[type="text"],
.somaform-webform-panel input[type="email"],
.somaform-webform-panel input[type="tel"],
.somaform-webform-panel textarea,
.somaform-faq-form-panel input[type="text"],
.somaform-faq-form-panel input[type="email"],
.somaform-faq-form-panel input[type="tel"],
.somaform-faq-form-panel textarea {
  border-color: #c6d6d9;
  background: #fff;
}

.somaform-webform-panel textarea,
.somaform-faq-form-panel textarea {
  min-height: 10.2rem;
}

.somaform-webform-panel .js-form-type-checkbox,
.somaform-faq-form-panel .js-form-type-checkbox,
.somaform-webform-panel .form-type-checkbox,
.somaform-faq-form-panel .form-type-checkbox {
  margin-top: 0.18rem;
}

.somaform-webform-panel .form-actions,
.somaform-faq-form-panel .form-actions {
  margin-top: 0.18rem;
}

.somaform-webform-panel input.form-submit,
.somaform-webform-panel input.webform-button--submit,
.somaform-faq-form-panel input.form-submit,
.somaform-faq-form-panel input.webform-button--submit {
  min-height: 2.75rem;
  padding: 0.54rem 1.08rem;
}

@media (min-width: 64rem) {
  .somaform-route-contact .somaform-contact-form-grid {
    grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
    gap: 2rem;
  }
}
