/* ========= General ========= */
body {
  background-color: #f8f9fa;
  font-family: 'Segoe UI', sans-serif;
}

/* ========= Carousel — bigger, responsive ========= */
#room1Carousel .carousel-inner {
  aspect-ratio: 4 / 3;
  min-height: 260px;
}

@media (min-width: 768px) {
  #room1Carousel .carousel-inner {
    aspect-ratio: 16 / 10;
    min-height: 420px;
  }
}

@media (min-width: 1200px) {
  #room1Carousel .carousel-inner {
    aspect-ratio: 16 / 9;
    min-height: 520px;
  }
}

#room1Carousel .carousel-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-top-left-radius: .375rem;
  border-top-right-radius: .375rem;
}

/* ========= Feature list (1 → 2 → 3 columns) ========= */
.feature-list {
  display: grid;
  grid-template-columns: 1fr;
  gap: .5rem .75rem;
  margin: 0;
  padding: 0;
}

@media (min-width: 576px) {
  .feature-list {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (min-width: 1200px) {
  .feature-list {
    grid-template-columns: repeat(3, 1fr);
  }
}

.feature-list li {
  list-style: none;
  display: flex;
  align-items: center;
  gap: .6rem;
  padding: .5rem .6rem;
  border-radius: .6rem;
  background: #fff;
  border: 1px solid #e9ecef;
  box-shadow: 0 1px 0 rgba(0, 0, 0, .02);
  color: #212529;
}

.feature-list i {
  font-size: 1.1rem;
  color: #198754;
}

/* ========= PRICE ========= */
.price-display {
  gap: 1rem;
}

.card-body .price-display {
  justify-content: flex-start;
}

.price-display .old-price {
  color: #6c757d;
  text-decoration: line-through;
  font-size: clamp(1rem, 2.4vw, 1.2rem);
}

.price-display .new-price {
  color: #198754;
  font-weight: 800;
  font-size: clamp(2rem, 5vw, 2.8rem);
  line-height: 1;
}

.price-display .rupees {
  color: #6c757d;
  font-size: clamp(.95rem, 2.2vw, 1.05rem);
}

/* ========= Notes ========= */
.price-note {
  border: 1px solid rgba(25, 135, 84, .25);
  background: #eefaf3;
}

/* ========= Calendar ========= */
.calendar-card {
  border: 1px solid #e9ecef;
}

.calendar-card .card-body {
  padding: 1rem 1rem 1.25rem;
}

.calendar-header {
  font-weight: 600;
  margin-bottom: .5rem;
}

.calendar {
  width: 100%;
}

.calendar-grid {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: .25rem;
}

.calendar-grid--labels {
  color: #6c757d;
  font-size: clamp(.8rem, 1.8vw, .95rem);
  margin-bottom: .25rem;
}

.calendar-cell {
  background: #fff;
  border: 1px solid #e9ecef;
  border-radius: .375rem;
  padding: .35rem;
  min-height: clamp(44px, 7vw, 60px);
  display: flex;
  align-items: center;
  justify-content: center;
}

.calendar-cell.muted {
  background: #f8f9fa;
}

.calendar-cell.today {
  outline: 2px solid rgba(25, 135, 84, .4);
  font-weight: 700;
}

/* ========= Footer ========= */
#footer p {
  margin-bottom: .25rem;
}

/* ========= Carousel indicators ========= */
.carousel-indicators [data-bs-target] {
  width: .6rem;
  height: .6rem;
  border-radius: 50%;
}
/* ==== Reservations & Contact ==== */
.reservation-box {
  border: 1px solid #e9ecef;
  border-radius: .75rem;
  padding: .9rem 1rem;
  background: #fff;
}

.btn-whatsapp {
  background: #25D366;
  color: #fff;
  border: none;
  display: inline-flex;
  align-items: center;
  gap: .55rem;
  font-weight: 700;
  padding: .8rem 1rem;
  border-radius: .8rem;
  box-shadow: 0 10px 24px rgba(37, 211, 102, .28);
  text-decoration: none;
}
.btn-whatsapp:hover { color: #fff; filter: brightness(.95); }

/* Inline layout fixes */
.d-flex .btn-whatsapp {
  margin-left: auto;
}
