/* =========================================================
   ANT TRAVELS — HOME PAGE STYLES (cleaned / deduplicated)
   Replaces the entire <style> block in Default.aspx
   ---------------------------------------------------------
   Har selector ab SIRF EK BAAR define hai. Jahan pehle
   multiple definitions thi, wahan final computed value
   rakhi gayi hai taaki design bilkul same dikhe.
========================================================= */


/* =========================================================
   1. VARIABLES + GLOBAL BASE
========================================================= */
:root{
    --green: #8ab336;
    --green-dark: #6d8f28;
    --text-dark: #1f2328;
    --text-muted: #6b7280;
    --border: #e6e6e6;
}

*, *::before, *::after{
    -webkit-tap-highlight-color: transparent;
}

a, button, .bt-tab, .pd-view-btn, .vb-btn, .lb-view-btn, .lb-book-btn,
.deal-btn, .contact-item, .qtl-tab-btn, .readmore-btn, .pd-nav-btn,
.lb-scroll-btn, .greviews-scroll-btn, .faq-question, .gallery-item,
.dot, .contact-toggle{
    touch-action: manipulation;
}

/* pan-x pan-y = horizontal swipe bhi chale aur vertical scroll bhi.
   (Pehle sirf pan-x tha — isi wajah se buttons ka pehla tap khata tha.) */
.pd-grid,
.lb-card-scroll,
.greviews-grid,
.feature-grid,
.deals-grid,
.gallery-grid,
.qtl-tab-panels{
    touch-action: pan-x pan-y;
}

.pd-card a, .vb-card a, .lb-card a, .greview-card a{
    position: relative;
    z-index: 2;
}

/* Master-page header background */
@media (max-width:600px), (min-width:1000px){
    #head{
        background: url(../images/ANT-BUS.png) no-repeat;
        background-size: 105% 750px;
        background-position: 10px -12px;
        padding-left: 10%;
        height: 576px;
    }
}


/* =========================================================
   2. HERO BANNER
   NOTE: ≤767px par .overlay aur .hero-content display:none
   ho jaate hain (mobile banner card dikhta hai), isliye unke
   purane 767 / 575 / 400 wale overrides hata diye gaye —
   woh dead code tha.
========================================================= */
.hero-banner{
    position: relative;
    height: 630px;
    background: url('../images/ANT-BUS.png') center center/cover no-repeat;
    background-size: 105% 750px;
    background-position: 10px -12px;
    padding-left: 4%;
}

.hero-banner .overlay{
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(0,0,0,.75), rgba(0,0,0,.45), rgba(0,0,0,.15));
}

.hero-content{
    position: relative;
    z-index: 2;
    max-width: 650px;
    padding-top: 60px;
    color: #fff;
}

.hero-content h1{
    font-size: 70px;
    font-weight: 800;
    background: transparent !important;
    line-height: 1.1;
}

.hero-content h1 span{
    color: #8ab336;
}

.hero-content p{
    font-size: 20px;
    line-height: 36px;
    color: #ddd;
    margin-bottom: 25px;
}

.tagline{
    display: inline-block;
    padding: 8px 20px;
    background: rgba(255,255,255,.15);
    border-radius: 30px;
    letter-spacing: 2px;
    font-size: 14px;
    font-weight: 900;
}

.hero-btn{
    display: inline-block;
    background: #8ab336;
    color: #fff;
    padding: 18px 42px;
    border-radius: 10px;
    text-decoration: none;
    font-size: 20px;
    transition: background .3s;
}

.hero-btn:hover{
    background: #6da82e;
    color: #fff;
    text-decoration: none;
}

@media (max-width:991px){
    .hero-banner{
        height: auto;
        padding-bottom: 150px;
        background-size: cover;
        background-position: center;
    }
    .hero-content{
        max-width: 100%;
    }
    .hero-content h1{ font-size: 52px; }
    .hero-content p{ font-size: 19px; line-height: 30px; }
}

/* Mobile: hero image/text hide, compact banner card dikhta hai */
@media (max-width:767px){
    .hero-banner{
        height: auto !important;
        padding-bottom: 0 !important;
        background: #fff !important;
    }
    .hero-banner .overlay,
    .hero-content{
        display: none !important;
    }
}


/* =========================================================
   3. MOBILE BANNER CARD
========================================================= */
.bt-mobile-banner{ display: none; }

