﻿/* main.css - Optimized & Organized */
:root {
    --primary: #6A89A7;
    --primary-dark: #4A6787;
    --secondary: #d4af37;
    --secondary-light: #c2ae11;
    --white: #ffffff;
    --light: #f8f9fa;
    --dark: #0d1b2a;
}

/*** Spinner ***/
#spinner {
    opacity: 0;
    visibility: hidden;
    transition: opacity .5s ease-out, visibility 0s linear .5s;
    z-index: 99999;
}

    #spinner.show {
        transition: opacity .5s ease-out, visibility 0s linear 0s;
        visibility: visible;
        opacity: 1;
    }

/*** Back to Top Button ***/
.back-to-top {
    position: fixed;
    bottom: 10px;
    right: 30px;
    width: 50px;
    height: 50px;
    background: var(--primary);
    color: var(--white);
    border: none;
    border-radius: 50%;
    display: none;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    z-index: 99;
    transition: all 0.3s ease;
    font-size: 20px;
}

    .back-to-top:hover {
        background: var(--primary-dark);
        transform: translateY(-3px);
    }

/*** Topbar ***/
.fixed-top .container {
    transition: 0.5s;
}

.topbar {
    padding: 2px 10px 2px 20px;
    background: var(--primary) !important;
}

    .topbar a,
    .topbar a i {
        transition: 0.5s;
        color: var(--white) !important;
    }

        .topbar a:hover,
        .topbar a i:hover {
            color: #8AA8C7 !important;
        }

/*** Navbar ***/
.navbar-light .navbar-nav .nav-link {
    font-family: 'Roboto', sans-serif;
    position: relative;
    padding: 35px 15px;
    color: var(--bs-white) !important;
    font-size: 15px;
    font-weight: 400;
    outline: none;
    transition: .5s;
}

.sticky-top.navbar-light .navbar-nav .nav-link {
    padding: 20px 15px;
    color: var(--bs-dark) !important;
}

.navbar-light .navbar-nav .nav-link:hover,
.navbar-light .navbar-nav .nav-link.active {
    color: var(--bs-white) !important;
}

.navbar-light .navbar-brand h1 {
    color: var(--bs-white);
}

.sticky-top.navbar-light .navbar-brand h1 {
    color: var(--bs-primary);
}

.navbar-light .navbar-brand img {
    max-height: 60px;
    transition: .5s;
}

.sticky-top.navbar-light .navbar-brand img {
    max-height: 45px;
}

.navbar .dropdown-toggle::after {
    border: none;
    content: "\f107";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    vertical-align: middle;
    margin-left: 8px;
}

@media (min-width: 1200px) {
    .navbar .nav-item .dropdown-menu {
        display: block;
        visibility: hidden;
        top: 100%;
        transform: rotateX(-75deg);
        transform-origin: 0% 0%;
        border: 0;
        border-radius: 10px;
        transition: .5s;
        opacity: 0;
    }
}

.dropdown .dropdown-menu a:hover {
    background: var(--bs-primary);
    color: var(--bs-white);
}

.navbar .nav-item:hover .dropdown-menu {
    transform: rotateX(0deg);
    visibility: visible;
    background: var(--bs-light);
    transition: .5s;
    opacity: 1;
}

@media (max-width: 991.98px) {
    .sticky-top.navbar-light {
        position: relative;
        background: var(--bs-white);
    }

    .navbar-light .navbar-brand h1 {
        color: var(--bs-primary);
    }

    .navbar.navbar-expand-lg .navbar-toggler {
        padding: 10px 20px;
        border: 1px solid var(--bs-primary);
        color: var(--bs-primary);
    }

    .navbar-light .navbar-collapse {
        margin-top: 15px;
        border-top: 1px solid #DDDDDD;
    }

    .navbar-light .navbar-nav .nav-link,
    .sticky-top.navbar-light .navbar-nav .nav-link {
        padding: 10px 0;
        color: var(--bs-dark) !important;
    }

        .navbar-light .navbar-nav .nav-link:hover,
        .navbar-light .navbar-nav .nav-link.active {
            color: var(--bs-primary) !important;
        }

    .navbar-light .navbar-brand img {
        max-height: 45px;
    }
}

@media (min-width: 992px) {
    .navbar-light {
        position: absolute;
        width: 100%;
        top: 0;
        left: 0;
        border-bottom: 1px solid rgba(255, 255, 255, .1);
        z-index: 999;
    }

    .sticky-top.navbar-light {
        position: fixed;
        background: var(--bs-light);
    }

    .navbar-light .navbar-nav .nav-link::before {
        position: absolute;
        content: "";
        width: 100%;
        height: 0;
        bottom: -1px;
        left: 0;
        background: var(--bs-primary);
        transition: .5s;
        z-index: -1;
    }

    .navbar-light .navbar-nav .nav-link:hover::before,
    .navbar-light .navbar-nav .nav-link.active::before {
        height: calc(100% + 1px);
        left: 1px;
    }

    .navbar-light .navbar-nav .nav-link.nav-contact::before {
        display: none;
    }
}

/*** Carousel Hero Header Start ***/
.carousel-header .carousel-control-prev,
.carousel-header .carousel-control-next {
    background: transparent;
}

    .carousel-header .carousel-control-prev .carousel-control-prev-icon {
        position: absolute;
        top: 50%;
        left: 0;
        transform: translateY(-50%);
        padding: 25px 30px;
        border-top-left-radius: 0;
        border-top-right-radius: 50px;
        border-bottom-left-radius: 0;
        border-bottom-right-radius: 50px;
        background-size: 60% 60%;
    }

    .carousel-header .carousel-control-next .carousel-control-next-icon {
        position: absolute;
        top: 50%;
        right: 0;
        transform: translateY(-50%);
        padding: 25px 30px;
        border-top-left-radius: 50px;
        border-top-right-radius: 0;
        border-bottom-left-radius: 50px;
        border-bottom-right-radius: 0;
        background-size: 60% 60%;
    }

.carousel-header .carousel .carousel-indicators li,
.carousel-header .carousel .carousel-indicators li,
.carousel-header .carousel .carousel-indicators li {
    opacity: 0;
}

