/* ==========================================================
   rooms.css — Rooms page styles
   ========================================================== */

/* Intro Strip */
.rooms-intro-strip { background:#fff; padding:55px 0; border-bottom:1px solid rgba(0,0,0,.06); }
.intro-icon-card { text-align:center; padding:16px 10px; }
.intro-icon-wrap {
  width:60px; height:60px;
  background:linear-gradient(135deg,#edf5f1,#d0e9dd);
  border-radius:50%; display:flex; align-items:center; justify-content:center; margin:0 auto 12px;
}
.intro-icon-wrap i { font-size:26px; color:#173f35; }
.intro-icon-card h4 { font-family:'Playfair Display',Georgia,serif; font-size:15px; color:#173f35; margin-bottom:4px; }
.intro-icon-card p  { font-size:13px; color:#5a5a5a; margin:0; }

/* Rooms Listing */
.rooms-listing-section { background:#fffaf2; padding:78px 0; }

.room-detail-card {
  background:#fff; border-radius:22px; overflow:hidden;
  box-shadow:0 4px 16px rgba(0,0,0,.07);
  display:grid; grid-template-columns:380px 1fr; min-height:280px;
  transition:box-shadow .25s, transform .25s;
}
.room-detail-card:hover { box-shadow:0 14px 42px rgba(0,0,0,.13); transform:translateY(-3px); }
.room-detail-card.reverse { grid-template-columns:1fr 380px; }
.room-detail-card.reverse .room-detail-img  { order:2; }
.room-detail-card.reverse .room-detail-body { order:1; }

.room-detail-img { position:relative; overflow:hidden; }
.room-detail-img img { width:100%; height:100%; object-fit:cover; transition:transform .45s ease; }
.room-detail-card:hover .room-detail-img img { transform:scale(1.04); }

.room-type-badge {
  position:absolute; top:16px; left:16px;
  background:#c99b37; color:#fff;
  font-size:11px; font-weight:700; letter-spacing:.8px; text-transform:uppercase;
  padding:5px 14px; border-radius:40px; z-index:2;
}

.room-detail-body { padding:32px 36px; display:flex; flex-direction:column; gap:14px; justify-content:center; }
.room-detail-body h2 { font-family:'Playfair Display',Georgia,serif; font-size:clamp(20px,2.5vw,26px); color:#173f35; margin:0; }
.room-detail-body p  { font-size:15px; color:#5a5a5a; line-height:1.78; margin:0; }

.room-includes { display:grid; grid-template-columns:1fr 1fr; gap:8px 16px; }
.room-includes-item { display:flex; align-items:center; gap:8px; font-size:13.5px; color:#2b2b2b; }
.room-includes-item i { font-size:16px; color:#c99b37; flex-shrink:0; }
.room-card-actions { display:flex; gap:12px; flex-wrap:wrap; margin-top:4px; }

@media (max-width:991.98px) {
  .room-detail-card,
  .room-detail-card.reverse { grid-template-columns:1fr; grid-template-rows:240px auto; }
  .room-detail-card.reverse .room-detail-img,
  .room-detail-card.reverse .room-detail-body { order:unset; }
}
@media (max-width:575.98px) {
  .room-detail-body { padding:22px 20px 28px; }
  .room-includes { grid-template-columns:1fr; }
}

/* Policies */
.room-policy-section { background:#fff; padding:55px 0; border-top:1px solid rgba(0,0,0,.06); }
.policy-card { background:#f4f8f5; border-radius:14px; padding:24px 22px; height:100%; display:flex; flex-direction:column; gap:10px; }
.policy-card i  { font-size:28px; color:#173f35; }
.policy-card h4 { font-family:'Playfair Display',Georgia,serif; color:#173f35; font-size:16px; margin:0; }
.policy-card p  { font-size:14px; color:#5a5a5a; line-height:1.7; margin:0; }
