/* ==========================================================================
   THE UNITY CHURCH — LOCATION PAGE
   Page-specific section styles only. Loads after foundation.css.
   ========================================================================== */

/* -------------------------------------------------------------------------
   Visit info — three facts, not identical icon cards
   ------------------------------------------------------------------------- */
.visit-info { padding: var(--sp-section) clamp(1.25rem, 4vw, 3rem); max-width: 1200px; margin: 0 auto; }
.visit-info-head { text-align: center; max-width: 56ch; margin: 0 auto var(--sp-16); }
.visit-info-head h2 { font-size: var(--text-2xl); font-weight: 600; letter-spacing: -0.015em; margin-bottom: var(--sp-3); }
.visit-info-head p { color: var(--ink-soft); }

.visit-info-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--sp-8); }
.visit-info-item { padding-top: var(--sp-6); border-top: 2px solid var(--wine); }
.visit-info-item h3 {
  font-size: var(--text-xs);
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--wine);
  margin-bottom: var(--sp-4);
}
.visit-info-item p { margin-bottom: var(--sp-2); color: var(--ink-soft); }
.visit-info-item p strong { color: var(--ink); font-weight: 700; }
.visit-info-item a { color: var(--ink); text-decoration: underline; text-underline-offset: 3px; }

@media (max-width: 800px) {
  .visit-info-grid { grid-template-columns: 1fr; gap: var(--sp-8); }
}

/* -------------------------------------------------------------------------
   Map
   ------------------------------------------------------------------------- */
.map-section { padding: 0 clamp(1.25rem, 4vw, 3rem) var(--sp-section); max-width: 1200px; margin: 0 auto; }
.map-frame { border-radius: var(--r-lg); overflow: hidden; }
.map-frame iframe { width: 100%; height: 480px; border: 0; display: block; }

/* -------------------------------------------------------------------------
   CTA
   ------------------------------------------------------------------------- */
.visit-cta {
  position: relative;
  padding: var(--sp-section) clamp(1.25rem, 4vw, 3rem);
  text-align: center;
  overflow: hidden;
}
.visit-cta-media { position: absolute; inset: 0; }
.visit-cta-media img { width: 100%; height: 100%; object-fit: cover; }
.visit-cta-scrim { position: absolute; inset: 0; background: rgba(11, 10, 9, 0.78); }
.visit-cta-content { position: relative; z-index: 1; max-width: 640px; margin: 0 auto; }
.visit-cta h2 { color: var(--cream); font-size: var(--text-2xl); font-weight: 600; letter-spacing: -0.015em; margin-bottom: var(--sp-4); }
.visit-cta p { color: rgba(250, 246, 238, 0.85); font-size: var(--text-lg); margin-bottom: var(--sp-8); }
