@import url('https://fonts.googleapis.com/css2?family=Noto+Sans:ital,wght@0,100..900;1,100..900&family=Open+Sans:ital,wght@0,300..800;1,300..800&display=swap');

/* ==================================================
   ROOT VARIABLES
================================================== */
:root {
    /* Colors */
    --white: #ffffff;
    --bg-white: #ffffff;
    --primary: #066a82;
    --primary-light: #f5811a;
    --text-dark: #333333;
    --text-light: #555555;
    --topbar-bg: #000000;
    --topbar-txt-color: #000000;
    --header-bg: #ffffff;
    --header-nav-bg: #ffffff;
    --header-txt-color: #000000;

    /* Borders */
    --border-light: rgba(0, 0, 0, 0.06);
    --border-medium: #dedede;

    /* Shadows */
    --shadow-light: 0 5px 15px rgba(0, 0, 0, 0.08);
    --shadow-medium: 0 10px 25px rgba(0, 0, 0, 0.12);
    --box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16), 0 3px 6px rgba(0, 0, 0, 0.23);

    /* Gradient */
    --user-gradient: linear-gradient(135deg, var(--primary), var(--primary-light));

    /* Border Radius */
    --radius-sm: 8px;
    --radius-md: 14px;
    --radius-lg: 20px;

    /* Animation */
    --transition: all 0.3s ease;

    /* Buttons */
    --tts-buttton-bg: #066a82;
    --tts-buttton-txt: #ffffff;
    --tts-buttton-bg1: #f5811a;
    --tts-buttton-txt1: #ffffff;
}

/* ==================================================
   GLOBAL STYLING
================================================== */
*,
::after,
::before {
    box-sizing: border-box;
}

body {
    color: #292323;
    background-color: #f7faff;
    font-family: "Noto Sans", serif;
    font-size: 14px;
}

a {
    color: var(--primary);
    text-decoration: none;
    cursor: pointer;
    transition: 0.3s;
}

a:hover {
    color: color-mix(in srgb, var(--primary), transparent 25%);
    text-decoration: none;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: var(--heading-font);
    font-weight: 700;
}

ul {
    list-style: none;
    padding: 0;
    margin: 0;
}



img,
.img {
    max-width: 100%;
    height: auto;
}

/* Forms */
.form-control,
.form-select {
    font-size: 14px;
    color: #292323;
}

.form-control:focus,
.form-select:focus {
    box-shadow: none;
    outline: 0;
}

.form-check-input:focus {
    box-shadow: none;
}

.form-check-input:checked {
    background-color: var(--tts-buttton-bg);
    border-color: var(--tts-buttton-bg);
}

.ui-widget {
    font-family: inherit !important;
    /* z-index: 9999 !important; */
}

/* Error & Success */
.error_popup,
.success_popup {
    position: fixed;
    top: 62px;
    max-width: 327px;
    min-width: 300px;
    border-radius: 5px 0 0 5px;
    min-height: 28px;
    right: 0;
    z-index: 10000;
    box-shadow: var(--box-shadow);
    padding: 14px 20px;
    font-size: 12px;
    color: #fff;
}

.error_popup {
    background: #af0909;
}

.success_popup {
    background: green !important;
}

.form-error,
.tts-text-danger {
    color: #af0909 !important;
    text-transform: capitalize;
}

.tts-text-success {
    color: green !important;
    text-transform: capitalize;
}

.tts-cursor-pointer {
    cursor: pointer;
}

.error-message {
    background-color: #af0909;
    border-radius: 2px;
    color: #fff;
    font-size: 11px;
    padding: 3px 10px;
    position: absolute;
    box-shadow: var(--box-shadow);
    top: 59px;
    z-index: 998;
}

.error-message::after {
    width: 0;
    height: 0;
    border-bottom: 5px solid #af0909;
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
    content: '';
    left: 10px;
    position: absolute;
    top: -5px;
}

/* ==================================================
   SECTIONS
================================================== */
section,
.section {
    color: #292323;
    padding: 60px 0;
}

@media (max-width: 1199px) {

    section,
    .section {
        scroll-margin-top: 66px;
    }
}

.section-bg {
    background-color: #ffffff;
}

/* Section Titles */
.section-title {
    margin-bottom: 30px;
}

.section-title .badge {
    position: relative;
    padding-left: 25px;
    background: rgba(207, 52, 37, 0.1);
    color: #CF3425;
}

.section-title .badge::before {
    content: "";
    width: 8px;
    height: 8px;
    border-radius: 50%;
    position: absolute;
    left: 10px;
    top: 50%;
    background: #CF3425;
    transform: translateY(-50%);
}

.section-title h2 {
    font-size: 28px;
    font-weight: 700;
}

.section-title h2 .text-primary {
    color: #CF3425 !important;
    opacity: 1;
}

.sec-head-btn {
    margin-bottom: 40px;
    border-radius: 40px;
    padding: 9px 16px;
    font-size: 14px;
    font-weight: 500;
    transition: all 0.5s;
    background-color: var(--tts-buttton-bg1);
    border: 1px solid var(--tts-buttton-bg1);
    color: var(--tts-buttton-txt);
}

@media (max-width: 480px) {
    .section-title h2 {
        font-size: 24px;
    }
}

/* ==================================================
   BUTTONS
================================================== */
.btn {
    font-size: 14px;
}

.another_fare {
    border-radius: 2px;
    box-shadow: unset !important;
    font-weight: 400;
    font-size: 13px;
    color: #fff;
    padding: 5px 8px;
}

.btn-primary {
    background: var(--tts-buttton-bg);
    color: var(--tts-buttton-txt);
    white-space: nowrap;
    transition: var(--transition);
}

.btn-primary:hover {
    background: var(--tts-buttton-bg1);
    color: var(--tts-buttton-txt1);
}

/* *********************** breadcrumbs *********************** */
.breadcrumbs {
    padding: 18px 0;
    background: var(--tts-buttton-bg);
    min-height: 40px;
}

.breadcrumbs h1 {
    font-size: 25px;
    margin: 0;
    color: var(--tts-buttton-txt);
}

.breadcrumbs ol {
    display: flex;
    flex-wrap: wrap;
    list-style: none;
    padding: 0;
    margin: 0;
    font-size: 14px;
}

.breadcrumbs ol li {
    margin-right: 10px;
    color: var(--tts-buttton-txt);
    font-weight: bold;
}

.breadcrumbs ol a {
    color: var(--tts-buttton-txt);
    font-weight: normal;
}

.breadcrumbs ol li+li::before {
    display: inline-block;
    padding-right: 10px;
    color: var(--tts-buttton-txt);
    content: "/";
}

/* ==================================================
   MISC
================================================== */
.tts_white_space {
    white-space: normal;
}

.tts_hotel_amenities_icon {
    width: 22px;
    height: 22px;
    margin-right: 10px;
}

.hide {
    display: none;
}

/* ==================================================
   Owl Carousel
================================================== */
.owl-carousel.nav-center .owl-nav button.owl-next,
.owl-carousel.nav-center .owl-nav button.owl-prev {
    width: 44px;
    height: 44px;
    font-size: 20px;
    color: #222222;
    background: #ffffff;
    text-shadow: none;
    top: 0;
    cursor: pointer;
    border: 1px solid #dedede;
    margin-top: 0;
    margin-bottom: 0;
    border-radius: 50px;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    display: flex;
    align-items: center;
    justify-content: center;
}

.owl-carousel.nav-center .owl-nav button.owl-prev {
    left: -20px;
}

.owl-carousel.nav-center .owl-nav button.owl-next {
    right: -20px;
}


@media (max-width: 998.99px) {
    .owl-carousel.nav-center .owl-nav button.owl-prev {
        left: 20px;
        width: 30px;
        height: 30px;
        font-size: 14px;
    }

    .owl-carousel.nav-center .owl-nav button.owl-next {
        right: 20px;
        width: 30px;
        height: 30px;
        font-size: 14px;
    }
}

.owl-carousel.nav-center .owl-dots {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    margin-top: 16px;
}

.owl-carousel.nav-center .owl-dots .owl-dot {
    width: 8px;
    height: 8px;
    background: #E4EBF1;
    margin-right: 8px;
    border-radius: 30px;
}

.owl-carousel.nav-center .owl-dots .owl-dot.active {
    width: 22px;
    background: var(--tts-buttton-bg);
}


/* ================================
   FOOTER BASE
================================ */
#footer {
    background: #fff;
    font-size: 14px;
    color: #444;
}

#footer .footer-top {
    padding: 70px 0 30px;
    border-top: 1px solid #dedede;
}

.footer-widget {
    margin-bottom: 25px;
}

.footer-widget h4 {
    font-size: 16px;
    font-weight: 600;
    color: #000;
    margin-bottom: 18px;
    position: relative;
}

.footer-widget h4::after {
    content: "";
    position: absolute;
    bottom: -6px;
    left: 0;
    width: 50px;
    height: 2px;
    background: var(--tts-buttton-bg);
}

.footer-widget ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.footer-widget ul li {
    margin-bottom: 8px;
    line-height: 1.5;
}

.footer-widget ul li span {
    font-weight: 500;
    color: #000;
}

.footer-widget ul li a {
    color: #444;
    text-decoration: none;
    transition: 0.3s;
}

.footer-widget ul li a:hover {
    color: var(--tts-buttton-bg);
}

.footer-widget .logo img {
    max-height: 55px;
}

.footer-widget .description {
    margin-top: 10px;
    color: #666;
    line-height: 1.6;
}

.footer-widget .social-default {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 12px;
}

.footer-widget .social-default li {
    list-style: none;
}

.footer-widget .social-default li a {
    width: 38px;
    height: 38px;
    background: #f4f4f4;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #000;
    transition: 0.3s;
}

.footer-widget .social-default li a:hover {
    background: var(--tts-buttton-bg);
    color: #fff;
}

.footer-images-container {
    display: flex;
    gap: 10px;
    margin: 15px 0 20px;
    align-items: center;
    flex-wrap: wrap;
}

.footer-img {
    object-fit: contain;
}

.footer-images-container .footer-img:nth-child(1) {
    max-width: 130px;
}

.footer-images-container .footer-img:nth-child(2),
.footer-images-container .footer-img:nth-child(3) {
    height: 54px;
}

.footer-bottom {
    background: var(--tts-buttton-bg);
    text-align: center;
}

.footer-bottom .copyright {
    font-size: 13px;
    color: #fff;
    padding: 10px 0;
}

.back-top {
    position: fixed;
    right: 0px;
    top: 40%;
    z-index: 99999;
    width: auto;
    height: auto;
    border-radius: 4px;
    transform: translateY(-40%) rotate(-90deg);
    transform-origin: right bottom;
    transition: all 200ms linear;
}

.back-top ul {
    margin: 0;
    padding: 0;
}

.back-top li {
    list-style: none;
    display: inline-block;
}

.back-top li a {
    display: block;
    padding: 10px 30px;
    color: #fff;
    border-radius: 20px 20px 0px 0px;
    text-align: center;
    transition: 0.3s;
}

.back-top .quickicons {
    background: var(--tts-buttton-bg);
}

.back-top .quickicons:hover {
    background: #000;
}

.back-top .whatsappicons {
    background: #25d366;
}

.back-top .whatsappicons:hover {
    background: #16a34a;
}

@media (max-width: 992px) {

    .footer-newsletter-bottom {
        flex-direction: column;
        align-items: flex-start;
    }

    .newsletter-form {
        width: 100%;
        gap: 10px;
    }

    .newsletter-form .form-control,
    .SUBCRIBE_BTN {
        border-radius: 4px;
        padding: 0 10px;
    }

    .social-default {
        justify-content: center;
    }
}

@media (max-width: 576px) {

    .newsletter-title {
        font-size: 18px;
    }

    .footer-widget h4 {
        font-size: 15px;
    }

    .footer-widget ul li {
        font-size: 13px;
    }
}



/* ===== MODAL BACKDROP ===== */
.qe-modal {
    background: rgba(0, 0, 0, 0.7);
    backdrop-filter: blur(6px);
}

.qe-modal__content {
    border-radius: 18px;
    overflow: hidden;
    border: none;
    box-shadow: 0 30px 80px rgba(0, 0, 0, 0.35);
    animation: qeFadeIn 0.35s ease;
}


@keyframes qeFadeIn {
    from {
        transform: scale(0.95) translateY(30px);
        opacity: 0;
    }

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




.qe-modal__close {
    border-radius: 50%;
    padding: 8px;
    position: absolute;
    top: 12px;
    right: 12px;
    z-index: 10;
    backdrop-filter: blur(4px);
}


.qe-modal__visual {
    background: linear-gradient(135deg, var(--tts-buttton-bg), var(--tts-buttton-bg1));
    color: #fff;
}


.qe-visual {
    padding: 25px;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}


.qe-visual__img {
    height: auto;
    border-radius: 12px;
    object-fit: cover;
    width: 100%;
    transition: transform 0.4s ease;
}

.carousel-item:hover .qe-visual__img {
    transform: scale(1.06);
}


.qe-visual__trust {
    margin-top: 15px;
}

.qe-visual__title,
.qe-contact__title,
.qe-form__title {
    font-weight: 600;
    text-align: center;
    margin-bottom: 10px;
}


.qe-trust {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
}


.qe-trust__item {
    background: rgba(255, 255, 255, 0.08);
    padding: 10px;
    border-radius: 10px;
    text-align: center;
    font-size: 12px;
    transition: all 0.25s ease;
}

.qe-trust__item:hover {
    transform: translateY(-5px);
    background: rgba(255, 255, 255, 0.18);
}

.qe-trust__icon {
    display: block;
    font-size: 18px;
    margin-bottom: 5px;
    color: #f3923d;
}

.qe-contact {
    margin-top: 15px;
    padding: 15px;
    background: rgba(255, 255, 255, 0.1);
    border-radius: 12px;
    text-align: center;
}

.qe-contact__subtitle {
    font-size: 13px;
    margin-bottom: 10px;
    opacity: 0.9;
}

.qe-contact__info {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
}

.qe-contact__item {
    font-size: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    margin: 0;
}

.qe-contact__icon {
    color: #f3923d;
}

.qe-modal__formWrap {
    background: #ffffff;
}


.qe-form {
    padding: 30px;
    width: 100%;
}


.qe-field {
    margin-bottom: 12px;
}

.qe-field__label {
    font-size: 13px;
    color: #666;
    margin-bottom: 3px;
    display: block;
}

.qe-field__input {
    height: 45px;
    border-radius: 8px;
    border: 1px solid #ddd;
    padding: 0 10px;
    transition: all 0.25s ease;
}

.qe-field__input:focus {
    border-color: var(--tts-buttton-bg);
    box-shadow: 0 0 8px rgba(255, 122, 24, 0.2);
    outline: none;
}


.qe-btn {
    width: 100%;
    padding: 12px;
    border-radius: 10px;
    border: none;
    font-weight: 600;
    color: #fff;
    background: linear-gradient(135deg, var(--tts-buttton-bg), var(--tts-buttton-bg1));
    transition: all 0.25s ease;
}

.qe-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 25px rgba(255, 122, 24, 0.4);
}


.qe-form__note {
    text-align: center;
    margin-top: 10px;
    font-size: 13px;
    color: var(--tts-buttton-bg);
    animation: qeBlink 1.5s infinite;
}


@keyframes qeBlink {

    0%,
    100% {
        opacity: 1;
    }

    50% {
        opacity: 0.5;
    }
}


@media (max-width: 768px) {

    .qe-form {
        padding: 20px;
    }

    .qe-visual__img {
        height: 160px;
    }

    .qe-trust {
        grid-template-columns: repeat(2, 1fr);
    }

    .qe-contact__info {
        grid-template-columns: 1fr;
    }


}



/* =========================
   OFFER SECTION
========================= */
.headingblock {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 20px;
}

.headingblock .wrap {
    display: flex;
    align-items: center;
    gap: 25px;
}

.heading-one {
    font-size: 25px;
    color: #000;
    margin: 0;
}

.headingblock .nav-tabs {
    border: none;
    display: flex;
    gap: 10px;
}

.headingblock .nav-tabs .nav-link {
    padding: 5px 7px;
    font-weight: 500;
    color: #151515;
    border: none;
    border-bottom: 2px solid transparent;
    transition: 0.3s ease;
    text-transform: capitalize;
}

.headingblock .nav-tabs .nav-link.active,
.headingblock .nav-tabs .nav-link:hover {
    color: var(--tts-buttton-bg);
    border-bottom: 2px solid var(--tts-buttton-bg);
    background: transparent;
}

.headingblock .right {
    display: flex;
    align-items: center;
    gap: 15px;
}

.headingblock .link {
    color: var(--tts-buttton-bg);
    text-decoration: underline;
    white-space: nowrap;
}

.custom-nav {
    display: flex;
    gap: 8px;
}

.custom-nav button {
    width: 30px;
    height: 30px;
    border-radius: 50%;
    border: none;
    background: var(--tts-buttton-bg);
    color: var(--tts-buttton-txt);
    cursor: pointer;
    transition: 0.3s ease;
}

.custom-nav button:hover {
    background: #000;
    color: #fff;
}

.offer-slider .owl-item {
    margin: 10px 0;
}

.offer_page .item-box {
    display: block;
    background: #fff;
    border-radius: 8px;
    height: 200px;
    margin-left: 45px;
    border: 1px solid rgba(156, 170, 179, 0.28);
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08);
    transition: 0.3s ease;
}

.offer_page .item-box:hover {
    transform: translateY(-3px);
}

.offer_page .offer-box {
    display: flex;
    align-items: center;
    height: 100%;
    cursor: pointer;
}

.offer_page .imgsection {
    width: 125px;
    min-width: 125px;
    height: 180px;
    overflow: hidden;
    margin-left: -45px;
    border-radius: 8px;
    border: 1px solid #d6dfe4;
}

