/* A centered contact form using the shared site typography and colors. */
#wave-home-design .wc-contact {
  width: 100%;
  max-width: 840px;
  margin: 0 auto;
  padding: 3rem 2.375rem 4rem;
}
#wave-home-design .wc-contact-content { min-width: 0; }
#wave-home-design .wc-heading { margin-bottom: 2.5rem; text-align: center; }
#wave-home-design .wc-heading h1 {
  font-size: clamp(3rem, 5.7vw, 5rem);
  line-height: 1.05;
  text-wrap: wrap;
}
#wave-home-design .wc-heading p {
  margin: 1rem auto 0;
  color: var(--wf-muted);
  font-size: 1.125rem;
  line-height: 1.6;
  max-width: 38rem;
}
#wave-home-design .wc-form { display: grid; gap: 1.25rem; }
#wave-home-design .wc-pair { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.125rem; }
#wave-home-design .wc-field { min-width: 0; }
#wave-home-design .wc-field label { display: block; margin-bottom: .4375rem; font-size: 1rem; line-height: 1.5; font-weight: 400; }
#wave-home-design .wc-field label span { color: var(--wf-muted); }
#wave-home-design .wc-field input,
#wave-home-design .wc-field select,
#wave-home-design .wc-field textarea {
  display: block;
  width: 100%;
  min-width: 0;
  max-width: 100%;
  border: 1px solid var(--wf-line);
  border-radius: 5px;
  background: #fff;
  color: var(--wf-ink);
  padding: .6875rem .875rem;
  font: 400 1rem/1.5 var(--wf-sans);
}
#wave-home-design .wc-field input,
#wave-home-design .wc-field select { min-height: 3rem; }
#wave-home-design .wc-field select { cursor: pointer; }
#wave-home-design .wc-field textarea { min-height: 8.5rem; resize: vertical; }
#wave-home-design .wc-field input::placeholder,
#wave-home-design .wc-field textarea::placeholder { color: #737381; opacity: 1; }
#wave-home-design .wc-field :is(input, select, textarea):focus-visible { border-color: var(--wf-blue); outline: 2px solid var(--wf-blue); outline-offset: 3px; }
#wave-home-design .wc-submit { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 1rem 1.25rem; margin-top: .25rem; }
#wave-home-design .wc-submit .wf-button { min-height: 3rem; padding: .8125rem 1.5rem; font-size: 1rem; }
#wave-home-design .wc-email { color: var(--wf-muted); font-size: .9375rem; line-height: 1.7; overflow-wrap: anywhere; }
#wave-home-design .wc-email a { color: var(--wf-blue); text-decoration: underline; text-underline-offset: 4px; }
#wave-home-design .wc-delivery-note { color: var(--wf-muted); font-size: .875rem; line-height: 1.5; }
#wave-home-design .wc-feedback { padding: .75rem 1rem; border-left: 2px solid var(--wf-blue); background: var(--wf-surface); font-size: .9375rem; line-height: 1.6; overflow-wrap: anywhere; }
#wave-home-design .wc-feedback[data-tone="success"] { border-left-color: #1a7a4c; background: #eaf6ef; color: #14532d; }
#wave-home-design .wc-feedback[data-tone="error"] { border-left-color: #b3261e; background: #fdeceb; color: #7f1d1b; }
#wave-home-design .wc-submit .wf-button[disabled] { opacity: .65; cursor: progress; }
/* Honeypot: no person sees this field, so anything typed into it is a bot. */
#wave-home-design .wc-trap { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
#wave-home-design .wc-contact-footer { background: var(--wf-blue); }
#wave-home-design .wc-contact-footer .wf-ending-bottom { max-width: 1440px; margin: 0 auto; }
#wave-home-design .wc-contact-footer :focus-visible { outline-color: #fff; }
@media (max-width: 760px) {
  #wave-home-design .wc-contact { padding: 2rem 1.375rem 3rem; }
  #wave-home-design .wc-heading { margin-bottom: 1.75rem; }
  #wave-home-design .wc-heading h1 { font-size: 3.125rem; }
  #wave-home-design .wc-heading p { font-size: 1.0625rem; }
}
@media (max-width: 480px) {
  /* Name and company stay side by side, as on the desktop. */
  #wave-home-design .wc-pair { gap: .75rem; }
  #wave-home-design .wc-field label { font-size: .9375rem; }
  #wave-home-design .wc-submit { align-items: stretch; flex-direction: column; }
  #wave-home-design .wc-email { text-align: center; }
}
@media (max-width: 360px) {
  #wave-home-design .wc-contact { padding-inline: 1.125rem; }
}
