/* ==================== Venkatesh Tour & Travels CSS START ==================== */
:root{
--green:#315c38;
--dark-green:#214a2b;
--light-green:#e9f4d8;
--lime:#c8e86b;
--soft:#f7f8f3;
--cream:#fbfcf8;
--text:#172018;
--muted:#687069;
--white:#fff;
--border:#e5e9e0;
--shadow:0 10px 35px rgba(31,61,38,.08);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:Montserrat,sans-serif;background:#f7f8f4;color:var(--text);line-height:1.6;overflow-x:hidden}
img{max-width:100%;display:block}
a{text-decoration:none;color:inherit}
button{font-family:inherit}
.container{width:min(1180px,92%);margin:auto}

/* ==================== HEADER ==================== */
.site-header{position:sticky;top:0;z-index:1000;background:rgba(255,255,255,.94);backdrop-filter:blur(18px);border-bottom:1px solid rgba(49,92,56,.08)}
.nav-container{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:25px}
.logo{display:flex;align-items:center;gap:10px;min-width:250px}
.logo img{width:42px;height:42px;object-fit:contain;border-radius:10px}
.logo-text{display:flex;flex-direction:column;line-height:1.2}
.logo-text strong{font-size:15px;font-weight:700;color:var(--dark-green)}
.logo-text span{font-size:9px;color:#7b827b;margin-top:4px}
.main-nav{display:flex;align-items:center;gap:24px}
.main-nav a{font-size:12px;font-weight:500;color:#505850;transition:.25s}
.main-nav a:hover{color:var(--green)}
.main-nav .nav-book{background:var(--lime);color:#203b24;padding:11px 18px;border-radius:25px;font-weight:700}
.menu-toggle{display:none;border:0;background:var(--light-green);color:var(--green);font-size:24px;border-radius:10px;padding:5px 10px;cursor:pointer}

/* ==================== HERO ==================== */
.hero{position:relative;width:100%;height:610px;background:#e9eee5;overflow:hidden;border-radius:0 0 28px 28px}
.hero-slider,.hero-slide{width:100%;height:100%}
.hero-slide{position:absolute;inset:0;opacity:0;transition:opacity .8s ease}
.hero-slide.active{opacity:1}
.hero-slide img{width:100%;height:100%;object-fit:cover}
.hero-prev,.hero-next{position:absolute;top:50%;transform:translateY(-50%);width:42px;height:42px;border:1px solid rgba(255,255,255,.5);border-radius:50%;background:rgba(255,255,255,.78);color:var(--green);font-size:30px;cursor:pointer;z-index:5}
.hero-prev{left:25px}
.hero-next{right:25px}
.hero-dots{position:absolute;bottom:22px;left:50%;transform:translateX(-50%);display:flex;gap:7px;z-index:5}
.hero-dot{width:8px;height:8px;border:0;border-radius:50%;background:rgba(255,255,255,.65);cursor:pointer}
.hero-dot.active{width:25px;border-radius:10px;background:var(--lime)}

/* ==================== INTRO ==================== */
.travel-intro{padding:22px 0;background:#f7f8f4}
.travel-intro-card{background:#fff;border:1px solid var(--border);border-radius:28px;padding:55px;box-shadow:var(--shadow)}
.travel-intro-top{max-width:700px}
.travel-intro-badge,.section-label{display:inline-block;font-size:10px;letter-spacing:1.5px;font-weight:700;color:var(--green);margin-bottom:13px}
.travel-intro-top h2{font-size:42px;line-height:1.15;font-weight:600;letter-spacing:-1.5px}
.travel-intro-top h2::first-letter{color:var(--green)}
.travel-intro-top p{font-size:15px;color:var(--muted);margin-top:12px}
.travel-intro-line{width:55px;height:3px;background:var(--lime);border-radius:5px;margin-top:20px}
.travel-features{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:35px}
.travel-feature{display:flex;gap:13px;padding:20px;background:var(--soft);border:1px solid #edf0e9;border-radius:18px;transition:.25s}
.travel-feature:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.travel-feature-icon{width:42px;height:42px;min-width:42px;display:grid;place-items:center;background:#eaf4dc;border-radius:50%;font-size:19px}
.travel-feature h3{font-size:14px;color:var(--dark-green);margin-bottom:4px}
.travel-feature p{font-size:11px;color:var(--muted);line-height:1.5}
.travel-routes{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:12px;margin-top:30px;padding:18px;background:#f4f7ef;border-radius:15px}
.travel-routes span{font-size:10px;font-weight:700;color:var(--green)}
.travel-routes b{font-size:14px;color:#91aa72}
.travel-highlights{display:flex;justify-content:center;align-items:center;gap:15px;margin-top:22px;flex-wrap:wrap}
.travel-highlights strong{font-size:11px;color:#59635a}
.travel-highlights span{color:#b7c1b3}
.travel-note{margin-top:24px;padding:14px 18px;background:#fff8e9;border-left:3px solid #c89b3c;border-radius:8px;color:#6e6247;font-size:11px}
/* ==================== ROOMS ==================== */
.rooms-section{background:#fff}
.rooms-slider{display:flex;gap:18px;overflow-x:auto;padding:5px 3px 18px;scrollbar-width:none}
.rooms-slider::-webkit-scrollbar{display:none}
.room-card{flex:0 0 280px;background:#fff;border:1px solid var(--border);border-radius:20px;overflow:hidden;box-shadow:var(--shadow);transition:.3s}
.room-card:hover{transform:translateY(-5px)}
.room-card img{width:100%;height:210px;object-fit:cover}
.room-info{padding:20px}
.room-info span{font-size:8px;font-weight:700;letter-spacing:1px;color:var(--green)}
.room-info h3{font-size:20px;margin:5px 0;color:var(--dark-green)}
.room-info p{font-size:11px;color:var(--muted);line-height:1.55}
.room-price{margin-top:15px;font-size:20px;font-weight:800;color:var(--green)}
.room-price small{font-size:10px;font-weight:500;color:var(--muted)}
.stay-facilities{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:35px}
.stay-facility{display:flex;gap:13px;padding:20px;background:#f8faf5;border:1px solid var(--border);border-radius:18px}
.stay-icon{width:42px;height:42px;min-width:42px;display:grid;place-items:center;background:#e8f2d9;border-radius:50%;font-size:19px}
.stay-facility h3{font-size:14px;color:var(--dark-green);margin-bottom:4px}
.stay-facility p{font-size:10px;color:var(--muted);line-height:1.55}
.rooms-note{margin-top:25px;padding:15px 18px;background:#f3f7e9;border-radius:12px;font-size:11px;color:#5e675d}
.rooms-note strong{color:var(--green)}

/* ==================== HOTEL ABOUT + DINING + LOCATION CSS ==================== */


/* ==================== HOTEL ABOUT IMAGE ==================== */

.image-slider {
    width: 100%;
    max-width: 900px;
    margin: 35px auto;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 15px;
    padding: 0 15px;
    box-sizing: border-box;
}

.images {
    width: 420px;
    height: 300px;
    display: flex;
    overflow: hidden;
}

.images img {
    width: 100%;
    min-width: 100%;
    height: 300px;
    object-fit: cover;
    border-radius: 12px;
    display: block;
}

.slider-btn {
    width: 45px;
    height: 45px;
    min-width: 45px;
    border: none;
    border-radius: 50%;
    background: #f28c28;
    color: #fff;
    font-size: 20px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
}


/* ==================== FOOD & DINING ==================== */

.dining-page {
    width: 100%;
    max-width: 1100px;
    margin: 50px auto;
    padding: 20px;
    box-sizing: border-box;
    text-align: center;
}

.dining-header span,
.dining-about span {
    color: #d96f13;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 2px;
}

.dining-header h1 {
    margin: 10px 0;
    font-size: 36px;
    color: #174634;
}

.dining-header p {
    max-width: 700px;
    margin: auto;
    color: #666;
    font-size: 15px;
    line-height: 1.7;
}


/* ==================== CENTER LOGO ==================== */

.dining-logo {
    width: 70px;
    height: 70px;
    margin: 25px auto;
    border-radius: 50%;
    background: #f28c28;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 28px;
    box-shadow: 0 8px 25px rgba(0,0,0,0.12);
}


/* ==================== DINING ABOUT ==================== */

.dining-about {
    max-width: 800px;
    margin: 0 auto 35px;
}

.dining-about h2 {
    margin: 10px 0;
    color: #174634;
    font-size: 27px;
}

.dining-about p {
    color: #666;
    line-height: 1.8;
    font-size: 15px;
}


/* ==================== DINING CARDS ==================== */

.dining-cards {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 25px;
    margin-top: 30px;
}

.dining-card {
    background: #fff;
    border-radius: 18px;
    overflow: hidden;
    text-align: left;
    box-shadow: 0 8px 30px rgba(0,0,0,0.10);
}

.dining-card img {
    width: 100%;
    height: 240px;
    object-fit: cover;
    display: block;
}

.dining-content {
    padding: 20px;
}

.dining-content span {
    color: #d96f13;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 1.5px;
}

.dining-content h2 {
    margin: 8px 0;
    color: #174634;
    font-size: 23px;
}

.dining-content p {
    margin: 0;
    color: #666;
    line-height: 1.6;
}


/* ==================== LOCATION INFORMATION ==================== */

.location-info {
    width: 100%;
    max-width: 1100px;
    margin: 45px auto;
    padding: 25px;
    box-sizing: border-box;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 15px;
    background: #fff9f3;
    border-radius: 18px;
}

.location-item {
    padding: 18px;
    text-align: center;
    background: #fff;
    border-radius: 14px;
    border: 1px solid #f1dfcf;
}

.location-item strong {
    display: block;
    color: #174634;
    font-size: 14px;
    line-height: 1.5;
}

.location-item span {
    display: block;
    margin-top: 7px;
    color: #d96f13;
    font-size: 17px;
    font-weight: 700;
}


/* ==================== MOBILE ==================== */

@media (max-width: 700px) {

    .image-slider {
        gap: 7px;
        padding: 0 8px;
    }

    .images {
        width: 260px;
        height: 220px;
    }

    .images img {
        height: 220px;
        border-radius: 10px;
    }

    .slider-btn {
        width: 38px;
        height: 38px;
        min-width: 38px;
        font-size: 17px;
    }

    .dining-page {
        margin: 35px auto;
        padding: 15px;
    }

    .dining-header h1 {
        font-size: 27px;
    }

    .dining-header p {
        font-size: 14px;
    }

    .dining-about h2 {
        font-size: 22px;
    }

    .dining-cards {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .dining-card img {
        height: 220px;
    }

    .location-info {
        grid-template-columns: 1fr;
        margin: 30px auto;
        padding: 15px;
    }

    .location-item {
        padding: 15px;
    }

}
/* ==================== SECTION HEADING ==================== */
.destinations-section,.rooms-section{padding:75px 0;background:#f7f8f4}
.section-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:30px}
.section-heading h2{font-size:40px;line-height:1.15;font-weight:600;letter-spacing:-1.5px}
.section-heading p{max-width:390px;color:var(--muted);font-size:12px}
.destination-slider-wrap,.rooms-slider-wrap{overflow:hidden}
.destination-slider{display:flex;gap:16px;overflow-x:auto;padding:5px 3px 18px;scroll-behavior:smooth;scrollbar-width:none}
.destination-slider::-webkit-scrollbar,.rooms-slider::-webkit-scrollbar{display:none}
.destination-card{position:relative;flex:0 0 245px;height:350px;border-radius:20px;overflow:hidden;background:#ddd;box-shadow:0 7px 25px rgba(30,50,30,.08)}
.destination-card img{width:100%;height:100%;object-fit:cover;transition:.5s}
.destination-card:hover img{transform:scale(1.06)}
.destination-card::after{content:"";position:absolute;inset:35% 0 0;background:linear-gradient(transparent,rgba(10,30,15,.82));pointer-events:none}
.destination-info{position:absolute;left:18px;right:18px;bottom:18px;color:#fff;z-index:2}
.destination-info span{display:inline-block;background:rgba(255,255,255,.88);color:var(--green);font-size:8px;font-weight:700;padding:5px 9px;border-radius:20px;margin-bottom:8px}
.destination-info h3{font-family:"Playfair Display",serif;font-size:22px;margin-bottom:7px}
.destination-link{font-size:10px;color:#fff;border-bottom:1px solid rgba(255,255,255,.7);padding-bottom:2px}
.outstation-destinations{background:#fff}



/* ==================== RESPONSIVE ==================== */
@media(max-width:1000px){
.main-nav{gap:14px}
.main-nav a{font-size:10px}
.travel-intro-card{padding:40px}
.travel-features{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:800px){
.nav-container{min-height:68px}
.menu-toggle{display:block}
.main-nav{position:absolute;top:68px;left:4%;right:4%;display:none;flex-direction:column;align-items:stretch;gap:0;background:#fff;border:1px solid var(--border);border-radius:18px;padding:10px;box-shadow:var(--shadow)}
.main-nav.active{display:flex}
.main-nav a{padding:12px 14px;font-size:12px;border-radius:9px}
.main-nav a:hover{background:#f1f5eb}
.main-nav .nav-book{text-align:center;margin-top:5px}
.hero{height:430px;border-radius:0 0 20px 20px}
.hero-prev,.hero-next{width:36px;height:36px;font-size:24px}
.hero-prev{left:12px}
.hero-next{right:12px}
.travel-intro-card{padding:30px 22px;border-radius:22px}
.travel-intro-top h2{font-size:31px}
.section-heading{display:block}
.section-heading h2{font-size:32px}
.section-heading p{margin-top:10px}
.stay-facilities{grid-template-columns:1fr 1fr}
}
@media(max-width:560px){
.container{width:94%}
.logo{min-width:0}
.logo img{width:38px;height:38px}
.logo-text strong{font-size:12px}
.logo-text span{font-size:7px}
.hero{height:330px}
.hero-prev,.hero-next{display:none}
.travel-features{grid-template-columns:1fr}
.travel-routes{gap:7px;padding:14px 8px}
.travel-routes span{font-size:8px}
.travel-routes b{font-size:11px}
.travel-highlights{gap:8px}
.travel-highlights strong{font-size:9px}
.destinations-section,.rooms-section{padding:55px 0}
.section-heading h2{font-size:28px}
.destination-card{flex-basis:220px;height:315px}
.room-card{flex-basis:250px}
.stay-facilities{grid-template-columns:1fr}
.travel-note{font-size:10px}
}
@media(max-width:380px){
.logo-text strong{font-size:11px}
.logo-text span{display:none}
.hero{height:280px}
.travel-intro-top h2{font-size:27px}
}
/* ==================== PART 2 CSS START ==================== */

/* ==================== STATS ==================== */
.stats-section{background:#fff;padding:22px 0;border-top:1px solid #edf0e9;border-bottom:1px solid #edf0e9}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);background:#fff;border:1px solid var(--border);border-radius:20px;overflow:hidden;box-shadow:0 8px 25px rgba(35,65,40,.05)}
.stat-item{text-align:center;padding:25px 15px;border-right:1px solid var(--border)}
.stat-item:last-child{border-right:0}
.stat-item strong{display:block;font-size:28px;line-height:1.2;color:var(--green);font-weight:700}
.stat-item span{display:block;font-size:10px;color:var(--muted);margin-top:5px}

/* ==================== PACKAGES ==================== */
.packages-section{padding:80px 0;background:#f7f8f4}
.centered{text-align:center;display:block}
.centered>div{display:flex;flex-direction:column;align-items:center}
.centered p{margin:12px auto 0;max-width:600px}
.package-board{margin-top:35px;background:#fff;border:1px solid var(--border);border-radius:28px;padding:30px;box-shadow:var(--shadow)}
.package-location-box{display:flex;align-items:center;gap:18px;padding:16px 20px;background:#f1f6e9;border-radius:14px;margin-bottom:22px}
.package-location-box strong{font-size:10px;letter-spacing:1px;color:var(--green);white-space:nowrap}
.package-location-box span{font-size:11px;color:#687069}
.package-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:17px}
.package-box{position:relative;padding:25px;border-radius:20px;border:1px solid var(--border);overflow:hidden;background:#fff;transition:.3s}
.package-box:hover{transform:translateY(-5px);box-shadow:var(--shadow)}
.package-box::before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--green)}
.package-box.silver::before{background:#aeb6b0}
.package-box.platinum::before{background:#719b91}
.package-box.gold::before{background:#c89b3c}
.package-box.special::before{background:var(--lime)}
.package-title{font-size:9px;letter-spacing:1.5px;font-weight:800;color:var(--green);margin-bottom:10px}
.package-box h3{font-family:"Playfair Display",serif;font-size:21px;line-height:1.35;color:#1e2c20}
.package-days{display:inline-block;margin-top:13px;padding:6px 11px;border-radius:20px;background:#eef5e5;color:var(--green);font-size:9px;font-weight:700}
.package-prices{display:flex;flex-direction:column;gap:8px;margin-top:18px}
.package-prices span{display:flex;justify-content:space-between;align-items:center;padding:9px 12px;background:#f8faf5;border-radius:9px;font-size:10px;color:#626a63}
.package-prices b{font-size:13px;color:var(--dark-green)}
.package-book{margin-top:18px;border:0;background:var(--green);color:#fff;padding:11px 18px;border-radius:25px;font-size:10px;font-weight:700;cursor:pointer;transition:.25s}
.package-book:hover{background:var(--dark-green);transform:translateY(-2px)}
.package-bottom{display:grid;grid-template-columns:1fr 1.3fr 1fr;gap:18px;margin-top:25px}
.package-room,.package-photo{height:220px;border-radius:18px;overflow:hidden}
.package-room img,.package-photo img{width:100%;height:100%;object-fit:cover}
.package-includes{padding:22px;background:#f3f7eb;border-radius:18px}
.package-includes>span{font-size:9px;font-weight:800;letter-spacing:1px;color:var(--green)}
.package-includes ul{list-style:none;margin-top:13px}
.package-includes li{font-size:10px;color:#606961;padding:5px 0;padding-left:17px;position:relative}
.package-includes li::before{content:"✓";position:absolute;left:0;color:var(--green);font-weight:800}
.package-note{margin-top:20px;background:#fff8e8;border-left:3px solid #c89b3c;padding:13px 16px;border-radius:9px;font-size:10px;color:#71664d}

/* ==================== VEHICLES ==================== */
.vehicles-section{padding:80px 0;background:#fff}
.vehicles-slider-wrap{overflow:hidden}
.vehicles-slider{display:flex;gap:18px;overflow-x:auto;padding:5px 3px 20px;scrollbar-width:none}
.vehicles-slider::-webkit-scrollbar{display:none}
.vehicle-card{flex:0 0 270px;background:#fff;border:1px solid var(--border);border-radius:20px;overflow:hidden;box-shadow:0 8px 28px rgba(35,65,40,.07);transition:.3s}
.vehicle-card:hover{transform:translateY(-5px);box-shadow:0 14px 35px rgba(35,65,40,.12)}
.vehicle-image{height:190px;position:relative;background:#eef2ea;overflow:hidden}
.vehicle-image img{width:100%;height:100%;object-fit:cover;transition:.4s}
.vehicle-card:hover .vehicle-image img{transform:scale(1.05)}
.vehicle-image span{position:absolute;left:12px;top:12px;padding:6px 10px;background:rgba(255,255,255,.9);border-radius:20px;color:var(--green);font-size:8px;font-weight:800}
.vehicle-content{padding:20px}
.vehicle-content h3{font-family:"Playfair Display",serif;font-size:21px;color:var(--dark-green)}
.vehicle-content p{font-size:10px;color:var(--muted);line-height:1.55;margin-top:5px;min-height:34px}
.vehicle-rate{display:flex;align-items:center;justify-content:space-between;margin-top:17px;padding:10px 12px;background:#f3f7eb;border-radius:10px}
.vehicle-rate strong{font-size:16px;color:var(--green)}
.vehicle-rate span{font-size:8px;color:#737a73}
.vehicle-extra{font-size:9px;color:#9a7950;margin-top:9px}
.vehicle-bottom{margin-top:14px}
.vehicle-btn{width:100%;border:1px solid var(--green);background:#fff;color:var(--green);padding:10px;border-radius:22px;font-size:10px;font-weight:700;cursor:pointer;transition:.25s}
.vehicle-btn:hover{background:var(--green);color:#fff}
.vehicle-note{font-size:10px;color:#777f78;margin-top:15px;text-align:center}

/* ==================== ABOUT ==================== */
.about-section{padding:85px 0;background:#f7f8f4}
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:center}
.about-image{height:560px;border-radius:26px;overflow:hidden}
.about-image img{width:100%;height:100%;object-fit:cover}
.about-content h2{font-family:"Playfair Display",serif;font-size:42px;line-height:1.18;color:var(--dark-green);margin-bottom:18px}
.about-content>p{font-size:12px;color:var(--muted);line-height:1.8;margin-bottom:13px}
.about-points{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:28px 0}
.about-points>div{display:flex;gap:10px}
.about-points>div>span{width:27px;height:27px;min-width:27px;display:grid;place-items:center;background:var(--lime);color:var(--dark-green);border-radius:50%;font-size:12px;font-weight:800}
.about-points strong{font-size:11px;color:var(--dark-green)}
.about-points p{font-size:9px;color:var(--muted);line-height:1.5;margin-top:2px}
.btn{display:inline-block;padding:12px 21px;border-radius:25px;font-size:10px;font-weight:700}
.btn-primary{background:var(--green);color:#fff;transition:.25s}
.btn-primary:hover{background:var(--dark-green);transform:translateY(-2px)}

/* ==================== SERVICES ==================== */
.services-section{padding:85px 0;background:#fff}
.services-list{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:35px}
.service-card{display:flex;align-items:flex-start;gap:15px;padding:23px;background:#fafbf8;border:1px solid var(--border);border-radius:18px;transition:.3s}
.service-card:hover{background:#f2f7e9;transform:translateY(-4px);box-shadow:var(--shadow)}
.service-icon{width:43px;height:43px;min-width:43px;display:grid;place-items:center;background:#e7f1d8;border-radius:50%;font-size:19px}
.service-card h3{font-size:14px;color:var(--dark-green);margin-bottom:4px}
.service-card p{font-size:10px;color:var(--muted);line-height:1.55}

/* ==================== GALLERY ==================== */
.gallery-section{padding:85px 0;background:#f7f8f4}
.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:220px;gap:14px;margin-top:35px}
.gallery-item{border-radius:19px;overflow:hidden;background:#ddd}
.gallery-item img{width:100%;height:100%;object-fit:cover;transition:.5s}
.gallery-item:hover img{transform:scale(1.06)}
.gallery-item:nth-child(1){grid-row:span 2}
.gallery-item:nth-child(4){grid-row:span 2}

/* ==================== WHY US ==================== */
.why-section{padding:85px 0;background:#fff}
.why-grid{display:grid;grid-template-columns:1fr;gap:35px}
.why-content{max-width:100%}
.why-content h2{font-family:"Playfair Display",serif;font-size:42px;color:var(--dark-green);line-height:1.2}
.why-content>p{font-size:12px;color:var(--muted);max-width:650px;margin-top:10px}
.why-list{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:30px}
.why-item{display:flex;gap:14px;padding:20px;background:#f8faf5;border:1px solid var(--border);border-radius:17px}
.why-item>span{width:38px;height:38px;min-width:38px;display:grid;place-items:center;background:var(--green);color:#fff;border-radius:50%;font-size:9px;font-weight:800}
.why-item h3{font-size:13px;color:var(--dark-green);margin-bottom:3px}
.why-item p{font-size:9px;color:var(--muted);line-height:1.55}
.why-contact{margin-top:28px;padding:23px 25px;background:#eaf4d9;border-radius:18px;display:flex;align-items:center;gap:15px;flex-wrap:wrap}
.why-contact strong{font-size:13px;color:var(--dark-green)}
.why-contact span{font-size:9px;color:#697269;flex:1}
.why-contact a{padding:9px 14px;background:#fff;border-radius:20px;font-size:9px;color:var(--green);font-weight:700;border:1px solid #dce7d0;transition:.25s}
.why-contact a:hover{background:var(--green);color:#fff}

/* ==================== PART 2 RESPONSIVE ==================== */
@media(max-width:1000px){
.package-grid{grid-template-columns:1fr 1fr}
.package-bottom{grid-template-columns:1fr 1fr}
.package-includes{grid-column:1/-1;grid-row:2}
.services-list{grid-template-columns:repeat(2,1fr)}
.about-grid{gap:35px}
.about-content h2,.why-content h2{font-size:35px}
}
@media(max-width:800px){
.stats-grid{grid-template-columns:repeat(2,1fr)}
.stat-item:nth-child(2){border-right:0}
.stat-item:nth-child(1),.stat-item:nth-child(2){border-bottom:1px solid var(--border)}
.package-board{padding:20px}
.package-location-box{display:block}
.package-location-box span{display:block;margin-top:7px}
.package-grid{grid-template-columns:1fr}
.package-bottom{grid-template-columns:1fr 1fr}
.about-grid{grid-template-columns:1fr}
.about-image{height:420px}
.services-list{grid-template-columns:1fr 1fr}
.why-list{grid-template-columns:1fr}
.gallery-grid{grid-template-columns:repeat(2,1fr);grid-auto-rows:190px}
.gallery-item:nth-child(1),.gallery-item:nth-child(4){grid-row:span 1}
}
@media(max-width:560px){
.stats-grid{border-radius:16px}
.stat-item{padding:20px 8px}
.stat-item strong{font-size:22px}
.stat-item span{font-size:8px}
.packages-section,.vehicles-section,.about-section,.services-section,.gallery-section,.why-section{padding:60px 0}
.package-board{padding:14px;border-radius:20px}
.package-box{padding:20px}
.package-box h3{font-size:18px}
.package-prices span{font-size:9px}
.package-bottom{grid-template-columns:1fr}
.package-room,.package-photo{height:190px}
.package-includes{grid-column:auto;grid-row:auto}
.vehicle-card{flex-basis:250px}
.about-image{height:340px;border-radius:20px}
.about-content h2,.why-content h2{font-size:29px}
.about-points{grid-template-columns:1fr}
.services-list{grid-template-columns:1fr}
.service-card{padding:18px}
.gallery-grid{grid-template-columns:1fr 1fr;grid-auto-rows:145px;gap:9px}
.why-item{padding:16px}
.why-contact{align-items:flex-start;flex-direction:column}
.why-contact span{flex:none}
.why-contact a{width:100%;text-align:center}
}
@media(max-width:380px){
.stats-grid{grid-template-columns:1fr 1fr}
.stat-item strong{font-size:20px}
.package-location-box span{font-size:9px}
.gallery-grid{grid-auto-rows:125px}
}

/* ==================== PART 2 CSS END ==================== */
/* ==================== PART 3 CSS START ==================== */

/* ==================== CTA ==================== */
.cta-section{
padding:65px 0;
background:var(--green);
position:relative;
overflow:hidden;
}
.cta-section::before{
content:"";
position:absolute;
width:330px;
height:330px;
right:-120px;
top:-180px;
background:rgba(200,232,107,.18);
border-radius:50%;
}
.cta-section::after{
content:"";
position:absolute;
width:220px;
height:220px;
left:-110px;
bottom:-150px;
background:rgba(255,255,255,.06);
border-radius:50%;
}
.cta-content{
position:relative;
z-index:2;
display:flex;
align-items:center;
justify-content:space-between;
gap:30px;
}
.cta-content .section-label{
color:#d8ed9a;
margin-bottom:8px;
}
.cta-content h2{
font-family:"Playfair Display",serif;
font-size:40px;
line-height:1.2;
color:#fff;
}
.cta-content p{
font-size:12px;
color:rgba(255,255,255,.78);
margin-top:8px;
}
.btn-light{
background:var(--lime);
color:#244129;
padding:13px 22px;
border-radius:25px;
font-size:10px;
font-weight:800;
white-space:nowrap;
transition:.25s;
}
.btn-light:hover{
background:#fff;
transform:translateY(-3px);
}

/* ==================== BOOKING ==================== */
.booking-section{
padding:85px 0;
background:#f7f8f4;
}
.booking-layout{
display:grid;
grid-template-columns:.8fr 1.2fr;
gap:55px;
align-items:start;
}
.booking-intro{
padding-top:15px;
}
.booking-intro h2{
font-family:"Playfair Display",serif;
font-size:42px;
line-height:1.2;
color:var(--dark-green);
}
.booking-intro>p{
font-size:12px;
color:var(--muted);
line-height:1.7;
margin-top:12px;
max-width:440px;
}
.booking-contact{
margin-top:32px;
display:flex;
flex-direction:column;
gap:13px;
}
.booking-contact>div{
display:flex;
align-items:center;
gap:13px;
padding:16px;
background:#fff;
border:1px solid var(--border);
border-radius:15px;
width:100%;
max-width:330px;
}
.booking-contact>div>span{
width:40px;
height:40px;
display:grid;
place-items:center;
background:#e9f3db;
border-radius:50%;
font-size:17px;
}
.booking-contact small{
display:block;
font-size:8px;
color:#818981;
margin-bottom:2px;
}
.booking-contact strong{
font-size:13px;
color:var(--dark-green);
}
.booking-form{
background:#fff;
border:1px solid var(--border);
border-radius:25px;
padding:30px;
box-shadow:var(--shadow);
}
.form-row{
display:grid;
grid-template-columns:1fr 1fr;
gap:15px;
}
.form-group{
margin-bottom:16px;
}
.form-group label{
display:block;
font-size:10px;
font-weight:700;
color:#475148;
margin-bottom:6px;
}
.form-group input,
.form-group select,
.form-group textarea{
width:100%;
border:1px solid #dfe5dc;
background:#fbfcf9;
border-radius:10px;
padding:12px 13px;
font-family:Montserrat,sans-serif;
font-size:10px;
color:#303930;
outline:none;
transition:.25s;
}
.form-group textarea{
resize:vertical;
min-height:100px;
}
.form-group input::placeholder,
.form-group textarea::placeholder{
color:#a0a69f;
}
.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus{
border-color:#8daa67;
background:#fff;
box-shadow:0 0 0 3px rgba(200,232,107,.18);
}
.form-submit{
width:100%;
border:0;
cursor:pointer;
font-family:Montserrat,sans-serif;
}
.form-note{
text-align:center;
font-size:9px;
color:#858c85;
margin-top:10px;
}

/* ==================== REVIEWS ==================== */
.reviews-section{
padding:85px 0;
background:#fff;
}
.reviews-grid{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:16px;
margin-top:35px;
}
.review-card{
padding:25px;
background:#fafbf8;
border:1px solid var(--border);
border-radius:20px;
transition:.3s;
}
.review-card:hover{
transform:translateY(-5px);
box-shadow:var(--shadow);
}
.review-stars{
font-size:14px;
letter-spacing:2px;
color:#c89b3c;
margin-bottom:14px;
}
.review-card>p{
font-size:11px;
line-height:1.75;
color:#626a63;
min-height:90px;
}
.review-author{
display:flex;
flex-direction:column;
margin-top:20px;
padding-top:15px;
border-top:1px solid var(--border);
}
.review-author strong{
font-size:11px;
color:var(--dark-green);
}
.review-author span{
font-size:9px;
color:#899089;
margin-top:2px;
}

/* ==================== CONTACT ==================== */
.contact-section{
padding:85px 0;
background:#f7f8f4;
}
.contact-grid{
display:grid;
grid-template-columns:1fr 1fr;
gap:55px;
align-items:start;
}
.contact-info h2{
font-family:"Playfair Display",serif;
font-size:42px;
line-height:1.2;
color:var(--dark-green);
}
.contact-info>p{
font-size:12px;
color:var(--muted);
line-height:1.7;
margin-top:12px;
max-width:480px;
}
.contact-list{
display:flex;
flex-direction:column;
gap:13px;
margin-top:30px;
}
.contact-item{
display:flex;
align-items:center;
gap:13px;
}
.contact-item>span{
width:42px;
height:42px;
min-width:42px;
display:grid;
place-items:center;
background:#e7f1d8;
border-radius:50%;
font-size:18px;
}
.contact-item small{
display:block;
font-size:8px;
color:#818981;
}
.contact-item a,
.contact-item p{
font-size:11px;
font-weight:600;
color:var(--dark-green);
line-height:1.5;
}
.contact-form{
background:#fff;
padding:30px;
border-radius:24px;
border:1px solid var(--border);
box-shadow:var(--shadow);
}
.contact-form .btn{
border:0;
cursor:pointer;
font-family:Montserrat,sans-serif;
}

/* ==================== FOOTER ==================== */
.site-footer{
background:#fff;
border-top:1px solid var(--border);
}
.footer-grid{
display:grid;
grid-template-columns:1.5fr 1fr 1fr 1.1fr;
gap:35px;
padding:60px 0 45px;
}
.footer-brand{
max-width:300px;
}
.footer-logo{
display:inline-block;
}
.footer-logo img{
width:45px;
height:45px;
object-fit:contain;
border-radius:10px;
}
.footer-brand h3{
font-size:14px;
color:var(--dark-green);
margin-top:10px;
}
.footer-brand>p{
font-size:10px;
color:#7c847c;
line-height:1.6;
margin-top:7px;
}
.footer-social{
margin-top:16px;
}
.footer-social a{
display:inline-flex;
align-items:center;
justify-content:center;
padding:8px 13px;
background:#edf5df;
color:var(--green);
border-radius:20px;
font-size:9px;
font-weight:700;
}
.footer-links,
.footer-contact{
display:flex;
flex-direction:column;
align-items:flex-start;
}
.footer-links h4,
.footer-contact h4{
font-size:11px;
color:var(--dark-green);
margin-bottom:13px;
}
.footer-links a{
font-size:9px;
color:#747c74;
margin-bottom:8px;
transition:.2s;
}
.footer-links a:hover{
color:var(--green);
transform:translateX(2px);
}
.footer-contact p{
font-size:9px;
color:#747c74;
line-height:1.7;
margin-bottom:8px;
}
.footer-contact a{
color:inherit;
}
.footer-contact .btn{
margin-top:8px;
}
.footer-bottom{
border-top:1px solid var(--border);
}
.footer-bottom .container{
display:flex;
justify-content:space-between;
align-items:center;
gap:20px;
padding:17px 0;
}
.footer-bottom p{
font-size:8px;
color:#8a918a;
}
.footer-bottom a{
color:var(--green);
font-weight:700;
}

/* ==================== LIGHTBOX ==================== */
.lightbox{
position:fixed;
inset:0;
background:rgba(15,25,17,.88);
display:none;
align-items:center;
justify-content:center;
z-index:9999;
padding:30px;
}
.lightbox.active{
display:flex;
}
.lightbox-content{
max-width:900px;
max-height:85vh;
border-radius:15px;
overflow:hidden;
}
.lightbox-content img{
display:block;
max-width:100%;
max-height:85vh;
object-fit:contain;
}
.lightbox-close,
.lightbox-prev,
.lightbox-next{
position:absolute;
border:0;
cursor:pointer;
color:#fff;
background:rgba(255,255,255,.12);
backdrop-filter:blur(10px);
width:42px;
height:42px;
border-radius:50%;
font-size:27px;
}
.lightbox-close{
right:25px;
top:25px;
font-size:25px;
}
.lightbox-prev{
left:25px;
top:50%;
transform:translateY(-50%);
}
.lightbox-next{
right:25px;
top:50%;
transform:translateY(-50%);
}
.lightbox-close:hover,
.lightbox-prev:hover,
.lightbox-next:hover{
background:var(--green);
}

/* ==================== WATERMARK ==================== */
.site-watermark{
position:fixed;
left:50%;
top:50%;
transform:translate(-50%,-50%);
width:300px;
height:280px;
z-index:5;
pointer-events:none;
background:transparent;
}
#watermarkCanvas{
width:100%;
height:100%;
display:block;
}
@media(max-width:600px){
.site-watermark{
width:280px;
height:220px;
}
}

/* ==================== PART 3 RESPONSIVE ==================== */
@media(max-width:1000px){
.booking-layout{
grid-template-columns:1fr 1.2fr;
gap:30px;
}
.footer-grid{
grid-template-columns:1.4fr 1fr 1fr;
}
.footer-contact{
grid-column:1/-1;
}
}
@media(max-width:800px){
.cta-content{
display:block;
}
.cta-content h2{
font-size:34px;
}
.cta-content .btn{
display:inline-block;
margin-top:22px;
}
.booking-layout{
grid-template-columns:1fr;
gap:30px;
}
.booking-intro{
padding-top:0;
}
.booking-intro h2{
font-size:35px;
}
.reviews-grid{
grid-template-columns:1fr 1fr;
}
.contact-grid{
grid-template-columns:1fr;
gap:30px;
}
.footer-grid{
grid-template-columns:1fr 1fr;
}
.footer-brand{
max-width:100%;
}
}
@media(max-width:560px){
.cta-section{
padding:50px 0;
}
.cta-content h2{
font-size:29px;
}
.cta-content p{
font-size:10px;
}
.booking-section,
.reviews-section,
.contact-section{
padding:60px 0;
}
.booking-intro h2,
.contact-info h2{
font-size:29px;
}
.booking-form,
.contact-form{
padding:20px;
border-radius:19px;
}
.form-row{
grid-template-columns:1fr;
gap:0;
}
.booking-contact>div{
max-width:100%;
}
.reviews-grid{
grid-template-columns:1fr;
}
.review-card>p{
min-height:auto;
}
.footer-grid{
grid-template-columns:1fr 1fr;
gap:28px 20px;
padding:45px 0 30px;
}
.footer-brand{
grid-column:1/-1;
}
.footer-contact{
grid-column:1/-1;
}
.footer-bottom .container{
display:block;
text-align:center;
}
.footer-bottom p+p{
margin-top:7px;
}
.lightbox{
padding:15px;
}
.lightbox-close{
right:15px;
top:15px;
}
.lightbox-prev{
left:10px;
}
.lightbox-next{
right:10px;
}
}
@media(max-width:380px){
.cta-content h2{
font-size:26px;
}
.booking-form,
.contact-form{
padding:16px;
}
.footer-grid{
grid-template-columns:1fr;
}
.footer-brand,
.footer-contact{
grid-column:auto;
}
}

/* ==================== PART 3 CSS END ==================== *//* ==================== PART 3 CSS START ==================== */

/* ==================== CTA ==================== */
.cta-section{
padding:65px 0;
background:var(--green);
position:relative;
overflow:hidden;
}
.cta-section::before{
content:"";
position:absolute;
width:330px;
height:330px;
right:-120px;
top:-180px;
background:rgba(200,232,107,.18);
border-radius:50%;
}
.cta-section::after{
content:"";
position:absolute;
width:220px;
height:220px;
left:-110px;
bottom:-150px;
background:rgba(255,255,255,.06);
border-radius:50%;
}
.cta-content{
position:relative;
z-index:2;
display:flex;
align-items:center;
justify-content:space-between;
gap:30px;
}
.cta-content .section-label{
color:#d8ed9a;
margin-bottom:8px;
}
.cta-content h2{
font-family:"Playfair Display",serif;
font-size:40px;
line-height:1.2;
color:#fff;
}
.cta-content p{
font-size:12px;
color:rgba(255,255,255,.78);
margin-top:8px;
}
.btn-light{
background:var(--lime);
color:#244129;
padding:13px 22px;
border-radius:25px;
font-size:10px;
font-weight:800;
white-space:nowrap;
transition:.25s;
}
.btn-light:hover{
background:#fff;
transform:translateY(-3px);
}

/* ==================== BOOKING ==================== */
.booking-section{
padding:85px 0;
background:#f7f8f4;
}
.booking-layout{
display:grid;
grid-template-columns:.8fr 1.2fr;
gap:55px;
align-items:start;
}
.booking-intro{
padding-top:15px;
}
.booking-intro h2{
font-family:"Playfair Display",serif;
font-size:42px;
line-height:1.2;
color:var(--dark-green);
}
.booking-intro>p{
font-size:12px;
color:var(--muted);
line-height:1.7;
margin-top:12px;
max-width:440px;
}
.booking-contact{
margin-top:32px;
display:flex;
flex-direction:column;
gap:13px;
}
.booking-contact>div{
display:flex;
align-items:center;
gap:13px;
padding:16px;
background:#fff;
border:1px solid var(--border);
border-radius:15px;
width:100%;
max-width:330px;
}
.booking-contact>div>span{
width:40px;
height:40px;
display:grid;
place-items:center;
background:#e9f3db;
border-radius:50%;
font-size:17px;
}
.booking-contact small{
display:block;
font-size:8px;
color:#818981;
margin-bottom:2px;
}
.booking-contact strong{
font-size:13px;
color:var(--dark-green);
}
.booking-form{
background:#fff;
border:1px solid var(--border);
border-radius:25px;
padding:30px;
box-shadow:var(--shadow);
}
.form-row{
display:grid;
grid-template-columns:1fr 1fr;
gap:15px;
}
.form-group{
margin-bottom:16px;
}
.form-group label{
display:block;
font-size:10px;
font-weight:700;
color:#475148;
margin-bottom:6px;
}
.form-group input,
.form-group select,
.form-group textarea{
width:100%;
border:1px solid #dfe5dc;
background:#fbfcf9;
border-radius:10px;
padding:12px 13px;
font-family:Montserrat,sans-serif;
font-size:10px;
color:#303930;
outline:none;
transition:.25s;
}
.form-group textarea{
resize:vertical;
min-height:100px;
}
.form-group input::placeholder,
.form-group textarea::placeholder{
color:#a0a69f;
}
.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus{
border-color:#8daa67;
background:#fff;
box-shadow:0 0 0 3px rgba(200,232,107,.18);
}
.form-submit{
width:100%;
border:0;
cursor:pointer;
font-family:Montserrat,sans-serif;
}
.form-note{
text-align:center;
font-size:9px;
color:#858c85;
margin-top:10px;
}

/* ==================== REVIEWS ==================== */
.reviews-section{
padding:85px 0;
background:#fff;
}
.reviews-grid{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:16px;
margin-top:35px;
}
.review-card{
padding:25px;
background:#fafbf8;
border:1px solid var(--border);
border-radius:20px;
transition:.3s;
}
.review-card:hover{
transform:translateY(-5px);
box-shadow:var(--shadow);
}
.review-stars{
font-size:14px;
letter-spacing:2px;
color:#c89b3c;
margin-bottom:14px;
}
.review-card>p{
font-size:11px;
line-height:1.75;
color:#626a63;
min-height:90px;
}
.review-author{
display:flex;
flex-direction:column;
margin-top:20px;
padding-top:15px;
border-top:1px solid var(--border);
}
.review-author strong{
font-size:11px;
color:var(--dark-green);
}
.review-author span{
font-size:9px;
color:#899089;
margin-top:2px;
}

/* ==================== CONTACT ==================== */
.contact-section{
padding:85px 0;
background:#f7f8f4;
}
.contact-grid{
display:grid;
grid-template-columns:1fr 1fr;
gap:55px;
align-items:start;
}
.contact-info h2{
font-family:"Playfair Display",serif;
font-size:42px;
line-height:1.2;
color:var(--dark-green);
}
.contact-info>p{
font-size:12px;
color:var(--muted);
line-height:1.7;
margin-top:12px;
max-width:480px;
}
.contact-list{
display:flex;
flex-direction:column;
gap:13px;
margin-top:30px;
}
.contact-item{
display:flex;
align-items:center;
gap:13px;
}
.contact-item>span{
width:42px;
height:42px;
min-width:42px;
display:grid;
place-items:center;
background:#e7f1d8;
border-radius:50%;
font-size:18px;
}
.contact-item small{
display:block;
font-size:8px;
color:#818981;
}
.contact-item a,
.contact-item p{
font-size:11px;
font-weight:600;
color:var(--dark-green);
line-height:1.5;
}
.contact-form{
background:#fff;
padding:30px;
border-radius:24px;
border:1px solid var(--border);
box-shadow:var(--shadow);
}
.contact-form .btn{
border:0;
cursor:pointer;
font-family:Montserrat,sans-serif;
}

/* ==================== FOOTER ==================== */
.site-footer{
background:#fff;
border-top:1px solid var(--border);
}
.footer-grid{
display:grid;
grid-template-columns:1.5fr 1fr 1fr 1.1fr;
gap:35px;
padding:60px 0 45px;
}
.footer-brand{
max-width:300px;
}
.footer-logo{
display:inline-block;
}
.footer-logo img{
width:45px;
height:45px;
object-fit:contain;
border-radius:10px;
}
.footer-brand h3{
font-size:14px;
color:var(--dark-green);
margin-top:10px;
}
.footer-brand>p{
font-size:10px;
color:#7c847c;
line-height:1.6;
margin-top:7px;
}
.footer-social{
margin-top:16px;
}
.footer-social a{
display:inline-flex;
align-items:center;
justify-content:center;
padding:8px 13px;
background:#edf5df;
color:var(--green);
border-radius:20px;
font-size:9px;
font-weight:700;
}
.footer-links,
.footer-contact{
display:flex;
flex-direction:column;
align-items:flex-start;
}
.footer-links h4,
.footer-contact h4{
font-size:11px;
color:var(--dark-green);
margin-bottom:13px;
}
.footer-links a{
font-size:9px;
color:#747c74;
margin-bottom:8px;
transition:.2s;
}
.footer-links a:hover{
color:var(--green);
transform:translateX(2px);
}
.footer-contact p{
font-size:9px;
color:#747c74;
line-height:1.7;
margin-bottom:8px;
}
.footer-contact a{
color:inherit;
}
.footer-contact .btn{
margin-top:8px;
}
.footer-bottom{
border-top:1px solid var(--border);
}
.footer-bottom .container{
display:flex;
justify-content:space-between;
align-items:center;
gap:20px;
padding:17px 0;
}
.footer-bottom p{
font-size:8px;
color:#8a918a;
}
.footer-bottom a{
color:var(--green);
font-weight:700;
}

/* ==================== LIGHTBOX ==================== */
.lightbox{
position:fixed;
inset:0;
background:rgba(15,25,17,.88);
display:none;
align-items:center;
justify-content:center;
z-index:9999;
padding:30px;
}
.lightbox.active{
display:flex;
}
.lightbox-content{
max-width:900px;
max-height:85vh;
border-radius:15px;
overflow:hidden;
}
.lightbox-content img{
display:block;
max-width:100%;
max-height:85vh;
object-fit:contain;
}
.lightbox-close,
.lightbox-prev,
.lightbox-next{
position:absolute;
border:0;
cursor:pointer;
color:#fff;
background:rgba(255,255,255,.12);
backdrop-filter:blur(10px);
width:42px;
height:42px;
border-radius:50%;
font-size:27px;
}
.lightbox-close{
right:25px;
top:25px;
font-size:25px;
}
.lightbox-prev{
left:25px;
top:50%;
transform:translateY(-50%);
}
.lightbox-next{
right:25px;
top:50%;
transform:translateY(-50%);
}
.lightbox-close:hover,
.lightbox-prev:hover,
.lightbox-next:hover{
background:var(--green);
}

/* ================= FLOATING CONTACT BUTTONS ================= */

.floating-contact{
    position:fixed !important;
    right:18px;
    bottom:25px;
    display:flex;
    flex-direction:column;
    align-items:flex-end;
    gap:12px;
    z-index:999999 !important;
}


/* ================= FLOATING BUTTON ================= */

.floating-btn{
    width:58px;
    height:58px;
    border:0;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    cursor:pointer;
    text-decoration:none;
    box-shadow:0 7px 22px rgba(0,0,0,.25);
    transition:all .3s ease;
    position:relative;
    padding:0;
}

.floating-btn:hover{
    transform:scale(1.08);
}


/* ================= WHATSAPP ================= */

.whatsapp-btn{
    background:#25D366 !important;
    color:#fff !important;
    animation:floatingButton 2.5s ease-in-out infinite;
}

.whatsapp-logo{
    font-size:36px;
    font-weight:bold;
    line-height:1;
}


/* ================= CALL ================= */

.call-btn{
    background:#174634 !important;
    color:#fff !important;
    animation:floatingButton 2.5s ease-in-out infinite;
    animation-delay:.3s;
}

.call-logo{
    font-size:28px;
    line-height:1;
}


/* ================= WHATSAPP POPUP ================= */

.whatsapp-popup{
    position:absolute;
    right:0;
    bottom:140px;
    width:280px;
    padding:20px;
    box-sizing:border-box;
    background:#fff;
    border-radius:18px;
    box-shadow:0 10px 35px rgba(0,0,0,.25);
    border:1px solid rgba(0,0,0,.08);
    display:none;
}

.whatsapp-popup.active{
    display:block;
    animation:popupShow .3s ease;
}


/* ================= CLOSE ================= */

.popup-close{
    position:absolute;
    top:9px;
    right:9px;
    width:29px;
    height:29px;
    border:0;
    border-radius:50%;
    background:#f1f1f1;
    color:#555;
    font-size:20px;
    line-height:29px;
    padding:0;
    cursor:pointer;
}


/* ================= POPUP ICON ================= */

.popup-icon{
    width:48px;
    height:48px;
    border-radius:50%;
    background:#25D366;
    display:flex;
    align-items:center;
    justify-content:center;
    color:#fff;
    font-size:26px;
    margin-bottom:12px;
}


/* ================= POPUP TEXT ================= */

.popup-content{
    display:flex;
    flex-direction:column;
    gap:5px;
    margin-bottom:15px;
}

.popup-content strong{
    font-size:17px;
    color:#174634;
}

.popup-content span{
    font-size:13px;
    color:#666;
    line-height:1.5;
}


/* ================= MESSAGE US ================= */

.popup-message-btn{
    display:block;
    width:100%;
    box-sizing:border-box;
    padding:11px 15px;
    background:#25D366;
    color:#fff !important;
    text-align:center;
    text-decoration:none;
    border-radius:9px;
    font-size:14px;
    font-weight:700;
    transition:.3s ease;
}

.popup-message-btn:hover{
    background:#1ebe5d;
    transform:translateY(-1px);
}


/* ================= FLOATING ANIMATION ================= */

@keyframes floatingButton{

    0%,100%{
        transform:translateY(0);
    }

    50%{
        transform:translateY(-5px);
    }

}


/* ================= POPUP ANIMATION ================= */

@keyframes popupShow{

    from{
        opacity:0;
        transform:translateY(15px) scale(.95);
    }

    to{
        opacity:1;
        transform:translateY(0) scale(1);
    }

}


/* ================= MOBILE ================= */

@media(max-width:600px){

    .floating-contact{
        right:12px !important;
        bottom:18px !important;
        gap:10px;
    }

    .floating-btn{
        width:53px;
        height:53px;
    }

    .whatsapp-logo{
        font-size:33px;
    }

    .call-logo{
        font-size:25px;
    }

    .whatsapp-popup{
        width:245px;
        bottom:125px;
        right:0;
    }

}


/* ==================== WATERMARK ==================== */
.site-watermark{
position:fixed;
left:50%;
top:50%;
transform:translate(-50%,-50%);
width:300px;
height:280px;
z-index:5;
pointer-events:none;
background:transparent;
}
#watermarkCanvas{
width:100%;
height:100%;
display:block;
}
@media(max-width:600px){
.site-watermark{
width:280px;
height:220px;
}
}

/* ==================== PART 3 RESPONSIVE ==================== */
@media(max-width:1000px){
.booking-layout{
grid-template-columns:1fr 1.2fr;
gap:30px;
}
.footer-grid{
grid-template-columns:1.4fr 1fr 1fr;
}
.footer-contact{
grid-column:1/-1;
}
}
@media(max-width:800px){
.cta-content{
display:block;
}
.cta-content h2{
font-size:34px;
}
.cta-content .btn{
display:inline-block;
margin-top:22px;
}
.booking-layout{
grid-template-columns:1fr;
gap:30px;
}
.booking-intro{
padding-top:0;
}
.booking-intro h2{
font-size:35px;
}
.reviews-grid{
grid-template-columns:1fr 1fr;
}
.contact-grid{
grid-template-columns:1fr;
gap:30px;
}
.footer-grid{
grid-template-columns:1fr 1fr;
}
.footer-brand{
max-width:100%;
}
}
@media(max-width:560px){
.cta-section{
padding:50px 0;
}
.cta-content h2{
font-size:29px;
}
.cta-content p{
font-size:10px;
}
.booking-section,
.reviews-section,
.contact-section{
padding:60px 0;
}
.booking-intro h2,
.contact-info h2{
font-size:29px;
}
.booking-form,
.contact-form{
padding:20px;
border-radius:19px;
}
.form-row{
grid-template-columns:1fr;
gap:0;
}
.booking-contact>div{
max-width:100%;
}
.reviews-grid{
grid-template-columns:1fr;
}
.review-card>p{
min-height:auto;
}
.footer-grid{
grid-template-columns:1fr 1fr;
gap:28px 20px;
padding:45px 0 30px;
}
.footer-brand{
grid-column:1/-1;
}
.footer-contact{
grid-column:1/-1;
}
.footer-bottom .container{
display:block;
text-align:center;
}
.footer-bottom p+p{
margin-top:7px;
}
.lightbox{
padding:15px;
}
.lightbox-close{
right:15px;
top:15px;
}
.lightbox-prev{
left:10px;
}
.lightbox-next{
right:10px;
}
}
@media(max-width:380px){
.cta-content h2{
font-size:26px;
}
.booking-form,
.contact-form{
padding:16px;
}
.footer-grid{
grid-template-columns:1fr;
}
.footer-brand,
.footer-contact{
grid-column:1 / -1;
}


