/* TOP INFO BAR */

.topbar{
background:#1f5f3a;
color:#fff;
font-size:16px;
font-weight:500;
padding:10px 0;
position:fixed;
top:0;
width:100%;
z-index:1000;
transition:0.4s;
font-family:'Poppins', sans-serif;
}


/* Address & Phone Style */

.top-address{
letter-spacing:0.5px;
}

.top-phone{
font-weight:600;
}


/* MAIN NAVBAR */

#mainNavbar{
position:fixed;
top:48px;
width:100%;
z-index:999;
}


/* BODY SPACE FIX */

body{
padding-top:120px;
}


/* LOGO GLOW */

.logo-glow{
border-radius:50%;
box-shadow:0 0 6px #d4af37,
           0 0 12px #b8860b;
}


/* MENU STYLE */

.navbar-nav .nav-link{
font-size:16px;
color:#333;
transition:0.3s;
}

.navbar-nav .nav-link:hover{
color:#2e7d32;
}


/* HERO SECTION */

.hero-section{
position:relative;
height:100vh;
overflow:hidden;
}
/* Slider Image */

.hero-img{
height:100vh;
object-fit:cover;
}

/* Hero Text */

.hero-title{
font-size:50px;
font-weight:700;
color:#fff;
}

.hero-subtitle{
color:#eee;
font-size:20px;
margin-bottom:30px;
}
/* Overlay */

.hero-overlay{
position:absolute;
top:0;
left:0;
width:100%;
height:100%;
background:rgba(0,0,0,0.45);
display:flex;
align-items:center;
}

/* Dark overlay */

.hero-overlay{
position:absolute;
top:0;
left:0;
width:100%;
height:100%;
background:rgba(0,0,0,0.5);
}

/* Hero content */

.hero-content{
position:relative;
z-index:2;
}

.hero-content h1{
font-size:55px;
font-weight:700;
}

.hero-content p{
font-size:20px;
margin-top:10px;
}

/* Booking Bar */

.booking-bar{
background:#fff;
padding:20px;
border-radius:8px;
box-shadow:0 8px 20px rgba(0,0,0,0.3);
}
@font-face {
font-family: 'BellGothic';
src: url('../fonts/BellGothicStd-Black.woff') format('woff');
font-weight: normal;
font-style: normal;
}
.hero-title{
font-family:'BellGothic', sans-serif;
font-size:75px;
color:white;
letter-spacing:2px;
}

.hero-subtitle{
font-size:28px;
margin-top:15px;
font-weight:500;
}

/* subtitle colors */

.subtitle-green{
color:#8bc34a;
}

.subtitle-gold{
color:#d4af37;
}

.subtitle-light{
color:#f1f1f1;
}

.navbar-nav .nav-link{
position:relative;
font-size:16px;
color:#333;
padding:8px 15px;
transition:0.3s;
}

/* underline animation */

.navbar-nav .nav-link::after{
content:"";
position:absolute;
left:0;
bottom:0;
width:0;
height:2px;
background:#2e7d32;
transition:0.4s;
}

.navbar-nav .nav-link:hover{
color:#2e7d32;
}

.navbar-nav .nav-link:hover::after{
width:100%;
}
.hero-title{
animation:fadeUp 1.5s ease;
}

@keyframes fadeUp{
from{
opacity:0;
transform:translateY(40px);
}
to{
opacity:1;
transform:translateY(0);
}
}
/* BOOKING SECTION */

.booking-section{
margin-top:-70px;
position:relative;
z-index:10;
}

.booking-box{
background:white;
padding:30px;
border-radius:10px;
box-shadow:0 10px 30px rgba(0,0,0,0.15);
}

.booking-label{
font-family:'BellGothic',sans-serif;
color:#2e7d32;
font-size:18px;
display:block;
margin-bottom:5px;
}

.booking-input{
height:45px;
border-radius:6px;
}

/* Button */

.check-btn{
background:#2e7d32;
color:white;
border:none;
padding:12px;
border-radius:6px;
font-weight:600;
transition:0.3s;
}

.check-btn:hover{
background:#1b5e20;
transform:scale(1.05);
}
/* SECTION TITLE */

.section-title{
display:inline-block;
font-family:'BellGothic',sans-serif;
color:#2e7d32;
font-size:44px;
font-weight:700;
position:relative;
padding-bottom:10px;
}
.section-title-wrapper{
text-align:center;
margin-bottom:50px;
}

.section-title:after{
content:"";
position:absolute;
left:0;
bottom:0;
width:60%;
left: 20%
height:3px;
background:#2e7d32;
border-radius:2px;
}

/* ABOUT */

.about-section{
padding:80px 0;
}
.about-text{
text-align:justify;
line-height:1.8;
font-size:16px;
color:#444;
}
.about-btn{
display:inline-block;
background:#2e7d32;
color:#fff;
padding:8px 20px;
border-radius:5px;
text-decoration:none;
font-size:14px;
transition:0.3s;
}

