/* =========================================================================
   RealmOfMedieval Contact Us Page Styles (overrides/additions)
   ========================================================================= */
.contact-hero {
  text-align: center;
  margin-bottom: var(--space-10);
  background: linear-gradient(135deg, var(--gray-50) 80%, var(--gray-200) 99%);
}
.contact-hero h1 {
  margin-top: 0;
  margin-bottom: var(--space-2);
  font-size: var(--font-size-2xl);
}

.contact-grid {
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: var(--space-8) var(--space-6);
  margin-bottom: var(--space-12);
}

.contact-section {
  min-width: 0;
  background: var(--color-surface);
}

.contact-form {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
}
.form-group {
  display: flex;
  flex-direction: column;
  margin-bottom: var(--space-3);
}
label {
  font-family: var(--font-family-sans);
  font-weight: 700;
  color: var(--color-primary);
  margin-bottom: var(--space-1);
}
input, select, textarea {
  font-size: var(--font-size-base);
  background: var(--gray-50);
}
input[aria-invalid="true"], textarea[aria-invalid="true"] {
  border-color: var(--color-danger);
}
.form-status {
  font-family: var(--font-family-sans);
  color: var(--color-success);
  min-height: 1.4em;
}
.contact-alt-email {
  margin-top: var(--space-3);
  font-size: var(--font-size-sm);
}
.contact-list {
  padding-left: 1.3em;
  list-style: disc;
  font-family: var(--font-family-sans);
  font-size: var(--font-size-base);
  color: var(--gray-700);
}
.social-list {
  margin-bottom: var(--space-3);
  gap: var(--space-4);
      flex-direction: column;
}
.social-list li a {
  display: flex;
  align-items: center;
  font-family: var(--font-family-display);
  color: var(--color-primary);
  text-decoration: none;
  transition: background var(--transition-fast), color var(--transition-fast);
  gap: 0.5em;
}
.social-icon {
  font-size: 1.3em;
}
.social-list li a:hover,
.social-list li a:focus-visible {
  color: var(--color-success);
}
.location-heading {
  margin-top: var(--space-6);
  font-size: var(--font-size-lg);
}
.contact-address {
  font-family: var(--font-family-sans);
  font-size: var(--font-size-base);
  color: var(--gray-700);
  margin-bottom: var(--space-3);
}
.contact-email {
  word-break: break-all;
}
.contact-faq {
  margin-bottom: var(--space-4);
}
.contact-faq dt {
  font-weight: bold;
  margin-top: var(--space-2);
  color: var(--color-primary);
  font-family: var(--font-family-display);
}
.contact-faq dd {
  margin-left: var(--space-2);
  margin-bottom: var(--space-2);
}
/* Responsive tweaks */
@media (max-width: 720px) {
  .contact-grid {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 480px) {
  .contact-hero {
    padding: var(--space-3);
  }
  .contact-section {
    padding: var(--space-3) !important;
  }
  .container {
    padding-left: var(--space-1);
    padding-right: var(--space-1);
  }
}
