/*
 * villaGo — Contact Page Styles
 */

.contact-layout {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 48px;
}

.contact-item {
  display: flex;
  align-items: flex-start;
  gap: var(--y-space-m);
  margin-block-end: 20px;
}

.contact-icon {
  width: 48px;
  height: 48px;
  background: var(--y-color-primary-subtle);
  border-radius: var(--y-radius-m);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.contact-icon svg {
  width: 20px;
  height: 20px;
  color: var(--y-color-primary);
}

.contact-map {
  margin-block-start: 48px;
  border-radius: var(--y-radius-m);
  overflow: hidden;
  min-height: 320px;
  border: 1px solid var(--y-color-border, rgba(0, 0, 0, 0.08));
}

.contact-map__frame {
  display: block;
  width: 100%;
  min-height: 320px;
  border: 0;
}

/* ═══════════════════════════════════════════════════
   RESPONSIVE STYLES
   ═══════════════════════════════════════════════════ */

/* ── Large Desktop (lg) ──────────────────────────── */
@media (max-width: 1200px) { .contact-layout { gap: var(--y-space-xl); } }

/* ── Tablet (md) ─────────────────────────────────── */
@media (max-width: 992px) { .contact-layout { grid-template-columns: 1fr; gap: var(--y-space-xl); } }

/* ── Mobile Landscape / Large Phone (sm) ─────────── */
@media (max-width: 768px) {
  .contact-item { gap: var(--y-space-s); }
  .contact-icon { width: 40px; height: 40px; }
}

/* ── Small Phone (xs) ────────────────────────────── */
@media (max-width: 480px) {
  /* Keep icon + text in one row (RTL: icon on the right). */
  .contact-item {
    align-items: flex-start;
    gap: 12px;
  }

  .contact-item > div:last-child {
    min-width: 0;
    flex: 1;
  }
}
