.room-section{
padding:80px 0;
background:#f8f8f4;
}

.section-heading{
margin-bottom:60px;
}

.sub-title{
color:#c8a44d;
font-weight:700;
letter-spacing:2px;
margin-bottom:10px;
}

.section-heading h1{
font-size:48px;
font-weight:800;
color:#123524;
margin-bottom:15px;
}

.section-heading p{
max-width:700px;
margin:auto;
color:#666;
font-size:17px;
line-height:1.8;
}


.book-room-card{
background:#fff;
border-radius:24px;
overflow:hidden;
box-shadow:0 8px 25px rgba(0,0,0,0.08);
transition:0.4s;
height:100%;
}

.book-room-card:hover{
transform:translateY(-8px);
}


.book-room-img{
position:relative;
height:260px;
overflow:hidden;
}

.book-room-img img{
width:100%;
height:100%;
object-fit:cover;
transition:0.5s;
}

.book-room-card:hover img{
transform:scale(1.08);
}


.room-price{
position:absolute;
bottom:15px;
right:15px;
background:#6B8E23;
color:#fff;
padding:10px 18px;
border-radius:12px;
font-size:20px;
font-weight:700;
}

.room-price span{
font-size:13px;
font-weight:400;
}


.book-room-content{
padding:28px;
}

.book-room-content h3{
font-size:28px;
font-weight:700;
margin-bottom:15px;
color:#123524;
}


.room-short-desc{
color:#666;
line-height:1.8;
font-size:15px;
margin-bottom:20px;
text-align:justify;
}


.room-info{
display:flex;
justify-content:space-between;
margin-bottom:20px;
padding-bottom:20px;
border-bottom:1px solid #eee;
}

.room-info div{
font-weight:600;
color:#333;
}

.room-info i{
color:#c8a44d;
margin-right:6px;
}


.room-check{
display:flex;
justify-content:space-between;
margin-bottom:25px;
font-size:15px;
}

.room-check b{
color:#123524;
}

.room-check i{
color:#c8a44d;
margin-right:6px;
}


.book-room-btns{
display:flex;
gap:12px;
}

.details-btn,
.book-btn{
flex:1;
text-align:center;
padding:12px;
border-radius:12px;
text-decoration:none;
font-weight:700;
transition:0.3s;
}


.details-btn{
background:#123524;
color:#fff;
}

.details-btn:hover{
background:#c8a44d;
color:#fff;
}

.package-book-btn,
.roomonly-book-btn{

display:block;
margin-top:15px;
padding:10px;
border-radius:10px;
text-decoration:none;
font-weight:700;
font-size:14px;
text-align:center;

background:rgba(255,255,255,.18);
color:#fff;
border:1px solid rgba(255,255,255,.4);
transition:.3s;

}

.package-book-btn:hover,
.roomonly-book-btn:hover{

background:#fff;
color:#123524;

}

.full-btn{

width:100%;
display:block;
}

/* ROOM AVAILABILITY */

.room-availability{
position:absolute;
top:16px;
right:16px;
z-index:20;
display:block !important;
opacity:1 !important;
visibility:visible !important;
transform:none !important;
}


.room-availability span{
display:flex;
align-items:center;
gap:6px;
padding:8px 14px;
border-radius:30px;
font-size:13px;
font-weight:700;
color:#fff;
box-shadow:0 4px 12px rgba(0,0,0,0.15);
}


/* AVAILABLE */

.available-room{
background:#1f9d45;
}


/* FEW LEFT */

.few-left{
background:#ff9800;
animation:pulseRoom 1.5s infinite;
}


/* SOLD OUT */

.sold-out{
background:#e53935;
}


@keyframes pulseRoom{

0%{
transform:scale(1);
}

50%{
transform:scale(1.05);
}

100%{
transform:scale(1);
}

}

.stay-main-desc{

max-width:900px;

margin:auto;

font-size:18px;

line-height:1.9;

color:#4a5a4a;

font-weight:500;

}