.offer_page .imgsection img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: 0.4s ease;
}

.offer_page .offer-box:hover .imgsection img {
    transform: scale(1.15);
}

.offer_page .offer-content {
    height: 100%;
}

.offer-content .offer-height {
    padding: 20px 15px;
    width: calc(100% - 0px);
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.offer-content .offer-height h3 {
    font-size: 18px;
    font-weight: 700;
    margin-bottom: 8px;
    color: #000;
}

.offer-content .offer-height p {
    font-size: 13px;
    color: #525252;
    line-height: 20px;
}



@media (max-width: 991px) {
    .headingblock {
        flex-direction: column;
        align-items: center;
        gap: 15px;
    }

    .heading-one {
        font-size: 22px;
        text-align: center;
    }

    .headingblock .wrap {
        flex-direction: column;
        align-items: center;
        gap: 15px;
    }

    .item-box {
        margin-left: 0;
    }

    .imgsection {
        margin-left: 0;
    }

    .offer-content .offer-height h3 {
        font-size: 16px;
    }
}

@media (max-width: 767px) {
    .headingblock .wrap {
        gap: 10px;
        width: 100%;
        padding: 0 10px;
    }

    .headingblock .nav-tabs {
        display: flex;
        flex-wrap: wrap;
        gap: 5px;
        justify-content: center;
        width: 100%;
        margin: 0 auto;
        padding: 0;
    }

    .headingblock .nav-tabs .nav-link {
        padding: 4px 8px;
        font-size: 13px;
        margin: 0;
        text-align: center;
        min-width: fit-content;
    }

    .heading-one {
        font-size: 20px;
        text-align: center;
        width: 100%;
        margin-bottom: 5px;
    }
}

@media (max-width: 480px) {
    .headingblock .nav-tabs {
        gap: 4px;
    }

    .headingblock .nav-tabs .nav-link {
        padding: 3px 6px;
        font-size: 12px;
    }
}

/* ================================
   DESTINATION CARD WITH OVERLAY
================================ */
.destinations .destination-item {
    position: relative;
    border-radius: 14px;
    overflow: hidden;
}

.destinations .destination-img {
    height: 220px;
    position: relative;
}

.destinations .destination-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s ease;
}

.destinations .destination-img::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(to top,
            rgba(0, 0, 0, 0.75),
            rgba(0, 0, 0, 0.2),
            transparent);
    z-index: 1;
    transition: 0.3s;
}

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

.destinations .destination-info {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    padding: 15px;
    z-index: 2;
    color: #fff;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.destinations .destination-title {
    font-size: 18px;
    font-weight: 700;
    margin: 0 0 5px;
    color: #fff;
}

.destinations .destination-info span {
    font-size: 12px;
    color: #ddd;
}

.destinations .destination-info p {
    font-size: 20px;
    font-weight: 600;
    color: #fff;
    margin: 2px 0 0;
}

.destinations .destination-item:hover .destination-img::before {
    background: linear-gradient(to top,
            rgba(0, 0, 0, 0.9),
            rgba(0, 0, 0, 0.3),
            transparent);
}

.destinations .destination-btn {
    position: absolute;
    inset: 0;
    z-index: 3;
}

@media (max-width: 576px) {
    .destinations .destination-img {
        height: 220px;
    }

    .destinations .destination-title {
        font-size: 16px;
    }

    .destinations .destination-info p {
        font-size: 13px;
    }
}

/*routes*/

.popular_destination .routes_box {
    background: #fff;
    border-radius: 12px;
    padding: 20px;
    border: 1px solid #eae8e8;
    cursor: pointer;
    display: flex;
    flex-direction: column;
    transition: all .5s ease;
    min-height: 210px;
    text-decoration: none;
}

.popular_destination .routes_box:hover {
    box-shadow: var(--box-shadow);
}

.popular_destination .routes_box .origin_destination {
    width: 100%;
    padding-left: 14px;
    border-left: 1px solid #dedede;
    position: relative;
}

.popular_destination .routes_box .origin_destination:before {
    content: " ";
    position: absolute;
    background-color: #dbe3ef;
    padding: 3px;
    border-radius: 50%;
    top: 0;
    left: -4px;
}

.popular_destination .routes_box .origin_destination div {
    display: block;
    width: 100%;
    font-size: 14px;
    color: #333;
    font-weight: 500;
    margin-bottom: 4px;
}

.popular_destination .routes_box .origin_destination .time {
    font-weight: 400;
    font-size: 13px;
    color: #666;
    width: 100%;
}

.popular_destination .routes_box .origin_destination .time i {
    margin-right: 5px;
}

.popular_destination .routes_box .origin_destination:after {
    content: " ";
    background-color: #dbe3ef;
    padding: 3px;
    border-radius: 50%;
    position: absolute;
    bottom: 0;
    left: -4px;
}

.popular_destination .routes_box .price_go {
    display: flex;
    flex-direction: column;
    margin-top: auto;
    margin-left: auto;
    padding-top: 10px;
    width: 100%;
}

.popular_destination .routes_box .price_go .low-price {
    font-size: 20px;
    color: #000000;
    display: block;
    font-weight: 700;
    line-height: 1.2;
    margin: 0;
}

.popular_destination .routes_box .price_go .low-price span:first-child {
    width: 100%;
    font-weight: 400;
    display: block;
    font-size: 12px;
    color: #999;
}

.popular_destination .routes_box .price_go .low-price .rs {
    font-size: 18px;
    color: #000;
    font-weight: 500;
    display: inline-block;
    width: auto;
    float: none;
}


/*============Trending Holidays========start===========*/
.holidayTrendsWrapper .holidayCardWrapper_box {
    border-radius: 12px;
    padding: 10px;
    height: 100%;
    background: var(--bg-white);
    box-shadow: var(--box-shadow);
    transition: all 0.5s ease;
    position: relative;
    width: 100%;
    display: block;
}

.holidayTrendsWrapper .holidayCardWrapper_box .holidayCard-body h5.card-title {
    color: #000;
    font-size: 18px;
    margin-bottom: 10px;
    text-overflow: ellipsis;
    width: 100%;
    white-space: nowrap;
    overflow: hidden;
}

.holidayTrendsWrapper .holidayCardWrapper_box:hover {
    box-shadow: var(--box-shadow);
}

.holidayTrendsWrapper .holidayCardWrapper_box .makeRelative {
    position: relative;
}

.holidayTrendsWrapper .holidayCardWrapper_box .img-wrapper {
    overflow: hidden;
    position: relative;
    margin: 0px -10px 20px -10px;
}

.holidayTrendsWrapper .holidayCardWrapper_box .img-wrapper img {
    width: 100%;
    height: 200px;
    display: block;
    object-fit: cover;
    display: block;
}

.holidayTrendsWrapper .holidayCardWrapper_box .daysbadge {
    padding: 0px 10px;
    background: var(--tts-buttton-bg1);
    border-radius: 13px;
    color: var(--tts-buttton-txt1);
    position: absolute;
    margin-top: -30px;
    right: 5px;
    z-index: 1;
    font-size: 12px;
}

.holidayTrendsWrapper .holidayCardWrapper_box .smileychoice {
    position: absolute;
    top: 50px;
    left: 0px;
}

.holidayTrendsWrapper .holidayCardWrapper_box .recommended {
    position: absolute;
    z-index: 5;
    left: -8px;
    top: 15px;
    background-image: linear-gradient(to right, var(--tts-buttton-bg), var(--tts-buttton-bg1));
    width: 130px;
    height: 20px;
    line-height: 20px;
    padding: 0;
    text-align: center;
    color: #fff;
    font-size: 13px;
    font-weight: 400;
    box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.1);
}

.holidayTrendsWrapper .holidayCardWrapper_box .under-checkbox1 {
    top: 180px;
}

.holidayTrendsWrapper .holidayCardWrapper_box .recommended::before {
    content: "";
    position: absolute;
    left: 0;
    bottom: -7px;
    width: 0;
    height: 0;
    border-bottom: 0;
    border-top: 7px solid #021432;
    border-right: 0px solid transparent;
    border-left: 8px solid transparent;
    z-index: 0;
}

.holidayTrendsWrapper .holidayCardWrapper_box .recommended span {
    position: absolute;
    height: 100%;
    top: 0;
    right: 0;
    width: 1px;
}

.holidayTrendsWrapper .holidayCardWrapper_box .recommended span::before {
    content: "";
    position: absolute;
    left: 0px;
    top: 0px;
    width: 0;
    height: 0;
    border-bottom: 12px solid transparent;
    border-top: 0 solid transparent;
    border-right: 0px;
    border-left: 8px solid #000;
    z-index: 0;
}

.holidayTrendsWrapper .holidayCardWrapper_box .recommended span::after {
    content: "";
    position: absolute;
    left: 0px;
    bottom: 0px;
    width: 0;
    height: 0;
    border-bottom: 0 solid transparent;
    border-top: 12px solid transparent;
    border-right: 0px;
    border-left: 8px solid #000;
    z-index: 0;
}

.holidayTrendsWrapper .holidayCardWrapper_box .img-wrapper:before {
    position: absolute;
    top: 0;
    left: -75%;
    display: block;
    z-index: 2;
    content: '';
    width: 50%;
    height: 100%;
    background: linear-gradient(to right, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, .3) 100%);
    transform: skewX(-25deg);
    transition: all 0.5s;
}

.holidayTrendsWrapper .holidayCardWrapper_box:hover .img-wrapper:before {
    animation: shine .75s;
    width: 100%;
    left: 100%;
    transform: skewX(0deg);
}

.holidayTrendsWrapper .holidayCardWrapper_box .holidayCarditem {
    position: static;
    margin-top: 0px;
}

.holidayTrendsWrapper .holidayCardWrapper_box .holidayCarditem ul.holidayItineraryWrapper {
    display: flex;
    gap: 20px;
    overflow-y: auto;
    scrollbar-color: #747474 #dcdcdc;
    scrollbar-width: thin;
    width: 100%;
    padding: 0;
    margin: 0;
    list-style: none;
}

.holidayTrendsWrapper .holidayCardWrapper_box .holidayCarditem ul.holidayItineraryWrapper li {
    margin-right: 10px;
    text-align: center;
    padding-top: 8px;
    padding-bottom: 8px;
}

.holidayTrendsWrapper .holidayCardWrapper_box .holidayCarditem ul.holidayItineraryWrapper li p {
    margin: 0px;
    font-size: 13px;
}

.holidayTrendsWrapper .holidayCardWrapper_box .holidayCarditem .destinationWrapper {
    display: flex;
    margin-top: 10px;
    margin-bottom: 10px;
    flex-wrap: wrap;
}

.holidayTrendsWrapper .holidayCardWrapper_box .holidayCarditem .destinationWrapper .redText {
    font-size: 15px;
    color: #000;
    font-weight: 700;
}

.holidayTrendsWrapper .holidayCardWrapper_box .holidayCarditem .destinationWrapper .destinationName span {
    margin-right: 2px;
    margin-left: 2px;
}

.holidayTrendsWrapper .holidayCardWrapper_box .footer-new {
    border-top: 1px solid #ebebeb;
    padding: 10px 0px 0;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
}

.holidayTrendsWrapper .holidayCardWrapper_box .footer-new h3 {
    color: #525252;
    font-size: 13px;
    font-weight: 400;
    margin: 0;
}

.holidayTrendsWrapper .holidayCardWrapper_box .footer-new h3 .slashed {
    display: block;
    color: #000;
    font-size: 20px;
    font-weight: 700;
    margin-top: 5px;
}

.holidayTrendsWrapper .holidayCardWrapper_box .footer-new a {
    color: var(--tts-buttton-txt);
    background: var(--tts-buttton-bg);
    border-radius: 30px;
    font-size: 14px;
    padding: 5px 24px;
    border: 1px solid var(--tts-buttton-bg);
}

.holidayTrendsWrapper .holidayCardWrapper_box .footer-new a:hover {
    background: var(--tts-buttton-bg1);
    border: 1px solid var(--tts-buttton-bg1);
    color: var(--tts-buttton-txt1);
}

@media (max-width: 576px) {
    .holidayTrendsWrapper .holidayCardWrapper_box .holidayCard-body h5.card-title {
        font-size: 16px;
    }
}

/*============Trending Holidays========end===========*/


/*============visa==================*/
.countries-visa .card {
    cursor: pointer;
    margin-top: 10px;
    margin-bottom: 10px;
    position: relative;
    flex-direction: column;
    border-radius: 12px;
    background-color: #fff;
    box-shadow: 0 0 6px 0 #2a2626;
    border: none;
}

.countries-visa .card .cardbanner {
    height: 183px;
    border: 0;
    width: 100%;
    border-radius: 12px;
    overflow: hidden;
    filter: brightness(0.8);
}

.countries-visa .card .imgwrapper {
    left: -10px;
    position: absolute;
    top: -10px;
    border-radius: 50%;
}

.countries-visa .card .imgwrapper img {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    object-fit: cover;
}

.countries-visa .card .country-card {
    padding: 10px 20px;
    position: absolute;
    top: 0;
    color: #fff;
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.countryBox {
    margin: 10px 0 15px;
}

.countryName,
.price {
    font-weight: 600;
    font-size: 18px;
}

.countries-visa .card .countryName a {
    color: #fff;
}

.rupayBox {
    font-size: 12px;
}



/* ==============================
   Transfer Section Base
================================ */

.transfer-slider .owl-stage {
    display: flex;
}

.transfer-slider .owl-item {
    display: flex;
    flex: 1;
}

.transfer-slider {
    position: relative;
}

.transfer-slider .transfer-card {
    background: #fff;
    border-radius: 12px;
    overflow: hidden;
    border: 1px solid #e1e1e1;
    box-shadow: 0 4px 18px rgba(0, 0, 0, 0.08);
    transition: all 0.3s ease;
    height: 100%;
    display: flex;
    flex-direction: column;
    width: 100%;
}

.transfer-slider .transfer-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.12);
}

.transfer-slider .transfer-image {
    width: 100%;
    height: 180px;
    overflow: hidden;
}

.transfer-slider .transfer-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.4s ease;
}

.transfer-slider .transfer-card:hover .transfer-image img {
    transform: scale(1.08);
}

.transfer-slider .transfer-content {
    padding: 15px;
    display: flex;
    flex-direction: column;
    flex: 1;
    flex-grow: 1;
}

.transfer-slider .transfer-title {
    font-size: 18px;
    font-weight: 700;
    margin-bottom: 10px;
    color: #333;
}

.transfer-slider .transfer-details {
    list-style: none;
    padding: 0;
    margin: 0;
    font-size: 14px;
    color: #555;
    display: flex;
    align-items: center;
    white-space: nowrap;
    overflow-x: auto;
    gap: 20px;
}

.transfer-slider .transfer-details li {
    margin-bottom: 6px;
    flex: 1;
}

.transfer-slider .transfer-details strong {
    color: #222;
}

.transfer-slider .transfer-details .price {
    margin-top: 10px;
    font-size: 16px;
    color: #000;
}