@media (max-width:767px){
    .bt-mobile-banner{
        display: block;
        position: relative;
        margin: 16px 16px 18px;
        border-radius: 16px;
        overflow: hidden;
    }
    .bt-mobile-banner img{
        width: 100%;
        height: 190px;
        object-fit: cover;
        display: block;
    }
    .bt-mobile-banner-overlay{
        position: absolute;
        inset: 0;
        background: linear-gradient(180deg, rgba(0,0,0,.10) 30%, rgba(0,0,0,.78) 100%);
    }
    .bt-mobile-banner-text{
        position: absolute;
        left: 18px;
        right: 18px;
        bottom: 75px;
        color: #fff;
    }
    .bt-mobile-banner-text h2{
        font-size: 19px;
        font-weight: 800;
        line-height: 1.25;
        margin: 0 0 8px;
        background: transparent !important;
        color: #fff;
    }
    .bt-mobile-banner-text h2 span{ color: #8ab336; }
    .bt-mobile-banner-text p{
        font-size: 11.5px;
        line-height: 1.4;
        margin: 0 0 4px;
        color: #eee;
    }
    .bt-mobile-banner-tag span{
        color: #8ab336;
        font-weight: 700;
    }
}


/* =========================================================
   4. BOOKING TABS (hero search card)
========================================================= */
.bt-heading{
    position: absolute;
    bottom: 108px;
    left: 50%;
    transform: translateX(-50%);
    width: 90%;
    max-width: 980px;
    text-align: center;
    z-index: 6;
}

.bt-heading h2{
    color: #fff;
    font-size: 26px;
    font-weight: 800;
    margin: 0 0 8px;
    background: transparent !important;
    text-shadow: 0 2px 10px rgba(0,0,0,.35);
}

.bt-heading-underline{
    display: inline-block;
    width: 60px;
    height: 3px;
    background: #8ab336;
    border-radius: 2px;
}

.booking-tabs{
    position: absolute;
    bottom: -55px;
    left: 50%;
    transform: translateX(-50%);
    width: 90%;
    max-width: 980px;
    background: #fff;
    border-radius: 20px;
    z-index: 5;
    box-shadow: 0 15px 40px rgba(0,0,0,.18);
    overflow: hidden;
}

.bt-tabs{
    display: flex;
    border-bottom: 1px solid #eee;
}

.bt-tab{
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 16px 10px;
    font-size: 14px;
    font-weight: 600;
    color: #888;
    cursor: pointer;
    border-bottom: 4px solid transparent;
    transition: color .2s, border-color .2s;
    user-select: none;
}

.bt-tab i{ font-size: 16px; }
.bt-tab:hover{ color: #4a6b1f; }

.bt-tab.active{
    color: #4a6b1f;
    border-bottom-color: #8ab336;
}

.bt-search-row{
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 20px 24px;
    flex-wrap: wrap;
}

.bt-field{
    flex: 1;
    min-width: 140px;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 7px;
    border: 1px solid #e6e6e6;
    border-radius: 10px;
    background: #fafafa;
}

.bt-field i{
    color: #8ab336;
    font-size: 16px;
    flex-shrink: 0;
}

.bt-field select,
.bt-field input{
    border: none;
    background: transparent;
    width: 100%;
    font-size: 14px;
    color: #333;
    outline: none;
    font-family: inherit;
}

.bt-field select{
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
}

.bt-field-error{
    border-color: #e0453c !important;
    background: #fff3f2 !important;
}

.bt-search-btn{
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: linear-gradient(95.07deg, #748E36 1.52%, #43531D 100%) !important;
    color: #fff !important;
    border: none !important;
    padding: 14px 28px !important;
    border-radius: 12px !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    cursor: pointer;
    white-space: nowrap;
    transition: filter .2s;
}

.bt-search-btn:hover{ filter: brightness(1.08); }

@media (max-width:991px){
    .bt-heading{ bottom: 145px; }
    .bt-heading h2{ font-size: 20px; }

    .booking-tabs{ bottom: -61px; }
    .bt-tab{ font-size: 12.5px; padding: 14px 6px; gap: 5px; }
    .bt-tab i{ font-size: 14px; }
    .bt-search-row{ padding: 16px; gap: 10px; }
    .bt-field{ min-width: 130px; }
    .bt-search-btn{ width: 100%; justify-content: center; order: 10; }
}

@media (max-width:767px){
    .bt-heading{
        position: static;
        transform: none;
        width: 92%;
        margin: 42px auto 10px;
    }
    .bt-heading h2{
        text-shadow: none;
        font-size: 19px;
        color: grey;
        position: relative;
        top: -40px;
    }
    .bt-heading-underline{
        position: relative;
        top: -55px;
    }

    .booking-tabs{
        position: relative;
        margin: 32px auto;
        width: 100%;
             left: 48%;
        top: -58px;
    }

    input[type=text], textarea, select{
        width: 100%;
        height: 18px;
        padding: 0;
        font-size: 14px;
        line-height: 1.42857;
        color: #555;
        background: #f7f7f7;
        vertical-align: middle;
        border: none;
        box-shadow: 0 0 0 #f5f5f5 inset;
    }

    .bt-tabs{
        justify-content: space-around;
        padding: 10px 11px 0;
        border-bottom: 0;
        gap: 20px;
    }

    .bt-tab{
        flex-direction: column;
        gap: 6px;
        font-size: 10.5px;
        font-weight: 700;
        text-transform: uppercase;
        letter-spacing: .3px;
        color: #9aa1ac;
        padding: 10px;
        box-shadow: 0 0 1px grey;
        border-radius: 12px;
        width: 30%;
    }

    .bt-tab i{
        font-size: 20px;
        color: #9aa1ac;
        transition: color .2s;
    }

    .bt-tab.active{
        color: #5e8a2f;
        border-bottom-color: #8ab336;
    }
    .bt-tab.active i{ color: #5e8a2f; }

    .bt-search-row{
        flex-direction: column;
        align-items: stretch;
        padding: 18px 16px;
        gap: 12px;
    }

    .bt-field{ width: 100%; padding: 10px; }

    .bt-search-btn{
        width: 100%;
        justify-content: center;
        padding: 15px 0 !important;
        margin-top: 4px;
    }
}


/* =========================================================
   5. WHY CHOOSE US  (Best Price / Instant Booking / ...)
   .feature-card ka merged final version — pehle ye 3 alag
   jagah define tha (padding 22 → 28 → 15, radius 20 → 16 → 20)
========================================================= */
#why-choose-us{
    padding: 70px 0;
    background: #fff;
}

#why-choose-us .container{
    max-width: 1200px;
    margin: auto;
}

.feature-grid{
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 25px;
}

.feature-card{
    background: #fff;
    border: 1px solid var(--border);
    border-radius: 20px;
    padding: 15px;
    margin: 10px;
    box-shadow: 0 10px 25px rgba(0,0,0,.06);
    transition: transform .35s, box-shadow .35s;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
}

.feature-card:hover{
    transform: translateY(-8px);
}

.icon-box{
    width: 75px;
    height: 75px;
    margin: 0 auto 20px;
    background: #F6F8F3;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
}

.icon-box i{
    font-size: 34px;
    color: #8ab336;
}

.feature-card h3{
    font-size: 24px;
    font-weight: 700;
    margin-bottom: 12px;
    color: #333;
}

.feature-card h4{
    margin: 0 0 2px;
    font-size: 14px;
    font-weight: 700;
    text-align: left;
    color: #000;
    background: transparent;
}

.feature-card h5{
    font-weight: 700;
    margin-bottom: 12px;
}

.feature-card p{
    margin: 0;
    font-size: 14px;
    line-height: 1.5;
    color: #666;
    text-align: center;
}

.feature-link{
    font-size: 13px;
    font-weight: 600;
    color: #6b8e23;
    text-decoration: none;
    margin-top: 10px;
}

.feature-link:hover{ text-decoration: underline; }

@media (max-width:991px){
    .feature-grid{ grid-template-columns: repeat(2, 1fr); }
}

/* Mobile: horizontal swipe slider */
@media (max-width:767px){
    .feature-grid{
        display: flex;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
        gap: 16px;
        padding-bottom: 6px;
    }
    .feature-grid::-webkit-scrollbar{ display: none; }

    .feature-card{
        flex: 0 0 95%;
        scroll-snap-align: start;
        margin: 0;
    }
    .feature-card h3{ font-size: 22px; }
    .feature-card p{ font-size: 15px; line-height: 26px; }
}

@media (max-width:575px){
    #why-choose-us{ padding: 45px 0; }
    .feature-card{ padding: 25px 18px; }
    .icon-box{ width: 60px; height: 60px; }
    .icon-box i{ font-size: 26px; }
}

@media (max-width:400px){
    .feature-card h3{ font-size: 19px; }
}


/* =========================================================
   6. CARD SLIDER DOTS (shared)
========================================================= */
.card-slider-dots{
    display: none;
    justify-content: center;
    align-items: center;
    gap: 8px;
    margin-top: 20px;
}

.card-slider-dots .dot{
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #d6d6d6;
    cursor: pointer;
    transition: background .25s, width .25s;
    flex-shrink: 0;
}

.card-slider-dots .dot.active{
    background: #748E36;
    width: 22px;
    border-radius: 5px;
}

@media (max-width:767px){
    .card-slider-dots{ display: flex; }
}


/* =========================================================
   7. EXCLUSIVE DEALS
========================================================= */
.exclusive-deals{
    width: 100%;
    padding: 18px 0 22px;
    box-sizing: border-box;
}

.deals-container{
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 15px;
    box-sizing: border-box;
}

.deals-heading{
    display: flex;
    align-items: center;
    gap: 5px;
    margin: 25px 0 29px;
    font-family: Arial, sans-serif;
    font-size: 30px;
    line-height: 1;
    font-weight: 700;
    color: #3b3b3b;
    justify-content: center;
}

.deals-heading-icon{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    border: 2px solid #7a9638;
    border-radius: 50%;
    color: #7a9638;
    font-size: 25px;
    line-height: 1;
}

.deals-grid{
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
}

.deal-card{
    position: relative;
    min-height: 112px;
    border-radius: 12px;
    overflow: hidden;
    box-sizing: border-box;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    transition: transform .25s ease, box-shadow .25s ease;
}

.deal-card:hover{
    transform: translateY(-2px);
    box-shadow: 0 8px 18px rgba(0,0,0,.12);
}

.deal-card-1{
    background: linear-gradient(90deg, rgba(7,23,48,.98) 0%, rgba(9,26,53,.94) 55%, rgba(14,34,63,.82) 100%);
}
.deal-card-2{
    background: linear-gradient(90deg, rgba(64,88,181,.98) 0%, rgba(57,82,177,.95) 55%, rgba(52,76,165,.88) 100%);
}
.deal-card-3{
    background: linear-gradient(90deg, rgba(77,117,28,.98) 0%, rgba(82,123,30,.96) 55%, rgba(70,107,23,.9) 100%);
}

.deal-card::after{
    content: "";
    position: absolute;
    right: -25px;
    top: -45px;
    width: 100px;
    height: 180px;
    border-radius: 25px;
    transform: rotate(35deg);
    background: rgba(255,255,255,.055);
    pointer-events: none;
}

.deal-content{
    position: relative;
    z-index: 2;
    height: 100%;
    min-height: 112px;
    padding: 22px;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.deal-badge{
    display: inline-block;
    padding: 3px 7px;
    border-radius: 4px;
    background: rgba(255,255,255,.95);
    color: #26351b;
    font-family: Arial, sans-serif;
    font-size: 14px;
    font-weight: 800;
    line-height: 1;
    letter-spacing: .2px;
}

.deal-card h3{
    margin: 15px 0 3px;
    color: #fff;
    font-family: Arial, sans-serif;
    font-size: 26px;
    line-height: 1.05;
    font-weight: 800;
}

.deal-card p{
    max-width: 90%;
    margin: 12px 12px 12px 2px;
    color: rgba(255,255,255,.88);
    font-family: Arial, sans-serif;
    font-size: 13px;
    line-height: 1.3;
    font-weight: 400;
}

.deal-card p strong{
    color: #fff;
    font-weight: 700;
}

.deal-btn{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-top: auto;
    min-width: 67px;          /* tha: 67ppx (typo) */
    height: 20px;
    padding: 20px;
    border-radius: 4px;
    background: #fff;
    color: #536d28 !important;
    font-family: Arial, sans-serif;
    font-size: 16px;
    font-weight: 700;
    text-decoration: none !important;
    box-sizing: border-box;
    transition: background .2s, transform .2s;
}

.deal-card-1 .deal-btn{ color: #4e6825 !important; }
.deal-card-2 .deal-btn{ color: #4054a0 !important; }
.deal-card-3 .deal-btn{ color: #4c7021 !important; }

.deal-btn:hover{
    background: #f3f3f3;
    transform: translateY(-1px);
}

.deal-btn.copied{
    background-color: #2e7d32 !important;
    color: #fff !important;
}

.deals-dots{ display: none; }

@media (max-width:992px){
    .deals-container{ max-width: 900px; }
    .deals-grid{ gap: 10px; }
    .deal-card{ min-height: 120px; }
    .deal-content{ min-height: 120px; padding: 12px; }
    .deal-card h3{ font-size: 16px; }
    .deal-card p{ font-size: 8px; }
}

@media (max-width:768px){
    .exclusive-deals{ padding: 16px 0 20px; }
    .deals-container{ padding: 0 12px; }
    .deals-heading{ font-size: 14px; margin-bottom: 8px; }

    .deals-grid{
        display: flex;
        flex-wrap: nowrap;
        overflow-x: hidden;
        scroll-behavior: smooth;
        gap: 0;
    }
    .deals-grid .deal-card{
        flex: 0 0 100%;
        width: 100%;
        min-height: 125px;
    }
    .deal-content{ min-height: 125px; padding: 13px; }
    .deal-card h3{ font-size: 17px; }
    .deal-card p{ font-size: 8px; }
    .deal-btn{ height: 22px; min-width: 62px; font-size: 8px; }

    .deals-dots{
        display: flex;
        justify-content: center;
        align-items: center;
        gap: 8px;
        margin-top: 14px;
    }
    .deals-dots .dot{
        width: 8px;
        height: 8px;
        border-radius: 50%;
        background: rgba(0,0,0,.2);
        border: none;
        padding: 0;
        cursor: pointer;
        transition: background .25s ease, transform .25s ease;
    }
    .deals-dots .dot.active{
        background: #7CB342;
        transform: scale(1.25);
    }
}

@media (max-width:520px){
    .exclusive-deals{ padding: 14px 0 18px; }
    .deals-container{ padding: 0 10px; }
    .deal-card{ min-height: 115px; border-radius: 11px; }
    .deal-content{ min-height: 115px; padding: 13px 14px; }
    .deal-badge{ font-size: 6px; padding: 3px 7px; }
    .deal-card h3{ font-size: 18px; margin-top: 7px; }
    .deal-card p{ max-width: 85%; font-size: 8px; }
    .deal-btn{ min-width: 64px; height: 22px; font-size: 8px; border-radius: 4px; padding: 10px; }
}

@media (max-width:360px){
    .deal-card{ min-height: 110px; }
    .deal-content{ min-height: 110px; padding: 12px; }
    .deal-card h3{ font-size: 16px; }
    .deal-card p{ font-size: 7px; }
    .deal-btn{ min-width: 60px; height: 20px; font-size: 7px; }
}


/* =========================================================
   8. PREMIUM SERVICES
========================================================= */
.premium-services{
    padding: 90px 0;
    background: #f6f6f6;
}

/* .section-title ki dono definitions merge ki gayi hain */
.section-title{
    font-size: 52px;
    font-weight: 700;
    line-height: 1.1;
    color: #222;
}

.section-title span{
    color: #86a83c;
    font-weight: 600;
    letter-spacing: 2px;
    font-size: larger;
}

.section-title h2{
    font-size: 42px;
    font-weight: 700;
    margin: 12px 0;
}

.section-title p{ color: #777; }

.service-card{
    background: #fff;
    border-radius: 18px;
    padding: 35px 30px;
    box-shadow: 0 10px 30px rgba(0,0,0,.08);
    transition: transform .35s, box-shadow .35s;
    height: 100%;
}

.service-card:hover{ transform: translateY(-8px); }

.service-icon{
    width: 65px;
    height: 65px;
    border-radius: 15px;
    background: #eef4df;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 25px;
}

.service-icon i{
    font-size: 28px;
    color: #8ab336;
}

.service-card h4{
    font-size: 25px;
    font-weight: 700;
    margin-bottom: 15px;
    text-align: left;
    background: transparent;
    color: #000;
}

.service-card p{
    color: #666;
    line-height: 28px;
    margin-bottom: 22px;
}

.service-card a{
    color: #8ab336;
    font-weight: 600;
    text-decoration: none;
	    padding: 10px;
}

.service-card a i{ margin-left: 5px; }

@media (max-width:991px){
    .premium-services{ padding: 60px 0; }
    .section-title{ font-size: 38px; }
    .section-title h2{ font-size: 34px; }
}

@media (max-width:767px){
    .premium-services{ padding: 60px 0; }
    .premium-services .container-fluid{
        margin-left: 30px !important;
        margin-right: 30px !important;
    }
    .service-card{ margin-bottom: 20px; height: 100%; }

    /* mobile slider */
    .premium-services .row{
        display: flex;
        flex-wrap: nowrap;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
        gap: 16px;
        margin: 0;
        padding-bottom: 6px;
    }
    .premium-services .row::-webkit-scrollbar{ display: none; }

    .premium-services .row > [class*="col-"]{
        flex: 0 0 100%;
        width: 100%;
        scroll-snap-align: start;
        padding: 0;
        margin-bottom: 0;
    }
}

@media (max-width:575px){
    .section-title h2{ font-size: 26px; }
    .section-title p{ font-size: 14px; margin-bottom: 30px; }
    .service-card{ padding: 25px 20px; }
    .service-card h4{ font-size: 20px; }
}


/* =========================================================
   9. ABOUT
========================================================= */
.about-ant{
    padding: 90px 0;
    background: #fff;
}

.about-img{
    border-radius: 25px;
    box-shadow: 0 15px 35px rgba(0,0,0,.1);
    width: 100%;
    height: auto;
    max-width: 560px;
    max-height: 570px;
    object-fit: cover;
}

.about-tag{
    display: inline-block;
    background: #eef4df;
    color: #7da22d;
    padding: 8px 20px;
    border-radius: 40px;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 2px;
    margin-bottom: 20px;
}

.about-ant h2{
    font-size: 48px;
    font-weight: 700;
    line-height: 1.2;
    margin-bottom: 20px;
}

.about-ant p{
    color: #666;
    line-height: 32px;
    margin-bottom: 30px;
}

.about-list{
    padding: 0;
    margin: 0;
    list-style: none;
}

.about-list li{
    display: flex;
    align-items: center;
    margin-bottom: 18px;
    font-size: 17px;
    color: #444;
}

.about-list i{
    width: 38px;
    height: 38px;
    background: #eef4df;
    color: #385006;
    border-radius: 10px;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-right: 15px;
    flex-shrink: 0;
}

@media (max-width:991px){
    .about-ant h2{ font-size: 36px; }
    .about-img{ max-width: 100%; height: auto; }
}

@media (max-width:767px){
    .about-ant{ padding: 60px 0; text-align: center; }
    .about-right{ padding: 10px !important; margin-top: 20px; }
    .about-list li{ margin-left: 20px; text-align: left; }
    .about-img{
        max-width: 400px !important;
        width: 100% !important;
        height: auto !important;
        margin: 0 auto;
        display: block;
    }
}

@media (max-width:480px){
    .about-ant h2{ font-size: 24px; }
    .about-list li{ font-size: 15px; }
}


/* =========================================================
   10. POPULAR DESTINATION (pd-*)
   .pd-card / .pd-body / .pd-divider / .pd-grid — pehle
   2-2 baar the, ab merge ho gaye
========================================================= */
.popular-destination{
    padding: 40px 0;
    background: #aec47b29;
}

.popular-destination .container-fluid{
    margin: 50px;
}

.popular-destination .pd-header{
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    flex-wrap: wrap;
    margin-bottom: 45px;
}

.popular-destination .pd-title h2{
    font-size: 42px;
    font-weight: 800;
    color: #2b2b2b;
    margin: 0 0 10px;
}

.popular-destination .pd-title p{
    font-size: 17px;
    color: #666;
    max-width: 420px;
    margin: 0;
    line-height: 24px;
    font-weight: 600;
}

.pd-explore-btn{
    display: inline-flex;
    align-items: center;
    border: 2px solid #8ab336;
    color: #6d8f28;
    font-weight: 700;
    font-size: 15px;
    padding: 12px 26px;
    border-radius: 10px;
    text-decoration: none;
    white-space: nowrap;
    transition: background .3s, color .3s;
}

.pd-explore-btn:hover{
    background: #8ab336;
    color: #fff;
    text-decoration: none;
}

.pd-scroll-wrap{ position: relative; }

.pd-grid{
    display: flex;
    gap: 26px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    padding-bottom: 10px;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    align-items: stretch;
}

.pd-grid::-webkit-scrollbar{ display: none; }

.pd-card{
    background: #fff;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 8px 25px rgba(0,0,0,.07);
    transition: transform .3s, box-shadow .3s;
    flex: 0 0 calc(25% - 20px);
    scroll-snap-align: start;
    width: 275px;
    display: flex;
    flex-direction: column;
}

.pd-card:hover{
    transform: translateY(-6px);
    box-shadow: 0 15px 35px rgba(0,0,0,.12);
}

.pd-img-wrap{
    position: relative;
    width: 100%;
    height: 210px;
    overflow: hidden;
}

.pd-img-wrap img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform .4s;
}

.pd-card:hover .pd-img-wrap img{ transform: scale(1.08); }

.pd-badge{
    position: absolute;
    top: 14px;
    right: 14px;
    background: #8ab336;
    color: #fff;
    font-size: 12px;
    font-weight: 700;
    padding: 6px 16px;
    border-radius: 30px;
    letter-spacing: .3px;
}

.pd-body{
    padding: 22px 20px 24px;
    display: flex;
    flex-direction: column;
    flex: 1;
}

.pd-body h3{
    font-size: 19px;
    font-weight: 800;
    color: #2b2b2b;
    margin: 0 0 8px;
}

.pd-meta{
    display: flex;
    align-items: start;
    gap: 6px;
    color: #888;
    font-size: 14px;
    margin-bottom: 14px;
}

.pd-meta i{
    font-size: 14px;
    color: #8ab336;
}

.pd-divider{
    border: none;
    border-top: 1px solid #eee;
    margin: auto 0 16px;
}

.pd-footer{
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.pd-price-label{
    font-size: 11px;
    font-weight: 700;
    color: #999;
    letter-spacing: .5px;
    margin-bottom: 4px;
    display: block;
}

.pd-price{
    font-size: 19px;
    font-weight: 800;
    color: #2b2b2b;
}

.pd-view-btn{
    background: #8ab336;
    color: #fff;
    font-weight: 700;
    font-size: 13px;
    border: none;
    padding: 10px;
    border-radius: 10px;
    text-decoration: none;
    display: inline-block;
    transition: background .3s;
    white-space: nowrap;
}

.pd-view-btn:hover{
    background: #6d8f28;
    color: #fff;
    text-decoration: none;
}

.pd-nav-btn{
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: #fff;
    border: 1px solid #e2e2e2;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 6px 18px rgba(0,0,0,.12);
    cursor: pointer;
    z-index: 5;
    color: #2b2b2b;
    font-size: 18px;
    transition: background .25s, color .25s;
}

.pd-nav-btn:hover{
    background: #8ab336;
    color: #fff;
    border-color: #8ab336;
}

.pd-nav-prev{ left: -24px; }
.pd-nav-next{ right: -24px; }

@media (max-width:1199px){
    .pd-grid{ gap: 20px; }
}

@media (max-width:991px){
    .popular-destination{ padding: 60px 0; }
    .pd-card{ flex: 0 0 calc(50% - 16px); }
    .pd-title h2{ font-size: 34px !important; }
    .pd-header{ margin-bottom: 32px; }
    .pd-nav-prev{ left: -16px; }
    .pd-nav-next{ right: -16px; }
}

@media (max-width:768px){
    .popular-destination .container-fluid{
        margin: 0;
    }
}

@media (max-width:767px){
    .popular-destination{ padding: 50px 0; }
    .pd-header{
        flex-direction: column;
        align-items: flex-start;
        gap: 18px;
    }
    .pd-explore-btn{ width: 100%; justify-content: center; }
    .pd-title h2{ font-size: 28px; }
    .pd-title p{ font-size: 15px; max-width: 100%; }
    .pd-card{ flex: 0 0 100% !important; }
    .pd-grid{ gap: 0; }
    .pd-img-wrap{ height: 230px; }
    .pd-nav-btn{ display: none; }
}

@media (max-width:480px){
    .popular-destination{ padding: 20px; background: #e9eae4; }
    .pd-title h2{ font-size: 24px; }
    .pd-body{ padding: 18px 16px 20px; }
    .pd-price{ font-size: 17px; }
    .pd-view-btn{ padding: 11px 16px; font-size: 13px; }
}


/* =========================================================
   11. CAROUSEL SHELL (bus / traveller / car GridViews)
========================================================= */
.lb-carousel-wrap{ position: relative; }

.lb-card-scroll{
    overflow-x: hidden;
    scroll-behavior: smooth;
    scroll-snap-type: x mandatory;
}

.lb-scroll-btn{
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: #fff;
    border: 1px solid #e2e2e2;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 6px 18px rgba(0,0,0,.12);
    cursor: pointer;
    z-index: 5;
    color: #2b2b2b;
    font-size: 18px;
    transition: background .25s, color .25s;
}

.lb-scroll-btn:hover{
    background: #8ab336;
    color: #fff;
    border-color: #8ab336;
}

.lb-scroll-btn.disabled{
    opacity: .4;
    pointer-events: none;
}

.lb-scroll-prev{ left: -24px; }
.lb-scroll-next{ right: -24px; }

/* GridView table ko flex grid banane wale rules — pehle 6 alag
   jagah bikhre the, ab 3 clean breakpoints */
table.lb-card-grid,
table.lb-card-grid > tbody,
table.lb-card-grid > tbody > tr{
    display: flex;
    gap: 20px;
    margin: 0;
    padding: 0;
    border: 0;
}

table.lb-card-grid > tbody > tr > td{
    display: block;
    flex: 0 0 calc((100% - 40px) / 3);   /* desktop: 3 cards */
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    scroll-snap-align: start;
}

/* Tablet: 2 cards */
@media (min-width:768px) and (max-width:991px){
    table.lb-card-grid > tbody > tr > td{
        flex: 0 0 calc((100% - 20px) / 2) !important;
        width: calc((100% - 20px) / 2) !important;
    }
}

/* Mobile: 1 full card per swipe */
@media (max-width:767px){
    .lb-card-scroll{
        width: 100% !important;
        max-width: 100% !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        padding: 0 12px 10px !important;
        box-sizing: border-box;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
    }
    .lb-card-scroll::-webkit-scrollbar{ display: none; }

    .lb-scroll-btn{ display: none; }

    table.lb-card-grid{
        width: 100% !important;
        min-width: 100% !important;
    }

    table.lb-card-grid > tbody,
    table.lb-card-grid > tbody > tr{
        width: max-content !important;
        min-width: 100% !important;
        gap: 20px !important;
    }

    table.lb-card-grid > tbody > tr > td{
        flex: 0 0 calc(100vw - 52px) !important;
        width: calc(100vw - 52px) !important;
        min-width: calc(100vw - 52px) !important;
        max-width: calc(100vw - 52px) !important;
        margin-right: 20px !important;
        scroll-snap-align: start;
        scroll-snap-stop: normal;   /* tha: always — pehla tap kha jaata tha */
    }
}


/* =========================================================
   12. VEHICLE CARD (vb-*)
   .vb-card pehle 10 baar define tha. Final widths:
   ≤991 → 100% | 992–1399 → 395px | ≥1400 → 457px
========================================================= */
.vb-card{
    background: #fff;
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 8px 25px rgba(0,0,0,.09);
    transition: transform .3s, box-shadow .3s;
    display: flex;
    flex-direction: column;
    height: 100%;
    width: 395px;
}

.vb-card:hover{
    transform: translateY(-5px);
    box-shadow: 0 15px 35px rgba(0,0,0,.14);
}

.vb-img-wrap{
    position: relative;
    padding: 12px;
}

.vb-img-wrap img{
    width: 100%;
    height: 230px;
    object-fit: cover;
    border-radius: 14px;
    display: block;
}

.vb-badge{
    position: absolute;
    top: 14px;
    left: 12px;
    background: #4a6b1f;
    color: #fff;
    font-size: 13px;
    font-weight: 700;
    padding: 6px 16px;
    border-radius: 30px;
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.vb-badge i{ color: #ffd54f; }

.vb-body{
    padding: 8px 24px 24px;
    display: flex;
    flex-direction: column;
    flex: 1;
}

.vb-title{
    font-size: 24px;
    font-weight: 800;
    line-height: 1.25;
    text-align: center;
}

.vb-title-main{ color: #1c1c1c; }
.vb-title-accent{ color: #5e8a2f; }

.vb-subtitle{
    color: #8a8a8a;
    font-size: 14px;
    margin: 0 0 18px;
    text-align: center;
}

.vb-features{
    display: flex;
    justify-content: center;
    gap: 8px;
    margin-bottom: 10px;
}

.vb-feature{
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    flex: 0 0 auto;
    width: 60px;
    min-width: 0;
}

.vb-feature-icon{
    width: 37px;
    height: 35px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 8px;
    font-size: 18px;
}

.vb-feature.active .vb-feature-icon{
    background: #eef4df;
    color: #5e8a2f;
}

.vb-feature-label{
    font-size: 11.5px;
    font-weight: 600;
    color: #333;
    line-height: 1.3;
}

.vb-price-box{
    display: flex;
    align-items: center;
    gap: 10px;
    background: linear-gradient(135deg, #f3f8ea 0%, #eef4df 100%);
    border: 1.5px solid #d8e8c0;
    border-radius: 12px;
    padding: 14px;
    margin-top: auto;
    margin-bottom: 18px;
    box-shadow: 0 4px 12px rgba(94,138,47,.08);
}

.vb-price-icon{
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: #5e8a2f;
    color: #fff;
    font-weight: 800;
    font-size: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.vb-price-label{
    font-size: 16px;
    font-weight: 700;
    color: #222;
}

.vb-price-sub{
    font-size: 11.5px;
    color: #999;
}

.vb-price-divider{
    width: 1px;
    align-self: stretch;
    background: #5e8a2f;
}

.vb-price-col{
    text-align: center;
    flex: 1;
}

.vb-price-col-label{
    font-size: 11px;
    color: #4e4848;
    margin-bottom: 2px;
    font-weight: 900;
}

.vb-price-old{
    text-decoration: line-through;
    color: #463e3e;
    font-size: 22px;
}

.vb-price-new{
    color: #5e8a2f;
    font-weight: 800;
    font-size: 22px;
}

.vb-price-unit{
    font-size: 12px;
    color: #3e3737;
    font-weight: 400;
}

.vb-footer{
    display: flex;
    gap: 12px;
}

.vb-btn{
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 13px 0;
    border-radius: 10px;
    font-size: 14px;
    font-weight: 700;
    text-decoration: none;
    transition: background .2s, color .2s;
}

.vb-btn-outline{
    background: #fff;
    color: #5e8a2f;
    border: 1.5px solid #5e8a2f;
}

.vb-btn-outline:hover{
    background: #f3f8ea;
    color: #5e8a2f;
    text-decoration: none;
}

.vb-btn-solid{
    background: #5e8a2f;
    color: #fff;
    border: 1.5px solid #5e8a2f;
}

.vb-btn-solid:hover{
    background: #4a6b1f;
    color: #fff;
    text-decoration: none;
}

@media (min-width:1400px){
    .vb-card{ width: 457px; }
}

@media (max-width:991px){
    .vb-card{ width: 100% !important; }
    .lb-scroll-prev{ left: -16px; }
    .lb-scroll-next{ right: -16px; }
}

@media (max-width:767px){
    .vb-card{
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        margin: 0 !important;
        border-radius: 16px !important;
    }

    .vb-img-wrap{
        width: 100% !important;
        height: 220px !important;
        overflow: hidden;
    }
    .vb-img-wrap img{
        width: 100% !important;
        height: 100% !important;
        object-fit: cover;
        pointer-events: none;
    }

    .vb-body{
        width: 100% !important;
        padding: 8px;
        box-sizing: border-box;
    }

    .vb-features{
        width: 100% !important;
        overflow: hidden;
        gap: 0 !important;
    }

    .vb-price-box{
        width: calc(100% - 20px) !important;
        margin: 10px auto !important;
        box-sizing: border-box;
    }

    .vb-footer{
        width: 100% !important;
        gap: 8px !important;
        padding: 10px !important;
        box-sizing: border-box;
    }

    /* Decorative layers clicks block na karein */
    .vb-card::before,
    .vb-card::after,
    .vb-img-wrap::before,
    .vb-img-wrap::after{
        pointer-events: none !important;
    }

    .vb-card a,
    .vb-card button,
    .vb-card select,
    .vb-card input,
    .vb-card label{
        position: relative;
        z-index: 50;
        pointer-events: auto !important;
    }

    .vb-card select,
    .vb-card input[type="date"],
    .vb-card input[type="text"]{
        cursor: pointer;
        touch-action: manipulation;
    }
}

@media (max-width:480px){
    .vb-title{ font-size: 19px; }
    .vb-features{ gap: 4px; }
    .vb-feature-icon{ width: 40px; height: 40px; font-size: 15px; }
    .vb-feature-label{ font-size: 10.5px; }
}

@media (max-width:376px){
    .vb-price-box{
        gap: 2px !important;
        padding: 14px 16px;
        border-left: 4px solid #5e8a2f;
        border-right: 4px solid #5e8a2f;
    }
}


/* =========================================================
   13. BLOG CARDS (lb-*)
   .lb-card / .lb-body / .lb-divider duplicates merged
========================================================= */
.lb-card-grid{
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
}

.lb-card-grid .lb-card{
    flex: 1 1 300px;
    width: 300px;
}

.lb-card{
    background: #fff;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 2px 8px rgba(0,0,0,.12);
    margin-bottom: 20px;
    display: flex;
    flex-direction: column;
    height: 100%;
}

.lb-img-wrap{ position: relative; }

.lb-img-wrap img{
    width: 100%;
    height: 227px;
    object-fit: cover;
    display: block;
}

.lb-body{
    padding: 15px;
    display: flex;
    flex-direction: column;
    flex: 1;
}

.lb-body h3{
    margin: 0 0 10px;
    font-size: 18px;
    color: #222;
}

.lb-desc{
    font-size: 13px;
    color: #666;
    margin-bottom: 10px;
}

.lb-divider{
    border: none;
    border-top: 1px solid #eee;
    margin: auto 0 12px;
}

.lb-footer{
    display: flex;
    gap: 10px;
}

.lb-view-btn,
.lb-book-btn{
    flex: 1;
    text-align: center;
    padding: 8px 0;
    border-radius: 6px;
    text-decoration: none;
    font-size: 14px;
    font-weight: bold;
}

.lb-view-btn{
    background: #fff;
    color: #5e5c5c;
    border: 1px solid #454343;
}

.lb-book-btn{
    background: #748E36;
    color: #fff;
}

@media (min-width:1440px){
    .lb-card-grid .lb-card{ flex: 1 1 300px; width: 330px; }
}

@media (max-width:768px){
    .lb-card-grid{ justify-content: center; }
}

@media (max-width:767px){
    .lb-card-grid .lb-card{
        width: 360px !important;
        height: 100%;
    }
}


/* =========================================================
   14. "RENT BUS WITH ANT" SECTION
========================================================= */
.section{
    max-width: 1290px;
    margin: 0 auto;
    padding: 56px 24px 64px;
}

.hero{
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 48px;
}

.hero-copy h1{
    font-size: 52px;
    font-weight: 800;
    line-height: 1.1;
    margin: 0 0 20px;
    letter-spacing: -0.5px;
    color: grey;
    background: transparent !important;
}

.hero-copy h1 span{ color: #748E36; }

.hero-copy p{
    font-size: 16px;
    line-height: 1.6;
    color: #3f4650;
    max-width: 560px;
    margin: 0 0 28px;
}

.hero-copy p a{
    color: #2563eb;
    text-decoration: none;
    font-weight: 500;
}

.hero-copy p a:hover{ text-decoration: underline; }

.cta-row{
    display: flex;
    align-items: center;
    gap: 20px;
    margin-bottom: 22px;
    flex-wrap: wrap;
}

.btn-primary{
    background: #748E36;
    color: #fff;
    border: none;
    padding: 15px 26px;
    font-size: 15px;
    font-weight: 600;
    border-radius: 8px;
    cursor: pointer;
    transition: background .15s ease;
}

.btn-primary:hover{ background: #5e7428; }

.verified{
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    color: #374151;
    font-weight: 500;
}

.verified .check{
    width: 18px;
    height: 18px;
    border-radius: 50%;
    background: var(--green);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.verified .check svg{ width: 11px; height: 11px; }

.trust-line{
    font-size: 12px;
    letter-spacing: .04em;
    color: #9aa1ac;
    font-weight: 600;
    text-transform: uppercase;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    row-gap: 4px;
}

.hero-visual{
    position: relative;
    border-radius: 22px;
    overflow: visible;
    box-shadow: 0 20px 45px rgba(0,0,0,.12);
    aspect-ratio: 712 / 471;
    background: #eee;
}

.hero-visual img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* .rating-badge pehle 2 baar define tha — ye final (centered) version hai */
.rating-badge{
    position: absolute;
    top: 0;
    left: 32%;
    transform: translate(-50%, -50%);
    width: 65%;
    max-width: 340px;
    min-width: 180px;
    background: rgba(255,255,255,.97);
    backdrop-filter: blur(4px);
    border-radius: 14px;
    padding: 14px 18px;
    box-shadow: 0 10px 28px rgba(0,0,0,.18);
    display: flex;
    align-items: center;
    gap: 12px;
    z-index: 3;
}

.rating-badge .avatars{
    display: flex;
    flex-shrink: 0;
}

.rating-badge .avatars span{
    width: 35px;
    height: 35px;
    border-radius: 50%;
    border: 2px solid #fff;
    margin-left: -7px;
}

.rating-badge .avatars span:first-child{ margin-left: 0; background: #5fbf9f; }
.rating-badge .avatars span:nth-child(2){ background: #f4c542; }
.rating-badge .avatars span:nth-child(3){ background: #d9d9d9; }

.rating-badge .rating-text-wrap{
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.rating-badge .rating-text{
    font-size: 14px;
    font-weight: 700;
    color: #1f2328;
    display: flex;
    align-items: center;
    gap: 4px;
    white-space: nowrap;
}

.rating-badge .rating-text .star{ color: #f5a623; }

.rating-badge .rating-sub{
    font-size: 10px;
    letter-spacing: .03em;
    color: #9aa1ac;
    font-weight: 700;
    text-transform: uppercase;
    margin-top: 2px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.fleet-overlay{
    position: absolute;
    left: 16px;
    right: 16px;
    bottom: 16px;
    background: rgb(46 46 46 / 18%);
    backdrop-filter: blur(6px);
    border-radius: 14px;
    padding: 18px 20px;
    color: #fff;
}

.fleet-overlay h3{
    margin: 0 0 6px;
    font-size: 17px;
    font-weight: 700;
}

.fleet-overlay p{
    margin: 0;
    font-size: 13px;
    color: #e5e5e5;
    line-height: 1.4;
}

.features{
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    margin-top: 56px;
}

.feature-icon{
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: #eef3e4;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 7px;
}

.feature-icon svg{ width: 20px; height: 20px; }

@media (max-width:900px){
    .hero{ grid-template-columns: 1fr; }
    .hero-visual{
        order: -1;
        max-width: 340px;
        margin: 0 auto;
        width: 100%;
        height: 290px;
    }
    .hero-copy h1{ font-size: 38px; }
    .features{ grid-template-columns: 1fr;gap: 10px; }
	.info-section {   margin: 10px !important;}
}

@media (max-width:480px){
    .rating-badge{
        width: 78%;
        gap: 10px;
        padding: 10px 14px;
        border-radius: 12px;
    }
    .rating-badge .avatars span{ width: 30px; height: 30px; }
    .rating-badge .rating-text{ font-size: 12px; }
    .rating-badge .rating-sub{ font-size: 9px; }
}


/* =========================================================
   15. INFO SECTION + READ MORE
========================================================= */
.info-section{
    background: #fff;
    border-radius: 16px;
    box-shadow: 0 2px 12px rgba(0,0,0,.05);
    padding: 40px 32px;
    margin: 0 auto;
}

.info-heading{
    text-align: center;
    font-size: 26px;
    font-weight: 700;
    color: #1a1a1a;
    margin: 0 auto 12px;
    border-bottom: 2px solid #6b8e23;
    display: table;
}

.info-intro{
    text-align: center;
    font-size: 14.5px;
    line-height: 1.7;
    color: #4a4a4a;
    margin: 0 auto 32px;
}

.info-intro b{ color: #1a1a1a; }

.info-grid{
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 24px;
}

.info-item{
    text-align: left;
    border-right: 1px solid #80808038;
    padding: 10px;
}

.info-icon{
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: #eef4e0;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 10px;
}

.info-icon svg{ width: 22px; height: 22px; }

.info-item h4{
    font-size: 14.5px;
    font-weight: 700;
    color: #1a1a1a;
    margin: 0 0 8px;
    width: 78%;
    line-height: 1.35;
    background: transparent;
}

.info-item p{
    font-size: 13px;
    line-height: 1.6;
    color: #5a5a5a;
    margin: 0;
}

.readmore-section{
    max-width: 990px;
    margin: 0 auto;
    padding: 20px;
}

.readmore-intro{
    font-size: 14.5px;
    line-height: 1.7;
    color: #333;
    text-align: center;
    margin-bottom: 18px;
}

.readmore-intro b{ color: #1a1a1a; }

.readmore-btn-wrap{
    text-align: center;
    margin: 14px 0;
}

.readmore-btn{
    background: #4a7729;
    color: #fff;
    border: none;
    padding: 10px 26px;
    font-size: 14px;
    font-weight: 600;
    border-radius: 8px;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    transition: background .2s ease;
}

.readmore-btn:hover{ background: #3b6020; }

.readless-btn{
    background: transparent;
    color: #4a7729;
}

.readless-btn:hover{
    background: transparent;
    text-decoration: underline;
}

.rm-arrow{
    display: inline-block;
    transition: transform .25s ease;
}

.rm-arrow.up{ transform: rotate(180deg); }

.readmore-content{
    display: none;
    background: #eef3e4;
    border-radius: 12px;
    padding: 24px 28px;
    margin-top: 6px;
}

.readmore-content p{
    font-size: 14px;
    line-height: 1.7;
    color: #444;
    margin: 0 0 14px;
}

.readmore-content p:last-of-type{ margin-bottom: 0; }

.readmore-content.open{
    display: block;
    animation: fadeSlide .3s ease;
}

@keyframes fadeSlide{
    from{ opacity: 0; transform: translateY(-8px); }
    to{ opacity: 1; transform: translateY(0); }
}

@media (max-width:992px){
    .info-grid{ grid-template-columns: repeat(2, 1fr); }
}

@media (max-width:576px){
    .info-grid{ grid-template-columns: 1fr; }
    .info-heading{ font-size: 21px; }
}


/* =========================================================
   16. WHY CHOOSE ANT TRAVELS (wcx-*)
========================================================= */
.wcx-section{
    background: #f6f6f3;
    overflow: hidden;
}

.wcx-container{
    max-width: 1400px;
    margin: 0 auto;
    padding: 60px 40px;
}

.wcx-grid{
    display: grid;
    grid-template-columns: 1fr 2fr;
    gap: 60px;
    align-items: center;
}

.wcx-tag{
    display: inline-block;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 3px;
    color: #8ca53f;
    position: relative;
    padding-left: 60px;
}

.wcx-tag::before{
    content: "";
    width: 45px;
    height: 2px;
    background: #8ca53f;
    position: absolute;
    left: 0;
    top: 50%;
}

.wcx-title{
    font-size: 52px;
    font-weight: 800;
    line-height: 1.15;
    color: #1c1c1c;
    margin: 18px 0 20px;
}

.wcx-title span{ color: #7ea233; }

.wcx-desc{
    color: #666;
    font-size: 16px;
    line-height: 28px;
    max-width: 460px;
    margin-bottom: 28px;
}

.wcx-trustbox{
    display: flex;
    align-items: center;
    gap: 16px;
    background: #fff;
    padding: 16px 20px;
    border-radius: 16px;
    box-shadow: 0 10px 25px rgba(0,0,0,.06);
    max-width: 420px;
    margin-bottom: 28px;
}

.wcx-avatars{
    display: flex;
    flex-shrink: 0;
}

.wcx-avatars span{
    width: 40px;
    height: 40px;
    border-radius: 50%;
    color: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-left: -10px;
    border: 3px solid #fff;
    font-size: 12px;
    font-weight: 700;
}

.wcx-avatars span:first-child{ margin-left: 0; }
.wcx-avatars span:nth-child(1){ background: #83a63e; }
.wcx-avatars span:nth-child(2){ background: #4b5bd5; }
.wcx-avatars span:nth-child(3){ background: #e08a3b; }
.wcx-avatar-count{ background: #748E36; }

.wcx-trust-content h6{
    margin: 0;
    font-size: 15px;
    font-weight: 700;
    color: #222;
}

.wcx-trust-content p{
    margin: 2px 0 0;
    color: #888;
    font-size: 13px;
}

.wcx-btn{
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background: #748E36;
    color: #fff;
    border: none;
    border-radius: 12px;
    padding: 15px 30px;
    font-weight: 700;
    font-size: 15px;
    text-decoration: none;
    transition: background .25s;
}

.wcx-btn:hover{
    background: #5e7428;
    color: #fff;
    text-decoration: none;
}

.wcx-features{
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 22px;
}

.wcx-fcard{
    position: relative;
    background: #fff;
    border-radius: 18px;
    padding: 24px;
    box-shadow: 0 10px 25px rgba(0,0,0,.05);
    transition: transform .3s, box-shadow .3s;
}

.wcx-fcard:hover{
    transform: translateY(-6px);
    box-shadow: 0 15px 35px rgba(0,0,0,.1);
}

.wcx-ficon{
    width: 52px;
    height: 52px;
    border-radius: 14px;
    background: #eaf1dd;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 7px;
    margin-right: 10px;
}

.wcx-ficon i{
    color: #748E36;
    font-size: 22px;
}

.wcx-fcard h5{
    font-size: 16px;
    font-weight: 700;
    color: #222;
    margin: 0 0 8px;
}

.wcx-fcard p{
    color: #777;
    font-size: 13.5px;
    line-height: 22px;
    margin: 0;
    padding-right: 20px;
}

.wcx-arrow{
    position: absolute;
    right: 20px;
    bottom: 22px;
    color: #8ca53f;
    font-size: 15px;
    transition: transform .25s, color .25s;
}

.wcx-fcard:hover .wcx-arrow{
    transform: translateX(4px);
    color: #5e7428;
}

.wcx-stats{
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 22px;
    margin-top: 20px;
}

.wcx-stat{
    position: relative;
    border-radius: 18px;
    overflow: hidden;
    min-height: 170px;
    background-size: cover;
    background-position: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-end;
    padding: 0 16px 22px;
    text-align: center;
    box-shadow: 0 10px 25px rgba(0,0,0,.1);
}

.wcx-stat-overlay{
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(0,0,0,.15) 0%, rgba(0,0,0,.65) 100%);
}

.wcx-stat-icon{
    position: relative;
    z-index: 2;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: rgba(255,255,255,.18);
    backdrop-filter: blur(3px);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 20px;
    margin-bottom: auto;
    margin-top: 20px;
}

.wcx-stat h3{
    position: relative;
    z-index: 2;
    color: #fff;
    font-size: 34px;
    font-weight: 800;
    margin: 0 0 4px;
}

.wcx-stat p{
    position: relative;
    z-index: 2;
    color: #eee;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 1px;
    margin: 0;
}

@media (max-width:1199px){
    .wcx-title{ font-size: 44px; }
    .wcx-container{ padding: 55px 30px; }
}

@media (max-width:991px){
    .wcx-grid{ grid-template-columns: 1fr; gap: 40px; }
    .wcx-left{ text-align: left; }
    .wcx-desc{ max-width: 100%; }
    .wcx-title{ font-size: 38px; }
    .wcx-stats{ grid-template-columns: repeat(4, 1fr); gap: 16px; }
}

@media (max-width:767px){
    .wcx-container{ padding: 45px 20px; }
    .wcx-title{ font-size: 32px; }
    .wcx-desc{ font-size: 15px; line-height: 26px; }
    .wcx-features{ grid-template-columns: repeat(2, 1fr); gap: 14px; }
    .wcx-fcard{ padding: 20px 18px 26px; }
    .wcx-fcard h5{ font-size: 14.5px; }
    .wcx-fcard p{ font-size: 12.5px; line-height: 20px; padding-right: 14px; }
    .wcx-stats{ grid-template-columns: repeat(2, 1fr); gap: 14px; }
    .wcx-stat{ min-height: 150px; }
    .wcx-stat h3{ font-size: 28px; }
    .wcx-trustbox{ flex-direction: column; text-align: center; }
}

@media (max-width:575px){
    .wcx-title{ font-size: 28px; }
    .wcx-trustbox{ flex-wrap: wrap; }
    .wcx-features{ grid-template-columns: 1fr; }
    .wcx-stats{ grid-template-columns: repeat(2, 1fr); gap: 12px; }
    .wcx-stat{ min-height: 140px; }
    .wcx-stat h3{ font-size: 24px; }
    .wcx-stat p{ font-size: 11px; }
    .wcx-btn{ width: 100%; justify-content: center; }
}

@media (max-width:400px){
    .wcx-tag{ font-size: 12px; padding-left: 50px; }
    .wcx-title{ font-size: 24px; }
}


/* =========================================================
   17. GALLERY + LIGHTBOX
========================================================= */
.gallery-section{
    max-width: 1240px;
    margin: 0 auto;
    padding: 70px 24px 20px;
}

.gallery-header{
    text-align: center;
    margin-bottom: 45px;
}

.gallery-header span.section-tag-center{
    display: inline-block;
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 2px;
    color: #7a9a3a;
    margin-bottom: 10px;
}

.gallery-header h2{
    font-size: 42px;
    font-weight: 800;
    color: #2b2b2b;
    margin: 0 0 12px;
}

.gallery-header p{
    color: #777;
    font-size: 16px;
    max-width: 520px;
    margin: 0 auto;
}

.gallery-grid{
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    grid-auto-rows: 190px;
    gap: 18px;
}

.gallery-item{
    position: relative;
    border-radius: 16px;
    overflow: hidden;
    cursor: pointer;
    box-shadow: 0 8px 22px rgba(0,0,0,.08);
}

.gallery-item.big{
    grid-column: span 2;
    grid-row: span 2;
}

.gallery-item img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform .4s ease;
}

.gallery-item:hover img{ transform: scale(1.1); }

.gallery-overlay{
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(0,0,0,0) 40%, rgba(0,0,0,.65) 100%);
    display: flex;
    align-items: flex-end;
    padding: 16px;
    opacity: 0;
    transition: opacity .3s ease;
}

.gallery-item:hover .gallery-overlay{ opacity: 1; }

.gallery-overlay span{
    color: #fff;
    font-weight: 700;
    font-size: 15px;
}

.gallery-overlay i{
    color: #fff;
    margin-left: auto;
    font-size: 20px;
    align-self: center;
}

.gallery-lightbox{
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,.88);
    z-index: 99999;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 30px;
}

.gallery-lightbox.active{ display: flex; }

.gallery-lightbox img{
    max-width: 90%;
    max-height: 85vh;
    border-radius: 12px;
    box-shadow: 0 20px 60px rgba(0,0,0,.5);
}

.gallery-lightbox-close{
    position: absolute;
    top: 25px;
    right: 35px;
    color: #fff;
    font-size: 40px;
    font-weight: 300;
    cursor: pointer;
    line-height: 1;
}

.gallery-lightbox-nav{
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 52px;
    height: 52px;
    border-radius: 50%;
    background: rgba(255,255,255,.15);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    cursor: pointer;
    transition: background .25s;
}

.gallery-lightbox-nav:hover{ background: #7a9a3a; }
.gallery-lightbox-prev{ left: 25px; }
.gallery-lightbox-next{ right: 25px; }

@media (max-width:991px){
    .gallery-grid{
        grid-template-columns: repeat(2, 1fr);
        grid-auto-rows: 170px;
    }
    .gallery-item.big{
        grid-column: span 2;
        grid-row: span 2;    /* tha: span:2 (invalid) */
    }
}

@media (max-width:576px){
    .gallery-header h2{ font-size: 30px; }
    .gallery-grid{
        grid-template-columns: repeat(2, 1fr);
        grid-auto-rows: 140px;
        gap: 12px;
    }
    .gallery-lightbox-nav{ width: 42px; height: 42px; font-size: 16px; }
    .gallery-lightbox-close{ font-size: 32px; top: 15px; right: 20px; }
}


/* =========================================================
   18. GOOGLE REVIEWS
========================================================= */
.greviews-section{
    max-width: 1240px;
    margin: 0 auto;
    padding: 70px 24px 60px;
}

.greviews-header{
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 24px;
    margin-bottom: 40px;
}

.greviews-summary-card{
    display: flex;
    align-items: center;
    gap: 18px;
    background: #fff;
    border: 1px solid #eef0f4;
    border-radius: 18px;
    padding: 18px 26px;
    box-shadow: 0 10px 28px rgba(16,24,40,.06);
}

.greviews-summary-card img{
    width: 44px;
    height: 44px;
    object-fit: contain;
    flex-shrink: 0;
}

.greviews-score-block{
    display: flex;
    align-items: baseline;
    gap: 10px;
}

.greviews-score h3{
    font-size: 38px;
    font-weight: 800;
    margin: 0;
    color: #2b2b2b;
    line-height: 1;
}

.greviews-stars{
    color: #f5a623;
    font-size: 17px;
    letter-spacing: 1px;
    margin: 6px 0 4px;
}

.greviews-count{
    color: #777;
    font-size: 13px;
}

.greviews-heading-text h2{
    font-size: 35px;
    font-weight: 800;
    color: #2b2b2b;
    margin: 0 0 6px;
}

.greviews-heading-text p{
    color: #777;
    font-size: 15px;
    margin: 0;
}

.greviews-actions{
    display: flex;
    align-items: center;
    gap: 12px;
}

.greviews-write-btn{
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: #8ab336;
    color: #fff;
    font-weight: 700;
    padding: 13px 26px;
    border-radius: 10px;
    text-decoration: none;
    white-space: nowrap;
    transition: background .25s;
}

.greviews-write-btn:hover{
    background: #6d8f28;
    color: #fff;
    text-decoration: none;
}

.greviews-scroll-btn{
    width: 46px;
    height: 46px;
    flex-shrink: 0;
    border-radius: 50%;
    background: #fff;
    border: 1px solid #e2e2e2;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 6px 18px rgba(0,0,0,.10);
    cursor: pointer;
    color: #2b2b2b;
    font-size: 17px;
    transition: background .25s, color .25s;
}

.greviews-scroll-btn:hover{
    background: #8ab336;
    color: #fff;
    border-color: #8ab336;
}

.greviews-scroll-btn.disabled{
    opacity: .35;
    pointer-events: none;
}

.greviews-grid{
    display: flex;
    gap: 22px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    padding-bottom: 10px;
    scrollbar-width: none;
}

.greviews-grid::-webkit-scrollbar{ display: none; }

.greview-card{
    background: #fff;
    border: 1px solid #eee;
    border-radius: 18px;
    padding: 24px;
    box-shadow: 0 10px 26px rgba(0,0,0,.05);
    flex: 0 0 380px;
    scroll-snap-align: start;
    display: flex;
    flex-direction: column;
    transition: transform .25s, box-shadow .25s;
}

.greview-card:hover{
    transform: translateY(-5px);
    box-shadow: 0 16px 36px rgba(0,0,0,.09);
}

.greview-top{
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 6px;
}

.greview-avatar-wrap{
    position: relative;
    width: 46px;
    height: 46px;
    flex-shrink: 0;
}

.greview-avatar{
    width: 46px;
    height: 46px;
    border-radius: 50%;
    object-fit: cover;
    background: #eee;
    display: block;
}

.greview-avatar-fallback{
    width: 46px;
    height: 46px;
    border-radius: 50%;
    background: #eef4df;
    color: #5e8a2f;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: 15px;
}

.greview-name-block{ min-width: 0; }

.greview-author{
    font-size: 15px;
    font-weight: 700;
    color: #222;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 190px;
}

.greview-time{
    font-size: 12px;
    color: #999;
}

.greview-google-icon{
    margin-left: auto;
    width: 26px;
    height: 26px;
    flex-shrink: 0;
    border-radius: 8px;
    background: #f7f9fc;
    display: flex;
    align-items: center;
    justify-content: center;
}

.greview-google-icon img{ width: 16px; height: 16px; }

.greview-stars{
    color: #f5a623;
    font-size: 14px;
    margin: 10px 0 8px;
}

.greview-text{
    color: #555;
    font-size: 14px;
    line-height: 23px;
    flex: 1;
    display: -webkit-box;
    -webkit-line-clamp: 5;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.greviews-empty{
    color: #888;
    font-size: 14px;
    padding: 20px 0;
}

@media (max-width:900px){
    .greviews-header{ flex-direction: column; align-items: flex-start; }
    .greviews-actions{ width: 100%; justify-content: space-between; }
}

@media (max-width:767px){
    .greview-card{ flex: 0 0 100%; }
    .greviews-scroll-btn{ display: none; }
    .greviews-summary-card{ width: 100%; box-sizing: border-box; }
}


/* =========================================================
   19. FAQ
========================================================= */
.faq-section{
    max-width: 1080px;
    margin: 0 auto;
    padding: 70px 20px 120px;
    box-sizing: border-box;
}

.faq-header{
    text-align: center;
    margin-bottom: 45px;
}

.faq-header h1{
    font-size: 2.5rem;
    font-weight: 800;
    color: #3a3a3a;
    margin: 0 0 18px;
    letter-spacing: -0.5px;
    background: transparent;
}

.faq-header p{
    font-size: 1.05rem;
    color: #8a8a8a;
    margin: 0 0 22px;
    font-weight: 400;
}

.faq-header p .brand{
    color: #7c9a3a;
    font-weight: 700;
}

.faq-divider{
    width: 90px;
    height: 4px;
    background: #7c9a3a;
    border-radius: 2px;
    margin: 0 auto;
}

.faq-list{
    display: flex;
    flex-direction: column;
    gap: 22px;
    margin-top: 55px;
}

.faq-item{
    background: #fff;
    border: 1px solid #e6e6e6;
    border-radius: 14px;
    box-shadow: 0 6px 18px rgba(0,0,0,.04);
    overflow: hidden;
    transition: box-shadow .25s ease;
    width: 100%;
    box-sizing: border-box;
}

.faq-item.active{
    box-shadow: 0 10px 24px rgba(0,0,0,.07);
}

.faq-question{
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 26px 32px;
    cursor: pointer;
    user-select: none;
    background: none;
    border: none;
    width: 100%;
    box-sizing: border-box;
    text-align: left;
    font: inherit;
}

.faq-question h3{
    margin: 0;
    font-size: 1.2rem;
    font-weight: 700;
    color: #3f3f3f;
    line-height: 1.4;
    min-width: 0;
    flex: 1 1 auto;
    word-wrap: break-word;
    overflow-wrap: break-word;
    text-shadow: none;
}

.faq-toggle{
    flex-shrink: 0;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background: #7c9a3a;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: transform .3s ease, background .25s ease;
}

.faq-toggle svg{
    width: 16px;
    height: 16px;
    stroke: #fff;
    stroke-width: 2.5;
    fill: none;
    transition: transform .3s ease;
}

.faq-item.active .faq-toggle svg{ transform: rotate(180deg); }

.faq-answer{
    max-height: 0;
    overflow: hidden;
    transition: max-height .35s ease, padding .35s ease;
    padding: 0 32px;
    box-sizing: border-box;
}

.faq-item.active .faq-answer{
    max-height: 400px;
    padding: 0 32px 26px;
}

.faq-answer p{
    margin: 0;
    font-size: .98rem;
    line-height: 1.7;
    color: #7a7a7a;
    word-wrap: break-word;
}

@media (max-width:768px){
    .faq-section{ padding: 55px 16px 80px; }
    .faq-header h1{ font-size: 2.1rem; }
    .faq-header p{ font-size: .98rem; }
    .faq-list{ margin-top: 40px; gap: 16px; }
    .faq-question{ padding: 20px 22px; gap: 14px; text-wrap: auto; }
    .faq-question h3{ font-size: 1.05rem; }
    .faq-answer{ padding: 0 22px; }
    .faq-item.active .faq-answer{ padding: 0 22px 22px; }
}

@media (max-width:480px){
    .faq-section{ padding: 40px 12px 60px; }
    .faq-header{ margin-bottom: 30px; }
    .faq-header h1{ font-size: 1.6rem; margin-bottom: 12px; }
    .faq-header p{ font-size: .9rem; margin-bottom: 16px; }
    .faq-divider{ width: 60px; height: 3px; }
    .faq-list{ margin-top: 28px; gap: 14px; }
    .faq-question{ padding: 16px; gap: 10px; }
    .faq-question h3{ font-size: .95rem; line-height: 1.35; }
    .faq-toggle{ width: 28px; height: 28px; }
    .faq-toggle svg{ width: 13px; height: 13px; }
    .faq-answer{ padding: 0 16px; }
    .faq-item.active .faq-answer{ padding: 0 16px 18px; }
    .faq-answer p{ font-size: .88rem; line-height: 1.6; }
}

@media (max-width:360px){
    .faq-header h1{ font-size: 1.4rem; }
    .faq-question{ padding: 14px; }
    .faq-question h3{ font-size: .88rem; }
}


/* =========================================================
   20. QUICK TRAVEL LINKS (qtl-*)
   .qtl-tabs 2x, .qtl-tab-btn 3x the — merged
========================================================= */
.quick-travel-wrap{
    max-width: 1200px;
    margin: 0 auto;
    padding: 40px 20px;
    text-align: center;
    font-family: 'Segoe UI', Arial, sans-serif;
}

.qtl-heading-small{
    color: #555;
    font-size: 14px;
    letter-spacing: 2px;
    font-weight: 600;
    margin-bottom: 5px;
}

.qtl-heading-big{
    color: #7a9a3a;
    font-size: 42px;
    font-weight: 800;
    margin-bottom: 35px;
}

.qtl-tabs{
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 40px;
}

.qtl-tab-btn{
    padding: 10px 18px;
    border-radius: 24px;
    border: 1.5px solid #7a9a3a;
    background: #fff;
    color: #000;
    cursor: pointer;
    font-size: 15px;
    font-weight: 600;
    text-align: center;
    white-space: nowrap;
    width: 270px;
    transition: background .25s, color .25s;
}

.qtl-tab-btn:hover{ background: #eef3e2; }

.qtl-tab-btn.active{
    background: #7a9a3a;
    color: #fff;
    border-color: #7a9a3a;
}

.qtl-tab-panels{ text-align: left; }

.qtl-panel{
    display: none;
    animation: fadeIn .3s ease;
}

.qtl-panel.active{ display: block; }

@keyframes fadeIn{
    from{ opacity: 0; }
    to{ opacity: 1; }
}

.qtl-panel ul{
    list-style: none;
    padding: 0;
    margin: 0;
    columns: 1;
    max-width: 500px;
}

.qtl-panel ul li{
    padding: 10px 0;
    font-size: 16px;
    color: #333;
    border-bottom: 1px solid #f0f0f0;
}

.qtl-panel ul li::before{
    content: "•";
    color: #7a9a3a;
    font-weight: bold;
    margin-right: 10px;
}

.qtl-panel ul li a{
    color: #333;
    text-decoration: none;
}

.qtl-panel ul li a:hover{
    color: #7a9a3a;
    text-decoration: underline;
}

.qtl-tab-panels.qtl-grid-view{
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 30px;
}

.qtl-tab-panels.qtl-grid-view .qtl-panel{
    display: block !important;
}

.qtl-columns-wrap{
    display: flex;
    flex-wrap: wrap;
    gap: 30px;
}

.qtl-col-list{
    list-style: none;
    margin: 0;
    padding: 0;
    min-width: 200px;
}

.qtl-col-list li{ padding: 6px 0; }

.qtl-toggle-wrap{ margin-top: 12px; }

.qtl-toggle-btn{
    background: none;
    border: none;
    color: #7e972f;
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .4px;
    cursor: pointer;
    padding: 0;
}

.qtl-toggle-btn:hover{
    color: #657d1f;
    text-decoration: underline;
}

.qtl-extra-list{
    padding-left: 20px;
    color: #4b4b4b;
    font-size: 16px;
    line-height: 34px;
}

@media (max-width:900px){
    .qtl-tabs{ flex-direction: column; align-items: center; }
    .qtl-tab-btn{ width: 90%; text-align: center; }
}

@media (max-width:600px){
    .qtl-tab-panels.qtl-grid-view{
        grid-template-columns: repeat(1, 1fr) !important;
        gap: 30px;
    }
}


/* =========================================================
   21. FLOATING CONTACT MENU
========================================================= */
.floating-contact{
    position: fixed;
    right: 20px;
    bottom: 20px;
    z-index: 9999;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
}

.contact-options{
    display: flex;
    flex-direction: column;
    gap: 10px;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(20px);
    transition: opacity .35s ease, transform .35s ease, visibility .35s ease;
}

.floating-contact.active .contact-options{
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0);
}

.contact-item{
    width: 165px;
    height: 70px;
    background: #fff;
    border-radius: 40px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 8px 10px 8px 20px;
    text-decoration: none;
    color: #333;
    box-shadow: 0 8px 30px rgba(0,0,0,.12);
    transition: transform .25s ease;
}

.contact-item:hover{ transform: translateX(-5px); }

.contact-icon{
    width: 48px;
    height: 48px;
    flex-shrink: 0;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 23px;
}

.call-icon{ background: #729b32; }
.email-icon{ background: #4d5be8; }
.whatsapp-icon{ background: #20aa55; }

.whatsapp-icon svg{
    width: 27px;
    height: 27px;
    fill: #fff;
}

.contact-toggle{
    position: relative;
    width: 70px;
    height: 70px;
    margin-top: 10px;
    margin-left: auto;
    padding: 0;
    border: none;
    border-radius: 50%;
    background: #25D366;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    box-shadow: 0 8px 25px rgba(37,211,102,.35);
    transition: transform .3s ease, background .3s ease;
}

.contact-toggle:hover{ transform: scale(1.08); }

.toggle-icon{
    position: relative;
    width: 34px;
    height: 34px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0;
    transition: transform .3s ease;
}

.floating-contact:not(.active) .toggle-icon::after{
    content: "";
    width: 34px;
    height: 34px;
    display: block;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Cpath fill='white' d='M16 3C9 3 3.3 8.7 3.3 15.7c0 2.5.7 4.9 2 7L3 29l6.5-2.2c2 1.1 4.2 1.7 6.5 1.7 7 0 12.7-5.7 12.7-12.7C28.7 8.7 23 3 16 3zm0 23.1c-2.1 0-4.1-.6-5.9-1.6l-.4-.2-4.3 1.4 1.4-4.2-.3-.4c-1.1-1.8-1.7-3.9-1.7-6 0-6.1 5-11.1 11.2-11.1s11.2 5 11.2 11.1S22.1 26.1 16 26.1zm6.1-8.3c-.3-.2-2-1-2.3-1.1-.3-.1-.5-.2-.8.2-.2.3-.9 1.1-1.1 1.3-.2.2-.4.3-.7.1-.3-.2-1.4-.5-2.7-1.7-1-.9-1.7-2-1.9-2.3-.2-.3 0-.5.1-.7.2-.2.4-.4.5-.6.2-.2.2-.4.3-.6.1-.2.1-.5 0-.7-.1-.2-.8-1.9-1.1-2.6-.3-.7-.6-.6-.8-.6h-.7c-.2 0-.6.1-.9.4-.3.3-1.2 1.2-1.2 2.9s1.3 3.3 1.4 3.6c.2.3 2.6 4 6.3 5.5.9.4 1.6.6 2.1.7.9.3 1.7.2 2.3.1.7-.1 2-.8 2.3-1.6.3-.8.3-1.4.2-1.6-.1-.1-.3-.2-.6-.4z'/%3E%3C/svg%3E");
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
}

.floating-contact.active .contact-toggle{
    background: #f0524d;
    box-shadow: 0 8px 25px rgba(240,82,77,.35);
}

.floating-contact.active .toggle-icon::after{
    content: "×";
    width: auto;
    height: auto;
    background: none;
    font-size: 42px;
    font-weight: 300;
    line-height: 1;
    color: #fff;
}

.contact-toggle::before,
.contact-toggle::after{
    content: "";
    position: absolute;
    inset: 0;
    border-radius: 50%;
    background: rgba(37,211,102,.30);
    z-index: -1;
    animation: ripple 2s infinite;
}

.contact-toggle::after{ animation-delay: 1s; }

.floating-contact.active .contact-toggle::before,
.floating-contact.active .contact-toggle::after{
    animation: none;
    opacity: 0;
}

@keyframes ripple{
    0%   { transform: scale(1);   opacity: .7; }
    70%  { transform: scale(1.8); opacity: 0; }
    100% { transform: scale(1.8); opacity: 0; }
}

@media (max-width:576px){
    .floating-contact{      
		left: -83px !important;
        bottom: 60px !important;
        right: inherit !important;
		
	/* 	right: 15px; bottom: 80px;= */ }
	
    .contact-item{ width: 160px; height: 65px; }
    .contact-icon{ width: 45px; height: 45px; }
    .contact-toggle{ width: 65px; height: 65px; }
    .toggle-icon{ width: 31px; height: 31px; }
    .floating-contact:not(.active) .toggle-icon::after{ width: 31px; height: 31px; }
}


/* =========================================================
   22. MASTER NAV ICONS
========================================================= */
.nav-ic{
    width: 32px;
    height: 32px;
    display: inline-block;
    flex-shrink: 0;
    color: #cfcfcf;
    vertical-align: middle;
}

.nav-item{
    display: flex;
    align-items: center;
    gap: 12px;
}

.nav-item span{ color: #cfcfcf; }
.nav-item.active .nav-ic,
.nav-item.active span{ color: #fff; }


/* =========================================================
   23. TOUCH / PERFORMANCE FIXES
   Ye block sabse aakhir me hona chahiye.
========================================================= */

/* Touch devices pe hover-lift band — warna pehla tap card ko
   hila deta hai aur button ungli ke neeche se nikal jaata hai */
@media (hover: none), (pointer: coarse){
    .vb-card:hover,
    .pd-card:hover,
    .lb-card:hover,
    .feature-card:hover,
    .service-card:hover,
    .wcx-fcard:hover,
    .greview-card:hover,
    .deal-card:hover{
        transform: none !important;
    }
    .vb-card:hover .vb-img-wrap img,
    .pd-card:hover .pd-img-wrap img,
    .gallery-item:hover img{
        transform: none !important;
    }
    .contact-toggle::before,
    .contact-toggle::after{
        animation: none;
        opacity: 0;
    }
}

/* Buttons ko tap priority */
.vb-btn,
.lb-view-btn,
.lb-book-btn,
.pd-view-btn,
.deal-btn{
    touch-action: manipulation !important;
    position: relative;
    z-index: 10;
}

/* Mobile pe backdrop-filter sabse mehnga effect hai */
@media (max-width:991px){
    .fleet-overlay,
    .rating-badge,
    .wcx-stat-icon{
        backdrop-filter: none !important;
    }
}
