.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;

}

.room-details-hero{

height:420px;

position:relative;

display:flex;

align-items:center;

color:#fff;

}

.hero-overlay{

background:rgba(0,0,0,.55);

width:100%;

height:100%;

display:flex;

align-items:center;

}

.room-breadcrumb{

font-size:15px;

margin-bottom:15px;

}

.hero-tagline{

font-size:20px;

margin-bottom:20px;

}

.availability{

padding:10px 22px;

border-radius:50px;

font-weight:700;

}

.available{

background:#2e7d32;

}

.few{

background:#ff9800;

}

.sold{

background:#c62828;

}

.gallery-card{

background:#fff;

border-radius:18px;

overflow:hidden;

box-shadow:0 12px 35px rgba(0,0,0,.12);

}

.room-main-image{

height:520px;

width:100%;

object-fit:cover;

}

.room-info-card{

background:#fff;

padding:35px;

border-radius:18px;

box-shadow:0 12px 35px rgba(0,0,0,.12);

}

.room-highlight{

font-size:20px;

color:#2e7d32;

font-weight:600;

margin:20px 0;

}

.room-desc{

line-height:30px;

font-size:17px;

color:#555;

}

.quick-info{

display:grid;

grid-template-columns:repeat(2,1fr);

gap:20px;

margin-top:30px;

}

.info-box{

background:#f8f8f8;

padding:18px;

border-radius:12px;

text-align:center;

transition:.3s;

}

.info-box:hover{

background:#2e7d32;

color:#fff;

}

.info-box i{

font-size:28px;

margin-bottom:10px;

color:#ff9800;

}

.info-box:hover i{

color:#fff;

}

.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;

}

}

/*=============================
CHOOSE YOUR STAY
=============================*/

.stay-selection{

margin-top:40px;

}

.section-heading{

text-align:center;

margin-bottom:35px;

}

.section-heading h3{

font-size:34px;

font-weight:700;

color:#123524;

}

.section-heading p{

font-size:18px;

color:#666;

}

.stay-option-card{

background:#fff;

border-radius:18px;

padding:35px;

box-shadow:0 15px 40px rgba(0,0,0,.12);

height:100%;

position:relative;

transition:.35s;

}

.stay-option-card:hover{

transform:translateY(-8px);

}

.package{

border-top:6px solid #2e7d32;

}

.roomonly{

border-top:6px solid #ff9800;

}

.popular-tag{

position:absolute;

top:18px;

right:-35px;

background:#2e7d32;

color:#fff;

padding:6px 40px;

font-size:12px;

font-weight:700;

transform:rotate(45deg);

}

.stay-icon{

font-size:48px;

margin-bottom:20px;

color:#2e7d32;

}

.roomonly .stay-icon{

color:#ff9800;

}

.stay-price{

font-size:34px;

font-weight:700;

margin:18px 0;

color:#123524;

}

.stay-price span{

display:block;

font-size:15px;

color:#777;

margin-top:5px;

}

.stay-option-card ul{

list-style:none;

padding:0;

margin:25px 0;

}

.stay-option-card li{

padding:10px 0;

font-size:16px;

}

.stay-option-card li i{

margin-right:10px;

color:#2e7d32;

}

.roomonly li .fa-times-circle{

color:#d32f2f;

}

.package-book-btn,

.room-book-btn{

display:block;

text-align:center;

padding:14px;

border-radius:10px;

text-decoration:none;

font-weight:700;

margin-top:25px;

}

.package-book-btn{

background:#2e7d32;

color:#fff;

}

.package-book-btn:hover{

background:#1d5b24;

color:#fff;

}

.room-book-btn{

background:#ff9800;

color:#fff;

}

.room-book-btn:hover{

background:#e68900;

color:#fff;

}

/*=========================================
ROOM HERO
=========================================*/

.room-hero{

height:520px;

background-size:cover;

background-position:center;

position:relative;

display:flex;

align-items:center;

}

.room-hero-overlay{

background:linear-gradient(
90deg,
rgba(8,35,17,.88),
rgba(8,35,17,.55)
);

width:100%;

height:100%;

display:flex;

align-items:center;

}

.hero-wrapper{

display:flex;

justify-content:space-between;

align-items:center;

gap:50px;

}

