body { background: #fff6f0; color: #1a0010; }

/* ── Location Section ── */
.contact-location { padding-top: 2rem; }

.location-grid {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}

.map-wrapper {
  width: 100%;
  height: 280px;
  border-radius: 8px;
  overflow: hidden;
  border: 2px solid #f5c6d8;
  background-color: #f5e8ee;
}
.map-wrapper iframe { width: 100%; height: 100%; border: 0; }

.map-placeholder {
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 1.5rem;
  gap: 0.4rem;
  color: var(--color-accent);
}
.map-placeholder p:first-child { font-size: 1.1rem; font-weight: 800; }
.map-placeholder p { font-weight: 600; opacity: 0.8; }

/* Location details */
.location-area {
  font-size: 1.3rem;
  font-weight: 800;
  color: var(--color-primary);
  margin-bottom: 0.35rem;
  line-height: 1.3;
}
.location-street {
  font-size: 1rem;
  color: #333;
  font-weight: 600;
  margin-bottom: 1.5rem;
  line-height: 1.5;
}
.location-loading { color: var(--color-accent); font-weight: 700; }

.contact-actions { display: flex; gap: 0.75rem; flex-wrap: wrap; margin-bottom: 1rem; }

.last-updated { font-size: 0.8rem; color: #999; font-style: italic; }

/* ── Social Section ── */
.social-section {
  background-color: #0f0f0f;
  text-align: center;
  padding: 3rem 1.25rem;
}
.social-section .section-title { color: var(--color-secondary); margin-bottom: 1.5rem; }

.social-links { display: flex; gap: 1rem; justify-content: center; flex-wrap: wrap; }

.social-btn {
  display: inline-block;
  padding: 0.75rem 2rem;
  border-radius: 4px;
  font-weight: 800;
  font-size: 1rem;
  transition: opacity 0.2s;
}
.social-btn:hover { opacity: 0.82; }
.social-btn.instagram {
  background: linear-gradient(135deg, #833ab4 0%, #fd1d1d 50%, #fcb045 100%);
  color: #fff;
}
.social-btn.facebook { background-color: #1877f2; color: #fff; }

/* ── Responsive ── */
@media (min-width: 768px) {
  .location-grid { flex-direction: row; align-items: flex-start; }
  .map-wrapper { flex: 1; height: 400px; }
  .location-info { flex: 0 0 340px; }
}

.contact-subtitle {
  display: flex;
  justify-content: center;
  align-items: center;
}