/* ============================================================
   CONTACT PAGE
   ============================================================ */

.contact-layout {
  display: grid;
  grid-template-columns: 1fr 1.2fr;
  gap: clamp(var(--space-10), 6vw, var(--space-20));
  align-items: start;
}

.contact-info {
  position: sticky;
  top: calc(var(--nav-height) + var(--space-8));
}

.contact-form-wrap {
  background-color: var(--color-surface);
  border-radius: var(--radius-lg);
  padding: clamp(var(--space-8), 4vw, var(--space-12));
  box-shadow: var(--shadow-md);
  border: 1px solid var(--color-border-light);
}

.contact-form .btn {
  margin-top: var(--space-2);
}

.form-notice {
  font-family: var(--font-sans);
  font-size: var(--text-sm);
  line-height: var(--leading-normal);
  padding: var(--space-4) var(--space-5);
  border-radius: var(--radius-sm);
  margin-bottom: var(--space-6);
}

.form-notice--success {
  background-color: var(--color-gold-pale);
  color: var(--color-primary);
  border: 1px solid var(--color-gold-light);
}

.form-notice--error {
  background-color: var(--color-terra-pale);
  color: var(--color-primary);
  border: 1px solid var(--color-terra-light);
}

/* WPForms override styles */
.wpforms-container .wpforms-form .wpforms-field input,
.wpforms-container .wpforms-form .wpforms-field textarea,
.wpforms-container .wpforms-form .wpforms-field select {
  font-family: var(--font-sans) !important;
  font-size: var(--text-base) !important;
  color: var(--color-text-primary) !important;
  background-color: var(--color-surface) !important;
  border: 1px solid var(--color-border) !important;
  border-radius: var(--radius-sm) !important;
  padding: 0.875rem 1rem !important;
  box-shadow: none !important;
  transition: border-color var(--duration-fast) var(--ease-out) !important;
}

.wpforms-container .wpforms-form .wpforms-field input:focus,
.wpforms-container .wpforms-form .wpforms-field textarea:focus {
  border-color: var(--color-gold) !important;
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(0, 0, 0, 0.15) !important;
}

.wpforms-container .wpforms-form .wpforms-field-label {
  font-family: var(--font-sans) !important;
  font-size: var(--text-sm) !important;
  font-weight: var(--weight-medium) !important;
  color: var(--color-text-primary) !important;
  margin-bottom: var(--space-2) !important;
  letter-spacing: var(--tracking-wide) !important;
}

.wpforms-container .wpforms-form button[type=submit],
.wpforms-container .wpforms-form input[type=submit] {
  font-family: var(--font-sans) !important;
  font-size: var(--text-sm) !important;
  font-weight: var(--weight-semi) !important;
  letter-spacing: var(--tracking-wider) !important;
  text-transform: uppercase !important;
  background-color: var(--color-primary) !important;
  color: var(--color-text-inverse) !important;
  border: none !important;
  border-radius: var(--radius-sm) !important;
  padding: 0.875rem 2.25rem !important;
  cursor: pointer !important;
  transition: background-color var(--duration-base) var(--ease-out) !important;
  width: 100% !important;
}

.wpforms-container .wpforms-form button[type=submit]:hover {
  background-color: var(--color-gold) !important;
}

@media (max-width: 900px) {
  .contact-layout {
    grid-template-columns: 1fr;
  }

  .contact-info {
    position: static;
  }
}