.about-btn:hover{
background:#1b5e20;
color:#fff;
}
/* ROOMS */

.room-card{
position:relative;
overflow:hidden;
border-radius:10px;
}

.room-img{
width:100%;
height:260px;
object-fit:cover;
}
.room-title{
position:absolute;
bottom:0;
width:100%;
background:rgba(0,0,0,0.65);
color:white;
padding:10px;
font-size:18px;
text-align:center;
transition:0.4s;
}
/* hide title on hover */

.room-card:hover .room-title{
opacity:0;
}

.room-overlay{
position:absolute;
bottom:0;
background:rgba(0,0,0,0.75);
color:white;
width:100%;
padding:20px;
transform:translateY(100%);
transition:0.4s;
}

.room-card:hover .room-overlay{
transform:translateY(0);
}

.room-buttons{
margin-top:10px;
}

.room-details{
background:white;
color:#2e7d32;
padding:6px 12px;
margin-right:8px;
border-radius:4px;
text-decoration:none;
}

.room-book{
background:#2e7d32;
color:white;
padding:6px 12px;
border-radius:4px;
text-decoration:none;
}
/* AMENITIES */

.amenities-section{
background:#e0e6c8;
padding:80px 0;
}

/* each amenity */

.amenity-item{
text-align:center;
padding:20px;
}

/* round icon box */

.amenity-circle{
width:130px;
height:130px;
margin:auto;
border-radius:50%;
background:#6b8e23;
color:white;
display:flex;
flex-direction:column;
justify-content:center;
align-items:center;
font-size:28px;
transition:0.4s;
box-shadow:0 6px 18px rgba(0,0,0,0.2);
}

.amenity-circle h6{
margin-top:6px;
font-size:18px;
}

/* description */

.amenity-desc{
margin-top:12px;
font-size:18px;
font-weight: bold;
font-style: italic;
color:#444;
}

.amenity-circle:hover{
background:#556b2f;
transform:scale(1.1) ;
box-shadow:0 10px 25px rgba(0,0,0,0.3);
}
.amenity-circle i{
font-size:34px;
margin-bottom:5px;
}

.amenity-icon{
font-size:34px;
color:#556b2f;
margin-bottom:10px;
}

/* NEAR BY TOURIST PLACES */
.tourist-section{
padding:80px 0;
background:#f7f8ef;
}

.tourist-card{
background:white;
border-radius:10px;
overflow:hidden;
box-shadow:0 6px 18px rgba(0,0,0,0.15);
transition:0.4s;
}

.tourist-card:hover{
transform:translateY(-8px);
}

.tourist-img{
width:100%;
height:220px;
object-fit:cover;
}

.tourist-content{
padding:20px;
text-align:center;
}

.tourist-content h4{
color:#2e7d32;
margin-bottom:10px;
}

.discover-btn{
display:inline-block;
margin-top:10px;
background:#2e7d32;
color:white;
padding:8px 18px;
border-radius:5px;
text-decoration:none;
transition:0.3s;
}

.discover-btn:hover{
background:#1b5e20;
}

@media(max-width:768px){

.tourist-section .col-md-4,
.tourist-section .col-lg-3{

margin-bottom:20px;

}

}


/* GALLERY */

.gallery-section{
padding:80px 0;
background:#f7f8ef;
}

.gallery-slider{
position:relative;
}

.gallery-slider img{
width:100%;
height:230px;
object-fit:cover;
border-radius:10px;
transition:0.4s;
}

.gallery-slider img:hover{
transform:scale(1.05);
}

.gallery-card{
position:relative;
overflow:hidden;
border-radius:10px;
}

.gallery-card img{
width:100%;
height:230px;
object-fit:cover;
display:block;
}

/* zoom effect */

.gallery-card:hover img{
transform:scale(1.08);
}

/* name overlay */

.gallery-name{
position:absolute;
bottom:0;
left:0;
width:100%;
padding:10px;
color:white;
font-size:16px;
text-align:center;

/* light transparent overlay */
background:rgba(0,0,0,0.4);

/* smooth look */
backdrop-filter: blur(2px);
}
/* hover effect */

.gallery-card:hover img{
transform:scale(1.05);
transition:0.4s;
}
/* optional hover effect */

.gallery-card:hover .gallery-name{
background:rgba(0,0,0,0.6);
}
/* hide arrows initially */

.swiper-button-next,
.swiper-button-prev{
opacity:0;
transition:0.3s;
color:#2e7d32;
}

/* show on hover */

.gallery-slider:hover .swiper-button-next,
.gallery-slider:hover .swiper-button-prev{
opacity:1;
}
/* MAP SECTION */

.location-section{
padding:80px 0;
background:#ffffff;
}

