/* ============================
   PROPERTY CATEGORIES SECTION
   ============================ */

.categories {
  padding: 60px 24px;
  text-align: center;
  background: var(--cream, #f9f6f1);
}

.categories .container {
  max-width: 1280px;
  margin: 0 auto;
}

/* Grid: 4 equal columns on desktop, responsive on smaller screens */
.category-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
  max-width: 1100px;
  margin: 0 auto;
}

/* Card */
.category-card {
  background: var(--white, #ffffff);
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 2px 16px rgba(0, 0, 0, 0.07);
  transition: transform 0.25s, box-shadow 0.25s;
  display: flex;
  flex-direction: column;
  cursor: pointer;
}

.category-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.13);
}

/* Equal-height image box for all cards */
.category-img-wrap {
  width: 100%;
  height: 180px;
  overflow: hidden;
  background: #f4f1ec;
}

.category-img-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.4s;
}

.category-card:hover .category-img-wrap img {
  transform: scale(1.06);
}

/* ============================
   RESPONSIVE BREAKPOINTS
   ============================ */

@media (max-width: 900px) {
  .category-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 480px) {
  .category-grid {
    grid-template-columns: 1fr;
  }

  .category-img-wrap {
    height: 200px;
  }
}