.transfer-slider .transfer-action {
    margin-top: auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.transfer-slider .btn-view {
    display: inline-block;
    text-decoration: none;
    background: transparent;
    color: var(--tts-buttton-bg);
    font-weight: 700;
    font-size: 14px;
    transition: 0.3s ease;
}

.transfer-slider .btn-view:hover {
    color: var(--tts-buttton-bg1);
}

@media (max-width: 768px) {
    .transfer-slider .transfer-image {
        height: 220px;
    }
}



/*=========================
 Trending Hotels Section
==========================*/
.hotel-slider .card-link {
    display: block;
    height: 100%;
}

.hotel-slider .card {
    background: var(--white) !important;
    border: 1px solid var(--border-light) !important;
    border-radius: var(--radius-md);
    overflow: hidden;
    box-shadow: var(--shadow-light);
    transition: var(--transition);
    height: 100%;
}

.hotel-slider .card:hover {
    transform: translateY(-8px);
    box-shadow: var(--shadow-medium);
}

.hotel-slider .card-image {
    height: 220px;
    overflow: hidden;
}

.hotel-slider .card-img-top {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: .5s ease;
}

.hotel-slider .card:hover .card-img-top {
    transform: scale(1.08);
}

.hotel-slider .card-body {
    padding: 18px;
}

.hotel-slider .card-title {
    font-size: 18px;
    font-weight: 700;
    color: var(--text-dark);
}

.hotel-slider .card-info p {
    margin: 8px 0 0;
    color: var(--text-light);
    font-size: 14px;
    line-height: 1.5;
}

.hotel-slider .card-info p i {
    color: var(--primary);
}

.hotel-price {
    margin-top: 12px;
    font-size: 20px;
    font-weight: 700;
    color: var(--primary);
}

.hotel-price small {
    font-size: 13px;
    color: var(--text-light);
    font-weight: 500;
}

.hotel-price .btn {
    background: var(--tts-buttton-bg);
    color: var(--tts-buttton-txt);
    border: none;
    border-radius: var(--radius-sm);
    padding: 8px 18px;
    transition: var(--transition);
}

.hotel-price .btn:hover {
    background: var(--tts-buttton-bg1);
    color: var(--tts-buttton-txt1);
}

.badge.text-warning {
    background: transparent;
    padding: 0;
}

.badge.text-warning i {
    color: #FFC107;
    font-size: 14px;
    margin-left: 2px;
}

.hotel-slider .text-end .fw-bold {
    color: var(--text-dark);
    font-size: 16px;
}

.hotel-slider .text-end small {
    display: block;
    color: var(--text-light);
    font-size: 12px;
}


/* Responsive */

@media (max-width:991px) {

    .Popular-hotels .heading-one {
        font-size: 28px;
    }

    .hotel-slider .card-image {
        height: 190px;
    }
}

@media (max-width:767px) {
    .hotel-slider .card-image {
        height: 180px;
    }

    .hotel-slider .card-title {
        font-size: 16px;
    }

    .hotel-price {
        font-size: 18px;
    }
}

@media (max-width:576px) {
    .hotel-slider .card-image {
        height: 170px;
    }

    .hotel-slider .card-body {
        padding: 15px;
    }
}


/*=========================
    Top Activities
==========================*/
.PopularActivityslider .card-link {
    display: block;
    height: 100%;
}

.PopularActivityslider .card {
    border: 1px solid var(--border-light) !important;
    border-radius: var(--radius-md);
    overflow: hidden;
    background: var(--white);
    box-shadow: var(--shadow-light);
    transition: var(--transition);
    height: 100%;
}

.PopularActivityslider .card:hover {
    transform: translateY(-8px);
    box-shadow: var(--shadow-medium);
}

.PopularActivityslider .card-image {
    height: 230px;
    position: relative;
    overflow: hidden;
}

.PopularActivityslider .card-img-top {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: .5s ease;
}

.PopularActivityslider .card:hover .card-img-top {
    transform: scale(1.08);
}

.activity-duration {
    position: absolute;
    top: 15px;
    left: 15px;
    background: var(--user-gradient);
    color: var(--white);
    padding: 6px 14px;
    border-radius: 30px;
    font-size: 13px;
    font-weight: 600;
}

.PopularActivityslider .card-body {
    padding: 18px;
    display: flex;
    flex-direction: column;
    height: calc(100% - 230px);
}

.PopularActivityslider .activity-category {
    display: block;
    color: var(--text-light);
    font-size: 13px;
    margin-bottom: 8px;
}

.PopularActivityslider .card-title {
    font-size: 18px;
    font-weight: 700;
    color: var(--text-dark);
    margin-bottom: 12px;
}

.PopularActivityslider .activity-location {
    color: var(--text-light);
    font-size: 14px;
    margin-bottom: 15px;
}

.PopularActivityslider .activity-location i {
    color: var(--primary);
}

.PopularActivityslider .activity-features {
    margin-bottom: 15px;
}

.PopularActivityslider .activity-features span {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: rgba(6, 106, 130, .08);
    color: var(--primary);
    padding: 6px 12px;
    border-radius: 30px;
    font-size: 13px;
    font-weight: 600;
}

.PopularActivityslider .activity-features i {
    font-size: 14px;
}

/* Rating */

.PopularActivityslider .activity-rating {
    display: flex;
    align-items: center;
    gap: 2px;
    margin-bottom: 10px;
}

.PopularActivityslider .activity-rating i {
    color: #FFC107;
    font-size: 14px;
}

.PopularActivityslider .review-count {
    color: var(--text-light);
    font-size: 13px;
    margin-left: 8px;
}

.PopularActivityslider .card-footer {
    margin-top: auto;
}

.PopularActivityslider .activity-price small {
    display: block;
    color: var(--text-light);
    font-size: 12px;
}

.PopularActivityslider .activity-price div {
    color: var(--primary);
    font-size: 22px;
    font-weight: 700;
}

.PopularActivityslider .btn-primary {
    background: var(--tts-buttton-bg);
    color: var(--tts-buttton-txt);
    border: none;
    border-radius: var(--radius-sm);
    padding: 8px 18px;
    transition: var(--transition);
}

.PopularActivityslider .btn-primary:hover {
    background: var(--tts-buttton-bg1);
    color: var(--tts-buttton-txt1);
}

.PopularActivityslider .owl-item .card-link {
    width: 100%;
}


@media (max-width:991px) {
    .PopularActivityslider .card-image {
        height: 200px;
    }
}

@media (max-width:767px) {

    .PopularActivityslider .card-image {
        height: 180px;
    }

    .PopularActivityslider .card-title {
        font-size: 16px;
    }

    .activity-price div {
        font-size: 18px;
    }

    .PopularActivityslider .btn-primary {
        padding: 7px 14px;
        font-size: 14px;
    }
}

@media (max-width:576px) {
    .PopularActivityslider .card-image {
        height: 170px;
    }

    .PopularActivityslider .card-body {
        padding: 15px;
    }

    .activity-duration {
        font-size: 12px;
        padding: 5px 12px;
    }
}

/*--------------------------------------------------------------
    # Blog Posts Section
    --------------------------------------------------------------*/
.recent-posts .post-item {
    background: var(--bg-white);
    box-shadow: 0px 2px 20px rgba(0, 0, 0, 0.1);
    transition: 0.3s;
    border-radius: 12px;
}

.recent-posts .post-item .post-img img {
    transition: 0.5s;
    width: 100%;
    max-height: 220px;
    border-radius: 12px 12px 0 0;
}

.recent-posts .post-item .post-date {
    position: absolute;
    right: 0;
    bottom: 0;
    background-color: var(--tts-buttton-bg);
    color: var(--tts-buttton-txt);
    text-transform: uppercase;
    font-size: 13px;
    padding: 6px 12px;
    font-weight: 500;
}

.recent-posts .post-item .post-content {
    padding: 30px;
}

.recent-posts .post-item .post-title {
    color: var(--dark);
    font-size: 18px;
    font-weight: 700;
    transition: 0.3s;
    margin-bottom: 15px;
}

.recent-posts .post-item .meta i {
    font-size: 16px;
    color: var(--tts-buttton-bg);
}

.recent-posts .post-item .meta span {
    font-size: 15px;
    color: color-mix(in srgb, var(--dark), transparent 50%);
}

.recent-posts .post-item hr {
    color: color-mix(in srgb, var(--dark), transparent 80%);
}

.recent-posts .post-item .readmore {
    display: flex;
    align-items: center;
    font-weight: 600;
    line-height: 1;
    transition: 0.3s;
    color: color-mix(in srgb, var(--dark), transparent 40%);
}

.recent-posts .post-item .readmore i {
    line-height: 0;
    margin-left: 6px;
    font-size: 16px;
}

.recent-posts .post-item:hover .post-title,
.recent-posts .post-item:hover .readmore {
    color: var(--tts-buttton-bg);
}

.recent-posts .post-item:hover .post-img img {
    transform: scale(1.1);
}




/*--------------------------------------------------------------
    # notification Section
    --------------------------------------------------------------*/

.notification-section .notification-list {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.notification-section .notification-card {
    background: #fff;
    border-radius: 16px;
    overflow: hidden;
    border: 1px solid #e5e7eb;
    box-shadow: 0 5px 20px rgba(0, 0, 0, .05);
    transition: .3s;
}

.notification-section .notification-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 10px 30px rgba(0, 0, 0, .08);
}

.notification-section .notification-header {
    display: flex;
    align-items: center;
    gap: 15px;
    padding: 20px 25px;
    cursor: pointer;
}

.notification-section .notification-number {
    min-width: 50px;
    width: 50px;
    height: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #066a82;
    color: #fff;
    font-size: 18px;
    font-weight: 700;
}

.notification-section .notification-header h3 {
    flex: 1;
    margin: 0;
    font-size: 18px;
    font-weight: 600;
    color: #222;
    line-height: 1.5;
}

.faq-toggle {
    color: #066a82;
    font-size: 16px;
    transition: .3s;
}

.notification-section .notification-content {
    max-height: 0;
    overflow: hidden;
    transition: max-height .4s ease, padding .4s ease;
    padding: 0 25px;
}

.notification-section .notification-content p {
    margin: 0;
    color: #555;
    line-height: 1.8;
    padding-bottom: 20px;
}

.notification-section .notification-card.active .notification-content {
    max-height: 300px;
}

.notification-section .notification-card.active .faq-toggle {
    transform: rotate(180deg);
}

@media(max-width:767px) {


    .notification-section .notification-header {
        padding: 15px;
    }

    .notification-section .notification-number {
        width: 42px;
        height: 42px;
        min-width: 42px;
        font-size: 15px;
    }

    .notification-section .notification-header h3 {
        font-size: 16px;
    }
}

/**************************Loading Item*************************/
.listing-loader-block {
    min-height: 70vh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 40px 15px;
    background: #f8fafc;
}

.tts-showcenter {
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
}

.tts-loading-box {
    width: 100%;
    max-width: 500px;
    background: var(--white);
    border-radius: var(--radius-lg);
    padding: 35px 30px;
    text-align: center;
    border: 1px solid var(--border-light);
    box-shadow: var(--shadow-medium);
}

.tts-loading-box .loader img {
    width: 140px;
    max-width: 100%;
    margin-bottom: 20px;
}

.tts-loading-box h5 {
    font-size: 24px;
    font-weight: 700;
    color: var(--text-dark);
    margin-bottom: 10px;
}

.tts-loading-box p {
    color: var(--text-light);
    margin-bottom: 20px;
}

.tts-loading-box h2 {
    font-size: 25px;
    font-weight: 700;
    color: var(--primary);
    margin: 15px 0;
}

.loader .spinner-grow {
    width: 16px;
    height: 16px;
    margin: 0 5px;
}

.loader .spinner-grow:nth-child(1) {
    color: var(--primary) !important;
}

.loader .spinner-grow:nth-child(2) {
    color: var(--primary-light) !important;
}

.loader .spinner-grow:nth-child(3) {
    color: #28a745 !important;
}

.loader .spinner-grow:nth-child(4) {
    color: #6c757d !important;
}

/* .tts-loading-box::after {
    content: "";
    display: block;
    width: 100%;
    height: 5px;
    margin-top: 30px;
    border-radius: 50px;
    background: #e9ecef;
    overflow: hidden;
    position: relative;
}

.tts-loading-box::before {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    height: 5px;
    width: 120px;
    background: var(--user-gradient);
    border-radius: 50px;
    animation: loadingBar 2s linear infinite;
} */

.tts-loading-box {
    position: relative;
    overflow: hidden;
}

/* 
@keyframes loadingBar {

    0% {
        left: -120px;
    }

    100% {
        left: 100%;
    }
} */

@media (max-width:768px) {

    .listing-loader-block {
        min-height: 60vh;
    }

    .tts-loading-box {
        padding: 25px 20px;
    }

    .tts-loading-box .loader img {
        width: 110px;
    }

    .tts-loading-box h5 {
        font-size: 22px;
    }

    .tts-loading-box h2 {
        font-size: 26px;
    }

    .tts-loading-box p {
        font-size: 14px;
    }

}


/* =========================
   SIDEBAR WRAPPER
========================= */
.tts__filter.booking-sidebar {
    background: var(--bg-white);
    border: 1px solid var(--border-light);
    border-radius: var(--radius-md);
    box-shadow: var(--shadow-light);
    padding: 15px;
    transition: var(--transition);
}

.tts__filter .nav-tabs .btn {
    border-radius: var(--radius-lg);
    font-size: 13px;
    padding: 6px 14px;
    transition: var(--transition);
    color: var(--text-dark);
    border: 1px solid var(--border-medium);
    background: var(--white);
}

.tts__filter .nav-tabs .btn.active {
    background: var(--primary);
    color: var(--white);
    border-color: var(--primary);
    box-shadow: var(--shadow-light);
}

.tts__filter .nav-tabs .btn:hover {
    border-color: var(--primary);
    color: var(--primary);
}

.filter-top {
    border-bottom: 1px solid var(--border-light);
    padding-bottom: 10px;
    margin-bottom: 12px;
}

.filter-top .filters {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.filter-top .title {
    font-size: 15px;
    font-weight: 600;
    color: var(--text-dark);
    margin: 0;
}

.tts__fliter__reset {
    font-size: 12px;
    color: var(--primary-light);
    text-decoration: none;
    font-weight: 500;
    transition: var(--transition);
}

.tts__fliter__reset:hover {
    color: var(--primary);
    text-decoration: underline;
}

.widget {
    margin-bottom: 16px;
    padding-bottom: 10px;
    border-bottom: 1px dashed var(--border-light);
}

.widget:last-child {
    border-bottom: none;
}

.widget-title {
    font-size: 13px;
    font-weight: 600;
    color: var(--text-dark);
    margin-bottom: 10px;
}

.widget.d-flex {
    gap: 8px;
}

.widget .btn {
    border-radius: var(--radius-sm);
    font-size: 12px;
    transition: var(--transition);
}

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

.airlines-cat-list li {
    margin-bottom: 6px;
}

.tts__checkbox__label {
    font-size: 13px;
    color: var(--text-light);
}

.tts__checkbox__input {
    accent-color: var(--primary);
}

.airlines-cat-list.row label {
    padding: 6px 8px;
    border-radius: var(--radius-sm);
    transition: var(--transition);
    border: 1px solid var(--border-light);
    background: var(--white);
}

.airlines-cat-list.row label:hover {
    border-color: var(--primary);
    background: rgba(6, 106, 130, 0.05);
}

.price_filter {
    padding: 8px 0;
}

.price-range,
.price-range-return {
    height: 4px;
    background: var(--border-medium);
    border-radius: var(--radius-sm);
}

.price_slider_amount {
    display: flex;
    justify-content: space-between;
    margin-top: 8px;
}

.price_slider_amount input {
    width: 48%;
    font-size: 12px;
    padding: 4px 6px;
    border-radius: var(--radius-sm);
    border: 1px solid var(--border-medium);
    background: var(--bg-white);
    color: var(--text-dark);
}


.tts__nav__tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    padding: 0;
}

.tts__flight__timing {
    width: 85px;
    padding: 8px;
    border-radius: var(--radius-md);
    border: 1px solid var(--border-light);
    background: var(--white);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: var(--transition);
    text-align: center;
}

.tts__flight__timing:hover {
    border-color: var(--primary);
    box-shadow: var(--shadow-light);
    transform: translateY(-2px);
}

.tts-filter-select {
    background: var(--user-gradient);
    color: var(--white);
    border-color: var(--primary);
}

.tts__flight__timing img {
    width: 22px;
    margin-bottom: 5px;
}


.frm-slicing-first {
    display: flex;
    align-items: center;
    gap: 6px;
}

.frm-slicing img {
    width: 24px;
    height: 24px;
    object-fit: contain;
    border-radius: 50%;
    border: 1px solid var(--border-light);
}


.price_filter .ui-slider.ui-slider-horizontal.ui-widget.ui-widget-content.ui-corner-all {
    background: #ebebee none repeat scroll 0 0;
    border: medium none;
    border-radius: 0;
    height: 6px;
    margin-bottom: 20px;
    width: 95%;
    padding: 0;
}

.price_filter .ui-slider-handle.ui-state-default.ui-corner-all {
    height: 20px;
    width: 20px;
    top: 0;
    margin-top: -7px;
    background: #ebebee;
    border-radius: 50px;
    margin-left: -1px;
    border: 5px solid var(--tts-buttton-bg1);
}

.price_filter .ui-slider .ui-slider-range {
    background-color: var(--tts-buttton-bg1);
}

@media (max-width: 767px) {

    .tts__filter.booking-sidebar {
        padding: 10px;
        border-radius: var(--radius-sm);
    }

    .tts__flight__timing {
        width: 75px;
        padding: 6px;
    }

    .widget-title {
        font-size: 12px;
    }

    .tts__flight__timing .tts__checkbox__label {
        font-size: 10px;
    }
}

/* =========================
   RESULT BAR WRAPPER
========================= */
.tts__result-bar {
    padding: 8px 16px;
    margin-bottom: 15px;
    background: var(--bg-white);
    border: 1px solid var(--border-light);
    border-radius: var(--radius-md);
    box-shadow: var(--shadow-light);
}

.tts__result-text {
    font-size: 14px;
    color: var(--text-dark);
    display: flex;
    align-items: center;
    gap: 4px;
}

.tts__result-count,
.tts__result-total {
    color: var(--primary);
    font-weight: 600;
}

.tts__sort-wrapper {
    position: relative;
}

.tts__sort-btn {
    border: 1px solid var(--border-medium);
    border-radius: var(--radius-sm);
    background: var(--white);
    color: var(--text-dark);
    font-size: 13px;
    padding: 6px 12px;
    transition: var(--transition);
}

.tts__sort-btn:hover {
    border-color: var(--primary);
    color: var(--primary);
    box-shadow: var(--shadow-light);
}

.tts__sort-label {
    font-size: 12px;
    font-weight: 500;
}

.tts__sort-value {
    font-size: 13px;
    color: var(--primary);
    font-weight: 600;
}

.tts__sort-menu {
    border: 1px solid var(--border-light);
    border-radius: var(--radius-sm);
    box-shadow: var(--shadow-medium);
    padding: 6px;
}

.tts__sort-item {
    font-size: 13px;
    color: var(--text-dark);
    border-radius: var(--radius-sm);
    transition: var(--transition);
}

.tts__sort-item:hover {
    background: rgba(6, 106, 130, 0.08);
    color: var(--primary);
}

.tts__netfare-switch {
    gap: 8px;
    align-items: center;
}

.tts__netfare-input {
    cursor: pointer;
    accent-color: var(--primary);
}

.tts__netfare-label {
    font-size: 13px;
    color: var(--text-dark);
    cursor: pointer;
    user-select: none;
}

@media (max-width: 768px) {

    .tts__result-text {
        font-size: 13px;
        justify-content: center;
        flex-wrap: wrap;
    }

    .tts__sort-btn {
        width: 100%;
        text-align: left;
    }

    .tts__netfare-switch {
        justify-content: center;
        margin-top: 8px;
    }
}



/* =========================
   MAIN PANEL
========================= */
.tts__sort-panel {
    padding: 8px 16px;
    margin-bottom: 15px;
    background: var(--bg-white);
    border: 1px solid var(--border-light);
    border-radius: var(--radius-md);
    box-shadow: var(--shadow-light);
}

.tts__sort-pills {
    display: flex;
    gap: 10px;
    padding: 0;
    margin: 0;
    list-style: none;
}

.tts__sort-pills li {
    flex: 1;
}

.tts__sort-pill {
    display: flex;
    align-items: center;
    gap: 10px;
    border: 1px solid var(--border-light);
    background: var(--white);
    border-radius: var(--radius-md);
    padding: 10px 12px;
    cursor: pointer;
    transition: var(--transition);
    width: 100%;
}

.tts__sort-pill i {
    font-size: 18px;
    color: var(--primary);
}

.tts__sort-pill:hover {
    border-color: var(--primary);
    box-shadow: var(--shadow-light);
    transform: translateY(-2px);
}

.tts__sort-content {
    display: flex;
    flex-direction: column;
    text-align: left;
}

.tts__sort-title {
    font-size: 12px;
    color: var(--text-light);
}

.tts__sort-price {
    font-size: 13px;
    font-weight: 600;
    color: var(--primary);
}

.tts__day-btn {
    display: inline-block;
    padding: 4px 14px;
    font-size: 12px;
    font-weight: 600;
    border: 1px solid var(--border-medium);
    border-radius: 20px;
    color: var(--text-dark);
    text-decoration: none;
    transition: var(--transition);
    background: var(--white);
}

.tts__day-btn:hover {
    background: var(--primary);
    color: var(--white);
    border-color: var(--primary);
    box-shadow: var(--shadow-light);
}

@media (max-width: 768px) {

    /* .tts__sort-pills {
        flex-direction: column;
        width: 100%;
    } */

    .tts__sort-pill {
        width: 100%;
        min-width: auto;
    }

    .tts__day-nav {
        justify-content: center;
        flex-wrap: wrap;
    }
}

/* =========================
   MAIN WRAPPER
========================= */
.tts__fare-calendar {
    padding: 8px 0;
    margin-bottom: 15px;
}

.tts__fare-item {
    padding: 5px;
}

.tts__fare-link {
    text-decoration: none;
    display: block;
}

.tts__fare-card {
    background: var(--white);
    border: 1px solid var(--border-light);
    border-radius: var(--radius-md);
    padding: 10px;
    text-align: center;
    transition: var(--transition);
    box-shadow: var(--shadow-light);
    cursor: pointer;
}

.tts__fare-card:hover {
    transform: translateY(-4px);
    border-color: var(--primary);
    box-shadow: var(--shadow-medium);
}

.tts__fare-airline {
    width: 22px;
    height: 22px;
    object-fit: contain;
    margin-bottom: 6px;
}

.tts__fare-date {
    font-size: 13px;
    font-weight: 600;
    color: var(--text-dark);
    margin-bottom: 4px;
}

.tts__fare-price {
    font-size: 12px;
    font-weight: 600;
    color: var(--primary);
}

.tts__fare-card.active {
    background: var(--user-gradient);
    color: var(--white);
    border-color: var(--primary);
}

.tts__fare-card.active .tts__fare-price,
.tts__fare-card.active .tts__fare-date {
    color: var(--white);
}

/* =========================
   MAIN HEADER
========================= */
.tts__sort-header {
    padding: 8px 16px;
    margin-bottom: 15px;
    background: var(--bg-white);
    border: 1px solid var(--border-light);
    border-radius: var(--radius-md);
    box-shadow: var(--shadow-light);
}

.tts__sort-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 10px;
}