/* STAY SECTION */

.stay-main-desc{

max-width:900px;
margin:auto;

font-size:18px;
line-height:1.9;

color:#4f5b4f;

font-weight:500;

}

.stay-card{

background:#fff;

border-radius:22px;

overflow:hidden;

height:100%;

box-shadow:
0 10px 35px rgba(0,0,0,.08);

transition:.4s;

}

.stay-card:hover{

transform:translateY(-8px);

box-shadow:
0 20px 45px rgba(0,0,0,.12);

}

.stay-header{

padding:14px;

font-size:14px;

font-weight:700;

letter-spacing:1px;

text-align:center;

color:#fff;

}

.package-header{

background:
linear-gradient(
135deg,
#1b5e20,
#388e3c
);

}

.room-header{

background:
linear-gradient(
135deg,
#c49000,
#f1c232
);

}

.stay-card .stay-icon{

font-size:55px;

text-align:center;

margin:25px 0 10px;

color:#2e7d32;

}

.roomonly-card .stay-icon{

color:#c49000;

}

.stay-card h3{

text-align:center;

font-size:30px;

font-weight:700;

color:#123524;

margin-bottom:10px;

}

.stay-subtitle{

padding:0 30px;

text-align:center;

font-size:15px;

line-height:1.8;

color:#666;

margin-bottom:25px;

}

.stay-card ul{

list-style:none;

padding:0 30px 20px;

}

.stay-card ul li{

display:flex;

align-items:center;

gap:12px;

font-size:16px;

font-weight:500;

margin-bottom:16px;

}

.stay-card ul li i{

font-size:18px;

width:22px;

color:#2e7d32;

}

.roomonly-card ul li i{

color:#c49000;

}

.stay-note{

margin:0 25px 25px;

padding:15px;

background:#f5f8f5;

border-radius:12px;

font-size:14px;

line-height:1.7;

color:#555;

}

.package-card{

border-top:4px solid #2e7d32;

}

.roomonly-card{

border-top:4px solid #d4a017;

}



/* STAY BADGES */

.stay-badges{
display:flex;
gap:8px;
flex-wrap:wrap;
margin-bottom:12px;
}

.stay-badges .badge{
padding:7px 12px;
font-size:12px;
font-weight:600;
border-radius:20px;
}

/* PREMIUM ROOM PRICING */

.room-pricing{

display:flex;

gap:12px;

margin:18px 0 20px;

}

.package-price-box,
.roomonly-price-box{

flex:1;

padding:16px;

border-radius:18px;

position:relative;

overflow:hidden;

transition:.3s;

}

.package-price-box{

background:
linear-gradient(
135deg,
#1b5e20,
#43a047
);

color:#fff;

box-shadow:
0 8px 20px rgba(46,125,50,.25);

}

.roomonly-price-box{

background:
linear-gradient(
135deg,
#c49000,
#f4c542
);

color:#fff;

box-shadow:
0 8px 20px rgba(212,160,23,.25);

}

.package-price-box:hover,
.roomonly-price-box:hover{

transform:translateY(-3px);

}

.price-tag{

font-size:12px;

font-weight:700;

letter-spacing:1px;

margin-bottom:8px;

text-transform:uppercase;

opacity:.95;

}

.price-tag i{

margin-right:5px;

}

.price-value{

font-size:32px;

font-weight:800;

line-height:1;

margin-bottom:10px;

}

.price-value span{

font-size:13px;

font-weight:500;

display:block;

margin-top:5px;

}

.price-desc{

font-size:12px;

line-height:1.5;

opacity:.95;

}


@media(max-width:768px){

.section-heading h1{
font-size:36px;
}

.book-room-content{
padding:22px;
}

}

@media(max-width:768px){

.room-pricing{

flex-direction:column;

}

.price-value{

font-size:28px;

}

}