/* ── Contact Page ── */
.contact-info-card {
  background: var(--color-navy);
  border-radius: var(--border-radius-lg);
  padding: var(--space-5);
  height: 100%;
}
.contact-info-card h3 { color: #fff; margin-bottom: 8px; }
.contact-info-card .sub { color: rgba(255,255,255,.65); font-size: .9rem; margin-bottom: var(--space-4); }
.contact-detail-item {
  display: flex; align-items: flex-start; gap: 14px;
  padding: var(--space-2) 0;
  border-bottom: 1px solid rgba(255,255,255,.08);
}
.contact-detail-item:last-of-type { border-bottom: none; }
.cd-icon {
  width: 40px; height: 40px; flex-shrink: 0;
  background: rgba(255,255,255,.1);
  border-radius: var(--border-radius-sm);
  display: flex; align-items: center; justify-content: center;
  font-size: 1rem; color: var(--color-gold);
}
.cd-label {
  font-family: var(--font-heading); font-size: .75rem;
  font-weight: 700; color: rgba(255,255,255,.5);
  text-transform: uppercase; letter-spacing: .08em;
  margin-bottom: 3px;
}
.cd-value {
  color: rgba(255,255,255,.85); font-size: .9rem; line-height: 1.55;
}
.cd-value a { color: rgba(255,255,255,.85); }
.cd-value a:hover { color: var(--color-gold); }

.social-links-row {
  display: flex; gap: 10px; margin-top: var(--space-3);
}
.social-links-row a {
  width: 38px; height: 38px;
  background: rgba(255,255,255,.1); border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  color: rgba(255,255,255,.7); font-size: .9rem;
  transition: var(--transition-fast);
}
.social-links-row a:hover { background: var(--color-crimson); color: #fff; }

.contact-form-card {
  background: #fff; border: 1px solid var(--color-border);
  border-radius: var(--border-radius-lg);
  padding: var(--space-5); box-shadow: var(--shadow-sm);
}
.contact-form-card h3 { margin-bottom: 6px; }
.contact-form-card .sub { color: var(--color-muted); margin-bottom: var(--space-4); }

.map-wrap {
  border-radius: var(--border-radius-lg); overflow: hidden;
  height: 360px; border: 1px solid var(--color-border);
  box-shadow: var(--shadow-sm);
}
.map-wrap iframe { width: 100%; height: 100%; border: none; }

.hours-card {
  background: var(--color-off-white); border: 1px solid var(--color-border);
  border-radius: var(--border-radius-md); padding: var(--space-3);
}
.hours-row {
  display: flex; justify-content: space-between;
  padding: 10px 0; border-bottom: 1px solid var(--color-border);
  font-size: .9rem;
}
.hours-row:last-child { border-bottom: none; }
.hours-day { font-weight: 600; color: var(--color-heading); }
.hours-time { color: var(--color-muted); }