.carousel-header .carousel-inner .carousel-item {
    position: relative;
    min-height: 100vh
}

    .carousel-header .carousel-inner .carousel-item img {
        position: absolute;
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

    .carousel-header .carousel-inner .carousel-item .carousel-caption {
        position: absolute;
        width: 100%;
        height: 100%;
        top: 0;
        left: 0;
        padding-top: 60px;
        display: flex;
        align-items: center;
        justify-content: center;
        text-align: center;
        background: linear-gradient(rgba(0, 0, 0, .5), rgba(0, 0, 0, 0.5));
        background-size: cover;
    }

@media (max-width: 768px) {
    .carousel-header .carousel-inner .carousel-item img,
    .carousel-header .carousel-inner .carousel-item .carousel-caption {
        height: 700px;
        margin-top: -100px;
    }

    .carousel-header {
        height: 700px !important;
    }

        .carousel-header .carousel-control-prev .carousel-control-prev-icon,
        .carousel-header .carousel-control-next .carousel-control-next-icon {
            opacity: 0;
        }

    .search-bar {
        margin-top: -100px;
        transition: 0.5s;
    }
}
/*** Carousel Hero Header End ***/

.navbar .nav-item:hover .dropdown-menu {
    transform: rotateX(0deg);
    visibility: visible;
    border-radius: -20%;
    background: var(--light);
    transition: .5s;
    opacity: 1;
}
.dropdown-menu .dropdown-item.active {
    background-color: #6A89A7; /* custom color */
    color: #fff;
}

/* ===============================
   HERO CENTER BOTTOM SEARCH BAR
================================ */

/* Position: center bottom */
.hero-search-wrapper {
    position: absolute;
    left: 50%;
    bottom: 20px;
    transform: translateX(-50%);
    z-index: 10;
    width: 100%;
    display: flex;
    justify-content: center;
}

/* Blink ONLY background */
@keyframes hero-bg-blink {
    0% {
        opacity: 0.75;
    }

    50% {
        opacity: 1;
    }

    100% {
        opacity: 0.75;
    }
}

/* Background bar */
.blinking-search-bg {
    background: var(--primary);
    animation: hero-bg-blink 3s infinite ease-in-out;
    border-radius: 60px;
    padding: 14px 18px;
    width: 640px;
    max-width: 92%;
}

/* Inner wrapper – no blink */
.search-inner {
    position: relative;
    background: transparent;
}

/* Input */
.hero-search-input {
    height: 48px;
    border: none !important;
    box-shadow: none !important;
    padding-right: 140px !important;
    font-size: 1rem;
}

/* Button */
.hero-search-btn {
    position: absolute;
    top: 50%;
    right: 8px;
    transform: translateY(-50%);
    height: 40px;
    min-width: 110px;
    background: #6A89A7 !important;
    color: #f8f9fa !important;
    border: 2px solid #ffffff !important;
    font-weight: 600;
    transition: all 0.25s ease;
}

/* Hover animation (NO BLINK) */
.hero-search-input:focus + .hero-search-btn,
.hero-search-input:hover + .hero-search-btn {
    right: -6px;
    transform: translateY(-50%) scale(1.06);
    box-shadow: 0 4px 14px rgba(0,0,0,0.22);
}

/* Search Results Box */
.search-results {
    position: absolute;
    top: calc(100% + 10px);
    left: 30%;
    width: 40%;
    background: #ffffff;
    border-radius: 15px;
    box-shadow: 0 8px 25px rgba(0,0,0,0.15);
    max-height: 300px;
    overflow-y: auto;
    display: none;
    z-index: 1000;
    border: 1px solid #eee;
}

    .search-results li {
        list-style: none;
        margin: 0;
        padding: 0;
    }

        .search-results li a {
            display: block;
            padding: 12px 20px;
            color: #333;
            text-decoration: none;
            border-bottom: 1px solid #f5f5f5;
            transition: all 0.2s;
        }

            .search-results li a:hover {
                background: #e9f7fe;
                color: #0d6efd;
                padding-left: 25px;
            }

        .search-results li:last-child a {
            border-bottom: none;
        }

        /*** SEARCH BAR END ***/


        /*** Hero Sections ***/
        /* Video Hero */
        .video-header {
            position: relative;
            width: 100%;
            height: 100vh;
            overflow: hidden;
        }

        .hero-video-bg {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            object-fit: cover;
            z-index: 0;
        }

        .carousel-caption {
            position: absolute;
            inset: 0;
            z-index: 1;
            background: linear-gradient(to bottom, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.4) 40%, rgba(0, 0, 0, 0.3) 70%, rgba(0, 0, 0, 0.6) 100%);
            display: flex;
            align-items: center;
            justify-content: center;
        }

        .explore-text {
            font-family: 'Dancing Script', cursive;
            font-weight: 700;
            font-size: 4.5rem;
            letter-spacing: 3px;
        }

        /* Single Page Hero */
        .image-header {
            width: 100%;
            min-height: 75vh;
            background-size: cover;
            background-position: center;
            position: relative;
        }

            .image-header::before {
                content: "";
                position: absolute;
                inset: 0;
                background: rgba(0, 0, 0, 0.30);
            }

        .breadcrumb {
            background: transparent;
            padding: 0;
        }

        .breadcrumb-item + .breadcrumb-item::before {
            content: "/";
            color: rgba(255, 255, 255, 0.7);
        }

        .breadcrumb-item a {
            transition: opacity 0.3s;
        }

            .breadcrumb-item a:hover {
                opacity: 1 !important;
            }

        .breadcrumb-item.active {
            opacity: 0.9;
        }
        /*** Language Notification ***/
        @keyframes slideInRight {
            from {
                transform: translateX(100%);
                opacity: 0;
            }

            to {
                transform: translateX(0);
                opacity: 1;
            }
        }

        @keyframes slideOutRight {
            from {
                transform: translateX(0);
                opacity: 1;
            }

            to {
                transform: translateX(100%);
                opacity: 0;
            }
        }

        .language-notification {
            position: fixed;
            top: 120px;
            right: 30px;
            background: var(--primary);
            color: var(--white);
            padding: 12px 20px;
            border-radius: 8px;
            box-shadow: 0 5px 15px rgba(0,0,0,0.2);
            z-index: 9999;
            font-weight: 500;
            animation: slideInRight 0.3s ease;
            display: flex;
            align-items: center;
            font-size: 14px;
        }
        /*** RTL Support ***/
        [dir="rtl"] .navbar-nav {
            padding-right: 0;
        }

            [dir="rtl"] .navbar-nav .nav-link {
                text-align: right;
            }

        [dir="rtl"] .dropdown-menu {
            text-align: right;
        }

        [dir="rtl"] .dropdown-toggle::after {
            margin-left: 0;
            margin-right: 0.255em;
        }
        /*** Lazy Load Images ***/
        img[data-src] {
            opacity: 0;
            transition: opacity 0.3s ease;
        }

        img.loaded {
            opacity: 1;
        }

        /*** Enhanced Services Section ***/
        .section-title {
            position: relative;
            display: inline-block;
            color: var(--white);
            font-size: 1.1rem;
            font-weight: 600;
            text-transform: uppercase;
            letter-spacing: 1px;
            margin-bottom: 10px;
            z-index: 1;
        }

            .section-title.px-3 {
                padding-left: 1rem !important;
                padding-right: 1rem !important;
            }

            .section-title:before,
            .section-title:after {
                content: "";
                position: absolute;
                top: 50%;
                width: 40px;
                height: 2px;
                background: linear-gradient(90deg, transparent, var(--white));
                transform: translateY(-50%);
            }

            .section-title:before {
                right: 100%;
                margin-right: 15px;
            }

            .section-title:after {
                left: 100%;
                margin-left: 15px;
            }

        .services-container {
            display: flex;
            flex-direction: column;
            gap: 40px;
            max-width: 1200px;
            margin: 0 auto;
            position: relative;
            z-index: 1;
        }

        .services-content {
            padding: 30px 40px;
            background: linear-gradient(135deg, rgba(212,175,55,0.85), rgba(255,215,0,0.85));
            border-radius: 20px;
            box-shadow: 0 20px 50px rgba(0,0,0,0.3);
            backdrop-filter: blur(15px);
            border: 1px solid rgba(255,255,255,0.3);
            transition: transform 0.5s ease, box-shadow 0.5s ease;
            position: relative;
            overflow: hidden;
            z-index: 1000;
            width: 100%;
            height: auto;
        }

            .services-content::before {
                content: '';
                position: absolute;
                top: -30%;
                left: -90%;
                width: 200%;
                height: 200%;
                background: radial-gradient(circle, rgba(255,255,255,0.1) 1px, transparent 1px);
                background-size: 20px 20px;
                animation: float 20s linear infinite;
                z-index: -1;
            }

        @keyframes float {
            0% {
                transform: translate(0, 0) rotate(0deg);
            }

            100% {
                transform: translate(-20px, -20px) rotate(360deg);
            }
        }

        .services-content:hover {
            transform: translateY(-10px);
            box-shadow: 0 30px 60px rgba(0,0,0,0.4);
        }
        /* Cards Carousel */
        .cards-carousel {
            position: relative;
            height: 550px;
            perspective: 1200px;
            z-index: 100;
        }

        .cards-container {
            position: relative;
            width: 100%;
            height: 100%;
            transform-style: preserve-3d;
        }

        .service-card {
            position: absolute;
            width: 320px;
            height: 450px;
            border-radius: 20px;
            overflow: hidden;
            background-size: cover;
            background-position: center;
            box-shadow: 0 20px 50px rgba(0,0,0,0.5);
            transition: all 0.7s cubic-bezier(0.4, 0, 0.2, 1);
            cursor: pointer;
            transform-style: preserve-3d;
            z-index: 10;
        }

            .service-card::before {
                content: '';
                position: absolute;
                top: 0;
                left: 0;
                right: 0;
                bottom: 0;
                background: linear-gradient(to bottom, transparent 0%, rgba(0,0,0,0.8) 100%);
                z-index: 1;
                transition: all 0.5s ease;
            }

            .service-card:hover::before {
                background: linear-gradient(to bottom, transparent 0%, rgba(0,0,0,0.9) 100%);
            }

            .service-card .card-content {
                position: absolute;
                bottom: 0;
                left: 0;
                right: 0;
                padding: 30px;
                color: var(--white);
                z-index: 2;
                transform: translateY(10px);
                transition: transform 0.5s ease;
            }

            .service-card:hover .card-content {
                transform: translateY(0);
            }

            .service-card .card-title {
                font-size: 1.8rem;
                font-weight: 700;
                margin-bottom: 10px;
                opacity: 0;
                transform: translateY(20px);
                transition: all 0.5s ease;
            }

            .service-card:hover .card-title {
                opacity: 1;
                transform: translateY(0);
            }

            .service-card .card-description {
                font-size: 1rem;
                opacity: 0;
                transform: translateY(20px);
                transition: all 0.5s ease 0.1s;
                margin-bottom: 15px;
            }

            .service-card:hover .card-description {
                opacity: 0.9;
                transform: translateY(0);
            }

            .service-card .card-badge {
                display: inline-block;
                background: linear-gradient(135deg, var(--secondary-light), var(--secondary));
                color: var(--white);
                padding: 5px 15px;
                border-radius: 20px;
                font-size: 0.8rem;
                font-weight: 600;
                opacity: 0;
                transform: translateY(20px);
                transition: all 0.5s ease 0.2s;
            }

            .service-card:hover .card-badge {
                opacity: 1;
                transform: translateY(0);
            }
            /* Card Positions */
            .service-card.active {
                left: 50%;
                transform: translateX(-50%) translateZ(0);
                z-index: 14;
                box-shadow: 0 30px 60px rgba(0,0,0,0.6);
            }

            .service-card.next {
                left: calc(50% + 180px);
                transform: translateX(-50%) translateZ(-30px) scale(0.9);
                z-index: 13;
                opacity: 0.9;
                filter: brightness(0.8);
            }

            .service-card.prev {
                left: calc(50% - 180px);
                transform: translateX(-50%) translateZ(-30px) scale(0.9);
                z-index: 13;
                opacity: 0;
                visibility: hidden;
                filter: brightness(0.8);
                pointer-events: none;
            }

            .service-card.hidden {
                left: calc(50% + 360px);
                transform: translateX(-50%) translateZ(-60px) scale(0.8);
                z-index: 1;
                opacity: 0.6;
                filter: brightness(0.6);
            }

            .service-card.hidden-left {
                left: calc(50% - 360px);
                transform: translateX(-50%) translateZ(-60px) scale(0.8);
                z-index: 1;
                opacity: 0;
                visibility: hidden;
                pointer-events: none;
            }

        /* Navigation */
        .cards-navigation {
            position: absolute;
            bottom: -80px;
            left: 50%;
            transform: translateX(-50%);
            display: flex;
            align-items: center;
            gap: 30px;
            z-index: 10;
        }

        .prev-btn, .next-btn {
            width: 60px;
            height: 60px;
            border-radius: 50%;
            background: linear-gradient(135deg, rgba(255, 255, 255, 0.95), rgba(255, 255, 255, 0.85));
            border: 2px solid rgba(255,255,255,0.3);
            box-shadow: 0 10px 30px rgba(0,0,0,0.3);
            cursor: pointer;
            display: flex;
            align-items: center;
            justify-content: center;
            color: var(--primary);
            font-size: 1.5rem;
            transition: all 0.4s ease;
            position: relative;
            overflow: hidden;
        }

            .prev-btn::before, .next-btn::before {
                content: '';
                position: absolute;
                top: 0;
                left: 0;
                width: 100%;
                height: 100%;
                background: linear-gradient(135deg, var(--secondary-light), var(--secondary));
                opacity: 0;
                transition: opacity 0.4s ease;
                z-index: -1;
            }

            .prev-btn:hover, .next-btn:hover {
                color: var(--white);
                transform: translateY(-5px) scale(1.1);
                box-shadow: 0 15px 35px rgba(194, 174, 17, 0.5);
                border-color: transparent;
            }

                .prev-btn:hover::before, .next-btn:hover::before {
                    opacity: 1;
                }

        .carousel-counter {
            background: rgba(0,0,0,0.2);
            backdrop-filter: blur(10px);
            border-radius: 20px;
            padding: 8px 20px;
            color: var(--white);
            font-weight: 600;
            font-size: 1.1rem;
            box-shadow: 0 5px 15px rgba(0,0,0,0.2);
        }
        /* Content */
        .content-wrapper .title {
            font-size: 1rem;
            color: var(--white);
            text-transform: uppercase;
            letter-spacing: 2px;
            margin-bottom: 15px;
            font-weight: 700;
            opacity: 0.9;
        }

        .content-wrapper .name {
            font-size: 2.5rem;
            color: var(--white);
            margin-bottom: 25px;
            font-weight: 800;
            line-height: 1.2;
            text-shadow: 0 2px 5px rgba(0,0,0,0.2);
        }

        .content-wrapper .des {
            font-size: 1.2rem;
            color: var(--white);
            line-height: 1.8;
            margin-bottom: 40px;
            opacity: 0.95;
        }

        .content-wrapper .btn button {
            background: linear-gradient(135deg, var(--white) 0%, #f8f9fa 100%);
            color: var(--primary);
            border: none;
            padding: 18px 40px;
            border-radius: 50px;
            font-size: 1.1rem;
            font-weight: 700;
            cursor: pointer;
            transition: all 0.4s ease;
            box-shadow: 0 8px 25px rgba(0,0,0,0.3);
            position: relative;
            overflow: hidden;
            z-index: 1;
        }

            .content-wrapper .btn button::before {
                content: '';
                position: absolute;
                top: 0;
                left: -100%;
                width: 100%;
                height: 100%;
                background: linear-gradient(90deg, transparent, rgba(255,255,255,0.3), transparent);
                transition: left 0.7s ease;
                z-index: -1;
            }

            .content-wrapper .btn button:hover {
                background: linear-gradient(135deg, var(--secondary-light) 0%, var(--secondary) 100%);
                color: var(--white);
                transform: translateY(-5px);
                box-shadow: 0 15px 30px rgba(194, 174, 17, 0.5);
            }

                .content-wrapper .btn button:hover::before {
                    left: 100%;
                }

        /* Indicators */
        .card-indicators {
            display: flex;
            justify-content: center;
            gap: 15px;
            margin-top: 100px;
            z-index: 10;
            position: relative;
        }

        .indicator {
            width: 16px;
            height: 16px;
            border-radius: 50%;
            background-color: rgba(255, 255, 255, 0.3);
            cursor: pointer;
            transition: all 0.4s ease;
            border: 2px solid transparent;
            position: relative;
        }

            .indicator:hover {
                background-color: rgba(255, 255, 255, 0.6);
                transform: scale(1.2);
            }

            .indicator.active {
                background-color: var(--white);
                transform: scale(1.4);
                box-shadow: 0 0 20px rgba(255,255,255,0.8);
            }

                .indicator.active::after {
                    content: '';
                    position: absolute;
                    top: -4px;
                    left: -4px;
                    right: -4px;
                    bottom: -4px;
                    border: 2px solid rgba(255,255,255,0.5);
                    border-radius: 50%;
                    animation: pulse 2s infinite;
                }

        @keyframes pulse {
            0% {
                transform: scale(1);
                opacity: 1;
            }

            100% {
                transform: scale(1.5);
                opacity: 0;
            }
        }
        /* Auto Play */
        .auto-play-control {
            text-align: center;
            margin-top: 30px;
            z-index: 10;
            position: relative;
        }

        .auto-play-btn {
            background: rgba(255,255,255,0.1);
            backdrop-filter: blur(10px);
            border: 1px solid rgba(255,255,255,0.2);
            color: var(--white);
            padding: 10px 25px;
            border-radius: 30px;
            cursor: pointer;
            transition: all 0.3s ease;
            font-size: 0.9rem;
            display: inline-flex;
            align-items: center;
            gap: 8px;
        }

            .auto-play-btn:hover {
                background: rgba(255,255,255,0.2);
                transform: translateY(-2px);
                box-shadow: 0 5px 15px rgba(0,0,0,0.2);
            }

        @keyframes fadeInUp {
            from {
                opacity: 0;
                transform: translateY(30px);
            }

            to {
                opacity: 1;
                transform: translateY(0);
            }
        }

        .fade-in-up {
            animation: fadeInUp 0.8s ease forwards;
        }

/*** Hot Deals ***/
.bg-gradient-dark {
    background: linear-gradient(to top, rgba(0,0,0,0.7), transparent);
}

/* Packages carousel items */
.packages-carousel .image-card {
    border-radius: 1rem;
    overflow: hidden;
    box-shadow: 0 10px 20px rgba(0,0,0,0.1);
    position: relative;
    margin: 0 10px; /* Gap between items */
}

    .packages-carousel .image-card img {
        width: 100%;
        height: 180px; /* Thoda chhota height */
        object-fit: cover;
    }

    .packages-carousel .image-card .caption {
        position: absolute;
        bottom: 0;
        left: 0;
        right: 0;
        padding: 0.8rem;
        background: linear-gradient(to top, rgba(0,0,0,0.7), transparent);
        color: white;
        font-weight: 600;
        font-size: 0.9rem; /* 2rem se chhota kiya */
        text-align: center;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis; /* Long text ke liye ellipsis */
    }

/* Tablet par 3 items */
@media (max-width: 992px) {
    .packages-carousel .image-card img {
        height: 160px;
    }

    .packages-carousel .image-card .caption {
        font-size: 0.8rem;
        padding: 0.6rem;
    }
}

/* Mobile par 2 items */
@media (max-width: 768px) {
    .packages-carousel .image-card img {
        height: 140px;
    }

    .packages-carousel .image-card .caption {
        font-size: 0.75rem;
        padding: 0.5rem;
    }
}

/* Badge styles */
.badge-container {
    position: absolute;
    top: 10px; /* Thoda upar se kam distance */
    left: 10px;
    z-index: 10;
    pointer-events: none;
}

.country-badge {
    display: inline-block;
    padding: 4px 10px; /* Thoda chhota padding */
    font-size: 12px; /* Chhota font */
    font-weight: 600;
    color: white;
    border-radius: 30px;
    box-shadow: 0 4px 8px rgba(0,0,0,0.15);
    letter-spacing: 0.5px;
    text-transform: uppercase;
    pointer-events: none;
    border: 1px solid rgba(255,255,255,0.3);
}

/* Different colors for each country badge */
.sri-lanka-badge {
    background: linear-gradient(135deg, #0059b3, #002b5e);
}

.russia-badge {
    background: linear-gradient(135deg, #d52b1e, #8b1a12);
}

.kazakhstan-badge {
    background: linear-gradient(135deg, #00afca, #006b7f);
}

.newzealand-badge {
    background: linear-gradient(135deg, #00247d, #001336);
}

.singapore-badge {
    background: linear-gradient(135deg, #ed1c24, #9e1218);
}

/* Mobile par thoda aur chhota */
@media (max-width: 576px) {
    .packages-carousel .image-card img {
        height: 120px;
    }

    .country-badge {
        padding: 3px 8px;
        font-size: 10px;
    }
}
.heading-container {
    position: relative;
    padding: 20px 0 10px;
}

/* Subtitle with gradient background */
.heading-subtitle-wrapper {
    display: inline-block;
    margin-bottom: 15px;
    position: relative;
}

.heading-subtitle-bg {
    display: inline-block;
    background: linear-gradient(90deg, #6A89A7, #94989b, #6A89A7);
    padding: 3px;
    border-radius: 40px;
    box-shadow: 0 4px 15px #6a89a789;
    animation: gradientMove 3s infinite;
}

@keyframes gradientMove {
    0% {
        background-position: 0% 50%;
    }

    50% {
        background-position: 100% 50%;
    }

    100% {
        background-position: 0% 50%;
    }
}

.heading-subtitle {
    display: inline-block;
    background: white;
    color: #6A89A7 !important;
    font-size: 18px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 3px;
    padding: 8px 25px;
    border-radius: 40px;
    position: relative;
    z-index: 1;
}

/* Main heading with 3D effect */
.heading-main {
    margin: 0 0 15px;
    position: relative;
}

.heading-main-text {
    display: inline-flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
    position: relative;
}

.heading-word {
    font-size: 48px;
    font-weight: 800;
    line-height: 1.2;
    position: relative;
    display: inline-block;
}

    .heading-word:first-child {
        background: linear-gradient(135deg, #333 0%, #666 100%);
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent;
        background-clip: text;
        text-shadow: 3px 3px 0 rgba(0,0,0,0.1);
    }

    .heading-word.accent {
        background: linear-gradient(135deg, #ff0000, #ff6b6b, #ff4500);
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent;
        background-clip: text;
        position: relative;
    }

        .heading-word.accent::after {
            content: '';
            position: absolute;
            bottom: 5px;
            left: 0;
            width: 100%;
            height: 15px;
            background: rgba(255, 0, 0, 0.2);
            border-radius: 10px;
            z-index: -1;
            transform: skewX(-15deg);
        }

/* Decorative elements */
.heading-decoration {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 20px;
    margin-top: 20px;
}

.decoration-line {
    width: 80px;
    height: 3px;
    background: linear-gradient(90deg, transparent, #ff0000, #ff6b6b, #ff0000, transparent);
    border-radius: 3px;
}

.decoration-icon {
    font-size: 24px;
    color: #ff0000;
    animation: sparkle 2s infinite;
}

@keyframes sparkle {
    0%, 100% {
        transform: scale(1) rotate(0deg);
        opacity: 1;
    }

    50% {
        transform: scale(1.2) rotate(180deg);
        opacity: 0.7;
    }
}

/* Add floating effect to the entire heading */
.heading-container {
    animation: float 3s ease-in-out infinite;
}

@keyframes float {
    0%, 100% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-5px);
    }
}

/* Responsive styles */
@media (max-width: 768px) {
    .heading-word {
        font-size: 36px;
    }

    .heading-subtitle {
        font-size: 16px;
        padding: 6px 20px;
    }

    .decoration-line {
        width: 50px;
    }

    .decoration-icon {
        font-size: 20px;
    }
}

@media (max-width: 480px) {
    .heading-word {
        font-size: 28px;
    }

    .heading-main-text {
        gap: 5px;
    }

    .heading-subtitle {
        font-size: 14px;
        padding: 5px 15px;
    }

    .decoration-line {
        width: 30px;
    }
}

/* Optional: Add hover effect */
.heading-container:hover .heading-word.accent {
    animation: pulse 0.5s ease;
}

@keyframes pulse {
    0%, 100% {
        transform: scale(1);
    }

    50% {
        transform: scale(1.05);
    }
}

.heading-container:hover .heading-subtitle-bg {
    background: linear-gradient(90deg, #ff4500, #ff6b6b, #ff4500);
}

/* END */

/*** Destination Start ***/
.destination .tab-class .tab-content .tab-pane .destination-img {
    position: relative;
    overflow: hidden;
    border-radius: 10px;
    z-index: 1;
}

    .destination .tab-class .tab-content .tab-pane .destination-img .destination-overlay {
        position: absolute;
        bottom: -100%;
        left: 0;
        z-index: 3;
        transition: 0.5s;
    }

    .destination .tab-class .tab-content .tab-pane .destination-img .search-icon {
        position: absolute;
        width: 100%;
        height: 100%;
        top: 0;
        right: 0;
        display: flex;
        justify-content: end;
        padding: 20px 20px 0 0;
        background: rgba(0, 0, 0, 0.1);
        border-radius: 10px;
        transition: 0.5s;
    }

        .destination .tab-class .tab-content .tab-pane .destination-img .search-icon a i {
            opacity: 0;
            transition: 0.5s;
        }

.destination .tab-class .nav-item {
    padding: 0 0 20px 0;
}

    .destination .tab-class .nav-item a.active {
        background: var(--bs-primary) !important;
    }

        .destination .tab-class .nav-item a.active span {
            color: var(--bs-white) !important;
        }

.destination .tab-class .tab-content .destination-img:hover .search-icon {
    background: rgba(19, 53, 123, 0.4);
}

.destination .tab-class .tab-content .destination-img:hover .destination-overlay {
    bottom: 0;
}

.destination .tab-class .tab-content .destination-img:hover .search-icon a i {
    opacity: 1;
}

.destination .tab-class .tab-content .destination-img img {
    transition: 0.5s;
}

.destination .tab-class .tab-content .destination-img:hover img {
    transform: scale(1.2);
}
/*** Destination End ***/

        /*** Explore Tour ***/
        .ExploreTour .tab-class .nav-item {
            padding: 0 0 20px 0;
        }

            .ExploreTour .tab-class .nav-item a.active {
                background: var(--bs-primary) !important;
            }

                .ExploreTour .tab-class .nav-item a.active span {
                    color: var(--white) !important;
                }

        /* National Tour */
        .ExploreTour #NationalTab-1 .national-item {
            position: relative;
            border-radius: 10px;
            overflow: hidden;
        }

            .ExploreTour #NationalTab-1 .national-item img {
                transition: 0.5s;
            }

            .ExploreTour #NationalTab-1 .national-item:hover img {
                transform: scale(1.2);
            }

            .ExploreTour #NationalTab-1 .national-item .national-content {
                position: absolute;
                width: 100%;
                height: 100%;
                top: 0;
                left: 0;
                border-radius: 10px;
                padding: 20px;
                background: rgba(0, 0, 0, .2);
                display: flex;
                align-items: end;
                justify-content: center;
                transition: 0.5s;
            }

            .ExploreTour #NationalTab-1 .national-item:hover .national-content {
                background: rgba(19, 53, 123, .6);
            }

            .ExploreTour #NationalTab-1 .national-item .national-plus-icon {
                position: absolute;
                top: 50%;
                left: 50%;
                transform: translate(-50%, -50%);
                transition: 0.5s;
                opacity: 0;
            }

            .ExploreTour #NationalTab-1 .national-item:hover .national-plus-icon {
                opacity: 1;
            }

            .ExploreTour #NationalTab-1 .national-item .tour-offer {
                position: absolute;
                top: -1px;
                left: -1px;
                padding: 20px;
                border-top-right-radius: 40px;
                border-top-left-radius: 20px;
                border-bottom-right-radius: 0;
                border-bottom-left-radius: 80px;
                background: var(--bs-primary);
                color: var(--white);
            }
        /* International Tour */
        .ExploreTour #InternationalTab-2 .international-item {
            position: relative;
            border-radius: 10px;
            overflow: hidden;
        }

            .ExploreTour #InternationalTab-2 .international-item img {
                transition: 0.5s;
            }

            .ExploreTour #InternationalTab-2 .international-item:hover img {
                transform: scale(1.2);
            }

            .ExploreTour #InternationalTab-2 .international-item .tour-offer {
                position: absolute;
                top: -1px;
                left: -1px;
                padding: 20px;
                border-top-right-radius: 30px;
                border-top-left-radius: 20px;
                border-bottom-right-radius: 0;
                border-bottom-left-radius: 80px;
                background: var(--bs-primary);
                color: var(--white);
            }

            .ExploreTour #InternationalTab-2 .international-item .international-content {
                position: absolute;
                width: 100%;
                height: 100%;
                top: 0;
                left: 0;
                border-radius: 10px;
                padding: 20px;
                background: rgba(0, 0, 0, .3);
                display: flex;
                align-items: end;
                justify-content: center;
                transition: 0.5s;
            }

            .ExploreTour #InternationalTab-2 .international-item:hover .international-content {
                background: rgba(19, 53, 123, .6);
            }

            .ExploreTour #InternationalTab-2 .international-item .international-content .international-info a {
                font-size: 14px;
            }

            .ExploreTour #InternationalTab-2 .international-item .international-plus-icon {
                position: absolute;
                top: 50%;
                left: 50%;
                transform: translate(-50%, -50%);
                transition: 0.5s;
                opacity: 0;
            }

            .ExploreTour #InternationalTab-2 .international-item:hover .international-plus-icon {
                opacity: 1;
            }
        /* Carousel */
        .ExploreTour #InternationalTab-2 .InternationalTour-carousel .international-item {
            position: relative;
            overflow: hidden;
        }

        .ExploreTour #InternationalTab-2 .InternationalTour-carousel .owl-dots {
            margin-top: 30px;
            display: flex;
            align-items: center;
            justify-content: center;
        }

        .ExploreTour #InternationalTab-2 .InternationalTour-carousel .owl-dot {
            position: relative;
            display: inline-block;
            margin: 0 5px;
            width: 15px;
            height: 15px;
            background: var(--bs-light);
            border: 1px solid var(--bs-primary);
            border-radius: 10px;
            transition: 0.5s;
        }

            .ExploreTour #InternationalTab-2 .InternationalTour-carousel .owl-dot.active {
                width: 40px;
                background: var(--bs-primary);
            }
        /*** Packages ***/
        .packages .packages-item .packages-img {
            position: relative;
            overflow: hidden;
            transition: 0.5s;
            border-top-right-radius: 10px;
            border-top-left-radius: 10px;
            z-index: 1;
        }

            .packages .packages-item .packages-img .packages-info {
                background: rgba(0, 0, 0, .3);
            }

                .packages .packages-item .packages-img .packages-info small,
                .packages .packages-item .packages-img .packages-info small i {
                    color: var(--white);
                    transition: 0.5s;
                }

            .packages .packages-item .packages-img::after {
                position: absolute;
                content: "";
                width: 0;
                height: 0;
                top: 50%;
                left: 50%;
                transform: translate(-50%, -50%);
                border: 0px solid;
                border-radius: 10px !important;
                visibility: hidden;
                transition: 0.7s;
                z-index: 3;
            }

            .packages .packages-item .packages-img:hover.packages-img::after {
                width: 100%;
                height: 100%;
                border: 300px solid;
                border-color: rgba(19, 53, 123, 0.6);
                visibility: visible;
            }

            .packages .packages-item .packages-img small,
            .packages .packages-item .packages-img small i {
                transition: 0.5s;
            }

            .packages .packages-item .packages-img:hover small,
            .packages .packages-item .packages-img:hover small i {
                color: var(--white) !important;
            }

            .packages .packages-item .packages-img img {
                transition: 0.5s;
            }

            .packages .packages-item .packages-img:hover img {
                transform: scale(1.3);
            }

            .packages .packages-item .packages-img .packages-price {
                position: absolute;
                width: 100px;
                top: 0;
                left: 50%;
                transform: translateX(-50%);
                display: inline-block;
                background: var(--bs-primary);
                color: var(--white);
                border-bottom-left-radius: 10px;
                border-bottom-right-radius: 10px;
                z-index: 5;
            }

        .packages .packages-carousel {
            position: relative;
        }

            .packages .packages-carousel .owl-nav .owl-prev {
                position: absolute;
                top: -50px;
                left: 0;
                padding: 5px 30px;
                border: 1px solid var(--bs-primary);
                border-radius: 30px;
                transition: 0.5s;
            }

            .packages .packages-carousel .owl-nav .owl-next {
                position: absolute;
                top: -50px;
                right: 0;
                padding: 5px 30px;
                border: 1px solid var(--bs-primary);
                border-radius: 30px;
                transition: 0.5s;
            }

                .packages .packages-carousel .owl-nav .owl-prev i,
                .packages .packages-carousel .owl-nav .owl-next i {
                    color: var(--bs-primary);
                    font-size: 17px;
                    transition: 0.5s;
                }

                .packages .packages-carousel .owl-nav .owl-prev:hover,
                .packages .packages-carousel .owl-nav .owl-next:hover {
                    background: var(--bs-primary);
                }

                    .packages .packages-carousel .owl-nav .owl-prev:hover i,
                    .packages .packages-carousel .owl-nav .owl-next:hover i {
                        color: var(--white);
                    }
        /*** Tour Booking ***/
        .booking {
            background: linear-gradient(90deg, rgba(0, 70, 100, 0.95) 0%, rgba(0, 70, 100, 0.7) 30%, rgba(0, 70, 100, 0.3) 60%, transparent 100%), url(2.jpg);
            background-position: center center;
            background-repeat: no-repeat;
            background-size: cover;
            background-attachment: fixed;
            position: relative;
            overflow: visible;
        }

            .booking .container {
                position: relative;
                z-index: 1;
            }

                .booking .container .section-booking-title {
                    position: relative;
                    display: inline-block;
                    text-transform: uppercase;
                    color: var(--white);
                }

                    .booking .container .section-booking-title::before {
                        content: "";
                        width: 50px;
                        position: absolute;
                        top: 50%;
                        right: 0;
                        transform: translateY(-50%);
                        margin-right: -50px;
                        border: 1px solid var(--white) !important;
                    }

                .booking .container form .btn.btn-primary {
                    box-shadow: inset 0 0 0 0 var(--bs-primary);
                }

                    .booking .container form .btn.btn-primary:hover {
                        box-shadow: inset 800px 0 0 0 var(--bs-light) !important;
                        color: var(--bs-primary) !important;
                    }
       
        /*** Blog Start ***/
        .blog .blog-item .blog-img {
            position: relative;
        }

            .blog .blog-item .blog-img .blog-info {
                position: absolute;
                width: 100%;
                left: 0;
                bottom: 0;
                display: flex;
                background: rgba(255, 255, 255, .2);
                color: var(--bs-white);
            }

            .blog .blog-item .blog-img .blog-img-inner {
                position: relative;
                border-top-right-radius: 10px;
                border-top-left-radius: 10px;
            }

                .blog .blog-item .blog-img .blog-img-inner .blog-icon {
                    position: absolute;
                    width: 100%;
                    height: 0;
                    top: 50%;
                    left: 50%;
                    transform: translate(-50%, -50%);
                    border-top-right-radius: 10px;
                    border-top-left-radius: 10px;
                    display: flex;
                    align-items: center;
                    justify-content: center;
                    transition: 0.5s;
                }

                    .blog .blog-item .blog-img .blog-img-inner .blog-icon a {
                        display: flex;
                        align-items: center;
                        justify-content: center;
                        opacity: 0;
                        transition: 0.5s;
                    }

            .blog .blog-item .blog-img:hover .blog-img-inner .blog-icon a {
                opacity: 1;
            }

            .blog .blog-item .blog-img:hover .blog-img-inner .blog-icon {
                height: 100%;
                background: rgba(19, 53, 123, .6);
                opacity: 1;
            }

            .blog .blog-item .blog-img .blog-img-inner {
                overflow: hidden;
            }

                .blog .blog-item .blog-img .blog-img-inner img {
                    transition: 0.5s;
                }

            .blog .blog-item .blog-img:hover .blog-img-inner img {
                transform: scale(1.2);
            }
        /*** Blog End ***/
        /*** Testimonial ***/
        .testimonial .testimonial-carousel {
            position: relative;
        }

            .testimonial .testimonial-carousel .testimonial-item .testimonial-img {
                position: relative;
                width: 100px !important;
                height: 100px !important;
                top: 0;
                left: 50%;
                transform: translate(-50%, -50%);
                border: 3px solid var(--bs-primary);
                border-style: dotted;
                border-radius: 50%;
            }

            .testimonial .testimonial-carousel .owl-dots {
                margin-top: 30px;
                display: flex;
                align-items: center;
                justify-content: center;
            }

            .testimonial .testimonial-carousel .owl-dot {
                position: relative;
                display: inline-block;
                margin: 0 5px;
                width: 15px;
                height: 15px;
                background: var(--bs-light);
                border: 1px solid var(--bs-primary);
                border-radius: 10px;
                transition: 0.5s;
            }

                .testimonial .testimonial-carousel .owl-dot.active {
                    width: 40px;
                    background: var(--bs-primary);
                }

            .testimonial .testimonial-carousel .owl-nav .owl-prev {
                position: absolute;
                top: -55px;
                left: 0;
                padding: 5px 30px;
                border: 1px solid var(--bs-primary);
                border-radius: 30px;
                transition: 0.5s;
            }

            .testimonial .testimonial-carousel .owl-nav .owl-next {
                position: absolute;
                top: -55px;
                right: 0;
                padding: 5px 30px;
                border: 1px solid var(--bs-primary);
                border-radius: 30px;
                transition: 0.5s;
            }

                .testimonial .testimonial-carousel .owl-nav .owl-prev i,
                .testimonial .testimonial-carousel .owl-nav .owl-next i {
                    color: var(--bs-primary);
                    font-size: 17px;
                    transition: 0.5s;
                }

                .testimonial .testimonial-carousel .owl-nav .owl-prev:hover,
                .testimonial .testimonial-carousel .owl-nav .owl-next:hover {
                    background: var(--bs-primary);
                }

                    .testimonial .testimonial-carousel .owl-nav .owl-prev:hover i,
                    .testimonial .testimonial-carousel .owl-nav .owl-next:hover i {
                        color: var(--white);
                    }

            .testimonial .testimonial-carousel .owl-item.center .testimonial-item .testimonial-comment {
                background: var(--bs-primary) !important;
                color: var(--white);
                transition: 0.5s;
            }

            .testimonial .testimonial-carousel .owl-item.center .testimonial-item .testimonial-img {
                border: 3px solid var(--white);
                border-style: dotted;
                transition: 0.5s;
            }
        /*** Footer ***/
        .footer {
            background: var(--dark);
        }

            .footer .footer-item a {
                line-height: 30px;
                color: var(--white);
                transition: 0.5s;
            }

                .footer .footer-item a:hover {
                    letter-spacing: 2px;
                    color: var(--bs-primary);
                }
        /*** Copyright ***/
        .copyright {
            background-color: var(--dark) !important;
        }

            .copyright a {
                color: #e0e0e0 !important;
                transition: color 0.3s ease;
            }

                .copyright a:hover {
                    color: var(--primary) !important;
                }

            .copyright .text-success {
                color: #28a745 !important;
                font-weight: bold;
            }

        .blinking-dot {
            color: #28a745 !important;
            font-size: 1.2rem;
            animation: blink 1.5s infinite;
        }

        @keyframes blink {
            0%, 100% {
                opacity: 1;
            }

            50% {
                opacity: 0.3;
            }
        }

        .blinking-dot:hover {
            animation: blink 1s infinite;
        }
        /*** Visa Information Section ***/
        .visa-info-section {
            background: #f8f9fa;
            padding: 60px 0;
        }

        .visa-accordion-sidebar {
            background: var(--white);
            border-radius: 14px;
            box-shadow: 0 10px 30px rgba(106, 137, 167, 0.1);
            overflow: hidden;
        }

        .country-selector .form-select {
            border: none;
            background: linear-gradient(135deg, var(--primary), var(--primary-dark));
            color: var(--white);
            font-size: 1.3rem;
            font-weight: 700;
            padding: 16px 20px;
            border-radius: 14px 14px 0 0;
            box-shadow: 0 6px 20px rgba(106, 137, 167, 0.18);
        }

            .country-selector .form-select:focus {
                box-shadow: 0 0 0 0.2rem rgba(106, 137, 167, 0.35);
            }

            .country-selector .form-select option {
                background: var(--white);
                color: #333;
            }

        #visaAccordion .accordion-item {
            border: none;
            border-left: 4px solid transparent;
            margin-bottom: 1px;
        }

            #visaAccordion .accordion-item.border-start.border-danger {
                border-left-color: #dc3545 !important;
            }

            #visaAccordion .accordion-item.border-start.border-success,
            #visaAccordion .accordion-item.border-start.border-primary {
                border-left-color: var(--primary) !important;
            }

        #visaAccordion .accordion-button {
            background: var(--white);
            color: #333;
            font-size: 1.05rem;
            font-weight: 600;
            padding: 15px 20px;
            transition: all 0.3s ease;
        }

            #visaAccordion .accordion-button:not(.collapsed) {
                background: linear-gradient(to right, rgba(106,137,167,0.1), var(--white));
                color: var(--primary);
                font-weight: 700;
            }

            #visaAccordion .accordion-button:focus {
                box-shadow: none;
            }

            #visaAccordion .accordion-button::after {
                width: 1.1rem;
                height: 1.1rem;
                background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%236A89A7'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
            }

            #visaAccordion .accordion-button:not(.collapsed)::after {
                background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%236A89A7'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
                transform: rotate(-180deg);
            }

            #visaAccordion .accordion-button.text-danger {
                color: #dc3545 !important;
            }

                #visaAccordion .accordion-button.text-danger:not(.collapsed) {
                    background: linear-gradient(to right, rgba(220,53,69,0.1), var(--white));
                }

        #visaAccordion .accordion-body {
            padding: 20px 25px;
            background: #f9fbfc;
            font-size: 0.95rem;
            line-height: 1.6;
            color: #555;
        }

        .visa-right-panel {
            position: sticky;
            top: 90px;
            align-self: start;
        }

            .visa-right-panel .card {
                border-radius: 14px;
                transition: all 0.3s ease;
            }

                .visa-right-panel .card:hover {
                    transform: translateY(-6px);
                    box-shadow: 0 20px 50px rgba(106, 137, 167, 0.18);
                }

            .visa-right-panel .card-body {
                padding: 25px;
            }

            .visa-right-panel h6.text-muted {
                font-size: 0.9rem;
                color: #6c757d;
            }

            .visa-right-panel h3.text-success {
                font-size: 2.4rem;
                color: var(--primary);
            }

            .visa-right-panel .badge.bg-success {
                font-size: 0.85rem;
                padding: 8px 16px;
                background: linear-gradient(135deg, var(--secondary), var(--secondary-light)) !important;
                color: var(--white);
            }

            .visa-right-panel hr {
                margin: 20px 0;
                border-color: #e9ecef;
            }

            .visa-right-panel p.fw-bold {
                font-size: 1rem;
                color: #333;
            }

            .visa-right-panel .btn-danger {
                background: linear-gradient(135deg, var(--primary), var(--primary-dark));
                border: none;
                font-size: 1.1rem;
                padding: 12px;
                margin-top: 8px;
                box-shadow: 0 6px 20px rgba(106,137,167,0.3);
            }

                .visa-right-panel .btn-danger:hover {
                    background: linear-gradient(135deg, var(--secondary), var(--secondary-light));
                    box-shadow: 0 12px 30px rgba(212,175,55,0.4);
                }

            .visa-right-panel .card-header {
                padding: 15px 20px;
                background: #f8f9fa;
            }

                .visa-right-panel .card-header h6 {
                    font-size: 1.1rem;
                    color: var(--primary);
                }

            .visa-right-panel .form-control,
            .visa-right-panel textarea {
                padding: 10px 14px;
                font-size: 0.95rem;
                border-radius: 8px;
                border: 1px solid #ced4da;
            }

                .visa-right-panel .form-control:focus,
                .visa-right-panel textarea:focus {
                    border-color: var(--primary);
                    box-shadow: 0 0 0 0.2rem rgba(106,137,167,0.25);
                }

            .visa-right-panel .btn-primary {
                background: linear-gradient(135deg, var(--primary), var(--primary-dark));
                border: none;
                padding: 10px;
                font-size: 1rem;
                border-radius: 8px;
            }

                .visa-right-panel .btn-primary:hover {
                    background: linear-gradient(135deg, var(--secondary), var(--secondary-light));
                    box-shadow: 0 8px 25px rgba(212,175,55,0.3);
                }

        .enquiry-toggle {
            padding: 15px 20px;
            background: #f8f9fa;
        }

            .enquiry-toggle:hover {
                background: #eef2f6;
            }

            .enquiry-toggle .enquiry-icon {
                font-size: 1rem;
                color: var(--primary);
            }

        .visa-right-panel .btn-outline-success,
        .visa-right-panel .btn-success,
        .visa-right-panel .btn-outline-primary {
            width: 65px;
            height: 65px;
            font-size: 1.6rem;
            border-width: 2px;
        }

            .visa-right-panel .btn-outline-success:hover,
            .visa-right-panel .btn-success:hover,
            .visa-right-panel .btn-outline-primary:hover {
                transform: scale(1.1);
                box-shadow: 0 8px 20px rgba(0,0,0,0.12);
            }

        .visa-right-panel .btn-success {
            background: #25d366;
            border-color: #25d366;
        }

        .visa-right-panel p.small {
            font-size: 0.75rem;
            margin-top: 5px;
        }

        .visa-filters {
            padding: 16px !important;
            border-radius: 10px;
            background: #f8f9fa !important;
            border: 1px solid #e9ecef;
        }

            .visa-filters .form-label {
                font-size: 0.85rem;
                color: #555;
            }

            .visa-filters .form-control,
            .visa-filters .form-select {
                font-size: 0.9rem;
                padding: 8px 12px;
                border-radius: 8px;
            }

        .quantity-selector {
            height: 42px;
            border-radius: 8px;
            box-shadow: 0 2px 8px rgba(0,0,0,0.08);
        }

            .quantity-selector .qty-btn {
                font-size: 1.1rem !important;
                padding: 0 12px;
            }

            .quantity-selector input {
                font-size: 1rem !important;
            }

        .form-check-input:checked {
            background-color: var(--primary);
            border-color: var(--primary);
        }

        .btn-outline-danger {
            border-color: var(--primary);
            color: var(--primary);
        }

            .btn-outline-danger:hover {
                background: var(--primary);
                color: var(--white);
            }

        .inner-accordion .card-header {
            background: rgba(106,137,167,0.08) !important;
            border-radius: 10px 10px 0 0;
        }

        .inner-accordion .btn-link {
            font-size: 1rem !important;
            padding: 12px 18px !important;
            color: var(--primary);
        }

        .inner-toggle-icon {
            font-size: 1.1rem !important;
            color: var(--primary);
        }

        #visaTypesCollapse .card-body {
            padding: 20px 25px !important;
        }

        #visaTypesCollapse ul li span.text-success {
            color: var(--primary) !important;
            font-size: 0.95rem !important;
        }
        /*** Holiday Package Page ***/
        .schengen-visa-section .filters-panel {
            border: 1px solid #e9ecef;
            background: var(--white);
            width: 100%;
            max-width: 340px;
            margin: 0 auto;
            border-radius: 12px;
            box-shadow: 0 8px 25px rgba(106, 137, 167, 0.08);
            position: sticky;
            top: 50px;
            max-height: calc(100vh - 40px);
            overflow-y: auto;
            transition: all 0.3s ease;
            z-index: 100;
        }

            .schengen-visa-section .filters-panel:hover {
                box-shadow: 0 10px 30px rgba(106, 137, 167, 0.12);
            }

            .schengen-visa-section .filters-panel .d-flex.justify-content-between h6 {
                font-size: 0.95rem;
                color: var(--primary);
                font-weight: 700;
                margin-bottom: 0;
            }

            .schengen-visa-section .filters-panel #resetAllFilters {
                font-size: 0.8rem;
                color: var(--primary);
                text-decoration: none;
                transition: all 0.2s ease;
            }

                .schengen-visa-section .filters-panel #resetAllFilters:hover {
                    color: var(--primary-dark);
                    transform: rotate(180deg);
                }

            .schengen-visa-section .filters-panel .mb-4:first-of-type label {
                font-size: 0.85rem;
                color: #333;
                font-weight: 600;
                margin-bottom: 0.5rem;
                display: flex;
                justify-content: space-between;
                align-items: center;
            }

            .schengen-visa-section .filters-panel #durationValueBadge {
                background: var(--primary);
                color: var(--white);
                font-size: 0.75rem;
                padding: 0.2rem 0.6rem;
                border-radius: 10px;
                font-weight: 600;
            }

            .schengen-visa-section .filters-panel .position-relative {
                margin-top: 0.5rem;
            }

        .schengen-visa-section .custom-range {
            height: 6px;
            background: #e9ecef;
            border-radius: 8px;
            cursor: pointer;
            width: 100%;
            -webkit-appearance: none;
            margin: 0.8rem 0;
        }

            .schengen-visa-section .custom-range::-webkit-slider-thumb {
                -webkit-appearance: none;
                width: 18px;
                height: 18px;
                background: var(--primary);
                border-radius: 50%;
                cursor: pointer;
                border: 3px solid var(--white);
                box-shadow: 0 3px 8px rgba(106, 137, 167, 0.4);
                transition: all 0.2s ease;
            }

                .schengen-visa-section .custom-range::-webkit-slider-thumb:hover {
                    transform: scale(1.1);
                    box-shadow: 0 4px 12px rgba(106, 137, 167, 0.5);
                }

            .schengen-visa-section .custom-range::-moz-range-thumb {
                width: 18px;
                height: 18px;
                background: var(--primary);
                border-radius: 50%;
                cursor: pointer;
                border: 3px solid var(--white);
                box-shadow: 0 3px 8px rgba(106, 137, 167, 0.4);
            }

            .schengen-visa-section .custom-range::-webkit-slider-runnable-track {
                height: 6px;
                border-radius: 8px;
                background: linear-gradient(to right, var(--primary) 0%, var(--primary) calc(var(--value, 100%) * 100% / 14), #e9ecef calc(var(--value, 100%) * 100% / 14));
            }

        .schengen-visa-section .filters-panel .d-flex.justify-content-between.small {
            font-size: 0.75rem;
            color: #6c757d;
            margin-top: -0.5rem;
            font-weight: 500;
        }

        .schengen-visa-section .filters-panel .mb-4:nth-of-type(2) label {
            font-size: 0.85rem;
            color: #333;
            font-weight: 600;
            margin-bottom: 0.5rem;
        }

        .schengen-visa-section .filters-panel .d-flex.gap-1.align-items-center {
            gap: 0.5rem !important;
        }

        .schengen-visa-section .filters-panel .btn-outline-primary {
            border: 2px solid var(--primary);
            color: var(--primary);
            padding: 0.5rem 0.8rem;
            font-size: 0.82rem;
            font-weight: 500;
            border-radius: 50px;
            white-space: nowrap;
            flex: 1;
            text-align: center;
            transition: all 0.3s ease;
            background: transparent;
        }

            .schengen-visa-section .filters-panel .btn-outline-primary:hover {
                background: rgba(106, 137, 167, 0.08);
                transform: translateY(-1px);
            }

        .schengen-visa-section .filters-panel .btn-check:checked + .btn-outline-primary {
            background: var(--primary) !important;
            color: var(--white) !important;
            border-color: var(--primary) !important;
            box-shadow: 0 4px 10px rgba(106, 137, 167, 0.3);
            transform: translateY(-1px);
        }

        .schengen-visa-section .filters-panel label[data-bs-toggle="collapse"] {
            cursor: pointer;
            user-select: none;
            display: flex;
            justify-content: space-between;
            align-items: center;
            color: var(--primary);
            font-weight: 600;
            font-size: 0.85rem;
            padding: 0.4rem 0;
            margin-bottom: 0.2rem;
            transition: color 0.2s ease;
        }

            .schengen-visa-section .filters-panel label[data-bs-toggle="collapse"]:hover {
                color: var(--primary-dark);
            }

            .schengen-visa-section .filters-panel label[data-bs-toggle="collapse"] .fa-chevron-down {
                transition: transform 0.3s ease;
                font-size: 0.8rem;
                color: var(--primary);
                flex-shrink: 0;
            }

        .schengen-visa-section .filters-panel .collapse.show ~ label .fa-chevron-down {
            transform: rotate(180deg);
        }

        .schengen-visa-section .filters-panel .collapse .bg-light {
            background: #f8fbff !important;
            border-radius: 8px;
            padding: 0.8rem !important;
            border: 1px solid rgba(106, 137, 167, 0.15);
            animation: fadeIn 0.3s ease;
        }

        .schengen-visa-section .filters-panel .form-check {
            margin-bottom: 0.5rem;
            display: flex;
            align-items: center;
            min-height: auto;
        }

            .schengen-visa-section .filters-panel .form-check:last-child {
                margin-bottom: 0;
            }

        .schengen-visa-section .filters-panel .form-check-input {
            width: 1.1em;
            height: 1.1em;
            border: 2px solid #ced4da;
            border-radius: 4px;
            margin-top: 0;
            margin-right: 0.5rem;
            cursor: pointer;
            transition: all 0.2s ease;
            flex-shrink: 0;
        }

            .schengen-visa-section .filters-panel .form-check-input:checked {
                background-color: var(--primary);
                border-color: var(--primary);
                background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10l3 3l6-6'/%3e%3c/svg%3e");
                background-size: 0.9em;
            }

            .schengen-visa-section .filters-panel .form-check-input:hover {
                border-color: var(--primary);
            }

            .schengen-visa-section .filters-panel .form-check-input:focus {
                box-shadow: 0 0 0 0.2rem rgba(106, 137, 167, 0.25);
                outline: none;
            }

        .schengen-visa-section .filters-panel .form-check-label {
            font-size: 0.82rem;
            color: #495057;
            cursor: pointer;
            font-weight: 500;
            line-height: 1.3;
            transition: color 0.2s ease;
            flex-grow: 1;
        }

        .schengen-visa-section .filters-panel .form-check-input:checked + .form-check-label {
            color: var(--primary);
            font-weight: 600;
        }

        .schengen-visa-section .filters-panel .fa-star.text-warning {
            color: #ffc107 !important;
            font-size: 0.7rem;
            margin: 0 1px;
        }

        .schengen-visa-section .filters-panel .far.fa-star.text-muted {
            color: #ced4da !important;
            font-size: 0.7rem;
            margin: 0 1px;
        }

        .schengen-visa-section .filters-panel #ratingOptions .form-check-label {
            display: flex;
            align-items: center;
            justify-content: flex-start;
        }

            .schengen-visa-section .filters-panel #ratingOptions .form-check-label span.me-2 {
                min-width: 1rem;
                font-weight: 600;
                margin-right: 0.5rem;
            }

            .schengen-visa-section .filters-panel #ratingOptions .form-check-label span.ms-2 {
                margin-left: 0.5rem;
                color: #6c757d;
            }

        .schengen-visa-section .filters-panel .border-top {
            border-top: 1px solid rgba(106, 137, 167, 0.15) !important;
            padding-top: 1rem;
        }

            .schengen-visa-section .filters-panel .border-top .small {
                font-size: 0.8rem;
                color: #6c757d;
            }

        .schengen-visa-section .filters-panel #activeFiltersCount {
            background: linear-gradient(135deg, var(--primary), var(--primary-dark));
            color: var(--white);
            font-size: 0.75rem;
            padding: 0.2rem 0.6rem;
            border-radius: 10px;
            font-weight: 600;
            min-width: 1.5rem;
            text-align: center;
        }

        .schengen-visa-section .filters-panel > .mb-4 {
            margin-bottom: 1.2rem !important;
        }

        .schengen-visa-section .filters-panel .p-4 {
            padding: 1.2rem !important;
        }

        .schengen-visa-section .filters-panel::-webkit-scrollbar {
            width: 6px;
        }

        .schengen-visa-section .filters-panel::-webkit-scrollbar-track {
            background: #f1f1f1;
            border-radius: 10px;
            margin: 5px 0;
        }

        .schengen-visa-section .filters-panel::-webkit-scrollbar-thumb {
            background: var(--primary);
            border-radius: 10px;
        }

            .schengen-visa-section .filters-panel::-webkit-scrollbar-thumb:hover {
                background: var(--primary-dark);
            }

        .holiday-packages-desc {
            position: relative;
            overflow: hidden;
        }

            .holiday-packages-desc::before {
                content: '';
                position: absolute;
                top: 0;
                left: 0;
                right: 0;
                bottom: 0;
                background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1000 100" fill="%23f0f4f8"><polygon points="0,100 1000,0 1000,100"/></svg>') repeat-x bottom;
                opacity: 0.3;
                z-index: 0;
            }

        .desc-text-container {
            position: relative;
            z-index: 1;
        }

        #toggleDesc {
            color: #007bff !important;
            font-weight: 600;
            letter-spacing: 0.5px;
            transition: all 0.3s ease;
        }

            #toggleDesc:hover {
                color: #0056b3 !important;
                text-decoration: underline !important;
                transform: translateX(5px);
            }

            #toggleDesc.read-less::after {
                content: "";
                font-size: 0.9em;
                margin-left: 5px;
            }

            #toggleDesc.read-less {
                color: var(--primary) !important;
            }

        .btn-whatsapp {
            background-color: #25D366;
            border-color: #25D366;
            color: var(--white);
        }

            .btn-whatsapp:hover {
                background-color: #1da851;
                border-color: #1da851;
                color: var(--white);
            }

        .btn-enquiry {
            background-color: var(--primary);
            border-color: var(--primary-dark);
            color: var(--white);
        }

            .btn-enquiry:hover {
                background-color: #bb2d3b;
                border-color: #bb2d3b;
                color: var(--white);
            }

        .btn-action-group {
            display: flex;
            gap: 10px;
            flex-wrap: wrap;
            justify-content: end;
        }

        .enquiry-modal .modal-header {
            background-color: #0d6efd;
            color: var(--white);
        }

        .enquiry-modal .modal-title {
            font-weight: 600;
        }
        /*** About Section ***/
        .video-wrapper {
            position: relative;
            width: 100%;
            padding-bottom: 56.25%;
            border-radius: 10px;
            overflow: hidden;
            box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15);
        }

            .video-wrapper iframe {
                position: absolute;
                top: 0;
                left: 0;
                width: 100%;
                height: 100%;
                border: none;
                border-radius: 10px;
            }

        .vision-mission-card {
            transition: all 0.4s ease;
            cursor: default;
        }

            .vision-mission-card:hover {
                transform: translateY(-10px);
                box-shadow: 0 20px 40px rgba(0, 0, 0, 0.15);
            }

        .mission-card {
            transition: all 0.4s ease;
        }

            .mission-card:hover {
                transform: translateY(-10px);
                box-shadow: 0 20px 40px rgba(0, 0, 0, 0.3);
                background-color: #0055aa;
            }

        .logo-slider-wrapper {
            overflow: hidden;
            padding: 30px 0;
        }

        .logo-slider {
            width: 100%;
        }

        .logo-track {
            display: flex;
            animation: scroll 40s linear infinite;
            width: calc(200px * 24);
        }

            .logo-track img {
                height: 80px;
                width: 200px;
                object-fit: contain;
                margin: 0 30px;
                flex-shrink: 0;
                filter: grayscale(100%);
                opacity: 0.7;
                transition: all 0.4s ease;
            }

                .logo-track img:hover {
                    filter: grayscale(0%);
                    opacity: 1;
                    transform: scale(1.1);
                }

        @keyframes scroll {
            0% {
                transform: translateX(0);
            }

            100% {
                transform: translateX(calc(-200px * 12));
            }
        }

        .logo-slider-wrapper:hover .logo-track {
            animation-play-state: paused;
        }

        .stats1 {
            display: grid;
            grid-template-columns: repeat(4, 1fr);
            gap: 40px;
            max-width: 1300px;
            margin: 0 auto;
        }

        .stat1 {
            background: var(--bs-primary);
            backdrop-filter: blur(15px);
            border: 2px solid var(--white);
            border-radius: 10px;
            padding: 40px 20px;
            text-align: center;
            transition: all 0.4s ease;
        }

            .stat1:hover {
                transform: translateY(-15px);
                box-shadow: 0 20px 40px rgba(0, 0, 0, 0.4);
            }

            .stat1 .num {
                font-size: 4.5rem;
                font-weight: 900;
                background: var(--white);
                -webkit-background-clip: text;
                -webkit-text-fill-color: transparent;
                margin-bottom: 10px;
            }

            .stat1 .label {
                font-size: 1.2rem;
                color: var(--white);
                letter-spacing: 2px;
                text-transform: uppercase;
            }

        .why-choose-card {
            transition: all 0.4s ease;
        }

            .why-choose-card:hover {
                transform: translateY(-10px);
                box-shadow: 0 20px 40px rgba(0, 0, 0, 0.15);
            }
        /*** Button Styles ***/
        .btn-1 {
            -webkit-tap-highlight-color: transparent;
            -webkit-appearance: button;
            background-color: var(--white);
            background-image: none;
            color: var(--bs-primary);
            cursor: pointer;
            font-family: 'Lato', sans-serif;
            font-size: 100%;
            font-weight: 900;
            line-height: 1.5;
            margin: 0;
            -webkit-mask-image: -webkit-radial-gradient(var(--white), var(--white));
            padding: 0;
            border: 2px solid var(--bs-primary);
            border-radius: 999px;
            box-sizing: border-box;
            display: block;
            text-decoration: none;
            width: fit-content;
            margin: 0 auto;
            overflow: hidden;
            padding: 1.8rem 4rem;
            position: relative;
            text-transform: uppercase;
            font-size: 1.4rem;
        }

            .btn-1:disabled {
                cursor: default;
                opacity: 0.6;
            }

            .btn-1:-moz-focusring {
                outline: auto;
            }

            .btn-1 svg {
                display: block;
                vertical-align: middle;
            }

            .btn-1 [hidden] {
                display: none;
            }

            .btn-1 .original {
                background: var(--white);
                color: var(--bs-primary);
                display: grid;
                inset: 0;
                place-content: center;
                position: absolute;
                transition: transform 0.3s cubic-bezier(0.87, 0, 0.13, 1);
                font-family: 'Lato', sans-serif;
                font-weight: 900;
            }

            .btn-1:hover .original {
                transform: translateY(100%);
            }

            .btn-1 .letters {
                display: inline-flex;
                color: var(--bs-primary);
                font-family: 'Lato', sans-serif;
                font-weight: 900;
            }

            .btn-1 span {
                opacity: 0;
                transform: translateY(-15px);
                transition: transform 0.3s cubic-bezier(0.87, 0, 0.13, 1), opacity 0.3s;
                font-size: 1.4rem;
                font-family: 'Lato', sans-serif;
                font-weight: 900;
                color: var(--bs-primary);
            }

                .btn-1 span:nth-child(2n) {
                    transform: translateY(15px);
                }

            .btn-1:hover span {
                opacity: 1;
                transform: translateY(0);
            }

                .btn-1:hover span:nth-child(2) {
                    transition-delay: 0.1s;
                }

                .btn-1:hover span:nth-child(3) {
                    transition-delay: 0.2s;
                }

                .btn-1:hover span:nth-child(4) {
                    transition-delay: 0.3s;
                }

                .btn-1:hover span:nth-child(5) {
                    transition-delay: 0.4s;
                }

                .btn-1:hover span:nth-child(6) {
                    transition-delay: 0.5s;
                }

                .btn-1:hover span:nth-child(7) {
                    transition-delay: 0.6s;
                }

                .btn-1:hover span:nth-child(8) {
                    transition-delay: 0.7s;
                }

                .btn-1:hover span:nth-child(9) {
                    transition-delay: 0.8s;
                }

                .btn-1:hover span:nth-child(10) {
                    transition-delay: 0.9s;
                }

        /*** UAE Limo Page ***/
        .vision-mission-card,
        .bg-white.rounded.shadow-sm.h-100 {
            transition: all 0.4s ease-in-out;
            border: 1px solid #e0e0e0;
        }

            .vision-mission-card:hover,
            .bg-white.rounded.shadow-sm.h-100:hover {
                transform: translateY(-12px);
                box-shadow: 0 20px 40px rgba(0, 0, 0, 0.15) !important;
                border-color: var(--bs-primary);
                background-color: var(--white);
            }

            .vision-mission-card .fa-3x,
            .bg-white .fa-3x {
                transition: all 0.3s ease;
                color: var(--bs-primary);
            }

            .vision-mission-card:hover .fa-3x,
            .bg-white:hover .fa-3x {
                transform: scale(1.15);
                color: var(--bs-primary);
                filter: brightness(1.1);
            }

            .vision-mission-card h4,
            .bg-white h4 {
                transition: color 0.3s ease;
            }

            .vision-mission-card:hover h4,
            .bg-white:hover h4 {
                color: var(--bs-primary);
            }

