/* Contact Us page-specific styles (lean and complementary to base.css) */

.contact-hero {
  background: linear-gradient(135deg, var(--color-navy-light) 0%, var(--color-navy) 40%, rgba(218,165,32,0.08) 100%);
  border: 1px solid var(--color-gray-700);
  border-radius: var(--radius-lg);
  padding: var(--space-8);
  box-shadow: var(--shadow-xl);
}

.contact-hero .lead {
  color: var(--color-text);
  max-width: 72ch;
}

.details-list {
  list-style: none;
  padding-left: 0;
}
.details-list li {
  padding-left: 1.25rem;
  position: relative;
}
.details-list li::before {
  content: "\2726"; /* star bullet to echo glamour aesthetic via text glyph */
  position: absolute;
  left: 0;
  top: 0;
  color: var(--color-gold);
}

.faq-item summary {
  cursor: pointer;
  font-weight: var(--font-weight-semibold);
  color: var(--color-gold);
}
.faq-item summary::-webkit-details-marker {
  display: none;
}
.faq-item summary::after {
  content: "+";
  float: right;
  color: var(--color-gold);
}
.faq-item[open] summary::after {
  content: "–";
}
.faq-item > div {
  padding: var(--space-4);
  background: var(--color-navy-light);
  border: 1px solid var(--color-gray-700);
  border-radius: var(--radius-base);
}

.map-wrapper .card-footer {
  border-top: 1px solid var(--color-gray-700);
}

/* Status messages */
#contactStatus, #scheduleStatus {
  min-height: 1.25rem;
  color: var(--color-gold);
}

/* Utility spacing tweaks for this page */
.mt-2 { margin-top: var(--space-2); }
.mt-4 { margin-top: var(--space-4); }
.mt-8 { margin-top: var(--space-8); }

/* Buttons grouping alignment on small screens */
@media (max-width: 480px) {
  .contact-hero .btn { width: 100%; }
}