.map-box{
border-radius:12px;
overflow:hidden;
box-shadow:0 10px 30px rgba(0,0,0,0.15);
}
/* FOOTER */

.footer-section{
background:#1f5f3a;
color:#fff;
padding:60px 0 0 0;
}

.footer-logo h4{
margin-top:10px;
font-family:'BellGothic',sans-serif;
}

.footer-title{
font-family:'BellGothic',sans-serif;
margin-bottom:15px;
}

.footer-links{
list-style:none;
padding:0;
}

.footer-links li{
margin-bottom:8px;
}

.footer-links a{
color:#ddd;
text-decoration:none;
transition:0.3s;
}

.footer-links a:hover{
color:#8bc34a;
padding-left:5px;
}

.social-icons a{
color:white;
font-size:20px;
margin-right:10px;
transition:0.3s;
}

.social-icons a:hover{
color:#8bc34a;
}

/* FOOTER BOTTOM */

.footer-bottom{
border-top:1px solid rgba(255,255,255,0.1);
padding:15px 0;
margin-top:20px;
}

.footer-bottom-wrap{
display:flex;
justify-content:space-between;
align-items:center;
max-width:1200px;
margin:auto;
padding:0 15px;
}

.footer-copy{
color:#fff;
font-size:14px;
}

.footer-policy{
display:flex;
align-items:center;
gap:12px;
}

.footer-policy a{
color:#fff;
text-decoration:none;
font-size:14px;
transition:.3s;
}

.footer-policy a:hover{
color:#c8a44d;
}

.footer-policy span{
color:#aaa;
}

/* MOBILE */

@media(max-width:768px){

.footer-bottom-wrap{
flex-direction:column;
gap:10px;
text-align:center;
}

}
.testimonial-section{
padding:80px 0;
background:#f9f9f9;
}

.testimonial-box{
border:1px solid #e0e0e0;
border-radius:8px;
padding:25px;
text-align:center;
background:white;
}

.stars{
color:#f4b400;
margin-bottom:10px;
}

.testimonial-text{
font-style:italic;
position:relative;
}

.whatsapp-btn{
position:fixed;
right:0px;
bottom:90px;
z-index:999;
}

.whatsapp-btn img{
width:65px;
height:65px;
}

/* STICKY BOOK NOW BUTTON */

.sticky-book-btn{
position:fixed;
right:0px;
bottom:260px;
z-index:999;

}



.sticky-book-btn img{
width:65px;
height:65px;
}


.about-img{
width:100%;
max-width:440px;
height:320px;
object-fit:cover;
border-radius:10px;
box-shadow:0 6px 20px rgba(0,0,0,0.15);
}
#scrollTopBtn{
position:fixed;
right:5px;
bottom:20px;
background:#2e7d32;
color:white;
border:none;
width:45px;
height:45px;
border-radius:50%;
font-size:18px;
display:none;
box-shadow:0 6px 15px rgba(0,0,0,0.3);
}
.section-title{
font-family:'BellGothic',sans-serif;
color:#2e7d32;
font-size:34px;
margin-bottom:25px;
text-align:center;
display:block;
}

.section-title::after{
content:"";
position:absolute;
left:0;
bottom:-6px;
width:0;
height:3px;
background:#2e7d32;
transition:0.6s;
}

.section-title.animate::after{
width:100%;
}
.amenity-box{
background:#808000;
color:white;
border-radius:20px;
padding:25px;
margin:10px;
}

.amenity-icon{
font-size:36px;
margin-bottom:10px;
color:white;
}
.footer-title{
position:relative;
display:inline-block;
}

.footer-title::after{
content:"";
position:absolute;
left:0;
bottom:-6px;
width:50%;
height:4px;
background:#0b3d2e;
}
/* RATING */
.footer-rating{
background:#2e7d32;
color:white;
padding:20px;
border-radius:8px;
text-align:center;
}

.footer-rating h3{
font-size:36px;
margin-bottom:5px;
}

.footer-rating .stars{
color:#f4b400;
font-size:18px;
margin-bottom:5px;
}

.footer-rating p{
font-size:14px;
}

.rating-platforms{
margin-top:10px;
display:flex;
justify-content:center;
gap:15px;
}

.rating-platforms span{
color:#fff;
font-size:14px;
display:flex;
align-items:center;
gap:5px;
}

.rating-platforms i{
font-size:16px;
}

/* brand colors */

