.contact-layout {
  display: grid;
  grid-template-columns: 1.2fr 0.9fr;
  gap: var(--space-8);
}
@media (max-width: 860px) { .contact-layout { grid-template-columns: 1fr; } }

.contact-form-card {
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  padding: var(--space-7);
  box-shadow: var(--shadow-md);
}

.info-card {
  background: var(--gradient-maroon);
  color: var(--color-text-on-dark);
  border-radius: var(--radius-lg);
  padding: var(--space-7);
}
.info-card h3 { color: var(--color-gold-300); font-size: 1.1rem; margin-bottom: var(--space-3); }
.info-row { display: flex; gap: var(--space-3); align-items: flex-start; margin-bottom: var(--space-5); }
.info-row svg { flex-shrink: 0; margin-top: 3px; color: var(--color-gold-500); }
.info-row p, .info-row a { color: rgba(248,236,212,0.85); font-size: var(--fs-small); }

.map-embed { border-radius: var(--radius-lg); overflow: hidden; margin-top: var(--space-6); border: 1px solid rgba(248,236,212,0.2); }
.map-embed iframe { width: 100%; height: 220px; border: 0; display: block; }

.faq-item { border-bottom: 1px solid var(--color-border); padding-block: var(--space-4); }
.faq-item summary { cursor: pointer; font-weight: 600; color: var(--color-maroon-900); list-style: none; display: flex; justify-content: space-between; align-items: center; }
.faq-item summary::-webkit-details-marker { display: none; }
.faq-item summary::after { content: '+'; font-size: 1.3rem; color: var(--color-gold-600); }
.faq-item[open] summary::after { content: '\2212'; }
.faq-item p { margin-top: var(--space-3); }
