.spaces-section {
  padding: 80px 0;
  background: #f9f7f1;
}

/* ---------- TITLE ---------- */
.section-header h2 {
   font-family: 'Playfair Display', serif;
  font-size: 32px;
  font-weight: 600;
  margin-bottom: 10px;
}

.section-header p {
  font-family: 'Lato', sans-serif;
  color: #344f71;
  font-size: 17px;
  margin-bottom: 25px;
}

.gold-line {
  display: block;
  width: 60px;
  height: 4px;
  background: #d4ae36;
  margin: 0 auto 20px auto;
}

/* ---------- FILTER BUTTONS ---------- */

.filter-buttons {
  display: flex;
  flex-wrap: wrap;              /* allows wrapping on small screens */
  justify-content: center;      /* center align buttons */
  gap: 12px;                    /* consistent spacing */
  margin-bottom: 40px;
}

.filter-btn {
  background: white;
  border: 1px solid #ddd;
  padding: 10px 26px;
  border-radius: 4px;
  cursor: pointer;
  font-size: 16px;
  transition: 0.3s ease;
  white-space: nowrap;          /* prevents text breaking */
}

.filter-btn.active {
  background: #D2A5AD;
  color: white;
  border-color: #d4ae36;
}


/* ---------- IMAGE CARD ---------- */
.space-card-wrapper {
  margin-bottom: 30px;
}

/* Card container */
.space-card {
  position: relative;
  border-radius: 10px;
  overflow: hidden;
  background: #fff;
  transition: 0.4s ease;
}

/* Image */
.space-card img {
  width: 100%;
  height: 330px;
  object-fit: cover;
  border-radius: 10px;
  transition: transform 0.5s ease;
}

/* Zoom effect */
.space-card:hover img {
  transform: scale(1.08);
}

/* Dark overlay */
.space-card::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0,0,0,0.3);
  opacity: 0;
  transition: opacity 0.4s ease;
}

.space-card:hover::after {
  opacity: 1;
}

/* Label text */
.space-label {
  position: absolute;
  bottom: 20px;
  left: 20px;
  padding: 8px 16px;
  background: rgba(0,0,0,0.65);
  color: #fff;
  font-size: 16px;
  border-radius: 6px;
  opacity: 0;
  transform: translateY(12px);
  transition: 0.4s ease;
}

/* Fade-in label */
.space-card:hover .space-label {
  opacity: 1;
  transform: translateY(0);
}

/* Hidden items on filter */
.space-item {
  transition: 0.4s ease;
}