.fa-google{ color:#ea4335; }
.fa-tripadvisor{ color:#34e0a1; }

/* about us page */

/* HERO SECTION */

.about-hero{
position:relative;
height:410px;
overflow:hidden;
}

/* overlay ONLY inside hero */

.about-hero::before{
content:"";
position:absolute;
top:0;
left:0;
width:100%;
height:100%;
background:rgba(0,0,0,0.4); /* 30% opacity */
z-index:1;
}

/* content above overlay */

.hero-content{
position:relative;
z-index:2;
height:100%;
display:flex;
align-items:center;
justify-content:center;
}

.hero-content h1{
color:#fff;
font-size:55px;
letter-spacing:3px;
font-family:'BellGothic',sans-serif;
margin:0;
}

.about-img{
width:100%;
max-width:470px;
height:330px;
object-fit:cover;
border-radius:10px;
}

.about-img-home{
width:100%;
max-width:520px;
height:380px;
object-fit:cover;
border-radius:10px;
}


/* WHY ECO SECTION */

.why-eco-section{
/*background:linear-gradient(135deg,#0f2e1c,#1b5e20);*/
padding:30px 0;
color:#fff;
}

/* BOX */

.why-eco-box{
position:relative;
background:#0b3d3e;
padding:30px 20px;
border-radius:10px;
border:1px solid rgba(255,255,255,0.2);
transition:0.4s;
height:100%;
}

/* TITLE */

.why-eco-box h5{
color:#a5d6a7;
letter-spacing:2px;
font-size:18px;
margin-bottom:15px;
}

/* TEXT */

.why-eco-box p{
font-size:14px;
line-height:1.7;
color:#ddd;
}

/* NUMBER */

.why-number{
position:absolute;
bottom:10px;
right:15px;
font-size:28px;
color:rgba(255,255,255,0.1);
font-weight:bold;
}

/* HOVER EFFECT */

.why-eco-box:hover{
transform:translateY(-10px);
background:#1b5e20;
box-shadow:0 10px 30px rgba(0,0,0,0.4);
}
.eco-icon{
font-size:30px;
color:#a5d6a7;
margin:0 20px;
}

/* CTA SECTION */

.cta-section{
position:relative;
background:url('../images/resort-night.jpg') center center no-repeat;
background-size:cover;
background-attachment:fixed; /* KEY LINE */
color:#fff;
margin-bottom:40px;
}

/* overlay */

.cta-overlay{
background:rgba(0,0,0,0.4);
padding:100px 0;
width:100%;
height:100%;
}

/* LEFT TEXT */

.cta-tag{
color:#d4af37;
letter-spacing:2px;
font-size:16px;
font-weight:Bold;
margin-bottom:10px;
}

.cta-title{
font-size:48px;
font-weight:800;
line-height:1.2;
margin-bottom:20px;

}

.cta-text{
font-size:16px;
margin-bottom:20px;
color:#ddd;
max-width:500px;
}

/* BUTTON */

.cta-btn{
background:#2e7d32; /* theme green */
color:#fff;
padding:12px 25px;
border-radius:5px;
text-decoration:none;
font-weight:600;
transition:0.3s;
}

.cta-btn:hover{
background:#1b5e20;
color:#fff;
}

/* CALL BOX */

.cta-call{
display:flex;
align-items:center;
gap:15px;
background:rgba(46,125,50,0.25); /* green glass */
padding:15px 22px;
border-radius:50px;
width:auto;              /* IMPORTANT */
max-width:250px;         /* CONTROL WIDTH */
margin-left:auto;
backdrop-filter:blur(10px);
box-shadow:0 8px 25px rgba(0,0,0,0.3);
border:1px solid rgba(255,255,255,0.2);
transition:0.4s;
cursor:pointer;
}

/* ICON */

.call-icon{
background:#2e7d32;
color:#fff;
width:45px;
height:45px;
display:flex;
align-items:center;
justify-content:center;
border-radius:50%;
font-size:18px;
transition:0.3s;
}

/* TEXT */

.cta-call span{
font-size:12px;
color:#c8e6c9;
letter-spacing:1px;
}

.cta-call h4{
margin:0;
font-size:20px;
color:#fff;
}
.cta-call:hover{
background:rgba(46,125,50,0.5);
transform:translateY(-3px);
box-shadow:0 8px 25px rgba(0,0,0,0.3);
}

/* icon animation */

.cta-call:hover .call-icon{
background:#1b5e20;
transform:scale(1.1);
}
@media(max-width:768px){
.cta-section{
background-attachment:scroll;
}
}
/* ROOMS SECTION */

/* ROOMS HERO */

.rooms-hero{

height:410px;
position:relative;
}

.rooms-hero::before{
content:"";
position:absolute;
top:0;
left:0;
width:100%;
height:100%;
background:rgba(0,0,0,0.4);
}

.rooms-hero .hero-content{
position:relative;
z-index:2;
}

.rooms-section{
padding:70px 0;
margin-top:30px; /* GAP FIX */
background:#f7f8ef;
}

/* ROOM CARD */



.room-card{
position:relative;
overflow:hidden;
border-radius:12px;
}

/* IMAGE */

.room-slider img{
width:100%;
height:320px;   /* INCREASED SIZE */
object-fit:cover;
display:block;
}

/* DEFAULT NAME (VISIBLE) */

.room-name{
position:absolute;
bottom:15px;
left:50%;
transform:translateX(-50%);
background:rgba(0, 100, 0, 0.8);
color:#fff;
padding:8px 18px;
border-radius:25px;
font-size:18px;
z-index:3; /* ABOVE EVERYTHING */
}

/* HOVER LAYER */

.room-hover{
position:absolute;
top:0;
left:0;
width:100%;
height:100%;
background:rgba(0,0,0,0.75);
display:flex;
flex-direction:column;
justify-content:center;
align-items:center;
text-align:center;
opacity:0;
transition:0.4s;
z-index:2;
color:#fff;
padding:20px;
}

/* HOVER EFFECT */

.room-card:hover .room-hover{
opacity:1;
}

.room-card:hover .room-name{
opacity:0; /* HIDE DEFAULT NAME ON HOVER */
}

/* IMAGE ZOOM */

.room-card:hover img{
transform:scale(1.1);
transition:0.5s;
}

.room-card:hover .room-hover{
opacity:1;
}



/* TEXT */

.room-desc{
font-size:14px;
margin:10px 0;
}

.room-guest{
font-size:14px;
margin-bottom:10px;
}



/* BUTTONS */

.room-btn{
background:#2e7d32;
color:#fff;
padding:6px 12px;
border-radius:5px;
text-decoration:none;
margin:3px;
transition:0.3s;
}

.room-btn.book{
background:#1b5e20;
}

.room-btn:hover{
background:#145a32;
}
/* ROOMS CTA */

.rooms-cta{
background:linear-gradient(135deg,#0b3d3e);
padding:80px 0;
color:#fff;
margin-top:40px;
margin-bottom:30px;
}

/* LEFT TEXT */

.rooms-cta-title{
font-size:40px;
font-family:'BellGothic',sans-serif;
letter-spacing:1px;
font-weight:700;
margin-bottom:10px;
}

.rooms-cta-sub{
font-size:20px;
color:#a5d6a7;
}

/* RIGHT TEXT */

.rooms-cta-help{
font-size:18px;
margin-bottom:15px;
color:#ddd;
}

/* CALL BUTTON */

.rooms-call{
display:inline-flex;
align-items:center;
gap:12px;

background:rgba(255,255,255,0.1);
padding:12px 20px;
border-radius:50px;

backdrop-filter:blur(8px);
border:1px solid rgba(255,255,255,0.2);

text-decoration:none;
color:#fff;

transition:0.3s;
}

/* ICON */

.rooms-call .call-icon{
background:#2e7d32;
width:40px;
height:40px;
border-radius:50%;
display:flex;
align-items:center;
justify-content:center;
}

/* TEXT */

.rooms-call span{
font-size:12px;
color:#c8e6c9;
}

.rooms-call h4{
margin:0;
font-size:18px;
}

/* HOVER */

.rooms-call:hover{
background:rgba(46,125,50,0.6);
transform:translateY(-3px);
box-shadow:0 8px 20px rgba(0,0,0,0.3);
}
/* AMENITIES SECTION */

.amenities-section{
padding:80px 0;
background:#f7f8ef;
}

/* CARD */

.amenity-card{
background:#fff;
padding:25px 15px;
text-align:center;
border-radius:12px;
transition:0.4s;
box-shadow:0 5px 20px rgba(0,0,0,0.1);
height:100%;
}

/* ICON */

.amenity-card i{
font-size:32px;
color:#2e7d32;
margin-bottom:10px;
transition:0.3s;
}

/* TITLE */

.amenity-card h5{
font-size:16px;
margin-bottom:8px;
color:#333;
}

/* TEXT */

.amenity-card p{
font-size:14px;
color:#666;
}

/* HOVER EFFECT */

.amenity-card:hover{
transform:translateY(-8px);
box-shadow:0 10px 30px rgba(0,0,0,0.2);
background:#2e7d32;
}

.amenity-card:hover i,
.amenity-card:hover h5,
.amenity-card:hover p{
color:#fff;
}

/* HERO IMAGE */

.gallery-hero{

height:410px;
position:relative;
}

.gallery-hero::before{
content:"";
position:absolute;
top:0;
left:0;
width:100%;
height:100%;
background:rgba(0,0,0,0.4);
}

/* GALLERY */

.gallery-page{
padding:80px 0;
background:#f7f8ef;
}

/* CARD */

.gallery-card{
position:relative;
overflow:hidden;
border-radius:12px;
}

.gallery-card img{
width:100%;
height:240px;
object-fit:cover;
transition:0.4s;
}

/* HIDE BY DEFAULT */

.gallery-overlay{
position:absolute;
bottom:0;
left:0;
width:100%;
padding:10px;

background:rgba(0,0,0,0.5);
color:#fff;
text-align:center;
font-weight: Bold;
font-family:'BellGothic',sans-serif;
font-size:18px;

/* IMPORTANT */
opacity:0;
transform:translateY(20px);
transition:0.3s;
}

/* SHOW ON HOVER */

.gallery-card:hover .gallery-overlay{
opacity:1;
transform:translateY(0);
}
.contact-hero{
height:410px;
position:relative;

display:flex;
align-items:center;
justify-content:center;
text-align:center;
}

/* overlay */
.contact-hero::before{
content:"";
position:absolute;
top:0;
left:0;
width:100%;
height:100%;
background:rgba(0,0,0,0.5);
}

/* content wrapper */
.hero-content{
position:relative;
z-index:2;
color:#fff;
display:flex;
flex-direction:column;
align-items:center;
}

/* TOP TEXT */

.hero-tag{
color:#d4af37;
letter-spacing:3px;
font-size:14px;
margin-bottom:10px;

opacity:0;
animation:fadeUp 0.8s ease forwards;
}

/* MAIN TITLE */

.hero-title{
font-size:60px;
font-weight:800;
margin-bottom:10px;

opacity:0;
animation:fadeUp 1s ease forwards;
animation-delay:0.3s;
}

/* BREADCRUMB */

.hero-breadcrumb{
font-size:14px;
color:#ddd;

opacity:0;
animation:fadeUp 1s ease forwards;
animation-delay:0.6s;
}

/* ANIMATION */

@keyframes fadeUp{
from{
transform:translateY(40px);
opacity:0;
}
to{
transform:translateY(0);
opacity:1;
}
}
.contact-section{
padding:80px 0;
background:#f7f8ef;
}

/* headings */

.contact-subtitle{
color:#d4af37;
letter-spacing:2px;
margin-bottom:10px;
}

.contact-heading{
font-size:36px;
font-weight:700;
margin-bottom:10px;
}

.contact-desc{
color:#666;
max-width:600px;
margin:0 auto;
}

/* CARD */

.contact-card{
background:#fff;
padding:30px 20px;
border-radius:12px;
transition:0.4s;
box-shadow:0 5px 20px rgba(0,0,0,0.1);
height:100%;
}

/* ICON */

.contact-icon{
background:#d4af37;
width:60px;
height:60px;
border-radius:50%;
display:flex;
align-items:center;
justify-content:center;
margin:0 auto 15px;
color:#fff;
font-size:22px;
}

/* TEXT */

.contact-card h5{
margin-bottom:10px;
font-family:'teko',sans-serif;
font-weight:700;
}

.contact-card p{
color:#666;
font-size:16px;
}

/* LINK */

.contact-card a{
display:inline-block;
margin-top:10px;
color:#2e7d32;
font-weight:600;
text-decoration:none;
}

/* HOVER */

.contact-card:hover{
transform:translateY(-8px);
box-shadow:0 10px 30px rgba(0,0,0,0.2);
}

.contact-card:hover .contact-icon{
background:#2e7d32;
}
/* CONTACT FORM SECTION */

.contact-form-section{
padding:80px 0;
background:#ffffff;
}

/* TITLE */

.form-title{
font-size:24px;
margin-bottom:20px;
color:#2e7d32;
}

/* FORM */

.contact-form-section form{
display:flex;
flex-direction:column;
gap:15px;
}

/* INPUTS */

.contact-form-section input,
.contact-form-section textarea{
padding:12px;
border:1px solid #ddd;
border-radius:6px;
outline:none;
font-size:14px;
}

/* FOCUS */

.contact-form-section input:focus,
.contact-form-section textarea:focus{
border-color:#2e7d32;
}

/* BUTTON */

.contact-form-section button{
background:#2e7d32;
color:#fff;
padding:12px;
border:none;
border-radius:6px;
font-weight:600;
cursor:pointer;
transition:0.3s;
}

.contact-form-section button:hover{
background:#1b5e20;
}

/* MAP */

.map-box{
border-radius:10px;
overflow:hidden;
box-shadow:0 5px 20px rgba(0,0,0,0.1);
}
/* SECTION */

.contact-form-modern{
padding:80px 0;
background:#f7f8ef;
}

/* CARD */

.form-wrapper{
background:#f4f5f3;
padding:40px;
border-radius:15px;
}

/* TAG */

.form-tag{
color:#c9a85d;
letter-spacing:2px;
font-size:13px;
margin-bottom:10px;
}

/* HEADING */

.form-heading{
font-size:36px;
font-weight:800;
margin-bottom:10px;
}

/* SUBTEXT */

.form-subtext{
color:#777;
margin-bottom:30px;
}

/* LABEL */

form label{
display:block;
font-size:12px;
font-weight:600;
letter-spacing:1px;
margin-bottom:6px;
color:#333;
}

/* INPUTS */

form input,
form textarea,
form select{
width:100%;
padding:12px;
border:1px solid #ddd;
border-radius:8px;
background:#fff;
margin-bottom:20px;
outline:none;
}

/* FOCUS */

form input:focus,
form textarea:focus,
form select:focus{
border-color:#2e7d32;
}


/* AGREEMENT */

.agree-box{
font-size:14px;
display:flex;
align-items:center;
gap:10px;
}

/* FORM HEIGHT IMPROVEMENT */

.form-wrapper{
background:#f4f5f3;
padding:40px;
border-radius:15px;
}
/* BUTTON */

.form-btn{
background:#2e7d32;
color:#fff;
padding:12px 30px;
border:none;
border-radius:30px;
font-weight:600;
transition:0.3s;
}

.form-btn:hover{
background:#1b5e20;
}


/* Smooth show effect */
#bookingFields{
transition:0.3s ease;
}
.location-section{
padding:80px 0;
background:#f7f8ef;
}

.reach-card{
background:#fff;
padding:30px;
border-radius:12px;
box-shadow:0 5px 20px rgba(0,0,0,0.1);
height:320px;
}

.reach-card h3{
margin-bottom:15px;
color:#2e7d32;
}

.reach-card p{
font-size:14px;
color:#555;
line-height:1.7;
}

/* GLASS BUTTON */

.reach-btn{
display:inline-flex;
align-items:center;
gap:10px;

background:rgba(46,125,50,0.8);
color:#fff;
padding:12px 20px;
border-radius:50px;

text-decoration:none;
margin-top:10px;

backdrop-filter:blur(8px);
transition:0.3s;
}

.reach-btn:hover{
background:#1b5e20;
transform:translateY(-2px);
}

.contact-form-modern{
padding:60px 0;  /* reduced */
}

.location-section{
padding:50px 0;  /* reduced */
margin-top:-20px; /* pull closer */
}
.location-section .row{
align-items:stretch;
}

.map-box iframe{
height:100%;
min-height:320px;
border-radius:12px;
}
.reach-highlight{
font-size:22px;
font-weight:700;
margin:5px 0;
color:#333;
}
.col-md-12{
padding-left:0 !important;
padding-right:0 !important;
}


/* MAIN ROW */

.captcha-agree-row{
display:flex;
align-items:center;
gap:15px;
flex-wrap:nowrap;
}
/* CAPTCHA GROUP */

.captcha-group{
display:flex;
align-items:center;
gap:10px;
}

/* CAPTCHA BOX */

#captchaText{
background:#2e7d32;
color:#fff;
padding:10px 16px;
border-radius:8px;
font-weight:bold;
height:42px;
display:flex;
align-items:center;

}






/* INPUT */

#captchaInput{
margin:0;
height:42px;
padding:0 12px;
border:1px solid #ccc;
border-radius:6px;
width:220px;
}