.tts__sort-left {
    display: flex;
    gap: 20px;
    flex-wrap: wrap;
}

.tts__sort-right {
    display: flex;
}

.tts__sort-link {
    font-size: 13px;
    font-weight: 600;
    color: var(--text-dark);
    text-decoration: none;
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 4px 8px;
    border-radius: var(--radius-sm);
    transition: var(--transition);
}

.tts__sort-link i {
    font-size: 12px;
    color: var(--primary);
}

.tts__sort-link:hover {
    background: rgba(6, 106, 130, 0.08);
    color: var(--primary);
}

.tts__sort-link.active,
.tts__sort-link[ng-click] {
    position: relative;
}

.tts__sort-price {
    color: var(--primary);
    font-weight: 700;
}

@media (max-width: 767px) {

    .tts__sort-row {
        flex-direction: column;
        align-items: flex-start;
    }

    .tts__sort-left {
        gap: 10px;
    }

    .tts__sort-link {
        font-size: 12px;
    }
}

/* =========================
   FLIGHT CARD WRAPPER
========================= */
.tts__flight-card {
    background: var(--white);
    border: 1px solid var(--border-light);
    border-radius: var(--radius-md);
    box-shadow: var(--shadow-light);
    padding: 15px;
    margin-bottom: 18px;
    transition: var(--transition);
    position: relative;
}

.tts__flight-card:hover {
    transform: translateY(-2px);
    box-shadow: var(--shadow-medium);
}

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

.tts__airline-logo {
    width: 42px;
    height: 42px;
    object-fit: contain;
}

.tts__airline-name {
    font-weight: 600;
    color: var(--text-dark);
}

.tts__flight-id {
    display: block;
    font-size: 12px;
    color: var(--text-light);
    margin-top: 2px;
}

.tts__time div {
    font-size: 13px;
    color: var(--text-light);
}

.tts__time strong {
    display: block;
    font-size: 22px;
    font-weight: 700;
    color: var(--text-dark);
}

.tts__time small {
    font-size: 12px;
    color: var(--text-light);
}

.tts__duration {
    text-align: center;
}

.tts__duration span {
    display: block;
    font-size: 12px;
    color: var(--primary);
    font-weight: 600;
}

.tts__duration div {
    font-size: 13px;
    font-weight: 600;
    margin: 6px 0;
    color: var(--text-dark);
}

.tts__duration i {
    color: var(--primary);
    font-size: 18px;
}

.tts__info {
    display: flex;
    justify-content: space-between;
    gap: 10px;
    margin-top: 10px;
    font-size: 13px;
    color: var(--text-light);
}

.tts__remark {
    margin-top: 8px;
    font-size: 12px;
    color: #dc3545;
}



.tts__fare-section {
    display: flex;
    gap: 15px;
    align-items: flex-start;
}

.tts__fare-box {
    flex: 1;
}

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

.flight-farelist {
    margin-bottom: 0px;
    cursor: pointer;
    transition: var(--transition);
    background: var(--white);
}

.flight-farelist hr {
    margin: 10px 0;
}

.tts__fare-label {
    display: flex;
    gap: 10px;
    cursor: pointer;
    align-items: flex-start;
}

.tts__flight__price {
    font-size: 18px;
    font-weight: 700;
    color: var(--text-dark);
}

.tts__flight__price.text-success {
    display: block;
    font-size: 14px;
    margin-top: 4px;
    color: var(--primary-light);
}

.label-warning {
    display: inline-block;
    padding: 3px 10px;
    border-radius: 20px;
    background: rgba(245, 129, 26, 0.15);
    color: var(--primary-light);
    font-size: 10px;
    margin-left: 6px;
    font-weight: normal;
}

.tts__fare-meta {
    margin-left: 28px;
    font-size: 12px;
    color: var(--text-light);
    margin-top: 5px;
}

.tts-refundable {
    color: #198754;
}

.tts-non-refundable {
    color: #dc3545;
}

.flight__dropdown__icon {
    content: '';
    display: block;
    position: relative;
    width: 23px;
    border-radius: 50%;
    top: -25px;
    left: 60%;
    height: 23px;
    background-color: #5a5a5a;
    transform: rotate(45deg);
    transition: transform 0.2s linear;
    cursor: pointer;
}

.flight__dropdown__icon:after {
    content: '';
    display: block;
    float: none;
    position: absolute;
    top: 5px;
    left: 5px;
    width: 0;
    border: solid #fff;
    border-width: 0 2px 2px 0;
    padding: 4px;
    height: 0;
}

.flight__dropdown__icon--selected {
    transform: rotate(-135deg);
    top: -85px;
}

.tts__actions {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.tts__btn-book {
    background: var(--tts-buttton-bg);
    color: var(--tts-buttton-txt);
    border: none;
    padding: 10px;
    border-radius: var(--radius-sm);
    font-weight: 600;
    font-size: 14px;
    transition: var(--transition);
}

.tts__btn-book:hover {
    background: var(--tts-buttton-bg1);
    color: var(--tts-buttton-txt1);
}

.flight-viewbtn {
    border: none;
    background: var(--white);
    color: var(--primary);
    padding: 0;
    border-radius: var(--radius-sm);
    font-weight: 600;
    font-size: 13px;
    transition: var(--transition);
}

.flight-viewbtn:hover {
    background: var(--white);
    color: var(--primary);
}

@media(max-width:991px) {

    .tts__fare-section {
        flex-direction: column;
    }

    .tts__fare-section .tts__fare-box {
        width: 100%;
    }

    .tts__actions {
        width: 100%;
        flex-direction: row;
    }

    .tts__btn-book,
    .flight-viewbtn {
        flex: 1;
    }
}

@media(max-width:767px) {

    .tts__airline {
        justify-content: center;
        text-align: center;
    }

    .tts__info {
        flex-direction: column;
    }

    .tts__fare-meta {
        margin-left: 0;
    }

    .tts__time strong {
        font-size: 18px;
    }
}

@media(max-width:576px) {

    .tts__actions {
        flex-direction: column;
    }
}

/* Flight Details Wrapper */
.flight-detail-box {
    background: var(--bg-white);
    border-radius: var(--radius-md);
    box-shadow: var(--shadow-light);
    overflow: hidden;
    margin-top: 15px;
    border: 1px solid var(--border-light);
}

.flight-detail-box .flight-list-tab nav {
    background: var(--header-bg);
    padding: 12px 20px;
    border-bottom: 1px solid var(--border-medium);
}

.flight-detail-box .flight-list-tab-btn {
    color: var(--text-light);
    font-weight: 600;
    border: none !important;
    background: transparent !important;
    padding: 12px 18px;
    transition: var(--transition);
}

.flight-detail-box .flight-list-tab-btn:hover {
    color: var(--primary);
}

.flight-detail-box .flight-list-tab-btn.active {
    color: var(--primary) !important;
    border-bottom: 3px solid var(--primary) !important;
}

.flight-detail-box .cross-btn {
    border: none;
    background: transparent;
    color: var(--text-light);
    font-size: 18px;
    transition: var(--transition);
}

.flight-detail-box .cross-btn:hover {
    color: #dc3545;
}

.flight-detail-box .flight-list-tab-content {
    padding: 20px;
    background: var(--white);
}

.flight-detail-box .flight-details-top-list {
    background: rgba(6, 106, 130, 0.08);
    border-left: 4px solid var(--primary);
    border-radius: var(--radius-sm);
    padding: 12px 15px;
    margin-bottom: 20px;
}

.flight-detail-box .flight-details-top-list b {
    color: var(--text-dark);
    font-size: 15px;
}

.flight-detail-box .graycolor {
    color: var(--text-light);
}

.flight-detail-box .airline-logo {
    width: 42px;
    height: 42px;
    object-fit: contain;
}

.flight-detail-box .flight-listair1 span {
    display: block;
    line-height: 1.5;
}

.flight-detail-box .arct-idcode {
    color: var(--primary);
    font-weight: 700;
}

.flight-detail-box .equipType {
    color: var(--primary-light);
    margin-left: 6px;
    font-size: 13px;
}

.flight-detail-box .atb-airport {
    font-size: 13px;
}

.flight-detail-box .stop-arrowline {
    color: var(--primary-light);
    font-weight: 600;
    display: block;
    margin-bottom: 6px;
}

.flight-detail-box .flight-listair1.text-lg-end {
    margin-top: 10px;
    padding-top: 10px;
    border-top: 1px dashed var(--border-medium);
}

.flight-detail-box .flightLayoverOuter {
    margin: 15px 0;
}

.flight-detail-box .flightLayover {
    background: #fff8ef;
    border: 1px solid #ffd6a6;
    border-radius: var(--radius-sm);
    padding: 10px 15px;
}

.flight-detail-box .flightLayover b {
    color: var(--primary);
}

.flight-detail-box .table {
    border-color: var(--border-medium);
}

.flight-detail-box .table thead {
    background: var(--primary);
    color: var(--white);
}

.flight-detail-box .table th {
    font-weight: 600;
}

.flight-detail-box .table-striped tbody tr:nth-of-type(odd) {
    background: rgba(6, 106, 130, 0.03);
}

.flight-detail-box .table .fs-4 {
    color: var(--primary);
}

.flight-detail-box .baggage__data td {
    vertical-align: middle;
}

.flight-detail-box #nav-baggageinfo_ .table th {
    background: var(--primary);
    color: var(--white);
}


.flight-detail-box .flight-listair1 span[ng-if*="NoOfSeatAvailable"] {
    color: #dc3545;
    font-weight: 600;
}


.flight-detail-box .flight-listair1 .at-fontweight {
    font-weight: 600;
}


@media (max-width: 767px) {

    .flight-detail-box .flight-list-tab-content {
        padding: 12px;
    }

    .flight-detail-box .flight-list-tab-btn {
        padding: 10px;
        font-size: 13px;
    }

    .flight-detail-box .flight-details-top-list {
        font-size: 13px;
    }

    .flight-detail-box .airline-logo {
        width: 35px;
        height: 35px;
    }

    .flight-detail-box .text-end {
        text-align: left !important;
        margin-top: 10px;
    }

    .flight-detail-box .stop-arrowline {
        font-size: 12px;
    }

    .flight-detail-box .flight-listair1.text-lg-end {
        text-align: left !important;
    }
}


.no-flight-card {
    background: var(--bg-white);
    border-radius: var(--radius-md);
    padding: 40px 25px;
    text-align: center;
    box-shadow: var(--shadow-light);
    border: 1px solid var(--border-light);
    margin: 30px 0;
}

.no-flight-icon {
    width: 80px;
    height: 80px;
    margin: 0 auto 20px;
    background: rgba(245, 129, 26, 0.12);
    color: var(--primary-light);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 32px;
}

.no-flight-card h4 {
    color: var(--text-dark);
    font-weight: 700;
    margin-bottom: 10px;
}

.no-flight-card p {
    color: var(--text-light);
    max-width: 500px;
    margin: 0 auto 20px;
    line-height: 1.6;
}

.reset-filter-btn {
    background: var(--user-gradient);
    color: var(--white);
    border: none;
    padding: 12px 24px;
    border-radius: 50px;
    font-weight: 600;
    transition: var(--transition);
}

.reset-filter-btn:hover {
    transform: translateY(-2px);
    box-shadow: var(--shadow-medium);
    color: var(--white);
}

.tts-api-error-msg {
    background: var(--bg-white);
    border-radius: var(--radius-lg);
    padding: 40px 30px;
    text-align: center;
    box-shadow: var(--shadow-light);
    border: 1px solid var(--border-light);
    margin: 30px 0;
}

.no-flight-img img {
    max-width: 220px;
    width: 100%;
    margin-bottom: 25px;
}

.no-flight-title {
    color: var(--primary);
    font-weight: 700;
    margin-bottom: 10px;
}

.no-flight-error {
    color: #dc3545;
    font-weight: 600;
    margin-bottom: 15px;
}

.no-flight-desc {
    color: var(--text-light);
    max-width: 650px;
    margin: 0 auto 25px;
    line-height: 1.7;
    font-size: 15px;
}

.search-again-btn {
    background: var(--user-gradient);
    color: var(--white);
    border: none;
    padding: 12px 30px;
    border-radius: 50px;
    font-weight: 600;
    transition: var(--transition);
    text-decoration: none;
}

.search-again-btn:hover {
    color: var(--white);
    transform: translateY(-2px);
    box-shadow: var(--shadow-medium);
}

@media(max-width:767px) {

    .tts-api-error-msg {
        padding: 25px 15px;
    }

    .no-flight-img img {
        max-width: 150px;
    }

    .no-flight-title {
        font-size: 22px;
    }

    .no-flight-desc {
        font-size: 14px;
    }
}


.roundtrip__flight-card .tts__airline-logo {
    width: 30px;
    height: 30px;
}

.roundtrip__flight-card .tts__time strong {
    font-size: 16px;
}

.roundtrip__flight-card .tts__duration div {
    margin: 0;
    font-size: 12px;
}

.roundtrip__flight-card .tts__fare-section {
    flex-direction: column;
}


.roundtrip__flight-card .tts__fare-box {
    flex: inherit;
    width: 100%;
}


.roundtrip__flight-card .flight-detail-box .flight-list-tab-btn {
    padding: 5px 10px;
    font-size: 12px;
}


.roundtrip-bottom-list {
    position: sticky;
    bottom: 0;
    width: 100%;
    background: rgba(255, 255, 255, 0.15);
    z-index: 100;
    box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.15);
    backdrop-filter: blur(10px);
    padding: 10px;
}


.roundtrip-bottom-list .flight-summary-card {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
    flex-wrap: nowrap;
    overflow-x: auto
}

.roundtrip-bottom-list .flight-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
    padding: 12px 20px;
    border: 1px solid #dedede;
    white-space: nowrap;
    border-radius: 10px;
    flex: 1;
}

.roundtrip-bottom-list .flight-airline {
    display: flex;
    align-items: center;
    gap: 10px
}

.roundtrip-bottom-list .airline-logo,
.roundtrip-bottom-list .airline-logo-img {
    width: 40px;
    height: 40px;
    object-fit: contain
}

.roundtrip-bottom-list .flight-airline h6 {
    font-size: 14px;
    margin: 0;
}

.roundtrip-bottom-list .flight-route {
    display: flex;
    align-items: center;
    gap: 12px
}

.roundtrip-bottom-list .city-block h5,
.roundtrip-bottom-list .flight-price h5,
.roundtrip-bottom-list .total-price h3 {
    margin: 0;
    font-size: 14px;
}

.roundtrip-bottom-list .flight-arrow {
    color: var(--primary-light)
}


.roundtrip-bottom-list .flight-price h5 {
    color: var(--primary);
    font-size: 18px;
    font-weight: 700
}