.hero-left{

color:#fff;

max-width:700px;

}

.hero-subtitle{

display:inline-block;

padding:10px 22px;

background:rgba(255,255,255,.12);

border:1px solid rgba(255,255,255,.25);

border-radius:50px;

font-size:15px;

margin-bottom:25px;

backdrop-filter:blur(6px);

}

.hero-left h1{

font-size:58px;

font-weight:800;

margin-bottom:20px;

line-height:1.15;

}

.hero-left p{

font-size:20px;

line-height:34px;

opacity:.95;

max-width:650px;

margin-bottom:30px;

}

.hero-breadcrumb{

display:flex;

gap:10px;

align-items:center;

flex-wrap:wrap;

font-size:16px;

}

.hero-breadcrumb a{

color:#fff;

text-decoration:none;

}

.hero-breadcrumb b{

color:#FFD54F;

}

.hero-right{

display:flex;

justify-content:center;

align-items:center;

}

.hero-badge{

min-width:230px;

text-align:center;

padding:28px;

border-radius:18px;

font-size:22px;

font-weight:700;

color:#fff;

box-shadow:0 20px 45px rgba(0,0,0,.25);

backdrop-filter:blur(10px);

}

.hero-badge i{

display:block;

font-size:42px;

margin-bottom:12px;

}

.hero-badge.available{

background:rgba(46,125,50,.92);

}

.hero-badge.few{

background:#ff9800;

}

.hero-badge.sold{

background:#d32f2f;

}

