/* Contact Us page styles - tailored to industrial, structured theme */

.contact-hero {
  background: linear-gradient(135deg, var(--color-secondary-dark), var(--color-primary));
  color: var(--color-text-inverse);
  padding: var(--space-16) 0 var(--space-12);
}
.contact-hero .hero-inner { max-width: 900px; }
.contact-hero h1 { color: var(--color-text-inverse); margin-bottom: var(--space-3); }
.contact-hero p { color: rgba(255,255,255,0.9); }
.contact-hero .hero-actions { margin-top: var(--space-6); display: flex; gap: var(--space-3); flex-wrap: wrap; }

.section { padding: var(--space-16) 0; }
.bg-light { background: var(--color-surface); }

.cards-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-6);
  margin-top: var(--space-6);
}
@media (max-width: 900px) { .cards-grid { grid-template-columns: 1fr; } }

.form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-6);
}
.form-group-full { grid-column: 1 / -1; }
@media (max-width: 768px) { .form-grid { grid-template-columns: 1fr; } }

.location-grid {
  display: grid;
  grid-template-columns: 1fr 1.5fr;
  gap: var(--space-6);
  align-items: start;
}
@media (max-width: 900px) { .location-grid { grid-template-columns: 1fr; } }

.map-wrap { position: relative; width: 100%; padding-top: 56.25%; border-radius: var(--radius-lg); overflow: hidden; box-shadow: var(--shadow-sm); }
.map-frame { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }

.faq { margin-top: var(--space-6); }
.faq-item { border: var(--border-width) solid var(--color-border); border-radius: var(--radius-md); background: var(--color-background); }
.faq-item + .faq-item { margin-top: var(--space-3); }
.faq-q { cursor: pointer; padding: var(--space-4) var(--space-6); font-weight: var(--font-weight-semibold); }
.faq-a { padding: 0 var(--space-6) var(--space-6); color: var(--color-text-secondary); }

/* Utility tweaks */
.block { display: block; }
.inline-block { display: inline-block; }
.mt-2 { margin-top: var(--space-2); }
.mt-4 { margin-top: var(--space-4); }
.p-0 { padding: 0; }

/* Card spacing consistency for this page */
.info-card .card-body { padding: var(--space-6); }

/* Improve focus visibility on summaries */
details > summary:focus-visible { outline: var(--focus-ring-width) solid var(--color-border-focus); outline-offset: var(--focus-ring-offset); border-radius: var(--radius-sm); }