.roundtrip-bottom-list .flight-booking {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-left: auto
}

.roundtrip-bottom-list .flight-booking .total-price h3 {
    font-size: 18px;
}

.roundtrip-bottom-list .round_trip_book {
    background: var(--tts-buttton-bg);
    color: var(--tts-buttton-txt);
    border: none;
    padding: 10px 20px;
    border-radius: 30px;
    cursor: pointer;
    transition: var(--transition)
}

.roundtrip-bottom-list .round_trip_book:hover {
    background: var(--tts-buttton-bg1);
    color: var(--tts-buttton-txt1)
}


/*=======dashboard======start=========*/
.dashboard-section {
    /* background-color: #ffffff; */
    padding: 30px 0;
}

.dashboard-section .dashboard_title {
    margin-bottom: 20px;
    font-size: 30px;
}

/* .dashboard-section .card {
    box-shadow: 0 0 50px 0 rgb(32 32 32 / 15%);
    border-radius: 10px;
} */

.dashboard-section .card .card-body {
    padding: 0;
}


.dashboard-section .card .card-footer,
.dashboard-section .card .card-header {
    position: relative;
    overflow: hidden;
    padding: 20px;
    background-color: var(--white);

}

.dashboard-section .card .card-header::after {
    content: '';
    position: absolute;
    left: 0px;
    top: 50%;
    transform: translateY(-50%);
    width: 5px;
    height: 30px;
    background-color: #aaaaaa;
    border-radius: 2px;
    pointer-events: none;
}

.dashboard-section .card .card-header h5 {
    font-size: 16px;
}

.dashboard-section .card .card-footer {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 5px;
    justify-content: space-between;
}

.dashboard-section .card .card-content-area {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 15px;
}

.dashboard-section .card .card-content-area .btn-area {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 5px;
}

.dashboard-section .card .card-text {
    font-size: 13px;
    color: #212529bf;
}

.dashboard-section .card .form-group {
    position: relative;
}

.dashboard-section .card .form-group label,
.dashboard-section .card .form-group .form-control,
.dashboard-section .card .form-group .form-select {
    font-size: 13px;

}

.dashboard-section .card .form-group .form-control,
.dashboard-section .card .form-group .form-select {
    padding: 10px;
}

.dashboard-section .card .btn {
    font-size: 13px;
}

.dashboard-section .card .btn_search {
    background-color: transparent;
    color: var(--tts-buttton-bg);
    border: 1px solid var(--tts-buttton-bg);
    padding: 10px 15px;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.6px;
}

.dashboard-section .card .btn_search i {
    margin-left: 2px;
}

.dashboard-section .card .btn_search:hover {
    background-color: var(--tts-buttton-bg);
    color: var(--tts-buttton-txt);
    border: 1px solid var(--tts-buttton-bg);
}

/* .dashboard-section .card.tile-stats {
    position: relative;
    display: block;
    background: #fff;
    margin-bottom: 10px;
    overflow: hidden;
    border-radius: 5px;
    background-clip: padding-box;
    transition: all 300ms ease-in-out;
} */

.dashboard-section .card h3 {
    font-size: 32px;
    margin-bottom: 0;
}

/* .dashboard-section .card .card-body .card-title {
    font-weight: 600;
    letter-spacing: 1px;
} */

.dashboard-section .card .tile-red {
    color: #f56954;
}

.dashboard-section .card .tile-green {
    color: #00a65a;
}

.dashboard-section .card .tile-aqua {
    color: #00c0ef;
}

.dashboard-section .card .tile-blue {
    color: #00639e;
}

.dashboard-section .card .tile-pink {
    color: #ff0099;
}

.dashboard-section .card .tile-black {
    color: #212121;
}

.tile-stats .icon {
    color: rgba(0, 0, 0, 0.1);
    position: absolute;
    right: 5px;
    bottom: 50px;
    z-index: 1;
}

.tile-stats.tile-red .icon {
    color: rgba(0, 0, 0, 0.1);
}

.tile-stats .icon i {
    font-size: 40px;
    line-height: 0;
    margin: 0;
    padding: 0;
    vertical-align: bottom;
}

.dashboard-section .card a .fa-plane {
    color: #f5695480;
}

.dashboard-section .card a .fa-hotel {
    color: #00a65a73;
}

.dashboard-section .card a .fa-bus {
    color: #00c0ef8f;
}

.dashboard-section .card a .fa-umbrella-beach {
    color: #00639ea1;
}

.dashboard-section .card a .fa-cc-visa {
    color: #ff009982;
}

.dashboard-section .card a .fa-car {
    color: #212121;
}

.dashboard-section .card a .fa-mosque {
    color: #212121;
}

.dashboard-section .card a .fa-star-and-crescent {
    color: #212121;
}

/* ==========================================
   RESPONSIVE TABLE
========================================== */

.dashboard-section .table-responsive {
    width: 100%;
    max-width: 100%;
    overflow-x: auto;
    overflow-y: auto;
    max-height: 500px;
    background: var(--bg-white);
    border: 1px solid var(--border-medium);
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
    scrollbar-color: #c5c5c5 #f5f5f5;
}

.dashboard-section .table-responsive::-webkit-scrollbar {
    width: 8px;
    height: 8px;
}

.dashboard-section .table-responsive::-webkit-scrollbar-track {
    background: #f5f5f5;
}

.dashboard-section .table-responsive::-webkit-scrollbar-thumb {
    background: #c5c5c5;
    border-radius: 10px;
}

.dashboard-section .table-responsive::-webkit-scrollbar-thumb:hover {
    background: #9b9b9b;
}

.dashboard-section table {
    width: 100%;
    min-width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    margin: 0;
    background: var(--bg-white);
}

.dashboard-section table th,
.dashboard-section table td {
    padding: 12px 15px;
    white-space: nowrap;
    vertical-align: middle;
    border-bottom: 1px solid #ececec;
    border-right: 1px solid #f1f1f1;
}

.dashboard-section .custom-table th:last-child,
.dashboard-section .custom-table td:last-child {
    border-right: none;
}

.dashboard-section .table thead th {
    position: sticky;
    top: 0;
    z-index: 20;
    background: lavender;
    color: var(--text-dark);
    font-weight: 600;
}

.dashboard-section .table td {
    background: var(--bg-white);
    color: var(--text-light);
}

.dashboard-section .table tbody tr:hover td {
    background: #f8f9ff;
}

.dashboard-section .custom-table th:first-child,
.dashboard-section .custom-table td:first-child {
    position: sticky;
    left: 0;
    z-index: 15;
    background: var(--bg-white);
    box-shadow: 1px 0 1px rgba(0, 0, 0, .06);
}

.dashboard-section .custom-table thead th:first-child {
    background: lavender;
    z-index: 30;
}

.dashboard-section .custom-table th:last-child,
.dashboard-section .custom-table td:last-child {
    position: sticky;
    right: 0;
    z-index: 15;
    background: var(--bg-white);
    box-shadow: -1px 0 1px rgba(0, 0, 0, .06);
}

.dashboard-section .custom-table thead th:last-child {
    background: lavender;
    z-index: 30;
}

.dashboard-section .custom-table a {
    text-decoration: none;
    transition: var(--transition);
}

.dashboard-section .custom-table a:hover {
    text-decoration: underline;
}

.dashboard-section .badge-type,
.dashboard-section .status-badge {
    white-space: nowrap;
}

@media (max-width:1199.98px) {

    .dashboard-section .custom-table {
        min-width: 1000px;
    }

}

@media (max-width:991.98px) {

    .dashboard-section .table-responsive {
        max-height: none;
        overflow-x: auto;
        overflow-y: visible;
    }

    .dashboard-section .custom-table {
        min-width: 900px;
    }

    .dashboard-section .custom-table th,
    .dashboard-section .custom-table td {
        position: static !important;
        left: auto !important;
        right: auto !important;
        top: auto !important;
        z-index: auto !important;
        box-shadow: none !important;
        padding: 10px 12px;
    }

    .dashboard-section .custom-table thead th {
        position: static !important;
    }

}

@media (max-width:767.98px) {

    .dashboard-section .table-responsive {
        max-height: none;
    }

    .dashboard-section .custom-table {
        min-width: 800px;
    }

    .dashboard-section .custom-table th,
    .dashboard-section .custom-table td {
        padding: 9px 10px;
        font-size: 13px;
    }

}

@media (max-width:575.98px) {

    .dashboard-section .custom-table {
        min-width: 700px;
    }

    .dashboard-section .custom-table th,
    .dashboard-section .custom-table td {
        padding: 8px;
        font-size: 12px;
    }

}


.dashboard-section .search-reset-btn a {
    font-size: 13px;
}

.dashboard-section .card .card-body .accordion {
    font-size: 13px;
    color: #555;
}

.dashboard-section .card .card-body .accordion .accordion-button {
    font-size: 14px;
}


.dashboard-section .settings-nav {
    gap: 8px;
}

.dashboard-section .settings-nav .nav-link {
    position: relative;
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 14px 22px;
    color: var(--text-light);
    background: transparent;
    border: 0;
    border-radius: 0;
    text-decoration: none;
    transition: var(--transition);
}

.dashboard-section .settings-nav .nav-link:hover,
.dashboard-section .settings-nav .nav-link.active {
    color: var(--primary);
}

.dashboard-section .settings-nav .nav-link::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: -1px;
    width: 0;
    height: 3px;
    background: var(--user-gradient);
    border-radius: 10px;
    transform: translateX(-50%);
    transition: width .3s ease;
}

.dashboard-section .settings-nav .nav-link:hover::after,
.dashboard-section .settings-nav .nav-link.active::after {
    width: 100%;
}

/* .dashboard-section .settings-nav .nav-link .nav-icon{
    width: 42px;
    height: 42px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--border-medium);
    border-radius: 50%;
    color: var(--text-light);
    background: var(--bg-white);
    transition: var(--transition);
}

.dashboard-section .settings-nav .nav-link:hover .nav-icon,
.dashboard-section .settings-nav .nav-link.active .nav-icon{
    background: var(--user-gradient);
    border-color: transparent;
    color: var(--white);
    transform: rotate(8deg) scale(1.05);
} */

.dashboard-section .settings-nav .nav-text {
    font-weight: 500;
}

/*********************Hotel Page List**************************/
.hotel-card {
    background: var(--white);
    border: 1px solid var(--border-light);
    border-radius: var(--radius-md);
    box-shadow: var(--shadow-light);
    overflow: hidden;
    margin-bottom: 20px;
    transition: var(--transition);
}

.hotel-card:hover {
    transform: translateY(-3px);
    box-shadow: var(--shadow-medium);
}

.hotel-card .hotel-row {
    display: flex;
    flex-wrap: wrap;
}

.hotel-card .hotel-image-column {
    width: 28%;
}

.hotel-card .hotel-content-column {
    width: 72%;
}

.hotel-card .hotel-content {
    padding: 20px;
    height: 100%;
    display: flex;
    flex-direction: column;
}

.hotel-card .hotel-image-wrap {
    position: relative;
    height: 100%;
    overflow: hidden;
}

.hotel-card .hotel-img {
    width: 100%;
    height: 100%;
    min-height: 220px;
    object-fit: cover;
    display: block;
    transition: transform .4s ease;
}

.hotel-card:hover .hotel-img {
    transform: scale(1.05);
}

.hotel-card .hotel-gallery-btn {
    position: absolute;
    top: 15px;
    right: 15px;
    width: 42px;
    height: 42px;
    border: none;
    border-radius: 50%;
    background: rgba(255, 255, 255, .95);
    color: var(--primary);
    cursor: pointer;
    box-shadow: var(--shadow-light);
    transition: var(--transition);
}

.hotel-card .hotel-gallery-btn:hover {
    background: var(--primary);
    color: var(--white);
}

.hotel-card .hotel-header {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 10px;
}

.hotel-card .hotel-name {
    font-size: 18px;
    font-weight: 700;
    color: var(--text-dark);
    margin: 0 0 0px;
}

.hotel-card .hotel-rating {
    color: #ffc107;
    font-size: 14px;
}

.hotel-card .hotel-rating i {
    margin-right: 2px;
}

.hotel-card .hotel-price-box {
    min-width: 180px;
}

.hotel-card .hotel-price {
    margin: 0;
    font-size: 25px;
    font-weight: 700;
    color: var(--primary);
}

.hotel-card .hotel-net-price {
    color: var(--primary-light);
    font-weight: 600;
    margin-top: 5px;
}

.hotel-card .hotel-address {
    color: var(--text-light);
    margin-bottom: 10px;
    font-size: 12px;
}

.hotel-card .hotel-address i {
    color: var(--primary-light);
    margin-right: 5px;
}

.hotel-card .hotel-address a {
    color: var(--primary);
    font-weight: 600;
    margin-left: 8px;
    text-decoration: none;
}

.hotel-card .hotel-address a:hover {
    color: var(--primary-light);
}

.hotel-card .hotel-review {
    margin-bottom: 15px;
    font-size: 14px;
}

.hotel-card .hotel-review a,
.hotel-card .hotel-review span {
    color: var(--primary);
    font-weight: 600;
    text-decoration: none;
}

.hotel-card .hotel-facilities {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 15px;
}

.hotel-card .hotel-facility {
    background: rgba(6, 106, 130, .08);
    border: 1px solid rgba(6, 106, 130, .15);
    color: var(--primary);
    padding: 5px 12px;
    border-radius: 30px;
    font-size: 12px;
    font-weight: 500;
}

.hotel-card .hotel-facilities a {
    color: var(--primary-light);
    font-weight: 600;
    text-decoration: none;
}

.hotel-card .hotel-amenities {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 15px;
}

.hotel-card .hotel-amenity {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 7px 12px;
    border: 1px solid var(--border-medium);
    border-radius: var(--radius-sm);
    background: #fafafa;
    font-size: 13px;
}

.hotel-card .hotel-amenity img {
    width: 18px;
    height: 18px;
    object-fit: contain;
}


.hotel-card .hotel-description {
    color: var(--text-light);
    font-size: 12px;
    margin-bottom: 15px;
    flex-grow: 1;
}


.hotel-card .hotel-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-top: 1px solid var(--border-light);
    padding-top: 15px;
    margin-top: auto;
}

.hotel-card .hotel-footer-text {
    color: var(--text-light);
    font-size: 14px;
}

.hotel-card .hotel-book-btn {
    background: var(--tts-buttton-bg);
    color: var(--tts-buttton-txt);
    text-decoration: none;
    padding: 12px 24px;
    border-radius: 30px;
    font-weight: 600;
    transition: var(--transition);
}

.hotel-card .hotel-book-btn:hover {
    background: var(--tts-buttton-bg1);
    color: var(--tts-buttton-txt1);
}

@media (max-width: 991px) {

    .hotel-card .hotel-image-column {
        width: 35%;
    }

    .hotel-card .hotel-content-column {
        width: 65%;
    }
}

@media (max-width: 768px) {

    .hotel-card .hotel-image-column,
    .hotel-card .hotel-content-column {
        width: 100%;
    }

    .hotel-card .hotel-img {
        min-height: 180px;
    }

    .hotel-card .hotel-content {
        padding: 15px;
    }

    .hotel-card .hotel-header,
    .hotel-card .hotel-footer {
        flex-direction: column;
        align-items: flex-start;
    }

    .hotel-card .hotel-price-box {
        text-align: left;
        width: 100%;
        margin-top: 10px;
    }

    .hotel-card .hotel-book-btn {
        width: 100%;
        text-align: center;
        margin-top: 10px;
    }

    .hotel-card .hotel-name {
        font-size: 18px;
    }

    .hotel-card .hotel-price {
        font-size: 24px;
    }
}

/* =====================================================
   HOTEL LISTING UI
   USING GLOBAL ROOT VARIABLES
===================================================== */

#main-carousel img,
#thumb-carousel img {
    width: 100%;
    display: block;
    object-fit: cover;
    border-radius: var(--radius-sm);
}

#main-carousel {
    overflow: hidden;
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-light);
}

#main-carousel img {
    height: 420px;
}

#thumb-carousel {
    margin-top: 18px;
}

#thumb-carousel img {
    height: 110px;
    transition: var(--transition);
}

#thumb-carousel .owl-item {
    cursor: pointer;
    opacity: .55;
    transition: var(--transition);
    border-radius: var(--radius-sm);
    overflow: hidden;
    transform: scale(.96);
}

#thumb-carousel .owl-item.current {
    opacity: 1;
    transform: scale(1);
    border: 2px solid var(--tts-buttton-bg1);
}

#thumb-carousel .owl-item:hover {
    opacity: 1;
}

/* =====================================================
   MODAL NAVIGATION
===================================================== */

.modal .nav-center .owl-nav button.owl-prev,
.modal .nav-center .owl-nav button.owl-next {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 48px;
    height: 48px;
    border: none;
    border-radius: 50%;
    background: var(--white) !important;
    color: var(--primary);
    box-shadow: var(--shadow-medium);
    transition: var(--transition);
}

.modal .nav-center .owl-nav button.owl-prev:hover,
.modal .nav-center .owl-nav button.owl-next:hover {
    transform: translateY(-50%) scale(1.08);
    background: var(--primary) !important;
    color: var(--white);
}

.modal .nav-center .owl-nav button.owl-prev {
    left: 20px;
}

.modal .nav-center .owl-nav button.owl-next {
    right: 20px;
}

#tts-harish-map {
    height: 400px;
}



/************************
 SHARE
************************/