/* Package Booking Modal Styles */
#packageBookingModal .modal-content {
    border-radius: 15px;
    border: none;
    overflow: hidden;
}

#packageBookingModal .modal-header {
    border-bottom: none;
    padding: 1.5rem 2rem;
}

#packageBookingModal .modal-body {
    padding: 2rem;
}

#packageBookingModal .modal-footer {
    border-top: none;
    background: #f8f9fa;
    padding: 1rem 2rem;
}

/* Modal Form Styles */
#packageBookingForm .form-control,
#packageBookingForm .form-select {
    border-radius: 8px;
    padding: 1rem;
}

#packageBookingForm .form-floating > label {
    padding: 1rem;
}

#packageBookingForm .form-control:focus,
#packageBookingForm .form-select:focus {
    border-color: #0066cc;
    box-shadow: 0 0 0 0.25rem rgba(0, 102, 204, 0.25);
}

/* Modal Captcha Styles */
#modalHoldBtn {
    height: 60px;
    border: 2px solid #dee2e6;
    border-radius: 8px;
    background: transparent;
    transition: all 0.3s ease;
}

    #modalHoldBtn:hover {
        border-color: #adb5bd;
        background: rgba(0, 102, 204, 0.05);
    }

#modalProgress {
    transition: width 0.1s linear !important;
    z-index: 0;
}