/* CHECKBOX */

#agreeCheck{
margin:0;
width:16px;
height:16px;
}

/* TEXT */

.agree-label{
margin:0;
font-size:14px;
line-height:1.4;
white-space:nowrap;   /* 🔥 keeps everything in one line */
}

/* LINKS */

.agree-label a{
color:#2e7d32;
font-weight:600;
text-decoration:none;
}
.agree-label a:hover{
text-decoration:underline;
}

/* AGREEMENT GROUP */

.agree-group{
display:flex;
align-items:center;
gap:8px;
}

/* CHECKBOX */

.agree-group input{
margin:0;
}

/* TEXT */

.agree-group label{
margin:0;
font-size:14px;
white-space:nowrap;   /* 🔥 keeps in one line */
}

/* LINKS */

.agree-group a{
color:#2e7d32;
font-weight:600;
text-decoration:none;
}

.agree-group a:hover{
text-decoration:underline;
}
@media(max-width:768px){
.captcha-agree-row{
flex-wrap:wrap;
}
.agree-label{
white-space:normal;
}
}
.subtitle-green{ color:#4caf50; }
.subtitle-gold{ color:#fbc02d; }
.subtitle-light{ color:#ffffff; }

.hero-subtitle{
animation: fadeUp 1s ease;
}

@keyframes fadeUp{
from{ opacity:0; transform:translateY(20px); }
to{ opacity:1; transform:translateY(0); }
}





.facility-card {
    height: 100%;
    min-height: 220px;
    text-align: center;
    padding: 25px;
    border-radius: 12px;
    background: #1b5e20;
    color: #fff;
    transition: 0.4s;
    display: flex;
    flex-direction: column;
    justify-content: center;
	
}

.facility-card i {
    font-size: 32px;
    color: #ffd54f;
    margin-bottom: 12px;
}

.facility-card:hover {
    background: #fff;
    color: #1b5e20;
    transform: translateY(-10px);
    box-shadow: 0 10px 25px rgba(0,0,0,0.1);
}

.facility-card:hover i {
    color: #1b5e20;
}

.room-complete-details{
background:white;
color:#2e7d32;
padding:30px 12px;


.room-guest p {
    margin: 5px 0;
    font-size: 16px;
}

.room-guest {
    font-weight: 500;
    color: #333;
}

.room-guest i {
    color: #2e7d32;
    margin-right: 6px;
}
.room-time {
    color: #444;
}
.room-price {
    font-size: 22px;
    color: #1b5e20;
    font-weight: 700;
}
/* space below facilities */
.facility-section {
    padding: 60px 0 100px;  /* extra bottom gap */
	margin-bottom:80px;
	 background: #f9fbf9;
}
.room-description p {
    text-align: justify;
    font-size: 15px;
    line-height: 1.8;
    color: #444;
}


.extra-desc {
    color: #2e7d32;   /* green highlight */
    font-weight: 500;
    margin-top: 10px;
}
.action-btns{
display:flex;
align-items:center;
gap:6px;
flex-wrap:nowrap;
}

.action-btns .btn{
display:flex;
align-items:center;
justify-content:center;
width:34px;
height:34px;
padding:0;
border-radius:8px;
}

/* ROOMS */
.book-now-page{
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-price1{
position:absolute;
bottom:15px;
right:15px;
background:#123524;
color:#fff;
padding:10px 18px;
border-radius:12px;
font-size:20px;
font-weight:700;
}

.room-price1 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;
}


.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:#f2f2f2;
color:#111;
}

.details-btn:hover{
background:#ddd;
color:#111;
}


.book-btn{
background:#123524;
color:#fff;
}

.book-btn:hover{
background:#c8a44d;
color:#fff;
}


@media(max-width:768px){

.section-heading h1{
font-size:36px;
}

.book-room-content{
padding:22px;
}

}







/* PULSE EFFECT */

@keyframes bookPulse{

0%{
box-shadow:0 0 0 0 rgba(18,53,36,0.6);
}

70%{
box-shadow:0 0 0 14px rgba(18,53,36,0);
}

100%{
box-shadow:0 0 0 0 rgba(18,53,36,0);
}

}


/* MOBILE */

@media(max-width:768px){

.sticky-book-btn{
right:15px;
bottom:90px;
padding:12px 18px;
font-size:15px;
}

.sticky-book-btn span{
display:none;
}

.sticky-book-btn i{
margin:0;
font-size:20px;
}

}

/* ROOM-DETAILS */

#roomSlider .carousel-item{
height:500px;
overflow:hidden;
border-radius:18px;
box-shadow:0 8px 25px rgba(0,0,0,0.15);
}

#roomSlider .carousel-item img{
width:100%;
height:100%;
object-fit:cover;
transition:0.5s;
}

#roomSlider:hover .carousel-item img{
transform:scale(1.03);
}