.tts-share-section {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

.tts-share-section .tts-share-title {
    color: var(--text-dark);
    font-weight: 600;
}

.tts-share-section .tts-share-btn {
    border: none;
    padding: 8px 14px;
    border-radius: var(--radius-sm);
    cursor: pointer;
    color: #fff;
    transition: var(--transition);
}

.tts-share-section .tts-share-btn i {
    margin-right: 5px;
}

.tts-share-section .whatsapp-btn {
    background: #25D366;
}

.tts-share-section .email-btn {
    background: #6c757d;
}

.tts-share-section .action-btn {
    background: var(--primary);
}

.tts-share-section .close-btn {
    background: #dc3545;
}

.tts-share-section .tts-share-btn:hover {
    opacity: .9;
}

/* =========================BUS CARD========================= */
.booking-item {
    background: var(--bg-white);
    border: 1px solid var(--border-light);
    border-radius: var(--radius-md);
    margin-bottom: 15px;
    box-shadow: var(--shadow-light);
    transition: var(--transition);
}

.booking-item:hover {
    box-shadow: var(--shadow-medium);
    transform: translateY(-2px);
}

.booking-item .tts-share-checkbox {
    margin: 10px;
}

.booking-item .booking-bus .fw-bold {
    font-size: 16px;
    color: var(--text-dark);
}

.booking-item .bustype {
    font-size: 13px;
    color: var(--text-light);
    margin-top: 3px;
}

.booking-item .booking-time {
    font-size: 14px;
    color: var(--text-dark);
}

.booking-item .booking-time .destination {
    font-weight: 600;
    font-size: 15px;
    color: var(--text-dark);
}

.booking-item .booking-time span {
    display: block;
    line-height: 1.4;
}

.booking-item .dashed-line {
    height: 2px;
    background: repeating-linear-gradient(to right,
            var(--border-medium),
            var(--border-medium) 5px,
            transparent 5px,
            transparent 10px);
    /* width: 100%; */
    margin: 0 8px;
}

.booking-item .duration {
    font-size: 12px;
    background: var(--border-light);
    padding: 4px 10px;
    border-radius: var(--radius-lg);
    color: var(--text-dark);
}

.booking-item .booking-price {
    display: flex;
    flex-direction: column;
    padding: 10px;
    gap: 15px;
    justify-content: space-between;
    border-left: 1px solid var(--border-light);
}


.booking-item .discount-price {
    font-size: 12px;
    color: var(--text-light);
}

.booking-item .price-amount {
    font-size: 18px;
    font-weight: 700;
    color: var(--primary);
}

.booking-item .price-amount.text-success {
    font-size: 14px;
    color: var(--primary-light);
}

.booking-item .booknow_btn {
    background: var(--tts-buttton-bg);
    color: var(--tts-buttton-txt);
    border: none;
    padding: 8px 14px;
    border-radius: var(--radius-sm);
    font-size: 14px;
    transition: var(--transition);
}

.booking-item .booknow_btn:hover {
    background: var(--tts-buttton-bg1);
    color: var(--tts-buttton-txt1);
}

.booking-item .trav-busdetail {
    padding: 10px 15px;
    border-top: 1px solid var(--border-light);
    font-size: 14px;
}

.booking-item .trav-busdetail a {
    color: var(--primary);
    text-decoration: none;
    font-weight: 500;
}

.booking-item .trav-busdetail a:hover {
    text-decoration: underline;
}

.booking-item .seattext {
    font-size: 13px;
    color: var(--text-light);
}

.booking-item .collapse.theme {
    background: var(--bg-white);
    border-top: 1px solid var(--border-light);
}

.booking-item .tts__flight__details__heading {
    font-size: 16px;
    font-weight: 600;
    margin-bottom: 15px;
    color: var(--text-dark);
}

.booking-item .table {
    font-size: 14px;
    color: var(--text-dark);
}

.booking-item .table th {
    background: var(--border-light);
    font-weight: 600;
    color: var(--text-dark);
}

@media (max-width: 767px) {
    .booking-item .booking-wrapper .dashed-line {
        display: none;
    }

    .booking-item .booking-price {
        border-left: none;
        border-top: 1px solid var(--border-light);
        margin-top: 10px;
        flex-direction: row;
    }

    .booking-item .price-amount {
        font-size: 16px;
    }



}



/* =========================
   BASE SEAT STYLE (COMMON)
========================= */
.nseat,
.snseat,
.bseat,
.rseat,
.sseat,
.srseat,
.hseat,
.bhseat,
.rhseat,
.shseat,
.srhseat,
.vseat,
.bvseat,
.rvseat,
.svseat,
.srvseat,
.lower,
.upper {
    background: url(../img/transparent-bus-seatlayout.gif) no-repeat;
    width: 20px;
    height: 20px;
    position: absolute;
    float: left;
    cursor: pointer;
    transition: var(--transition);
}

.bseat,
.bhseat,
.bvseat,
.busSeatlft .lower,
.busSeatlft .upper {
    cursor: not-allowed;
    opacity: 0.6;
}

.hseat,
.bhseat,
.rhseat,
.shseat,
.srhseat {
    width: 40px;
    z-index: 2;
}

.vseat,
.bvseat,
.rvseat,
.svseat,
.srvseat {
    width: 20px;
    height: 40px;
    z-index: 2;
}

.bseat {
    background-position: 0 -40px;
}

.rseat {
    background-position: -20px -20px;
}

.snseat {
    background-position: 0 -60px;
}

.srseat {
    background-position: -20px -60px;
}

.hseat {
    background-position: -40px 0;
}

.bhseat {
    background-position: -40px -40px;
}

.rhseat {
    background-position: -80px -20px;
}

.shseat {
    background-position: -40px -60px;
}

.srhseat {
    background-position: -80px -60px;
}

.vseat {
    background-position: -124px 0;
}

.bvseat {
    background-position: -166px 0;
}

.rvseat {
    background-position: -145px -40px;
}

.svseat {
    background-position: -187px 0;
}

.srvseat {
    background-position: -187px -40px;
}

.busSeatlft {
    width: 30px;
    margin: 10px 0 10px 20px;
    float: left;
}

.busSeatlft .lower,
.busSeatlft .upper {
    width: 15px;
    height: 60px;
    cursor: default;
}

.busSeatlft .lower {
    background-position: -38px -83px;
}

.busSeatlft .upper {
    background-position: -69px -83px;
}

.busSeat {
    float: left;
    padding: 10px;
    margin-bottom: 10px;
}

.busseat_left {
    width: 63%;
    float: left;
}

.outerseat,
.outerlowerseat {
    width: 100%;
    background: var(--bg-white);
    border: 1px solid var(--border-medium);
    border-radius: var(--radius-sm);
    margin-bottom: 10px;
}

.outerseat {
    height: 172px;
}

.outerlowerseat {
    height: 160px;
}

.layout {
    width: 50%;
    float: left;
}

.seatdesp {
    float: right;
    width: 30%;
    padding: 10px;
    border: 1px solid var(--border-light);
    border-radius: var(--radius-sm);
    background: var(--bg-white);
}

.busrow,
.slrow {
    width: 97%;
    float: left;
}

.busrow a {
    width: 45px;
    height: 40px;
    margin: 8px;
    float: right;
}

.slrow a,
.sl_ladies,
.sl_booked,
.sl_selected,
.sl_avlble {
    width: 82px;
    height: 26px;
    margin: 7px;
    float: right;
}

.seatcontainer {
    clear: both;
    height: 104px;
    position: relative;
    z-index: 2;
}

.seatsmall,
.seatbig {
    list-style: none;
    margin: 0;
    float: left;
}

.seatbig {
    margin-bottom: 10px;
    border-bottom: 1px solid var(--border-light);
    padding-bottom: 15px;
}

.seatsmall li,
.seatbig li {
    width: 100%;
    float: left;
    padding: 5px 0;
    color: var(--text-dark);
}

.seatsmall li dfn,
.seatbig li dfn {
    float: left;
    width: 20px;
    height: 20px;
    background: url(../img/transparent-bus-seatlayout.gif) no-repeat;
    flex-shrink: 0;
}

.seatbig dfn.wd5,
.seatbig dfn.wd6,
.seatbig dfn.wd7,
.seatbig dfn.wd8 {
    width: 40px;
}

.seatsmall dfn.wd1 {
    background-position: 0 0;
}

.seatsmall dfn.wd2 {
    background-position: -20px -20px;
}

.seatsmall dfn.wd3 {
    background-position: 0 -60px;
}

.seatsmall dfn.wd4 {
    background-position: 0 -40px;
}


.busbox {
    width: 98.7%;
    float: left;
    padding: 10px;
    border-bottom: 2px solid var(--border-light);
}

.busbox .errorMessage {
    text-align: center;
    font-weight: bold;
    color: var(--text-dark);
}

/* @media (max-width: 768px) {

    .busseat_left,
    .layout,
    .seatdesp {
        width: 100%;
        float: none;
    }

    .outerseat,
    .outerlowerseat {
        height: auto;
    }
} */


/* =========================
   MODAL BASE
========================= */
#seatLayoutToggle .modal_content {
    border-radius: var(--radius-md);
    overflow: hidden;
    box-shadow: var(--shadow-medium);
    background: var(--bg-white);
}


#seatLayoutToggle .modal_header.modal-header--sticky {
    position: sticky;
    top: 0;
    z-index: 10;
    background: var(--bg-white);
    border-bottom: 1px solid var(--border-light);
    padding: 12px 16px;
}

#seatLayoutToggle .modal-title {
    font-size: 18px;
    font-weight: 600;
    color: var(--text-dark);
}


#seatLayoutToggle .modal-body--scroller {
    max-height: 75vh;
    overflow-y: auto;
    padding: 20px;
    background: #fafafa;
}

#seatLayoutToggle .bus-main {
    min-height: 300px;
}

#seatLayoutToggle .loader {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
    margin: 20px 0;
}

#seatLayoutToggle .spinner-grow {
    width: 12px;
    height: 12px;
    animation-duration: 1.2s;
}

#seatLayoutToggle .spinner-grow.text-primary {
    background-color: var(--primary);
}

#seatLayoutToggle .spinner-grow.text-secondary {
    background-color: var(--text-light);
}

#seatLayoutToggle .spinner-grow.text-danger {
    background-color: #dc3545;
}

#seatLayoutToggle .spinner-grow.text-dark {
    background-color: var(--text-dark);
}

/* Loading text */
#seatLayoutToggle .modal-body h5 {
    color: var(--text-dark);
    font-size: 15px;
    margin-top: 10px;
}

#seatLayoutToggle .bus-main .row.ng-cloak {
    animation: fadeIn 0.3s ease-in-out;
}

#seatLayoutToggle .modal-body .text-center h5 {
    color: #dc3545;
    font-weight: 500;
}

#seatLayoutToggle .seatcontainer,
#seatLayoutToggle .outerseat,
#seatLayoutToggle .outerlowerseat {
    border-radius: var(--radius-sm);
}


@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(10px);
    }

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

@media (max-width: 768px) {

    #seatLayoutToggle .modal-dialog.modal-xl {
        max-width: 100%;
        margin: 0;
    }

    #seatLayoutToggle .modal-body--scroller {
        max-height: 85vh;
        padding: 12px;
    }

    #seatLayoutToggle .modal-title {
        font-size: 16px;
    }
}


/* =========================
   SEAT LAYOUT WRAPPER
========================= */
#seatLayoutToggle .seat-layout-wrapper {
    background: var(--bg-white);
    border-radius: var(--radius-md);
}

#seatLayoutToggle .seat-layout-wrapper .col-md-8 {
    background: var(--bg-white);
}

#seatLayoutToggle .seatsmall {
    list-style: none;
    padding: 0;
    margin: 0;
    background: var(--bg-white);
    border: 1px solid var(--border-light);
    border-radius: var(--radius-sm);
    padding: 10px;
    box-shadow: var(--shadow-light);
}

#seatLayoutToggle .seatsmall li {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 6px 0;
    font-size: 13px;
    color: var(--text-dark);
}

#seatLayoutToggle .seatsmall dfn {
    width: 20px;
    height: 20px;
    display: inline-block;
    background: url(../img/transparent-bus-seatlayout.gif) no-repeat;
}


#seatLayoutToggle .seatmodalbox {
    background: var(--bg-white);
    border-radius: var(--radius-md);
    padding: 15px;
    box-shadow: var(--shadow-light);
    border: 1px solid var(--border-light);
}

#seatLayoutToggle .seatmodalbox h5 {
    font-size: 16px;
    font-weight: 600;
    color: var(--text-dark);
    margin-bottom: 5px;
}

#seatLayoutToggle .seatmodalbox .text-muted {
    font-size: 13px;
    color: var(--text-light);
}

#seatLayoutToggle .form-label {
    font-size: 13px;
    font-weight: 500;
    color: var(--text-dark);
    margin-bottom: 5px;
}

#seatLayoutToggle .form-select {
    border-radius: var(--radius-sm);
    border: 1px solid var(--border-medium);
    font-size: 13px;
    transition: var(--transition);
}

#seatLayoutToggle .form-select:focus {
    border-color: var(--primary);
    box-shadow: 0 0 0 2px rgba(6, 106, 130, 0.15);
}

#seatLayoutToggle .tts-minh34 {
    min-height: 34px;
    font-size: 14px;
    font-weight: 500;
    color: var(--text-dark);
}

#seatLayoutToggle .price-detail {
    background: #f8f9fa;
    border-radius: var(--radius-sm);
    border: 1px solid var(--border-light);
    padding: 10px;
}

#seatLayoutToggle .price-detail span {
    font-size: 14px;
}

#seatLayoutToggle .price-detail .fw-bold {
    font-size: 16px;
    color: var(--primary);
}

#seatLayoutToggle .go_button {
    background: var(--tts-buttton-bg);
    color: var(--tts-buttton-txt);
    border: none;
    padding: 10px 15px;
    border-radius: var(--radius-sm);
    font-size: 14px;
    transition: var(--transition);
}

#seatLayoutToggle .go_button:hover {
    background: var(--tts-buttton-bg1);
    color: var(--tts-buttton-txt1);
}

@media (max-width: 768px) {

    #seatLayoutToggle .seat-layout-wrapper {
        flex-direction: column;
    }

    #seatLayoutToggle .seatmodalbox {
        margin-top: 15px;
    }

    #seatLayoutToggle .go_button {
        width: 100%;
    }
}





/* =========================
   Holiday List  
========================= */
.holiday-card {
    background: var(--bg-white);
    border: 1px solid var(--border-light);
    border-radius: var(--radius-md);
    overflow: hidden;
    box-shadow: var(--shadow-light);
    transition: var(--transition);
    margin-bottom: 20px;
}

.holiday-card:hover {
    transform: translateY(-4px);
    box-shadow: var(--shadow-medium);
}

.holiday-card .holiday-img {
    width: 100%;
    height: 260px;
    object-fit: cover;
}

.holiday-card .holiday-title {
    font-size: 18px;
    font-weight: 700;
    color: var(--text-dark);
    margin-bottom: 10px;
}

.holiday-card .holiday-duration {
    color: var(--primary);
    font-weight: 600;
    margin-bottom: 15px;
}

.holiday-card .holiday-desc {
    color: var(--text-light);
    font-size: 12px;
}

.holiday-card .holiday-price-box {
    height: 100%;
    padding: 25px;
    background: #f8f9fa;
    border-left: 1px solid var(--border-medium);
    display: flex;
    flex-direction: column;
    justify-content: center;
    text-align: center;
}

.holiday-card .deal-badge {
    display: inline-block;
    padding: 5px 18px;
    background: var(--primary-light);
    color: var(--white);
    border-radius: 30px;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: .5px;
}

.holiday-card .price {
    color: var(--primary);
    font-size: 25px;
    font-weight: 700;
    line-height: 1.2;
}

.holiday-card .old-price {
    color: #999;
    text-decoration: line-through;
    font-size: 15px;
}

.holiday-card .discount {
    color: #28a745;
    font-weight: 600;
    font-size: 14px;
}

.holiday-card .form-select {
    border-radius: var(--radius-sm);
    border: 1px solid var(--border-medium);
}

.holiday-card .form-select:focus {
    border-color: var(--primary);
    box-shadow: 0 0 0 0.15rem rgba(6, 106, 130, .15);
}

.holiday-card .btn-primary,
.holiday-card .viewDetails {
    background: var(--tts-buttton-bg);
    border-color: var(--tts-buttton-bg);
    color: var(--tts-buttton-txt);
    border-radius: var(--radius-sm);
    font-weight: 600;
    padding: 12px 20px;
    transition: var(--transition);
}

.holiday-card .btn-primary:hover,
.holiday-card .viewDetails:hover {
    background: var(--tts-buttton-bg1);
    border-color: var(--tts-buttton-bg1);
    color: var(--tts-buttton-txt1);
}

.holiday-card .priceNote {
    color: var(--text-light);
    font-size: 13px;
}

.holiday-card .badge-city {
    background: rgba(6, 106, 130, .08);
    color: var(--primary);
    border: 1px solid rgba(6, 106, 130, .15);
    padding: 5px 10px;
    border-radius: 20px;
    margin-right: 5px;
    margin-bottom: 5px;
    display: inline-block;
    font-size: 13px;
}

@media (max-width: 991px) {

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

    .holiday-card .holiday-price-box {
        border-left: 0;
        border-top: 1px solid var(--border-medium);
    }
}

@media (max-width: 767px) {

    .holiday-card .holiday-title {
        font-size: 18px;
    }

    .holiday-card .holiday-img {
        height: 200px;
    }

    .holiday-card .price {
        font-size: 28px;
    }

    .holiday-card .holiday-price-box {
        padding: 20px;
    }
}



/* ==========================
   HOLIDAY HEADER
========================== */
.holiday-header {
    margin-bottom: 30px;
}

.holiday-header .breadcrumb {
    margin-bottom: 10px;
}

.holiday-header .breadcrumb-item a {
    color: var(--primary);
    text-decoration: none;
    font-weight: 500;
    transition: var(--transition);
}

.holiday-header .breadcrumb-item a:hover {
    color: var(--primary-light);
}