#modalButtonText {
    z-index: 1;
}

/* Modal Alert Styles */
#modal-form-message .alert {
    border-radius: 8px;
    border: none;
    animation: slideDown 0.3s ease;
}

/* Animation for form elements */
@keyframes modalSlideIn {
    from {
        opacity: 0;
        transform: translateY(-20px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

#packageBookingForm .row > div {
    animation: modalSlideIn 0.5s ease forwards;
    opacity: 0;
}

    #packageBookingForm .row > div:nth-child(1) {
        animation-delay: 0.1s;
    }

    #packageBookingForm .row > div:nth-child(2) {
        animation-delay: 0.2s;
    }

    #packageBookingForm .row > div:nth-child(3) {
        animation-delay: 0.3s;
    }

    #packageBookingForm .row > div:nth-child(4) {
        animation-delay: 0.4s;
    }

    #packageBookingForm .row > div:nth-child(5) {
        animation-delay: 0.5s;
    }

    #packageBookingForm .row > div:nth-child(6) {
        animation-delay: 0.6s;
    }

    #packageBookingForm .row > div:nth-child(7) {
        animation-delay: 0.7s;
    }

    #packageBookingForm .row > div:nth-child(8) {
        animation-delay: 0.8s;
    }

    #packageBookingForm .row > div:nth-child(9) {
        animation-delay: 0.9s;
    }

    #packageBookingForm .row > div:nth-child(10) {
        animation-delay: 1s;
    }