@media(max-width:768px){

#roomSlider .carousel-item{
height:250px;
}

#roomSlider .carousel-item img{
height:250px;
}

}
/* HOME ROOMS */

.rooms-section{
padding:80px 0;
}

.room-card{
position:relative;
overflow:hidden;
border-radius:12px;
height:100%;
box-shadow:0 6px 18px rgba(0,0,0,0.08);
transition:0.4s;
}

.room-card:hover{
transform:translateY(-8px);
}

.room-img{
width:100%;
height:280px;
object-fit:cover;
}

.room-title{
position:absolute;
bottom:0;
width:100%;
background:rgba(0,0,0,0.65);
color:#fff;
padding:12px;
font-size:18px;
font-weight:600;
text-align:center;
transition:0.4s;
}

.room-card:hover .room-title{
opacity:0;
}

.room-overlay{
position:absolute;
bottom:0;
background:rgba(0,0,0,0.82);
color:#fff;
width:100%;
padding:20px;
transform:translateY(100%);
transition:0.4s;
}

.room-card:hover .room-overlay{
transform:translateY(0);
}

.room-buttons{
margin-top:15px;
display:flex;
gap:10px;
}

.room-details,
.room-book{
flex:1;
text-align:center;
padding:8px 10px;
border-radius:6px;
text-decoration:none;
font-size:14px;
font-weight:600;
}

.room-details{
background:#fff;
color:#2e7d32;
}

.room-book{
background:#2e7d32;
color:#fff;
}

@media(max-width:768px){

.room-card{
margin-bottom:20px;
}

.room-img{
height:240px;
}

}
/* PRIVACY & TERMS PAGE */

.policy-page{
background:#fff;
}

.policy-page h2{
color:#123524;
font-weight:700;
margin-bottom:25px;
}

.policy-page h4{
color:#123524;
margin-top:30px;
margin-bottom:15px;
font-weight:600;
}

.policy-page p,
.policy-page li{
font-size:16px;
line-height:1.9;
color:#555;
}

.policy-page ul{
padding-left:20px;
}