.holiday-header .breadcrumb-item.active {
    color: var(--text-light);
}

.holiday-header .package-title {
    font-size: 25px;
    font-weight: 700;
    color: var(--text-dark);
    margin-bottom: 12px;
    line-height: 1.3;
}

.holiday-header .duration-badge {
    display: inline-flex;
    align-items: center;
    padding: 8px 16px;
    background: rgba(6, 106, 130, 0.08);
    color: var(--primary);
    border-radius: 50px;
    font-size: 12px;
    font-weight: 600;
}

/* .holiday-header .price-card {
    background: var(--bg-white);
    border: 1px solid var(--border-light);
    border-radius: var(--radius-md);
    padding: 15px;
    box-shadow: var(--shadow-light);
} */

.holiday-header .price-box {
    width: 100%;
}

.holiday-header .package-price {
    display: flex;
    align-items: center;
    gap: 15px;
}

.holiday-header .package-select {
    min-width: 140px;
    max-width: 160px;
    border-radius: var(--radius-sm);
    border: 1px solid var(--border-medium);
    font-size: 14px;
    font-weight: 500;
}

.holiday-header .starts-from {
    display: block;
    font-size: 11px;
    color: var(--text-light);
    text-transform: uppercase;
    letter-spacing: .5px;
}

.holiday-header .price-amount {
    display: flex;
    align-items: baseline;
    gap: 4px;
}

.holiday-header .currency {
    font-size: 18px;
    font-weight: 700;
    color: var(--primary);
}

.holiday-header .selectedPrice {
    font-size: 26px !important;
    font-weight: 800 !important;
    color: var(--primary);
    line-height: 1;
}

.holiday-header .price-note {
    font-size: 12px;
    color: var(--text-light);
}

.holiday-header .price-card .btn-primary {
    background: var(--tts-buttton-bg);
    color: var(--tts-buttton-txt);
    border: none;
    border-radius: var(--radius-sm);
    font-weight: 600;
    white-space: nowrap;
    padding: 12px 22px;
    transition: var(--transition);
}

.holiday-header .price-card .btn-primary:hover {
    background: var(--tts-buttton-bg1);
    color: var(--tts-buttton-txt1);
    transform: translateY(-2px);
}

@media (max-width: 991px) {

    .holiday-header .package-title {
        font-size: 24px;
    }

    .holiday-header .price-card {
        margin-top: 15px;
    }

    .holiday-header .selectedPrice {
        font-size: 24px !important;
    }
}

@media (max-width: 767px) {

    .holiday-header .package-title {
        font-size: 20px;
    }

    .holiday-header .package-price {
        flex-direction: column;
        align-items: flex-start;
        gap: 10px;
    }

    .holiday-header .package-select {
        width: 100%;
        max-width: 100%;
    }

    .holiday-header .price-card .btn-primary {
        width: 100%;
    }

    .holiday-header .text-md-end {
        text-align: left !important;
        margin-top: 15px;
    }
}


/* ==========================
   PACKAGE GALLERY
========================== */

.package-gallery {
    position: relative;
    margin-bottom: 20px;
}

.package-gallery .carousel {
    border-radius: var(--radius-lg);
    overflow: hidden;
    box-shadow: var(--shadow-light);
}

.package-gallery .gallery-image {
    width: 100%;
    height: 500px;
    object-fit: cover;
    display: block;
}

.package-gallery .carousel-caption {
    left: 20px;
    right: 20px;
    bottom: 20px;
    text-align: left;
    padding: 15px 20px;
    border-radius: var(--radius-md);
    background: rgba(0, 0, 0, 0.55);
    backdrop-filter: blur(4px);
}

.package-gallery .carousel-caption h5 {
    margin: 0;
    color: var(--white);
    font-size: 20px;
    font-weight: 600;
}

.package-gallery .carousel-indicators {
    margin-bottom: 15px;
}

.package-gallery .carousel-indicators button {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    border: 0;
    opacity: .5;
}

.package-gallery .carousel-indicators .active {
    opacity: 1;
    background: var(--primary-light);
}

.package-gallery .carousel-control-prev,
.package-gallery .carousel-control-next {
    width: 50px;
}

.package-gallery .carousel-control-prev-icon,
.package-gallery .carousel-control-next-icon {
    width: 42px;
    height: 42px;
    border-radius: 50%;
    background-color: rgba(0, 0, 0, .5);
    background-size: 18px;
}

/* Single Image */

.single-image-box {
    overflow: hidden;
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-light);
}

.single-image-box img {
    width: 100%;
    height: 500px;
    object-fit: cover;
    display: block;
}

/* ==========================
   PACKAGE NAVIGATION
========================== */

.package-nav-wrapper {
    position: sticky;
    top: 0px;
    z-index: 99;
    background: var(--bg-white);
    border-radius: var(--radius-md);
    box-shadow: var(--shadow-light);
    margin-bottom: 25px;
    overflow: hidden;
}

.package-nav-wrapper .package-nav {
    display: flex;
    gap: 5px;
    padding: 10px;
    margin: 0;
    list-style: none;
    scrollbar-width: thin;
}

.package-nav-wrapper .package-nav::-webkit-scrollbar {
    height: 4px;
}

.package-nav-wrapper .package-nav::-webkit-scrollbar-thumb {
    background: var(--primary);
    border-radius: 20px;
}

.package-nav-wrapper .package-nav .nav-link {
    color: var(--text-dark);
    font-size: 14px;
    border-radius: var(--radius-sm);
    white-space: nowrap;
    transition: var(--transition);
}

.package-nav-wrapper .package-nav .nav-link:hover,
.package-nav-wrapper .package-nav .nav-link.active {
    background: var(--primary);
    color: var(--white);
}

.package-nav-wrapper .package-nav .book-now-btn {
    background: var(--primary-light);
    color: var(--white) !important;
}

.package-nav-wrapper .package-nav .book-now-btn:hover {
    background: var(--primary);
}

@media (max-width: 991px) {

    .package-gallery .gallery-image,
    .single-image-box img {
        height: 400px;
    }
}

@media (max-width: 767px) {

    .package-gallery .gallery-image,
    .single-image-box img {
        height: 250px;
    }

    .package-gallery .carousel-caption {
        left: 10px;
        right: 10px;
        bottom: 10px;
        padding: 10px 15px;
    }

    .package-gallery .carousel-caption h5 {
        font-size: 15px;
    }

    .package-nav {
        padding: 8px;
    }

    .package-nav .nav-link {
        font-size: 13px;
        padding: 8px 14px;
    }

    .package-nav-wrapper {
        border-radius: var(--radius-sm);
    }
}




/* ==========================
   ITINERARY TIMELINE
========================== */

.timeline {
    position: relative;
    list-style: none;
    padding-left: 30px;
    margin: 0;
}

.timeline::before {
    content: '';
    position: absolute;
    left: 10px;
    top: 0;
    bottom: 0;
    width: 2px;
    background: var(--primary);
}

.timeline-item {
    position: relative;
    margin-bottom: 25px;
}

.timeline-item::before {
    content: '';
    position: absolute;
    left: -26px;
    top: 18px;
    width: 14px;
    height: 14px;
    border-radius: 50%;
    background: var(--primary);
    border: 3px solid var(--white);
    box-shadow: 0 0 0 3px rgba(6, 106, 130, .15);
    z-index: 2;
}

.timeline-arrow {
    display: none;
}

/* Card */

.timeline .card {
    border: 1px solid var(--border-light);
    border-radius: var(--radius-md);
    box-shadow: var(--shadow-light);
    overflow: hidden;
    transition: var(--transition);
}

.timeline .card:hover {
    transform: translateY(-2px);
    box-shadow: var(--shadow-medium);
}

.timeline .card-header {
    background: var(--bg-white);
    border-bottom: 1px solid var(--border-light);
    padding: 15px 20px;
}

.timeline .card-link {
    text-decoration: none;
    display: block;
}

.timelinedate {
    color: var(--primary);
    font-size: 13px;
    font-weight: 600;
    display: block;
    margin-bottom: 5px;
}

.timelinetitle {
    color: var(--text-dark);
    font-size: 20px;
    font-weight: 700;
    margin: 0;
}

.timeline .card-body {
    padding: 20px;
}

/* Itinerary Image */

.timeline .itinerary_image {
    width: 100%;
    height: 140px;
    object-fit: cover;
    border-radius: var(--radius-sm);
    margin-bottom: 15px;
}

/* Description */

.timeline .text-small {
    color: var(--text-light);
    line-height: 1.8;
}

/* Inclusion Box */

.timeline .i-inclusions {
    margin-top: 15px;
    padding: 15px;
    background: #f8fafb;
    border-radius: var(--radius-sm);
    border-left: 4px solid var(--primary);
}

.timeline .i-inclusions ul {
    list-style: none;
    margin: 0 0 12px;
    padding: 0;
}

.timeline .i-inclusions li {
    font-weight: 600;
    color: var(--text-dark);
}

.timeline .i-inclusions li i {
    color: var(--primary);
    margin-right: 8px;
}

/* Flight */

.timeline .flight-listair {
    list-style: none;
    margin: 0;
    padding: 0;
}

.timeline .flight-city {
    font-size: 16px;
    font-weight: 700;
    color: var(--text-dark);
}

.timeline .flight-timefont {
    color: var(--text-light);
    font-size: 13px;
}

/* Hotel */

.timeline .i-inclusions img {
    border-radius: var(--radius-sm);
    object-fit: cover;
}

/* Transfer */

.timeline .iflight-name {
    font-weight: 600;
    text-align: center;
    margin-bottom: 0;
}

/* Remarks */

.timeline .i-inclusions strong {
    color: var(--text-dark);
}

@media (max-width: 767px) {

    .timeline {
        padding-left: 20px;
    }

    .timeline::before {
        left: 6px;
    }

    .timeline-item::before {
        left: -20px;
        width: 12px;
        height: 12px;
    }

    .timelinetitle {
        font-size: 18px;
    }

    .timeline .card-body {
        padding: 15px;
    }

    .timeline .itinerary_image {
        height: 180px;
    }

    .timeline .flight-city {
        font-size: 14px;
    }

    .timeline .i-inclusions {
        padding: 12px;
    }
}

/* ==========================
   TOUR INFORMATION
========================== */

#tourinformation.card .tour-tabs {
    gap: 10px;
}

#tourinformation.card .tour-tabs .nav-link {
    border: 1px solid var(--border-light);
    background: var(--bg-white);
    color: var(--text-dark);
    font-weight: 600;
    padding: 12px 20px;
    border-radius: var(--radius-sm);
    transition: var(--transition);
    text-align: center;
}

#tourinformation.card .tour-tabs .nav-link:hover {
    background: rgba(6, 106, 130, 0.08);
    color: var(--primary);
}

#tourinformation.card .tour-tabs .nav-link.active {
    background: var(--primary);
    color: var(--white);
    border-color: var(--primary);
}

#tourinformation .tab-content {
    margin-top: 20px;
}

#tourinformation.card .info-card {
    background: #fafafa;
    border: 1px solid var(--border-light);
    border-radius: var(--radius-md);
    padding: 20px;
}

#tourinformation.card .package-section-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

#tourinformation.card .package-section-list .list-item {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 10px 0;
    border-bottom: 1px solid rgba(0, 0, 0, .05);
    color: var(--text-dark);
    line-height: 1.7;
}

#tourinformation.card .package-section-list .list-item:last-child {
    border-bottom: 0;
}

#tourinformation.card .package-section-list .list-item i {
    margin-top: 4px;
    flex-shrink: 0;
}

#bookingprocedure h4 {
    color: var(--text-dark);
    font-weight: 700;
}

#bookingprocedure h5 {
    color: var(--primary);
    font-weight: 600;
}

#bookingprocedure p {
    color: var(--text-light);
    line-height: 1.8;
}

@media (max-width: 767px) {

    #tourinformation.card .tour-tabs {
        flex-direction: column;
        gap: 8px;
    }

    #tourinformation.card .tour-tabs .nav-item {
        width: 100%;
    }

    #tourinformation.card .tour-tabs .nav-link {
        width: 100%;
    }

    #tourinformation.card .info-card {
        padding: 15px;
    }

    #tourinformation.card .package-section-list .list-item {
        font-size: 14px;
    }
}



/* ==========================
   VISa DEtails
========================== */
.visa-booking-detail-scrollspy.custom-nav {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.visa-booking-detail-scrollspy.custom-nav .nav-link {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 14px 16px;
    background: var(--bg-white);
    border: 1px solid var(--border-medium);
    border-radius: var(--radius-md);
    color: var(--text-dark);
    font-weight: 600;
    text-decoration: none;
    transition: var(--transition);
    box-shadow: 0 2px 8px rgba(0, 0, 0, .04);
}

.visa-booking-detail-scrollspy.custom-nav .nav-link:hover {
    color: var(--primary);
    border-color: var(--primary);
    background: rgba(6, 106, 130, .05);
    box-shadow: var(--shadow-light);
}

.visa-booking-detail-scrollspy.custom-nav .nav-link.active {
    background: var(--user-gradient);
    color: var(--white);
    border-color: transparent;
    box-shadow: var(--shadow-medium);
}

.visa-booking-detail-scrollspy.custom-nav .nav-icon {
    /* width:42px;
    height:42px;
    min-width:42px; */
    display: flex;
    align-items: center;
    justify-content: center;
    /* border-radius:50%;
    background:rgba(6,106,130,.08); */
    color: var(--primary);
    transition: var(--transition);
}

.visa-booking-detail-scrollspy.custom-nav .nav-link:hover .nav-icon {
    background: rgba(245, 129, 26, .12);
    color: var(--primary-light);
}

.visa-booking-detail-scrollspy.custom-nav .nav-link.active .nav-icon {
    background: rgba(255, 255, 255, .2);
    color: var(--white);
}

.visa-booking-detail-scrollspy.custom-nav .nav-text {
    flex: 1;
}

.visa-booking-detail-scrollspy.custom-nav .fa-angle-right {
    font-size: 16px;
    color: #b5b5b5;
    transition: var(--transition);
}

.visa-booking-detail-scrollspy.custom-nav .nav-link:hover .fa-angle-right {
    color: var(--primary);
}

.visa-booking-detail-scrollspy.custom-nav .nav-link.active .fa-angle-right {
    color: var(--white);
}

.visa-booking-detail-scrollspy {
    position: sticky;
    top: 90px;
}

@media (max-width:991px) {

    .visa-booking-detail-scrollspy {
        position: relative;
        top: auto;
    }

    .visa-booking-detail-scrollspy.custom-nav .nav-link {
        padding: 12px 14px;
    }

    .visa-booking-detail-scrollspy.custom-nav .nav-icon {
        width: 38px;
        height: 38px;
        min-width: 38px;
    }

    .visa-booking-detail-scrollspy.custom-nav .nav-text {
        font-size: 14px;
    }

}



/* ==========================
   Cruise Tabs
========================== */

.gallery-tabs {
    background: var(--bg-white);
    border: 1px solid var(--border-light);
    border-radius: var(--radius-md);
    padding: 8px;
    gap: 8px;
    flex-wrap: nowrap;
    overflow-x: auto;
    scrollbar-width: none;
}

.gallery-tabs::-webkit-scrollbar {
    display: none;
}

.gallery-tabs .gallery-link {
    border: 0;
    border-radius: var(--radius-sm);
    background: transparent;
    color: var(--text-light);
    padding: 10px 22px;
    transition: var(--transition);
    white-space: nowrap;
}

.gallery-tabs .gallery-link i {
    color: var(--primary);
    transition: var(--transition);
}

.gallery-tabs .gallery-link:hover {
    background: rgba(6, 106, 130, .08);
    color: var(--primary);
}

.gallery-tabs .gallery-link:hover i {
    color: var(--primary);
}

.gallery-tabs .gallery-link.active {
    background: var(--user-gradient);
    color: var(--white);
    box-shadow: var(--shadow-light);
}

.gallery-tabs .gallery-link.active i {
    color: var(--white);
}

.gallery-tabs .gallery-link:focus {
    box-shadow: none;
}

@media (max-width: 991px) {
    .gallery-tabs {
        flex-wrap: nowrap;
        overflow-x: auto;
    }

    .gallery-tabs .gallery-link {
        font-size: 14px;
        padding: 10px 18px;
    }
}




/* ==========================
   Activity List
========================== */
.activity-card {
    background: var(--bg-white);
    border-radius: var(--radius-md);
    overflow: hidden;
    box-shadow: var(--shadow-light);
    transition: var(--transition);
    display: flex;
    flex-direction: column;
    height: 100%;
    border: 1px solid var(--border-light);
}

.activity-card:hover {
    transform: translateY(-5px);
    box-shadow: var(--shadow-medium);
}

.activity-card .activity-image {
    position: relative;
    overflow: hidden;
}

.activity-card .activity-image img {
    width: 100%;
    height: 180px;
    object-fit: cover;
    transition: .5s;
    display: block;
}

.activity-card:hover .activity-image img {
    transform: scale(1.08);
}

.activity-card .location-badge,
.activity-card .duration-badge {
    position: absolute;
    top: 12px;
    padding: 6px 12px;
    background: rgba(0, 0, 0, .75);
    color: var(--white);
    border-radius: 30px;
    font-size: 10px;
}

.activity-card .location-badge i,
.activity-card .duration-badge i {
    margin-right: 5px;
}

.activity-card .location-badge {
    left: 12px;
}

.activity-card .duration-badge {
    right: 12px;
}

.activity-card .activity-content {
    padding: 18px;
    display: flex;
    flex-direction: column;
    flex: 1;
    gap: 15px;
}

.activity-card .activity-title {
    margin: 0 0 0px;
    font-size: 18px;
    line-height: 1.4;
}

.activity-card .activity-title a {
    color: var(--text-dark);
    text-decoration: none;
    transition: var(--transition);
}

.activity-card .activity-title a:hover {
    color: var(--primary);
}

.activity-card .rating {
    display: flex;
    align-items: center;
    gap: 10px;
}

.activity-card .rating-star {
    background: #ffc107;
    color: #222;
    padding: 2px 10px;
    border-radius: 30px;
    font-size: 10px;
    font-weight: 600;
}

.activity-card .reviews {
    color: var(--text-light);
    font-size: 13px;
}

.activity-card .price-area {
    margin-top: auto;
}

.activity-card .price {
    color: var(--primary-light);
    font-size: 22px;
    font-weight: 700;
}

.activity-card .price-area del {
    color: var(--text-light);
    margin-left: 8px;
}

.activity-card .save-price {
    display: inline-block;
    margin-left: 8px;
    padding: 2px 8px;
    border-radius: var(--radius-sm);
    background: var(--primary);
    color: var(--white);
    font-size: 10px;
}

.activity-card .activity-buttons {
    display: flex;
    gap: 10px;
    flex-direction: column;
}

.activity-card .details-btn,
.activity-card .booking-btn {
    width: 100%;
    padding: 8px 20px;
    font-size: 13px;
    text-align: center;
    border-radius: var(--radius-sm);
    cursor: pointer;
    transition: var(--transition);
    text-decoration: none;
}

.activity-card .details-btn {
    border: 1px solid var(--primary);
    color: var(--primary);
    background: var(--white);
}

.activity-card .details-btn:hover {
    background: var(--primary);
    color: var(--white);
}


.activity-card .booking-btn {
    border: 1px solid var(--tts-buttton-bg);
    background: var(--tts-buttton-bg);
    color: var(--tts-buttton-txt);
}

.activity-card .booking-btn:hover {
    background: var(--tts-buttton-bg);
    color: var(--tts-buttton-txt);
}


@media(max-width:768px) {
    .activity-card .activity-image img {
        height: 200px;
    }

    .activity-card .activity-buttons {
        flex-direction: column;
    }

}


/* ===========================
   Activity Details Gallery
=========================== */

.activity-details .gallery-row {
    margin-bottom: 30px;
}

/* Main Image */
.activity-details .main-image {
    height: 520px;
    border-radius: 16px;
    overflow: hidden;
    position: relative;
    background: #f5f5f5;
}

.activity-details .main-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: .5s ease;
}