/* Mobile Responsive Modal */
@media (max-width: 768px) {
    #packageBookingModal .modal-dialog {
        margin: 10px;
    }

    #packageBookingModal .modal-body {
        padding: 1.5rem;
    }

    #modalHoldBtn {
        height: 50px;
        font-size: 14px;
    }

    #packageBookingForm .form-control,
    #packageBookingForm .form-select {
        font-size: 16px !important;
        padding: 0.875rem;
    }
}

/* Success Animation for Modal */
#packageBookingModal.modal.show .modal-content {
    animation: modalAppear 0.3s ease;
}

@keyframes modalAppear {
    from {
        opacity: 0;
        transform: scale(0.9);
    }

    to {
        opacity: 1;
        transform: scale(1);
    }
}

/* Disabled Select Styling */
#modalService:disabled {
    background-color: #e9ecef;
    opacity: 1;
    cursor: not-allowed;
}

/* Package Badge in Modal */
.package-badge {
    display: inline-block;
    background: linear-gradient(135deg, #0066cc, #003366);
    color: white;
    padding: 5px 15px;
    border-radius: 20px;
    font-size: 14px;
    font-weight: 600;
    margin-bottom: 20px;
}
/* End */
        /*** Subscribe ***/
        .subscribe {
            background: linear-gradient(#6a89a78c, rgba(255,255,255,0.3)), url(../img/subscribe-img.jpg);
            background-attachment: fixed;
            background-position: center center;
            background-repeat: no-repeat;
            background-size: cover;
        }

            .subscribe .subscribe-title {
                position: relative;
                display: inline-block;
                text-transform: uppercase;
                color: var(--white);
            }

                .subscribe .subscribe-title::before {
                    content: "";
                    width: 50px;
                    position: absolute;
                    top: 50%;
                    right: 0;
                    transform: translateY(-50%);
                    margin-right: -50px;
                    border: 1px solid var(--white) !important;
                }

                .subscribe .subscribe-title::after {
                    content: "";
                    width: 50px;
                    position: absolute;
                    top: 50%;
                    left: 0;
                    transform: translateY(-50%);
                    margin-left: -50px;
                    border: 1px solid var(--white) !important;
                }

        .subscribe-umrah {
            background-image: linear-gradient(#6a89a78c, rgba(255,255,255,0.3)),url('../img/umrah-page/Saudia.jpg') !important;
            background-attachment: fixed;
            background-position: center center;
            background-repeat: no-repeat;
            background-size: cover;
        }
        /*** Travel Guide ***/
        .guide .guide-item .guide-img {
            position: relative;
        }

            .guide .guide-item .guide-img .guide-icon {
                position: absolute;
                bottom: 0;
                left: 50%;
                transform: translate(-50%, -50%);
                margin-bottom: -40px;
                display: flex;
                justify-content: center;
                border: 1px solid var(--bs-primary);
                background: var(--bs-light);
                z-index: 9;
            }

            .guide .guide-item .guide-img .guide-img-efects {
                position: relative;
                overflow: hidden;
                border-top-right-radius: 10px;
                border-top-left-radius: 10px;
            }

                .guide .guide-item .guide-img .guide-img-efects::after {
                    content: "";
                    width: 100%;
                    height: 0;
                    position: absolute;
                    top: 0;
                    left: 0;
                    transition: 0.5s;
                }

        .guide .guide-item:hover .guide-img-efects::after {
            height: 100%;
            border-top-right-radius: 10px;
            border-top-left-radius: 10px;
            background: rgba(19, 53, 123, .5);
        }

        .guide .guide-item .guide-img-efects img {
            transition: 0.5s;
        }

        .guide .guide-item:hover .guide-img-efects img {
            transform: scale(1.1);
        }

        .guide .guide-item .guide-title {
            position: relative;
            background: var(--bs-light);
            transition: 0.5s;
        }

            .guide .guide-item .guide-title::after {
                content: "";
                width: 100%;
                height: 0;
                position: absolute;
                bottom: 0;
                left: 0;
                border-bottom-right-radius: 10px;
                border-bottom-left-radius: 10px;
                transition: 0.5s;
            }

        .guide .guide-item:hover .guide-title::after {
            height: 100%;
            background: var(--bs-primary) !important;
            color: var(--white);
        }

        .guide .guide-item .guide-title .guide-title-inner,
        .guide .guide-item:hover .guide-title .guide-title-inner h4 {
            transition: 0.5s;
        }

        .guide .guide-item:hover .guide-title .guide-title-inner {
            position: relative;
            color: var(--white) !important;
            z-index: 2;
        }

            .guide .guide-item:hover .guide-title .guide-title-inner h4 {
                color: var(--white);
            }

        /*** Visa Page ***/
        .icon-box {
            transition: all 0.3s ease;
        }

            .icon-box:hover {
                transform: translateY(-3px);
                box-shadow: 0 5px 15px rgba(106, 137, 167, 0.3);
            }

        .btn-primary {
            background-color: var(--primary);
            border-color: var(--primary);
            transition: all 0.3s ease;
        }

            .btn-primary:hover {
                background-color: #5a7897;
                border-color: #5a7897;
                transform: translateY(-2px);
                box-shadow: 0 5px 15px rgba(106, 137, 167, 0.4);
            }

        .btn-outline-primary {
            color: var(--primary);
            border-color: var(--primary);
            transition: all 0.3s ease;
        }

            .btn-outline-primary:hover {
                background-color: var(--primary);
                border-color: var(--primary);
                color: var(--white);
                transform: translateY(-2px);
            }

        .visa-image {
            overflow: hidden;
            border-radius: 15px;
        }

            .visa-image img {
                transition: transform 0.5s ease;
            }

            .visa-image:hover img {
                transform: scale(1.05);
            }

        .thin-image-container {
            position: relative;
            transition: all 0.3s ease;
        }

            .thin-image-container:hover {
                transform: translateY(-3px);
                box-shadow: 0 10px 25px rgba(0, 0, 0, 0.15) !important;
            }

        .image-overlay {
            transition: all 0.5s ease;
        }

        .thin-image-container:hover .image-overlay {
            background: linear-gradient(90deg, rgb(106, 137, 167, 0.28) 0%, rgb(106, 137, 167, 0.20) 100%) !important;
        }

        .btn-2 {
            scale: 0.9;
            padding: -30px 10px;
            width: 280px;
            height: 64px;
            background: var(--bs-primary);
            color: var(--white);
            border: none;
            border-radius: 32px;
            font-size: 18px;
            font-weight: bold;
            cursor: pointer;
            position: relative;
            z-index: 1;
            overflow: hidden;
            transition: all 0.3s ease;
            margin: 10px 0;
        }

            .btn-2:hover {
                color: var(--bs-primary);
                transform: translateY(-3px);
                box-shadow: 0 10px 20px rgba(0, 0, 0, 0.2);
            }

            .btn-2:after {
                content: "";
                background: var(--white);
                position: absolute;
                z-index: -1;
                left: -20%;
                right: -20%;
                top: 0;
                bottom: 0;
                transform: skewX(-45deg) scale(0, 1);
                transition: all 0.5s;
            }

            .btn-2:hover:after {
                transform: skewX(-45deg) scale(1, 1);
                transition: all 0.5s;
            }

            .btn-2[data-country="schengen"]:hover {
                background: linear-gradient(45deg, rgba(0, 51, 153, 0.1), rgba(0, 51, 153, 0.1)), radial-gradient(circle at center, rgba(255, 204, 0, 0.2) 25%, transparent 25%);
            }

            .btn-2[data-country="uk"]:hover {
                background: linear-gradient(45deg, rgba(0, 36, 125, 0.1) 0%, rgba(0, 36, 125, 0.1) 50%, rgba(255, 255, 255, 0.1) 50%, rgba(255, 255, 255, 0.1) 100% );
            }

            .btn-2[data-country="usa"]:hover {
                background: linear-gradient(to bottom, rgba(0, 38, 100, 0.1) 0%, rgba(0, 38, 100, 0.1) 50%, rgba(178, 34, 52, 0.1) 50%, rgba(178, 34, 52, 0.1) 100% );
            }

            .btn-2[data-country="australia"]:hover {
                background: linear-gradient(45deg, rgba(0, 43, 91, 0.1) 0%, rgba(0, 43, 91, 0.1) 70%, rgba(255, 255, 255, 0.1) 70%, rgba(255, 255, 255, 0.1) 100% );
            }

            .btn-2[data-country="newzealand"]:hover {
                background: linear-gradient(45deg, rgba(0, 46, 93, 0.1) 0%, rgba(0, 46, 93, 0.1) 70%, rgba(204, 0, 0, 0.1) 70%, rgba(204, 0, 0, 0.1) 100% );
            }

            .btn-2[data-country="malaysia"]:hover {
                background: linear-gradient(to bottom, rgba(204, 0, 0, 0.1) 0%, rgba(204, 0, 0, 0.1) 33%, rgba(255, 255, 255, 0.1) 33%, rgba(255, 255, 255, 0.1) 66%, rgba(0, 102, 0, 0.1) 66%, rgba(0, 102, 0, 0.1) 100% );
            }

            .btn-2[data-country="singapore"]:hover {
                background: linear-gradient(to bottom, rgba(255, 0, 0, 0.1) 0%, rgba(255, 0, 0, 0.1) 50%, rgba(255, 255, 255, 0.1) 50%, rgba(255, 255, 255, 0.1) 100% );
            }

            .btn-2[data-country="thailand"]:hover {
                background: linear-gradient(to bottom, rgba(165, 25, 49, 0.1) 0%, rgba(165, 25, 49, 0.1) 25%, rgba(255, 255, 255, 0.1) 25%, rgba(255, 255, 255, 0.1) 50%, rgba(35, 85, 150, 0.1) 50%, rgba(35, 85, 150, 0.1) 75%, rgba(255, 255, 255, 0.1) 75%, rgba(255, 255, 255, 0.1) 100% );
            }

            .btn-2[data-country="russia"]:hover {
                background: linear-gradient(to bottom, rgba(255, 255, 255, 0.1) 0%, rgba(255, 255, 255, 0.1) 33%, rgba(0, 57, 166, 0.1) 33%, rgba(0, 57, 166, 0.1) 66%, rgba(213, 43, 30, 0.1) 66%, rgba(213, 43, 30, 0.1) 100% );
            }

        /*** Packages Items ***/
        .packages-item {
            transition: all 0.3s ease;
            cursor: pointer;
            border-radius: 10px;
            overflow: hidden;
        }

            .packages-item:hover {
                transform: translateY(-10px);
                box-shadow: 0 15px 30px rgba(0, 0, 0, 0.15) !important;
            }

                .packages-item:hover .packages-img img {
                    transform: scale(1.05);
                }

        .packages-img {
            overflow: hidden;
        }

            .packages-img img {
                transition: transform 0.5s ease;
            }

        .packages-item:hover h5 {
            color: var(--primary) !important;
        }

        .packages-item:hover .packages-badge {
            transform: scale(1.1);
        }

        .packages-badge {
            transition: transform 0.3s ease;
        }


        /*** Umrah Page ***/
        .deal-card {
            overflow: hidden;
            transition: all 0.4s ease;
            border-radius: 12px;
            box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15);
        }

            .deal-card:hover {
                transform: scale(1.05);
                box-shadow: 0 20px 50px rgba(0, 0, 0, 0.25);
            }

            .deal-card .bg-image-inner {
                width: 100%;
                height: 100%;
                background-size: cover;
                background-position: center;
                transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
            }

            .deal-card:hover .bg-image-inner {
                transform: scale(1.15);
            }

            .deal-card:hover .bg-dark {
                background-color: rgba(0, 0, 0, 0.4) !important;
            }

        .card-link:hover .card {
            transform: translateY(-8px);
            box-shadow: 0 10px 30px rgba(0,0,0,0.15) !important;
            transition: all 0.3s ease;
        }

        .transition-hover {
            transition: all 0.3s ease;
        }

        .horizontal-card {
            max-width: 1100px;
            transition: transform 0.3s ease, box-shadow 0.3s ease;
        }

            .horizontal-card:hover {
                transform: translateY(-8px);
                box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25) !important;
            }

        .rounded-4 {
            border-radius: 1.5rem !important;
        }

        .destination-card {
            transition: all 0.4s ease;
            min-height: 250px;
        }

            .destination-card img {
                transition: transform 0.6s ease;
            }

            .destination-card:hover img {
                transform: scale(1.1);
            }

        .card-overlay {
            background: linear-gradient(to top, rgba(0,0,0,0.8) 0%, transparent 100%);
        }
        /*** Contact ***/
        .contact .container form .btn.btn-primary {
            box-shadow: inset 0 0 0 0 var(--bs-primary);
        }

            .contact .container form .btn.btn-primary:hover {
                box-shadow: inset 1000px 0 0 0 var(--bs-light) !important;
                color: var(--bs-primary) !important;
            }
        /*** Holiday Packages Page ***/
        .filter-section {
            margin-bottom: 30px;
        }

        .filter-btn {
            background: var(--white);
            border: 1px solid #ddd;
            border-radius: 20px;
            padding: 8px 20px;
            font-size: 0.9rem;
            color: #666;
            cursor: pointer;
            transition: all 0.3s ease;
            margin: 0 2px;
        }

            .filter-btn:hover {
                background: #f8f9fa;
                border-color: var(--primary);
                color: var(--primary);
            }

            .filter-btn.active {
                background: var(--primary);
                border-color: var(--primary);
                color: var(--white);
            }

        .packages-slider-container {
            overflow: hidden;
            position: relative;
            margin: 0 auto;
        }

        .packages-slider-track {
            display: flex;
            transition: transform 0.5s ease-in-out;
            gap: 20px;
        }

        .slider-item {
            flex: 0 0 calc(25% - 15px);
            max-width: calc(25% - 15px);
            min-width: calc(25% - 15px);
        }

        .slider-nav {
            position: absolute;
            top: 50%;
            transform: translateY(-50%);
            background: var(--white);
            border: 2px solid var(--primary);
            color: var(--primary);
            width: 50px;
            height: 50px;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            cursor: pointer;
            z-index: 10;
            transition: all 0.3s ease;
            box-shadow: 0 4px 12px rgba(0,0,0,0.1);
        }

            .slider-nav:hover {
                background: var(--primary);
                color: var(--white);
            }

            .slider-nav.prev {
                left: -25px;
            }

            .slider-nav.next {
                right: -25px;
            }

        .slider-dots {
            display: flex;
            justify-content: center;
            gap: 10px;
        }

        .slider-dot {
            width: 12px;
            height: 12px;
            border-radius: 50%;
            background: #ddd;
            cursor: pointer;
            transition: all 0.3s ease;
        }

            .slider-dot.active {
                background: var(--primary);
                transform: scale(1.2);
            }

        .packages-carousel.no-carousel {
            display: flex !important;
            flex-wrap: wrap !important;
            justify-content: center !important;
            gap: 30px !important;
        }

            .packages-carousel.no-carousel .packages-item {
                margin: 0 !important;
                flex-shrink: 0;
            }

        .filter-btn.active {
            background-color: var(--primary) !important;
            color: var(--white) !important;
            border-color: var(--primary) !important;
        }

        .filter-btn {
            transition: all 0.3s ease;
        }

            .filter-btn:hover {
                background-color: var(--primary) !important;
                color: var(--white) !important;
                border-color: var(--primary) !important;
            }

        .tab-class .nav-pills {
            border-bottom: none;
        }

        .tab-class .nav-link {
            margin: 0 10px;
            transition: all 0.3s ease;
            border: 2px solid var(--primary) !important;
        }

            .tab-class .nav-link.active {
                background-color: var(--primary) !important;
                color: var(--white) !important;
            }

                .tab-class .nav-link.active span {
                    color: var(--white) !important;
                }

            .tab-class .nav-link:not(.active):hover {
                background-color: rgba(106, 137, 167, 0.1) !important;
            }
        /* Uae madical Tourism page */
        /* Holiday Page*/
        /* Best Time To Visit Section - Custom Style */
        .month-card {
            transition: all 0.3s ease;
        }

            .month-card:hover {
                transform: translateY(-8px);
                box-shadow: 0 10px 25px rgba(106, 137, 167, 0.2);
            }

        .month-btn {
            background-color: transparent;
            color: #6A89A7 !important;
            border: 1px solid #6A89A7;
            transition: all 0.3s ease;
            font-size: 0.9rem;
            min-width: 60px;
        }

            .month-btn:hover {
                background-color: #6A89A7 !important;
                color: white !important;
                transform: translateY(-2px);
                box-shadow: 0 4px 8px rgba(106, 137, 167, 0.3);
            }

            .month-btn.active {
                background-color: #6A89A7 !important;
                border-color: #6A89A7 !important;
                color: white !important;
                transform: translateY(-2px);
                box-shadow: 0 4px 8px rgba(106, 137, 167, 0.3);
            }

        .btn-primary {
            background-color: #6A89A7 !important;
            border-color: #6A89A7 !important;
        }

            .btn-primary:hover {
                background-color: #5a7691 !important;
                border-color: #5a7691 !important;
            }
        /*Contact Page*/
        .icon-circle {
            width: 70px;
            height: 70px;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            background: #6A89A7;
        }

        .map-container {
            border: 8px solid white;
            box-shadow: 0 15px 40px rgba(0,0,0,0.12);
        }


  /******************************************* GAP FIX CORD *******************************************/
        .row {
            margin-left: 0 !important;
            margin-right: 0 !important;
        }
/******************************************* GAP CORD END *******************************************/

.popup-overlay-balloon {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(52, 58, 64, 0.98);
    z-index: 99999;
    padding: 15px;
    overflow-y: auto;
    animation: fadeIn 0.3s ease;
}

    .popup-overlay-balloon.active {
        display: flex;
        justify-content: center;
        align-items: center;
    }

@keyframes fadeIn {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

.flip-card-container-balloon {
    width: 100%;
    max-width: 500px;
    height: 600px;
    perspective: 1000px;
}

@media (min-width: 768px) {
    .flip-card-container-balloon {
        max-width: 600px;
        height: 650px;
    }
}

@media (min-width: 1024px) {
    .flip-card-container-balloon {
        max-width: 700px;
        height: 700px;
    }
}

.flip-card-balloon {
    width: 100%;
    height: 100%;
    position: relative;
    transform-style: preserve-3d;
    transition: transform 0.6s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    border-radius: 15px;
    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.3);
}

    .flip-card-balloon.flipped {
        transform: rotateY(180deg);
    }

.card-front-balloon, .card-back-balloon {
    position: absolute;
    width: 100%;
    height: 100%;
    backface-visibility: hidden;
    border-radius: 15px;
    overflow: hidden;
    background: linear-gradient(135deg, var(--white) 0%, #f8fafc 100%);
}

.card-back-balloon {
    transform: rotateY(180deg);
    background: var(--white);
}

/* Card Front Styling */
.card-front-balloon {
    display: flex;
    flex-direction: column;
    border: 1px solid var(--border-color);
}

.popup-header-balloon {
    padding: 25px 20px 15px;
    background: linear-gradient(135deg, var(--primary), #8AA8C7);
    color: var(--white);
    position: relative;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.popup-title-balloon {
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--white);
    margin-bottom: 8px;
    line-height: 1.3;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.popup-subtitle-balloon {
    font-size: 0.95rem;
    color: rgba(255, 255, 255, 0.9);
    font-weight: 400;
    margin-bottom: 15px;
}

.popup-price-balloon {
    font-size: 2.2rem;
    font-weight: 800;
    color: #FFD166;
    margin-top: 5px;
    display: inline-block;
    background: rgba(0, 0, 0, 0.2);
    padding: 8px 16px;
    border-radius: 8px;
}

.popup-content-balloon {
    flex: 1;
    padding: 20px;
    overflow-y: auto;
    background: var(--white);
}

.popup-description-balloon {
    font-size: 0.95rem;
    line-height: 1.6;
    color: #555;
    margin-bottom: 25px;
    padding-bottom: 15px;
    border-bottom: 1px solid var(--border-color);
}

.popup-section-balloon {
    margin-bottom: 25px;
}

.section-title-balloon {
    font-size: 1.1rem;
    font-weight: 600;
    color: var(--primary);
    margin-bottom: 12px;
    display: flex;
    align-items: center;
    gap: 8px;
    padding-bottom: 5px;
    border-bottom: 2px solid rgba(106, 137, 167, 0.1);
}

    .section-title-balloon i {
        color: var(--accent);
    }

.inclusions-list-balloon {
    list-style: none;
    padding: 0;
    margin: 0;
}

    .inclusions-list-balloon li {
        margin-bottom: 10px;
        padding-left: 26px;
        position: relative;
        font-size: 0.9rem;
        line-height: 1.5;
        color: #555;
    }

        .inclusions-list-balloon li:before {
            content: "✓";
            position: absolute;
            left: 0;
            color: var(--success);
            font-weight: bold;
            font-size: 16px;
            background: rgba(76, 175, 80, 0.1);
            width: 20px;
            height: 20px;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
        }

.special-note-balloon {
    background: linear-gradient(135deg, rgba(255, 158, 109, 0.08), rgba(255, 209, 102, 0.08));
    padding: 15px;
    border-radius: 8px;
    border-left: 4px solid var(--accent);
    font-size: 0.9rem;
    line-height: 1.5;
    color: #555;
    margin-top: 20px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
}

    .special-note-balloon i {
        color: var(--accent);
        margin-right: 8px;
    }

/* Card Front Actions */
.popup-actions-balloon {
    padding: 20px;
    border-top: 1px solid var(--border-color);
    display: flex;
    gap: 12px;
    background: var(--white);
}

.action-btn-balloon {
    flex: 1;
    padding: 14px;
    border: none;
    border-radius: 8px;
    font-weight: 600;
    font-size: 0.95rem;
    cursor: pointer;
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.book-btn-balloon {
    background: linear-gradient(135deg, var(--bs-primary), #5a7897);
    color: var(--white);
    box-shadow: 0 4px 12px rgb(0, 0, 0, 0.30);
}

    .book-btn-balloon:hover {
        background: linear-gradient(135deg,#8AA8C7, #8AA8C7);
        transform: translateY(-2px);
        box-shadow: 0 6px 16px rgba(255, 158, 109, 0.4);
    }

.close-btn-balloon {
    background: var(--light-gray);
    color: var(--dark);
    border: 1px solid var(--border-color);
}

    .close-btn-balloon:hover {
        background: #e9ecef;
        border-color: #ced4da;
    }

.close-popup-btn-balloon {
    position: absolute;
    top: 15px;
    right: 15px;
    background: rgba(255, 255, 255, 0.2);
    color: var(--white);
    border: none;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    font-size: 18px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 10;
    transition: all 0.3s ease;
}

    .close-popup-btn-balloon:hover {
        background: rgba(255, 255, 255, 0.3);
        transform: rotate(90deg);
    }

/* Card Back - Booking Form */
.booking-form-balloon {
    padding: 25px;
    height: 100%;
    overflow-y: auto;
    display: flex;
    flex-direction: column;
}

.form-title-balloon {
    font-size: 1.4rem;
    font-weight: 700;
    color: var(--dark);
    margin-bottom: 25px;
    display: flex;
    align-items: center;
    gap: 10px;
    padding-bottom: 15px;
    border-bottom: 2px solid rgba(106, 137, 167, 0.1);
}

    .form-title-balloon i {
        color: var(--primary);
    }

.form-group-balloon {
    margin-bottom: 20px;
    position: relative;
}

.form-label-balloon {
    display: block;
    margin-bottom: 8px;
    font-weight: 600;
    color: var(--dark);
    font-size: 0.95rem;
    display: flex;
    align-items: center;
    gap: 8px;
}

    .form-label-balloon i {
        color: var(--primary);
        width: 18px;
        text-align: center;
    }

.required-star {
    color: var(--error);
    margin-left: 4px;
}

.form-input-balloon,
.form-select-balloon,
.form-textarea-balloon {
    width: 100%;
    padding: 14px 16px;
    border: 2px solid #e9ecef;
    border-radius: 8px;
    font-size: 0.95rem;
    transition: all 0.3s ease;
    background: var(--white);
    color: var(--dark);
    font-family: inherit;
}

    .form-input-balloon:focus,
    .form-select-balloon:focus,
    .form-textarea-balloon:focus {
        outline: none;
        border-color: var(--primary);
        box-shadow: 0 0 0 3px rgba(106, 137, 167, 0.1);
        background: var(--white);
    }

    .form-input-balloon:disabled,
    .form-select-balloon:disabled,
    .form-textarea-balloon:disabled {
        background: #f8f9fa;
        cursor: not-allowed;
    }

.form-textarea-balloon {
    min-height: 100px;
    resize: vertical;
}

.form-row-balloon {
    display: flex;
    gap: 15px;
    margin-bottom: 15px;
}

    .form-row-balloon .form-group-balloon {
        flex: 1;
        margin-bottom: 0;
    }

/* Form Validation States */
.form-input-balloon.is-invalid,
.form-select-balloon.is-invalid,
.form-textarea-balloon.is-invalid {
    border-color: var(--error);
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23f44336' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23f44336' stroke='none'/%3e%3c/svg%3e");
    background-repeat: no-repeat;
    background-position: right calc(0.375em + 0.1875rem) center;
    background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
    padding-right: calc(1.5em + 0.75rem);
}

.form-input-balloon.is-valid,
.form-select-balloon.is-valid,
.form-textarea-balloon.is-valid {
    border-color: var(--success);
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%234CAF50' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");
    background-repeat: no-repeat;
    background-position: right calc(0.375em + 0.1875rem) center;
    background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
    padding-right: calc(1.5em + 0.75rem);
}

.invalid-feedback-balloon {
    display: none;
    width: 100%;
    margin-top: 8px;
    font-size: 0.85rem;
    color: var(--error);
}

.is-invalid ~ .invalid-feedback-balloon {
    display: block;
}

.valid-feedback-balloon {
    display: none;
    width: 100%;
    margin-top: 8px;
    font-size: 0.85rem;
    color: var(--success);
}

.is-valid ~ .valid-feedback-balloon {
    display: block;
}

/* Form Character Counter */
.char-counter-balloon {
    text-align: right;
    font-size: 0.8rem;
    color: #6c757d;
    margin-top: 5px;
}

    .char-counter-balloon.warning {
        color: #ff9800;
    }

    .char-counter-balloon.danger {
        color: var(--error);
    }

/* Submit Button */
.submit-btn-balloon {
    background: linear-gradient(135deg, var(--primary), #8AA8C7);
    color: var(--white);
    border: none;
    width: 100%;
    padding: 16px;
    border-radius: 8px;
    font-weight: 600;
    font-size: 1rem;
    cursor: pointer;
    margin-top: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    transition: all 0.3s ease;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    box-shadow: 0 4px 12px rgba(106, 137, 167, 0.3);
}

    .submit-btn-balloon:hover:not(:disabled) {
        background: linear-gradient(135deg, #5a7897, #6A89A7);
        transform: translateY(-2px);
        box-shadow: 0 6px 16px rgba(106, 137, 167, 0.4);
    }

    .submit-btn-balloon:disabled {
        opacity: 0.6;
        cursor: not-allowed;
    }

    .submit-btn-balloon.loading {
        position: relative;
        color: transparent;
    }

        .submit-btn-balloon.loading:after {
            content: "";
            position: absolute;
            width: 20px;
            height: 20px;
            border: 3px solid rgba(255, 255, 255, 0.3);
            border-radius: 50%;
            border-top-color: var(--white);
            animation: spin 1s linear infinite;
        }

@keyframes spin {
    to {
        transform: rotate(360deg);
    }
}

/* Back Button */
.back-btn-balloon {
    background: var(--light-gray);
    color: var(--dark);
    border: 1px solid var(--border-color);
    width: 100%;
    padding: 14px;
    border-radius: 8px;
    font-weight: 500;
    font-size: 0.95rem;
    cursor: pointer;
    margin-top: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    transition: all 0.3s ease;
}

    .back-btn-balloon:hover {
        background: #e9ecef;
        border-color: #ced4da;
    }

/* Success/Error Messages */
.message-balloon {
    padding: 20px;
    border-radius: 8px;
    margin-top: 20px;
    text-align: center;
    display: none;
    animation: slideIn 0.5s ease;
}

@keyframes slideIn {
    from {
        opacity: 0;
        transform: translateY(-10px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.success-balloon {
    background: #e8f5e9;
    color: #2e7d32;
    border-left: 4px solid var(--success);
}

    .success-balloon i {
        font-size: 2.5rem;
        margin-bottom: 10px;
        display: block;
    }

    .success-balloon h5 {
        font-size: 1.2rem;
        font-weight: 600;
        margin-bottom: 8px;
    }

    .success-balloon p {
        font-size: 0.95rem;
        line-height: 1.5;
        margin-bottom: 15px;
    }

.error-balloon {
    background: #ffebee;
    color: #c62828;
    border-left: 4px solid var(--error);
}

    .error-balloon i {
        font-size: 2.5rem;
        margin-bottom: 10px;
        display: block;
    }

    .error-balloon h5 {
        font-size: 1.2rem;
        font-weight: 600;
        margin-bottom: 8px;
    }

    .error-balloon p {
        font-size: 0.95rem;
        line-height: 1.5;
        margin-bottom: 15px;
    }

/* WhatsApp Button */
.btn-whatsapp {
    background-color: #25D366;
    color: white;
    border: none;
}

    .btn-whatsapp:hover {
        background-color: #128C7E;
        color: white;
    }

/* Enquiry Button */
.btn-enquiry {
    background-color: #5a7897;
    color: white;
    border: none;
}

    .btn-enquiry:hover {
        background-color: #8AA8C7;
        color: white;
    }

/* Button Group */
.btn-action-group {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

/* Responsive adjustments */
@media (max-width: 768px) {
    .btn-action-group {
        flex-direction: column;
    }

        .btn-action-group .btn {
            width: 100%;
            justify-content: center;
        }
}

/* Package Card */
.package-card {
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

    .package-card:hover {
        transform: translateY(-5px);
        box-shadow: 0 10px 20px rgba(0,0,0,0.15) !important;
    }

/* Icons row */
.text-center i {
    font-size: 1.5rem;
}
/* END */

/** New Holiday Packages Srilinka  **/
/* Hover Style*/
.card.shadow-sm {
    transition: all 0.4s ease;
    border: 1px solid rgba(0, 0, 0, 0.08);
    background: white;
}

    .card.shadow-sm:hover {
        transform: translateY(-8px); /* Card thoda upar uth jata hai */
        box-shadow: 0 20px 40px rgba(0, 0, 0, 0.15); /* Stronger & softer shadow */
        border-color: #0d6efd; /* Primary blue border glow */
    }

    /** Psckage Srilanka **/

/* Small Itinerary Cards Styling */
.itinerary-card-sm {
    border-radius: 6px !important;
    border: 1px solid #dee2e6 !important;
    box-shadow: 0 2px 4px rgba(0,0,0,0.05) !important;
    transition: all 0.2s ease;
}

    .itinerary-card-sm:hover {
        box-shadow: 0 4px 8px rgba(0,0,0,0.08) !important;
        border-color: #ced4da !important;
    }

    .itinerary-card-sm .col-md-2 {
        background-color: #f8f9fa;
        border-right: 1px solid #dee2e6 !important;
        min-height: 80px;
    }

    .itinerary-card-sm .col-md-10 {
        background: #fff;
    }

    .itinerary-card-sm .border-end {
        border-color: #e9ecef !important;
    }

    .itinerary-card-sm .fs-4 {
        font-size: 1.5rem !important;
        line-height: 1;
        font-weight: 700;
    }

    .itinerary-card-sm .small {
        font-size: 0.75rem !important;
    }

    .itinerary-card-sm .xsmall {
        font-size: 0.7rem !important;
        line-height: 1.3;
    }

    .itinerary-card-sm h6.small {
        font-size: 0.7rem !important;
        font-weight: 600;
        text-transform: uppercase;
        letter-spacing: 0.3px;
        margin-bottom: 2px;
    }

    .itinerary-card-sm .p-2 {
        padding: 0.5rem !important;
    }

    .itinerary-card-sm .fa-sun,
    .itinerary-card-sm .fa-cloud-sun,
    .itinerary-card-sm .fa-hotel,
    .itinerary-card-sm .fa-plane-departure,
    .itinerary-card-sm .fa-flag-checkered {
        font-size: 0.7rem !important;
        width: 16px;
        flex-shrink: 0;
    }

/* Simple colors for icons - not backgrounds */
.text-warning {
    color: #ffc107 !important;
}

.text-info {
    color: #0dcaf0 !important;
}

.text-success {
    color: #198754 !important;
}

.text-secondary {
    color: #6c757d !important;
}

.text-danger {
    color: #dc3545 !important;
}

.text-dark {
    color: #212529 !important;
}

.text-muted {
    color: #6c757d !important;
}

/* Mobile Responsive */
@media (max-width: 768px) {
    .itinerary-card-sm .col-md-2 {
        border-right: none !important;
        border-bottom: 1px solid #dee2e6 !important;
        padding: 0.75rem !important;
        min-height: 60px;
    }

    .itinerary-card-sm .col-md-10 .col-md-4 {
        border-right: none !important;
        border-bottom: 1px solid #e9ecef;
        padding: 0.75rem !important;
    }

        .itinerary-card-sm .col-md-10 .col-md-4:last-child {
            border-bottom: none;
        }

    .itinerary-card-sm .fs-4 {
        font-size: 1.25rem !important;
    }
}

/* Tablet Responsive */
@media (max-width: 992px) {
    .itinerary-card-sm .p-2 {
        padding: 0.4rem !important;
    }

    .itinerary-card-sm h6.small {
        font-size: 0.65rem !important;
    }

    .itinerary-card-sm .xsmall {
        font-size: 0.65rem !important;
    }
}

/* Compact spacing */
.itinerary-card-sm {
    margin-bottom: 0.5rem !important;
}

    /* Ensure cards are slim */
    .itinerary-card-sm .card-body {
        padding: 0 !important;
    }

    /* Day column styling */
    .itinerary-card-sm .col-md-2 .text-center {
        padding: 0.25rem;
    }

    /* Content alignment */
    .itinerary-card-sm .d-flex.align-items-start {
        min-height: 60px;
        align-items: flex-start !important;
    }

    /* Reduce margins */
    .itinerary-card-sm .mb-1 {
        margin-bottom: 0.1rem !important;
    }

    .itinerary-card-sm .mb-0 {
        margin-bottom: 0 !important;
    }

    /* Make sure text doesn't overflow */
    .itinerary-card-sm p.xsmall {
        word-break: break-word;
        hyphens: auto;
    }

    /** Visa Tab page **/
.visa-tabs-custom .nav-link {
    color: #2c3e50 !important; /* Dark blue-gray - premium look */
    opacity: 0.8;
    transition: all 0.3s ease;
}

    .visa-tabs-custom .nav-link:hover {
        opacity: 1;
        color: #6A89A7 !important;
    }

    .visa-tabs-custom .nav-link.active {
        color: #000 !important; /* Active tab red (ya jo color pasand ho) */
        opacity: 1;
        font-weight: 700;
    }

    .visa-tabs-custom .nav-link i {
        color: inherit;
    }
    /* Promo Code Card */
.promo-code-card .card {
    border-color: #dee2e6;
}

.promo-code-card .card-header {
    background-color: #fff;
    border-bottom: 1px solid #dee2e6;
}

.promo-code-card .input-group .form-control {
    border-right: none;
    height: 42px;
    font-size: 0.95rem;
}

.promo-code-card .btn-danger {
    margin-top: 0.01%;
    background-color: #dc3545;
    border-color: #dc3545;
    height: 42px;
    align-content: center;
    font-size: 0.95rem;
    transition: all 0.2s;
}

    .promo-code-card .btn-danger:hover {
        background-color: #c82333;
        border-color: #bd2130;
    }

/*** Gallery Start ***/
.gallery .gallery-item {
    position: relative;
    overflow: hidden;
    border-radius: 10px;
}

    .gallery .gallery-item img {
        min-height: 300px;
        object-fit: cover;
    }

    .gallery .gallery-item .gallery-content {
        position: absolute;
        width: 100%;
        height: 100%;
        bottom: 0;
        left: 0;
        padding: 15px;
        background: rgba(0, 0, 0, 0.3);
        border-radius: 10px;
        display: flex;
        flex-direction: column;
        justify-content: end;
        transition: 0.5s;
    }

        .gallery .gallery-item .gallery-content .gallery-info {
            position: relative;
            margin-bottom: -100%;
            opacity: 0;
            transition: 0.5s;
        }

    .gallery .gallery-item .gallery-plus-icon {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        transition: 0.5s;
        opacity: 0;
    }

    .gallery .gallery-item:hover .gallery-content .gallery-info,
    .gallery .gallery-item:hover .gallery-plus-icon {
        opacity: 1;
        margin: 0;
    }

    .gallery .gallery-item img {
        transition: 0.5s;
    }

    .gallery .gallery-item:hover img {
        transform: scale(1.2);
    }

    .gallery .gallery-item:hover .gallery-content {
        background: #6a89a77f;
    }

.gallery .tab-class .nav-item {
    padding: 0 0 20px 0;
}

    .gallery .tab-class .nav-item a.active {
        background: var(--bs-primary) !important;
    }

        .gallery .tab-class .nav-item a.active span {
            color: var(--bs-white) !important;
        }

/*** Gallery End ***/

/** available-packages-badge **/
.available-packages-badge {
    background: linear-gradient(135deg, #0d6efd, #0b5ed7);
    color: #fff;
    font-size: 13px;
    font-weight: 600;
    border-radius: 20px;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.25);
    backdrop-filter: blur(4px);
}


.captcha-wrapper {
    margin-top: 1.2rem;
    text-align: center;
}

.hold-button {
    width: 100%;
    height: 52px; /* Slightly reduced height for compact form */
    background: #f1f3f5; /* Light gray (neutral & modern) */
    border: 1px solid #ced4da; /* Bootstrap-like border */
    border-radius: 0.5rem;
    font-size: 1rem; /* Smaller font for compactness */
    font-weight: 600;
    color: #495057;
    cursor: pointer;
    user-select: none;
    position: relative;
    overflow: hidden;
    transition: all 0.2s ease;
    box-shadow: 0 2px 6px rgba(0,0,0,0.06);
    touch-action: manipulation; /* Better touch response on mobile */
}

    .hold-button:hover {
        background: #e9ecef;
        box-shadow: 0 4px 10px rgba(0,0,0,0.1);
    }

    .hold-button:active,
    .hold-button.holding {
        background: #dee2e6;
        transform: translateY(1px);
        box-shadow: 0 1px 4px rgba(0,0,0,0.08);
    }

.progress-fill {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 0%;
    background: linear-gradient(90deg, #28a745, #198754);
    transition: width 0.08s linear; /* Very smooth fill */
    z-index: 1;
}

.hold-button span {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    padding: 0 1rem;
}

.hold-button.success {
    background: #198754 !important;
    border-color: #198754 !important;
    color: white !important;
    cursor: default;
    box-shadow: 0 2px 8px rgba(25, 135, 84, 0.3);
}

    .hold-button.success:hover,
    .hold-button.success:active {
        transform: none; /* No movement after success */
    }

.verified-text {
    margin-top: 0.6rem;
    font-size: 0.95rem;
    color: #198754;
    font-weight: 600;
    display: none;
}

.invalid-captcha {
    color: #dc3545;
    font-size: 0.85rem;
    margin-top: 0.4rem;
    display: none;
}

/* Optional: Make text responsive on small screens */
@media (max-width: 576px) {
    .hold-button {
        height: 48px;
        font-size: 0.95rem;
    }

        .hold-button span {
            padding: 0 0.8rem;
        }
}

.very-small {
    font-size: 0.8rem;
}

.hold-button {
    background: linear-gradient(90deg, #f8f9fa, #e9ecef);
    border: 2px solid #dee2e6;
    transition: all 0.3s;
}

    .hold-button:hover {
        background: linear-gradient(90deg, #e9ecef, #dee2e6);
    }

    .hold-button:active {
        transform: scale(0.98);
    }

.progress-fill {
    transition: width 0.1s linear !important;
    z-index: 1;
}

.form-control-sm:focus, .form-select-sm:focus {
    border-color: #0d6efd;
    box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
}

.was-validated .form-control:invalid,
.was-validated .form-select:invalid {
    border-color: #dc3545;
}

.was-validated .form-control:valid,
.was-validated .form-select:valid {
    border-color: #198754;
}

.invalid-feedback {
    font-size: 0.75rem;
}

/* End */

/* CSS Styling */
.circle-btn-outline {
    width: 50px;
    height: 50px;
    border-radius: 50%;
    background: transparent;
    color: #6A89A7;
    border: 2px solid #6A89A7;
    font-size: 1.5rem;
    font-weight: bold;
    cursor: pointer;
    transition: all 0.3s ease;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}

.circle-btn-outline:hover {
    background: #6A89A7;
    color: white;
    border-color: #6A89A7;
    transform: translateY(-3px);
    box-shadow: 0 4px 8px rgba(0,0,0,0.2);
}

.circle-btn-outline:active {
    transform: translateY(1px);
    box-shadow: 0 1px 2px rgba(0,0,0,0.1);
}

.circle-btn-link {
    text-decoration: none;
    display: inline-block;
}

    .circle-btn-link:hover {
        text-decoration: none;
    }


/** Pagination Styling **/
.pagination {
    gap: 5px;
}

.page-item .page-link {
    border-radius: 2px;
    padding: 0.5rem 1rem;
    margin: 0;
    color: #2c3e50;
    background: #ffffff;
    border: 1px solid #dee2e6;
    font-weight: 500;
    transition: all 0.2s ease-in-out;
}

    .page-item .page-link:hover {
        background-color: #6A89A7;
        border-color: #fff;
        color: #fff;
        transform: translateY(-2px);
        box-shadow: 0 4px 10px rgb(56, 56, 56, 0.39);
    }

.page-item.active .page-link {
    background-color: #6A89A7;
    border-color: #fff;
    color: white;
    font-weight: 600;
    box-shadow: 0 4px 10px rgb(56, 56, 56, 0.39);
}

.page-item.disabled .page-link {
    background-color: #f8f9fa;
    border-color: #dee2e6;
    color: #6c757d;
    opacity: 0.6;
    pointer-events: none;
    transform: none;
    box-shadow: none;
}

.page-item:first-child .page-link,
.page-item:last-child .page-link {
    font-weight: 600;
    padding-left: 1.2rem;
    padding-right: 1.2rem;
}

@media (max-width: 576px) {
    .pagination {
        flex-wrap: wrap;
        justify-content: center;
    }

    .page-item .page-link {
        padding: 0.4rem 0.8rem;
        font-size: 0.9rem;
    }
}
/* END */