@media(max-width:991px){

/*=====================================================
NEW ROOM HERO
=====================================================*/

.room-hero{
    min-height:480px;
    background-size:cover;
    background-position:center;
    position:relative;
}

.room-hero-overlay{
    background:linear-gradient(
    90deg,
    rgba(6,30,14,.88),
    rgba(6,30,14,.45)
    );
    min-height:480px;
    display:flex;
    align-items:center;
}

.hero-content-new{
    color:#fff;
}

.hero-tag{

display:inline-block;

padding:8px 18px;

background:rgba(255,255,255,.12);

border:1px solid rgba(255,255,255,.25);

border-radius:30px;

margin-bottom:20px;

font-size:15px;

backdrop-filter:blur(6px);

}

.hero-content-new h1{

font-size:54px;

font-weight:800;

margin-bottom:20px;

}

.hero-content-new p{

font-size:20px;

line-height:32px;

margin-bottom:25px;

max-width:650px;

}

.hero-breadcrumb{

display:flex;

align-items:center;

gap:10px;

flex-wrap:wrap;

}

.hero-breadcrumb a{

color:#fff;

text-decoration:none;

}

.hero-breadcrumb span{

color:#FFD54F;

font-weight:600;

}

.availability-box{

display:flex;

justify-content:center;

}

.status{

width:240px;

padding:30px;

border-radius:18px;

text-align:center;

color:#fff;

font-size:22px;

font-weight:700;

box-shadow:0 15px 40px rgba(0,0,0,.25);

}

.status i{

display:block;

font-size:40px;

margin-bottom:12px;

}

.available{

background:#2e7d32;

}

.few{

background:#ff9800;

}

.sold{

background:#d32f2f;

}

@media(max-width:991px){

/*=====================================================
NEW ROOM HERO
=====================================================*/

.room-hero{
    min-height:480px;
    background-size:cover;
    background-position:center;
    position:relative;
}

.room-hero-overlay{
    background:linear-gradient(
    90deg,
    rgba(6,30,14,.88),
    rgba(6,30,14,.45)
    );
    min-height:480px;
    display:flex;
    align-items:center;
}

.hero-content-new{
    color:#fff;
}

.hero-tag{

display:inline-block;

padding:8px 18px;

background:rgba(255,255,255,.12);

border:1px solid rgba(255,255,255,.25);

border-radius:30px;

margin-bottom:20px;

font-size:15px;

backdrop-filter:blur(6px);

}

.hero-content-new h1{

font-size:54px;

font-weight:800;

margin-bottom:20px;

}

.hero-content-new p{

font-size:20px;

line-height:32px;

margin-bottom:25px;

max-width:650px;

}

.hero-breadcrumb{

display:flex;

align-items:center;

gap:10px;

flex-wrap:wrap;

}

.hero-breadcrumb a{

color:#fff;

text-decoration:none;

}

.hero-breadcrumb span{

color:#FFD54F;

font-weight:600;

}

.availability-box{

display:flex;

justify-content:center;

}

.status{

width:240px;

padding:30px;

border-radius:18px;

text-align:center;

color:#fff;

font-size:22px;

font-weight:700;

box-shadow:0 15px 40px rgba(0,0,0,.25);

}

.status i{

display:block;

font-size:40px;

margin-bottom:12px;

}

.available{

background:#2e7d32;

}

.few{

background:#ff9800;

}

.sold{

background:#d32f2f;

}

@media(max-width:991px){

.room-hero,
.room-hero-overlay{

min-height:auto;

padding:120px 0 70px;

}

.hero-content-new{

text-align:center;

}

.hero-content-new h1{

font-size:38px;

}

.hero-content-new p{

font-size:17px;

}

.availability-box{

margin-top:35px;

}

}

/* =====================================================
   MOBILE FIX - ROOMS PAGE
   ===================================================== */

@media (max-width: 767px){

    /* Prevent horizontal overflow */
    html,
    body{
        overflow-x:hidden;
        width:100%;
    }

    /* Main stay section */
    .stay-type-section{
        padding-top:35px !important;
        padding-bottom:35px !important;
        overflow:hidden;
    }

    /* Section heading */
    .stay-type-section .section-title{
        font-size:28px;
        line-height:1.3;
        margin-bottom:15px;
    }

    .stay-main-desc{
        font-size:15px;
        line-height:1.7;
        padding:0 8px;
    }

    /* Stay card column */
    .stay-type-section .row{
        margin-left:0;
        margin-right:0;
    }

    .stay-type-section .row > [class*="col-"]{
        padding-left:8px;
        padding-right:8px;
    }

    /* Stay cards */
    .stay-card{
        width:100%;
        height:auto;
        border-radius:18px;
        margin:0 auto;
        box-shadow:0 8px 25px rgba(0,0,0,.10);
    }

    /* Stay header */
    .stay-header{
        padding:12px 8px;
        font-size:12px;
        letter-spacing:.7px;
    }

    /* Stay icon */
    .stay-card .stay-icon{
        font-size:44px;
        margin:20px 0 8px;
    }

    /* Stay title */
    .stay-card h3{
        font-size:25px;
        line-height:1.3;
        margin-bottom:10px;
    }

    /* Description */
    .stay-subtitle{
        padding:0 18px;
        font-size:14px;
        line-height:1.65;
        margin-bottom:18px;
    }

    /* Feature list */
    .stay-card ul{
        padding:0 20px 12px;
        margin-bottom:10px;
    }

    .stay-card ul li{
        gap:10px;
        font-size:14px;
        line-height:1.45;
        margin-bottom:12px;
        align-items:flex-start;
    }

    .stay-card ul li i{
        flex:0 0 20px;
        width:20px;
        font-size:16px;
        margin-top:2px;
    }

    /* Note box */
    .stay-note{
        margin:0 18px 18px;
        padding:12px;
        font-size:13px;
        line-height:1.6;
    }

}


/* =====================================================
   SMALL MOBILE PHONES
   ===================================================== */

@media (max-width: 480px){

    .stay-type-section .section-title{
        font-size:25px;
    }

    .stay-main-desc{
        font-size:14px;
        line-height:1.65;
    }

    .stay-type-section .row > [class*="col-"]{
        padding-left:5px;
        padding-right:5px;
    }

    .stay-card{
        border-radius:16px;
    }

    .stay-header{
        font-size:11px;
        padding:11px 5px;
    }

    .stay-card .stay-icon{
        font-size:40px;
        margin-top:18px;
    }

    .stay-card h3{
        font-size:23px;
    }

    .stay-subtitle{
        padding:0 15px;
        font-size:13.5px;
    }

    .stay-card ul{
        padding-left:17px;
        padding-right:17px;
    }

    .stay-card ul li{
        font-size:13.5px;
        margin-bottom:10px;
    }

    .stay-note{
        margin-left:15px;
        margin-right:15px;
        font-size:12.5px;
    }

}