.activity-details .main-image:hover img {
    transform: scale(1.06);
}

/* Overlay */
.activity-details .overlay {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    padding: 35px;
    background: linear-gradient(to top, rgba(0, 0, 0, .85), rgba(0, 0, 0, .1), transparent);
}

.activity-details .overlay h2 {
    color: #fff;
    font-size: 28px;
    font-weight: 700;
    margin: 0;
    text-shadow: 0 2px 8px rgba(0, 0, 0, .4);
}

/* Gallery Thumbnail */
.activity-details .gallery-thumb {
    width: 100%;
    height: 250px;
    object-fit: cover;
    border-radius: 12px;
    transition: .4s;
}

.activity-details .gallery-thumb:hover {
    transform: scale(1.05);
}

/* Gallery Link */
.activity-details .gallery-row a {
    display: block;
    overflow: hidden;
    border-radius: 12px;
    height: 100%;
}

/* More Image */
.activity-details .gallery-more {
    height: 250px;
    position: relative;
    overflow: hidden;
    border-radius: 12px;
}

.activity-details .gallery-more img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: .4s ease;
}

/* More Overlay */
.activity-details .more-overlay {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, .65);
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    color: #fff;
    transition: .3s;
}

.activity-details .more-overlay h4 {
    font-size: 34px;
    font-weight: 700;
    margin-bottom: 12px;
}

.activity-details .more-overlay .btn {
    border-radius: 30px;
    padding: 8px 18px;
    font-weight: 600;
}

.activity-details .gallery-more:hover img {
    transform: scale(1.08);
}

.activity-details .gallery-more:hover .more-overlay {
    background: rgba(0, 0, 0, .75);
}

/* Responsive */
@media (max-width: 991px) {
    .activity-details .main-image {
        height: 420px;
        margin-bottom: 15px;
    }

    .activity-details .gallery-thumb,
    .activity-details .gallery-more {
        height: 200px;
    }

    .activity-details .overlay h2 {
        font-size: 24px;
    }
}

@media (max-width: 767px) {
    .activity-details .main-image {
        height: 300px;
    }

    .activity-details .gallery-thumb,
    .activity-details .gallery-more {
        height: 140px;
    }

    .activity-details .overlay {
        padding: 20px 15px;
    }

    .activity-details .overlay h2 {
        font-size: 20px;
    }

    .activity-details .more-overlay h4 {
        font-size: 26px;
    }

    .activity-details .more-overlay .btn {
        font-size: 13px;
        padding: 6px 14px;
    }
}

/*======Feedback===========*/
.contactus .section-title {
    text-align: center;
    padding-bottom: 30px;
    position: relative;
    margin: auto;
}

.contactus .section-title h2 {
    font-weight: 900;
    text-transform: uppercase;
    margin-bottom: 20px;
    padding-bottom: 20px;
    position: relative;
    color: var(--tts-buttton-bg1);
    display: block;
}

.contactus .section-title h2::after {
    content: "";
    position: absolute;
    display: block;
    width: 50px;
    height: 3px;
    background: var(--tts-buttton-bg);
    bottom: 0;
    left: calc(50% - 25px);
}

.contactus .info-box {
    color: #444444;
    text-align: center;
    box-shadow: 0 0px 1px 1px rgb(0 0 0 / 19%);
    padding: 30px 20px 30px 20px;
    background: var(--bg-white);
    height: 100%;
}

.contactus .info-box i {
    font-size: 32px;
    color: var(--tts-buttton-bg1);
    border-radius: 50%;
    padding: 8px;
}

.contactus .info-box h3 {
    font-size: 20px;
    color: var(--txt-clor-4);
    margin: 10px 0;
}

.contactus .info-box p {
    padding: 0;
    line-height: 24px;
    font-size: 14px;
    margin-bottom: 0;
}

.contactus .php-email-form {
    box-shadow: 0 0px 1px 1px rgb(0 0 0 / 19%);
    padding: 30px;
    background: var(--bg-white) !important;
}

.contactus .php-email-form input,
.contactus .php-email-form textarea {
    border-radius: 5px;
    box-shadow: none;
    font-size: 14px;
}

.contactus .php-email-form input {
    padding: 10px 15px;
}

.contactus .php-email-form input,
.contactus .php-email-form textarea {
    border-radius: 5px;
    box-shadow: none;
    font-size: 14px;
}

.contactus .php-email-form button[type=submit] {
    background: var(--tts-buttton-bg1);
    border: 1px solid var(--tts-buttton-bg1);
    padding: 10px 24px;
    color: #fff;
    transition: 0.4s;
    border-radius: 5px;
    font-weight: 500;
}

.contactus .php-email-form button[type=submit]:hover {
    background: transparent;
    color: var(--tts-buttton-bg1);
}

/*======Feedback===end======*/


/* ===================
26. Car CSS 
====================== */
.car-area {
    position: relative;
}

.car-item {
    background: #ffffff;
    border-radius: 12px;
    padding: 5px;
    margin-bottom: 25px;
    box-shadow: 0px 4px 24px 0px rgba(194, 194, 194, 0.25);
}

.car-img {
    border-radius: 12px;
    position: relative;
}

.car-img img {
    width: 100%;
    border-radius: 12px;
}

.car-img .badge {
    background: #23BCB9;
    border-radius: 50px;
    padding: 8px 15px;
    text-transform: uppercase;
    letter-spacing: 1px;
    box-shadow: var(--box-shadow);
    position: absolute;
    right: 20px;
    top: -15px;
    font-size: 13px;
}

.car-img .badge-discount {
    background: var(--tts-buttton-bg1);
}

.car-img .add-wishlist {
    width: 35px;
    height: 35px;
    line-height: 36px;
    background: #7167FF;
    color: #ffffff;
    border-radius: 50%;
    text-align: center;
    position: absolute;
    left: 10px;
    top: 10px;
    transition: 0.3s;
}

.car-img .add-wishlist:hover {
    background: var(--tts-buttton-bg1);
}

.car-content {
    padding: 20px 15px 10px 15px;
}

.car-title a:hover {
    color: var(--tts-buttton-bg);
}

.car-content p {
    margin: 8px 0;
    color: #000;
    font-weight: 500;
}

.car-info-list {
    margin-top: 10px;
}

.car-info-list li {
    margin-top: 8px;
    font-size: 14px;
}

.car-info-list i {
    color: var(--tts-buttton-bg);
    margin-right: 6px;
}

.car-bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-top: 1px solid rgba(0, 0, 0, .05);
    margin-top: 20px;
    padding-top: 13px;
}

.car-price-amount {
    color: var(--tts-buttton-bg1);
    font-weight: 700;
    font-size: 19px;
}

.car-price-type {
    font-size: 14px;
    font-weight: 500;
    color: #000;
}

.car-text-btn a {
    color: #000;
    font-weight: 500;
    transition: 0.3s;
}

.car-text-btn a i {
    font-size: 14px;
}

.car-text-btn a:hover {
    color: var(--tts-buttton-bg);
}

.car-list .car-item {
    display: flex;
    align-items: center;
    gap: 20px;
}

.car-list .car-img {
    width: 300px;
    flex-shrink: 0;
}

.car-list .car-content {
    flex: 1;
}

.car-list .car-content h4 {
    font-size: 18px;
}


@media all and (max-width: 767px) {
    .car-list .car-item {
        flex-direction: column;
    }

    .car-list .car-img {
        width: 100%;
    }
}

/*========confirmation========start=====*/
/* .travelimp__thanku {
    background: var(--confirmPageTopBg, #184676);
    padding: 15px;
}

.travelimp__thanku .travelimp__thanku--statuscontent {
    font-size: 35px;
    color: #fff;
}

.travelimp__thanku .travelimp__thanku--statussize {
    font-size: 18px;
    margin-left: 10px;
    font-weight: bold;
    color: rgb(112, 209, 39);
}

.travelimp__thanku .travelimp__thanku--bookingIdShow {
    font-size: 14px;
    

    font-weight: bold;
}

.travelimp__thanku .travelimp__thanku--redirectid {
    color: #fff;
}

.flight-confirmation .travelimp__thanku--leftside {
    margin: 15px 0;
    box-shadow: 1px 1px 15px rgb(0 0 0 / 10%);
    border-radius: 5px;
    padding: 10px;
    background-color: #FFF;
}

.flight-confirmation .travelimp__thanku--panelHeadwrap {
    border: 1px solid #ccc;
    border-radius: 5px;
    margin-bottom: 10px;
}

.flight-confirmation .travelimp__thanku--flightFlex {
    display: flex;
    justify-content: space-between;
    align-items: center;
    background: #F7F7F7;
    font-size: 18px;
    color: var(--modify-Bg-color);
    border-radius: 5px;
}

.flight-confirmation .travelimp__thanku--panelHeading {
    background: #F7F7F7;
    padding: 10px;
    border-radius: 5px;
    font-size: 18px;
    color: #333;
    font-weight: 500;
}

.flight-confirmation .travelimp__thanku--tripdate {
    color: #999;
    font-size: 13px;
    margin-left: 15px;
    font-weight: bold;
}

.flight-confirmation .travelimp__segmentwrap--flightimg {
    max-width: 30px;
    max-height: 30px;
    margin-right: 5px;
}

.flight-confirmation .travelimp__segmentwrap {
    padding: 10px;
}

.flight-confirmation .travelimp__segmentwrap--flightul {
    line-height: 1;
    list-style: none;
    padding: 0;
    margin: 0 10px;
}

.flight-confirmation .travelimp__segmentwrap--airportul {
    line-height: 1.3;
    width: 100%;
}

.flight-confirmation .travelimp__segmentwrap--airportname {
    color: #999;
}

.flight-confirmation .travelimp__segmentwrap--terminaltext {
    color: #333;
}

.flight-confirmation .travelimp__segmentwrap--stoparrowlist {
    position: relative;
    border-bottom: 2px solid #ccc;
    font-size: 11px;
    text-align: center;
    padding-bottom: 15px;
}

.flight-confirmation .travelimp__segmentwrap--stoparrowlist::before {
    position: absolute;
    height: 2px;
    width: 12px;
    background: #ccc;
    right: -1px;
    bottom: 3px;
    content: '';
    transform: rotate(45deg);
    border-radius: 10px;
}

.flight-confirmation .travelimp__segmentwrap--stoparrowlist::after {
    position: absolute;
    height: 2px;
    width: 12px;
    background: #ccc;
    right: -1px;
    bottom: -7px;
    content: '';
    transform: rotate(-45deg);
    border-radius: 10px;
}

.flight-confirmation .label-purple {
    background: #022965;
    color: #ffF;
    border-radius: 0;
    padding: 5px 5px 3px 5px;
    display: inherit;
    margin-top: 3px;
}

.flight-confirmation .travelimp__segmentwrap--baggageInfo {
    padding: 10px;
}

.flight-confirmation .travelimp__segmentwrap--baggageInfo p {
    margin-bottom: 0;
    line-height: 18px;
    font-size: 14px;
    color: #333;
}

.flight-confirmation .travelimp__segmentwrap--baggagecheckin {
    color: #999;
    font-size: 12px;
}

.flight-confirmation .travelimp__segmentwrap--btn {
    padding: 10px;
}

.flight-confirmation .travelimp__segmentwrap--btn .asr-viewbtn {
    background: #022965;
    padding: 8px 12px;
    color: #FFF;
    height: auto;
    border-radius: 30px;
    border: 0;
    box-shadow: inset 0px -2px 4px 0 rgb(0 0 0 / 11%);
    transition: all 0.5s ease;
}

.flight-confirmation .travelimp__segmentwrap--btn .asr-viewbtn:hover {
    background-color: #ca0104;
}

.flight-confirmation .travelimp__thanku--tablewrap th {
    white-space: nowrap;
}

.flight-confirmation .travelimp__thanku--responsivewrap {
    padding: 10px;
}

.flight-confirmation .travelimp__thanku--paxwiseprint {
    margin-right: 5px;
    cursor: pointer;
}

.flight-confirmation .travelimp__thanku--fareulborder {
    border-bottom: 1px solid #ccc;
    position: relative;
}

.flight-confirmation .travelimp__thanku--fareullist {
    display: flex;
    justify-content: space-between;
    padding: 10px;
    margin-bottom: 0;
}

.flight-confirmation .travelimp__thanku--fareulborder:last-child {
    border-bottom: 0;
}

.flight-confirmation .travelimp__termswrap--termsul {
    padding: 5px 15px;
}

.flight-confirmation .travelimp__termswrap--termslist {
    margin-bottom: 3px;
    color: #999;
}

.flight-confirmation .travelimp__thanku--rightside {
    margin: 15px 0;
    box-shadow: 1px 1px 15px rgb(0 0 0 / 10%);
    border-radius: 5px;
    padding: 10px;
    background-color: #fff;
}

.flight-confirmation .travelimp__thanku--moreoptions {
    border-radius: 5px;
    padding: 10px;
    position: sticky;
    position: -webkit-sticky;
    top: 0;
}

.flight-confirmation .travelimp__thanku--morelist {
    display: flex;
    justify-content: space-between;
    align-items: center;
    border: 1px solid #ccc;
    margin-bottom: 10px;
    cursor: pointer;
}

.flight-confirmation .travelimp__thanku--morecontent {
    padding: 8px;
    color: #999;
    font-size: 13px;
}

.flight-confirmation .travelimp__thanku--moreicons {
    background: #022965;
    width: 40px;
    height: 40px;
    line-height: 40px !important;
    text-align: center;
    font-size: 16px;
    color: #fff;
}

.flight-confirmation .travelimp__thanku--anchorlink {
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.flight-confirmation .travelimp__thanku--tablewrap thead,
tbody,
tfoot,
tr,
td,
th {
    border-style: solid !important;
}

.modal .modal-content_confirmation {
    width: 100% !important;
    border-radius: 0;
}

.modal .modal-content_confirmation .modal-header_confirmation {
    display: flex !important;
    background-color: transparent;
}

.modal .modal-content_confirmation .modal-header_confirmation .modal-title_confirmation {
    margin-bottom: 0.5rem !important;
}

.modal .modal-content_confirmation .modal-body_confirmation .form-check-input_confirmation {
    width: 20px;
    height: 20px;
    border-radius: 0;
    margin-top: 0;
    margin-left: -1.5em;
    border: 1px solid #df3f51;
}

.modal .modal-content_confirmation .modal-body_confirmation .form-check-label {
    margin-left: 10px;
    font-weight: 600;
} */

/*========confirmation========end========*/





/*===========destination-section==========*/

.destination-section {
    background-color: var(--bg-white);
    padding: 50px 0;
}

.destination-section .container {
    background-color: var(--white);
    border-radius: 15px;
    padding: 30px;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08);
    border: 1px solid rgba(156, 170, 179, 0.28);
}

.destination-section .destination-card {
    text-decoration: none;
    color: var(--header-txt-color);
    display: flex;
    align-items: flex-start;
    padding: 15px;
    transition: all 0.3s ease;
    border-radius: 8px;
}

.destination-section .city-img {
    width: 50px;
    height: 50px;
    border-radius: 50%;
    object-fit: cover;
    margin-right: 15px;
    flex-shrink: 0;
    border: 1px solid #eee;
}

.destination-section .city-name {
    font-weight: bold;
    margin-bottom: 2px;
    font-size: 1.1rem;
    color: var(--header-txt-color);
}

.destination-section .city-desc {
    font-size: 0.85rem;
    color: #6c757d;
    line-height: 1.4;
}