/* Contact page specific styles (kept minimal; relies on base.css) */
.hero-contact { padding-block: var(--space-12); color: #e9eef9; position: relative; }
.hero-inner { max-width: var(--container-max); margin-inline: auto; padding-inline: var(--container-pad); }
.hero-tagline { max-width: 60ch; opacity: 0.95; }
.hero-cta { margin-top: var(--space-5); }

.section-pad { padding-block: var(--space-10); }

/* Form layout */
.contact-form .form-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--space-5); margin-top: var(--space-5); }
.contact-form .form-field { display: grid; gap: var(--space-2); }
.contact-form .form-span-2 { grid-column: span 2; }
.contact-form label.checkbox { display: inline-flex; gap: var(--space-3); align-items: flex-start; }
.contact-form .form-actions { margin-top: var(--space-5); display: flex; gap: var(--space-3); }
.contact-form #message-help { margin-top: var(--space-2); font-size: var(--fs-sm); }
.form-status { margin-top: var(--space-4); min-height: 1.5em; }
.form-status.is-success { color: var(--color-success); }
.form-status.is-error { color: var(--color-danger); }

/* Map */
.map-embed { border-radius: var(--radius-lg); overflow: hidden; box-shadow: var(--shadow-md); }
.map-embed iframe { border: 0; }

/* FAQ details */
.faq details { border: 1px solid var(--gray-200); border-radius: var(--radius-md); padding: var(--space-3) var(--space-4); background: var(--color-surface); }
.faq details + details { margin-top: var(--space-3); }
.faq summary { cursor: pointer; font-weight: 600; }
.faq details[open] { background: color-mix(in srgb, var(--color-primary) 6%, var(--color-surface)); border-color: var(--gray-300); }

/* Responsive */
@media (max-width: 900px) {
  .contact-form .form-grid { grid-template-columns: 1fr; }
  .contact-form .form-span-2 { grid-column: auto; }
}
