.template-contact .contact-inquiry-stack {
  display: grid;
  min-width: 0;
  gap: 28px;
}

.template-contact .contact-inquiry-panel {
  min-width: 0;
  padding: 32px;
  border: 1px solid var(--line);
  border-top: 4px solid var(--green);
  background: var(--cream);
}

.template-contact .contact-inquiry-panel h2 {
  margin-bottom: 16px;
  font-size: clamp(28px, 3vw, 38px);
  line-height: 1.35;
  scroll-margin-top: 28px;
}

.template-contact .contact-inquiry-intro {
  margin-bottom: 14px;
  color: #536a62;
  font-size: 15px;
  line-height: 1.85;
}

.template-contact .contact-inquiry-safety {
  margin-bottom: 24px;
  padding: 12px 14px;
  border-left: 3px solid var(--red);
  color: #6f4b41;
  background: #f1e5d7;
  font-size: 12px;
  line-height: 1.8;
}

.template-contact .contact-inquiry-form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px 18px;
  margin: 0;
}

.template-contact .contact-inquiry-form .form-field {
  min-width: 0;
  margin: 0;
}

.template-contact .contact-inquiry-form .contact-inquiry-field--wide,
.template-contact .contact-inquiry-form .buttons {
  grid-column: 1 / -1;
}

.template-contact .contact-inquiry-form .form-label {
  margin-bottom: 7px;
  color: var(--green);
  font-size: 14px;
  font-weight: 800;
  line-height: 1.65;
}

.template-contact .contact-inquiry-form .required {
  margin-left: 4px;
  color: var(--red);
}

.template-contact .contact-inquiry-form .form-data,
.template-contact .contact-inquiry-form .form-input-wrapper,
.template-contact .contact-inquiry-form .form-textarea-wrapper {
  min-width: 0;
  width: 100%;
  margin: 0;
  padding: 0;
}

.template-contact .contact-inquiry-form input:not([type="checkbox"]):not([type="hidden"]):not(.form-honeybear),
.template-contact .contact-inquiry-form textarea {
  display: block;
  width: 100%;
  max-width: 100%;
  min-height: 46px;
  margin: 0;
  padding: 11px 13px;
  border: 1px solid #b8c8be;
  border-radius: 3px;
  color: var(--ink);
  background: var(--paper);
  font-size: 16px;
  line-height: 1.5;
}

.template-contact .contact-inquiry-form textarea {
  min-height: 108px;
  resize: vertical;
}

.template-contact .contact-inquiry-form input::placeholder,
.template-contact .contact-inquiry-form textarea::placeholder {
  color: #74837d;
  opacity: 1;
  font-size: 13px;
}

.template-contact .contact-inquiry-form input:focus,
.template-contact .contact-inquiry-form textarea:focus {
  border-color: var(--green);
}

.template-contact .contact-inquiry-form .form-description {
  display: block;
  margin-top: 7px;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.7;
}

.template-contact .contact-inquiry-form .contact-inquiry-consent > .form-label {
  display: none;
}

.template-contact .contact-inquiry-form .contact-inquiry-consent .form-input-wrapper {
  display: flex;
  align-items: flex-start;
  gap: 10px;
}

.template-contact .contact-inquiry-form input[type="checkbox"] {
  flex: 0 0 18px;
  width: 18px;
  height: 18px;
  margin: 4px 0 0;
  accent-color: var(--green);
  cursor: pointer;
}

.template-contact .contact-inquiry-form .contact-inquiry-consent label {
  min-width: 0;
  color: #536a62;
  font-size: 13px;
  line-height: 1.8;
  cursor: pointer;
}

.template-contact .contact-inquiry-form .buttons {
  margin: 0;
  padding: 0;
}

.template-contact .contact-inquiry-form .buttons .button {
  min-height: 48px;
  cursor: pointer;
}

.template-contact .contact-inquiry-privacy {
  margin: 18px 0 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.85;
}

.template-contact .contact-inquiry-privacy a {
  color: var(--green);
  text-decoration: underline;
  text-underline-offset: 3px;
}

.template-contact .contact-inquiry-fields .notices {
  margin: 0 0 22px;
  padding: 16px 18px;
  border: 1px solid #aec9bc;
  border-left: 4px solid var(--green);
  color: var(--green-dark);
  background: #eaf2ed;
  font-size: 14px;
  line-height: 1.8;
}

.template-contact .contact-inquiry-fields .notices p {
  margin: 0;
}

.template-contact .contact-inquiry-fields .notices.error,
.template-contact .contact-inquiry-fields .notices.red,
.template-contact .contact-inquiry-unavailable {
  border-color: #d3b0a1;
  border-left-color: var(--red);
  color: #743b2c;
  background: #f7e9e1;
}

.template-contact .contact-inquiry-unavailable {
  margin: 0;
  padding: 16px 18px;
  border: 1px solid #d3b0a1;
  font-size: 14px;
}

.template-contact .contact-inquiry-form .has-errors input,
.template-contact .contact-inquiry-form .has-errors textarea {
  border-color: var(--red);
}

.template-contact .contact-inquiry-form .form-errors {
  margin-top: 6px;
  color: #963824;
  font-size: 12px;
  line-height: 1.6;
}

.template-contact .contact-inquiry-form .form-message {
  margin: 0;
}

.template-contact .contact-inquiry-form .form-honeybear {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  clip: rect(1px, 1px, 1px, 1px) !important;
  visibility: hidden !important;
}

.template-contact .contact-card--below-form h2 {
  font-size: clamp(28px, 3vw, 38px);
  line-height: 1.35;
}

.template-contact .contact-card--below-form p:not(.eyebrow) {
  font-size: 14px;
  line-height: 1.85;
}

@media (max-width: 640px) {
  .template-contact .contact-inquiry-panel {
    padding: 24px 20px;
  }

  .template-contact .contact-inquiry-form {
    grid-template-columns: minmax(0, 1fr);
    gap: 18px;
  }

  .template-contact .contact-inquiry-form .buttons .button {
    width: 100%;
  }

  .template-contact .contact-card--below-form {
    padding: 24px 20px;
  }
}
