﻿/* Tour details header */


.detail-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 35px;
}

.tour-header {
    flex-basis: 70%;
}
    .tour-header h4 {
        font-size: 18px;
        color: #4367ff;
        margin-top:10px;
    }
    .tour-header .itneray-list {
        border:unset !important;
        width:100%;
    }
        .tour-header .itneray-list ul{
            flex-wrap:wrap;
            max-width:100%;
        }
        .tour-metas {
            display: flex;
            align-items: flex-end;
            justify-content: end;
        }
.tour-header .itneray-list ul li:last-child:before {
    content: none; /* removes the pseudo-element */
}

.tour-metas .tour-meta-left {
    display: flex;
    gap: 1rem;
    align-items: center;
    flex-wrap: wrap;
    margin-bottom: 15px;
}


.tour-metas {
    display: flex;
    align-items: flex-end;
    justify-content: end;
}

    .tour-metas .tour-meta-left {
        display: flex;
        align-items: center;
        flex-wrap: wrap;
        margin-bottom: 15px;
    }

.tour-meta-right {
    min-width: 230px;
    display:flex;
    gap:.5rem;
}

.btn.btn-share {
    padding: 9px 18px;
    border: 1px solid var(--bs-border-color);
    border-radius: 50px;
    background-color: var(--bs-background-card);
    color: var(--bs-button-text-2);
    font-size: 14px;
    line-height: 28px;
    font-weight: bold;
    transition: all 0.3s ease; /* Optional: for smooth hover effect */
}

    .btn.btn-share:hover {
        background-color: var(--bs-primary); /* Example: change to primary color */
        color: var(--bs-white); /* Example: change text color */
        border-color: var(--bs-primary); /* Optional: change border on hover */
    }

.btn.btn-wishlish {
    padding: 9px 18px;
    border-radius: 50px;
    background-color: #f2f4f6;
    font-size: 14px;
    line-height: 28px;
    font-weight: bold;
    transition: all 0.3s ease; /* Smooth hover transition */
}
.page-title {
    font-size: 32px !important;
}

    .btn.btn-wishlish:hover {
        background-color: #e0e3e7; /* Slightly darker for hover effect */
        color: #000; /* Optional: darker text on hover */
        cursor: pointer; /* Change cursor to pointer */
    }
.tour-meta-right .btn-share {
    margin-right: 8px;
}
.tour-header .itneray-list ul li::before{
    display:none;
}
.tour-header .itneray-list ul {
   margin-bottom:0px;
}
    .tour-header .itneray-list ul li {
        line-height: 20px;
        margin-bottom: 0px;
    }
/* End */
/* Tour banner*/
.detail-banner {
    margin-bottom: 30px;
}


    .detail-banner img {
        position: relative;
        width: 100%;
        height: 100%;
        object-fit: cover;
        border-radius: 12px;

        margin-bottom: 20px;
    }

/* End */

/* sticky nav*/

.nav-wrap {
    position: relative;
    display: flex;
    justify-content: start;
    align-items: center;
    margin-bottom: 20px;
    background-color: #fff;
    border-radius: 12px;
}

    .nav-wrap.sticky {
        position: fixed;
        top: 79px;
        left:0px;
        border-radius: 0px;
        border-top: 1px solid #000;
        border-bottom: 1px solid #000;
        margin: auto;
        width: 100%;
        background: #fff;
        z-index: 999;
    }
        .nav-wrap.sticky .details-nav-wrapper{
            padding:10px 30px;
        }
        .nav-tag a.active {
            color: red; /* or your desired active color */
            font-weight: bold;
            border-bottom: 2px solid red;
        }
        .nav-wrap.sticky .details-nav {
            padding:20px 0px 10px;
        }
.nav-wrap.sticky .nav-tag a {
    border: unset;
    background: unset !important;
    padding: 0px 12px;
}
            .nav-wrap.sticky .nav-tag a:hover{
                color:unset;
            }

            .nav-tag a.active {
                color: #007bff;
                /* Bootstrap blue or your theme color */
                font-weight: bold;
                text-decoration: none;
                background: #fb4141;
            }

.details-nav {
}

.details-nav-wrapper {
    position: relative;
    display: flex;
    align-items: center;
    overflow: hidden;
}

.scroll-arrow {
    font-size: 28px;
    padding: 4px 12px;
    background: #fff;
    border: 1px solid #ccc;
    cursor: pointer;
    user-select: none;
    z-index: 1;
}

    .scroll-arrow.left {
        position: absolute;
        left: 0;
    }

    .scroll-arrow.right {
        position: absolute;
        right: 0;
    }

.details-nav.container {
    display: flex;
    gap: 1rem;
    padding:12px 0px;
    overflow-x: auto;
    scroll-behavior: smooth;
    -webkit-overflow-scrolling: touch;
    white-space: nowrap;
    margin-left:auto;
    scrollbar-width: none; /* Firefox */
}

    .details-nav.container::-webkit-scrollbar {
        display: none; /* Chrome, Safari */
    }

.nav-tag a {
    padding: 6px 12px;
    border-radius: 8px;
    border: dashed 1px #ff0000;
    background-color: #fff;
    color: #000;
    text-decoration: none;
    transition: 0.2s;
    white-space: nowrap;
}

    .nav-tag a:hover {
        background-color: #ff0000;
        color: #fff;
    }

.main-navbar.scrolled {
    box-shadow: unset !important;
}


/* End sticky nav*/


/* Tour left */


.group-collapse-expand {
    position: relative;
    background-color: #fff;
    border: 1px solid #bebebe;
    border-radius: 12px;
    padding: 24px 24px 24px 24px;
    margin-bottom: 30px;
}



    .group-collapse-expand .btn-collapse {
        display: flex;
        align-items: center;
        justify-content: space-between;
        width: 100%;
        padding: 0px 0px 0px 0px;
        outline: 0;
        margin-bottom: 15px;
    }

    .group-collapse-expand .card.card-body {
        border: 0px !important;
        padding: 20px 0px 0px 0px !important;
        background-color: #fff;
    }

    .group-collapse-expand .btn-collapse h6 {
        font-size: 30px;
        line-height: 36px;
        margin-bottom: 0px;
    }


.box-popular-posts ul li{
    color:#fff !important;
}
.box-section ul {
}

.box-content-tour-detail ul {
    padding-left: 0px;
    margin: 0;
    margin-bottom:20px;

}

.box-content-tour-detail li {
    color: black;
    list-style: none;
    position: relative;
    padding-left: 30px; /* space for the icon */
    margin-bottom:5px;
}

    .box-content-tour-detail li::before {
        content: "\f00c"; /* Font Awesome check-circle */
        font-family: "Font Awesome 6 Free";
        font-weight: 900; /* Required for solid icons */
        position: absolute;
        left: 0;
        top: 0.1em;
        color: #fb4141;
        font-size: 1em;
        border-radius: 2px;
    }
    .box-content-tour-detail li ul  {
       margin-top:10px;
    }
.box-content-tour-detail li ul li {
    color: black;
    list-style: none;
    position: relative;
    padding-left: 30px; /* space for the icon */
    margin-bottom: 5px;

}

    .box-content-tour-detail li ul li::before {
        content: "\f068"; /* Font Awesome check-circle */
        font-family: "Font Awesome 6 Free";
        font-weight: 900; /* Required for solid icons */
        position: absolute;
        left: 0;
        top: 0.1em;
        color: blue;
        font-size: 1em;
        border-radius: 2px;
    }

.group-collapse-expand .card.card-body h5 {
    margin-bottom: 10px;
    font-size: 20px;
    font-weight: 600;
}


/* price card*/
.price-form {
    display: flex;
    justify-content: start;
    flex-direction: column;
    align-items: start;
   
   

}

.price-left {
    padding: 0px 0px;
}

    .price-left h4{
        color:#fff;
        font-size:16px;

    }
    .price-left h4 span {
        color: #f1f1f1;
        font-size:18px;
    }


    .back-hightlight {
        background: #222831;
    }

.footer-booking-form {
    padding: 0px 0px;
}


/*Accordian */
.accordion-button:not(.collapsed) {
    color: #000;
    background-color: #fff;
    box-shadow:unset !important;
}

    .accordion-button:not(.collapsed)::after {
        background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fb4141'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
        transform: rotate(-180deg);
    }

.group-collapse-expand .card.card-body .accordion-item {
    margin-bottom: 20px;
    border-radius: 12px;
    border: 1px solid #e4e6e8;
}

.group-collapse-expand .accordion-header {
    border-radius: 12px;
}

.group-collapse-expand .accordion-button {
    border-radius: 24px !important;
    font-size: 18px;
    font-weight: 700;
}

    .group-collapse-expand .accordion-button:focus {
        box-shadow: unset;
        border: unset;
    }


/* Activity */



.activites-wrap {
    overflow: hidden;
    margin-bottom:30px;
}

.activities-card {
}

    .activities-card img {
       border-radius: 12px;
        width: 100%;
        margin-bottom: 10px;
    }

    .activities-card h4 {
        font-size: 18px;
        line-height: 26px;
    }
.arrow-wrap {
    position: absolute;
    right: 10%;
    top: -30px;
    display: flex;
    gap: 1rem;
    flex-direction:row-reverse;
}

.activites-wrap .swiper-button-prev,
.activites-wrap .swiper-button-next {
    height: 40px;
    width: 40px;
    background: #fb4141;
    border-radius: 50%;
}

.activites-wrap .swiper-button-prev {
    left: -50px;
}

.activites-wrap .swiper-button-next {
    right: -50px;
}

    .activites-wrap .swiper-button-prev::after,
    .activites-wrap .swiper-button-next:after {
        font-size: 16px;
        color: #fff;
    }

.activities-card p {
    font-size: 14px;
    font-weight: 300;
    line-height: 20px;
    margin-bottom:0px;
}



/* Table */
.accomodation-table table {
    width: 100%;
    border-collapse: collapse;
}

.accomodation-table th {
    background-color: #4367ff;
    color: #fff;
}

.accomodation-table th,
.accomodation-table td {
    border: 1px solid #bebebe;
    padding: 10px;
    text-align: left;
}

/* li styling */
.plus-list {
    padding-bottom: 20px !important;
    margin-bottom: 20px;
    border-bottom: 1px solid #bebebe;
}

.minus-list li:before {
    content: "\f058"; /* Font Awesome check-circle */
    font-family: "Font Awesome 6 Free";
    font-weight: 900; /* Required for solid icons */
    position: absolute;
    left: 0;
    top: 0.1em;
    color: #fb4141;
    font-size: 1em;
    border-radius: 2px;
}

.accordion-body ul{
    margin:10px 0px;
}


.box-content-tour-detail ul > ul {
    padding: 10px 0px 10px 15px;
}

    .box-content-tour-detail ul > ul li:before {
        content: "\f068";
        font-family: "Font Awesome 6 Free";
        font-weight: 900;
        position: absolute;
        left: 6px;
        top: -1px;
        color: #9e9494;
        font-size: 1em;
        border-radius: 2px;
    }

.plus-list {
    margin-bottom: 20px !important;
}
.plus-list li:before {
    content: "\f058"; /* Font Awesome check-circle */
    font-family: "Font Awesome 6 Free";
    font-weight: 900; /* Required for solid icons */
    position: absolute;
    left: 0;
    top: 0.1em;
    color: green;
    font-size: 1em;
    border-radius: 2px;
}

/* gallery card*/

.gallery-container-wrap {
    position: relative;
}

.gallery-card {
    overflow: hidden;
    margin: 5px 10px !important;
}

    .gallery-card img {
        overflow: hidden;
       border-radius: 12px;
        width: 100% !important;
        margin: 5px 0px !important;
    }

.card-two {
    height: 190px !important;
    width: 100% !important;
    object-fit: cover;
   border-radius: 12px;
    overflow: hidden;
    padding: 4px;
    margin-bottom: 20px
}

    .card-two img {
        height: 100%;
        width: 100%;
        object-fit: cover;
       border-radius: 12px;
        overflow: hidden;
    }


/* end of left side*/


/* Right Side */



.tour-title-main h2 {
    font-size: 42px;
    line-height: 50px;
    margin-bottom: 0px;
}


.tour-title-main h4 {
    font-weight: 700;
    font-size: 35px;
    line-height: 42px;
    margin-bottom: 0px;
}




.tour-location,
.tour-code {
    display: flex;
    align-items: center;
    width: fit-content;
}


.head-booking-form {
    background-color: #bebebe;
    color: #fff;
    padding: 12px 25px;
    border-radius: 24px 0px 24px 0px;
}

    .booking-form .head-booking-form h4 {
        font-size: 32px;
        line-height: 38px;
        font-weight: 700;
        margin-bottom: 0px;
    }

.booking-form {
    border-radius: 8px;
    box-shadow: 0 4px 16px 1px rgba(0, 0, 0, .15);
    border: 1px solid #F2F4F6;

    position: relative;
    padding: 20px;
    border: 1px solid #F2F4F6;
    border-radius: 12px;
    margin-bottom: 25px;
}

.content-booking-form {
    position: relative;
    padding: 28px 35px;
}


.box-info-tour {
    border-radius: 8px;
    display: flex;
    gap: 1rem;
    align-items: center;
    justify-content:start;
}

.box-info-tour {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
}

.tour-info-group {
    display: flex;
    align-items: center;
    gap: 10px;
    position: relative;
    padding-right: 20px;
}

    .tour-info-group:not(:last-child)::after {
        content: "|";
        position: absolute;
        right: 5px;
        color: #ccc;
        font-weight: bold;
    }
    .box-info-tour .tour-info-group {
        display: flex;
        align-items: center;
    }



        .box-info-tour .tour-info-group .icon-item {
           
         
           
            text-align: center;
            line-height: 45px;
            margin-right: 0px;
            border-radius: 8px;
        }
        .box-info-tour .tour-info-group  .info-item {
            display: flex;
            align-items: center;
            gap:.5rem;
        }
            .box-info-tour .tour-info-group .info-item p{
                font-size:14px;
            }
            .box-info-tour .tour-info-group .icon-item svg {
                fill: #000;
            }

.box-banner-activities-detail-4 {
    position: relative;
}

.box-info-tour .tour-info-group .info-item p {
    margin-bottom: 0px;
}
.border-img{
    border-radius:16px;
}

.btn:first-child:active {
    border: unset;
    outline: unset;
}

.list-questions .item-question {
    position: relative;
    padding: 14px 20px;
    border: 1px solid #e4e6e8;
    border-radius: 8px;
    background-color: #fff;
    margin-bottom: 8px;
}

    .list-questions .item-question .head-question {
        margin-bottom: 9px;
    }

    .list-questions .item-question .head-itinerary p {
        background-image: url(../images/day.svg);
        background-position: left center;
        background-repeat: no-repeat;
        font-size: 20px;
        font-weight: 600;
        padding: 0px 0px 0px 25px;
        ;
    }

    .list-questions .item-question .head-question h5 {
        background-image: url(../images/question.png);
        background-position: left center;
        background-repeat: no-repeat;
        padding: 0px 0px 0px 25px;
        margin-bottom: 0px;
        font-size: 20px;
        font-weight: 600;
    }

.sidebar-left {
    padding: 20px 20px;
    background: #222831;
    border-radius: 12px;
    margin-bottom: 24px;
}

    .sidebar-left h6 {
        color: #fff !important
    }

    .sidebar-left li {
        color: #fff !important
    }

.box-popular-posts {
    padding: 20px 0px 0px 0px;
}

.sidebar-left {
    background: #222831;
    border-radius: 12px;
    padding: 20px 20px;
    margin-bottom: 24px;
}

    .sidebar-left h6 {
        font-size: 24px;
        line-height: 30px;
    }

.box-popular-posts ul li {
    margin-bottom: 12px;
}

.box-banner-activities-detail-4 img {
    border-radius: 12px;
    width:100%;
}

.box-banner-activities-detail-4 {
    position: relative;
}

    .box-banner-activities-detail-4 img {
        border-radius: 8px;
    }

    .box-banner-activities-detail-4 .container-banner-activities {
        position: absolute;
        bottom: 20px;
        right: 20px;
        z-index: 2;
    }



.btn.btn-brand-secondary {
    padding: 12px 22px;
    font-size: 16px;
    line-height: 26px;
    font-weight: 700;
    background-color: #fefa17;
    border-radius: 50px;
    color: #000;
    display: flex;
    align-items: center;
    width: fit-content;
}






.first-image {
    height: 100%;
    width: 100%
}

    .first-image img {
        height: 100%;
        width: 100%;
        object-fit: cover;
    }



/** Below CSS is completely optional **/
.btn-dynamic {
    color: #333;
    background-color: white;
    padding: 10px 13px;
    position: absolute;
    bottom: 10px;
    right: 10px;
    font-size: 14px;
    color: #000;
    border-radius: 12px;
    line-height: 13px;
    font-size: 12px;
    z-index: 9;
}

    .btn-dynamic:hover {
        background-color: #4367ff;
        color: #fff !important;
        border-radius: 24px !important;
        transition: all 0.3s ease;
        border-radius: 8px;
        padding: 12px 18px;
    }

    .btn-dynamic:active {
        background: #fff !important;
    }

.border-right {
    border-right: 1px solid #e4e6e8;
}


.contact-form input {
    line-height: 20px;
    padding: 0px 20px;
    height:40px;
    font-size:14px;
}
span.text-muted-foreground {
    font-size: 14px;
}
.form-group {
    margin-bottom: 10px;
}
span#guestDisplayText {
    font-size: 14px;
}

.custom-select-wrapper {
    position: relative;
    display: inline-block;
    width: 100px;
    border-radius: 12px;
}

.custom-select {
    width:80px;
    padding-right: 30px;
    /* Room for custom arrow */
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    background: #000;
    background-color: white;
    border: 1px solid #ccc;
    border-radius: 12px;
    padding-left: 8px;
    height: 50px;
    font-size: 14px;
    cursor: pointer;
}

/* Custom arrow */
.custom-select-wrapper::after {
    content: "▼";
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    pointer-events: none;
    font-size: 12px;
    color: #555;
}

.custom-select:focus {
    outline: none;
    box-shadow: unset;
}

.contact-form {
    padding: 10px 0px;
}


/*Social Icons */

.fa {
    padding: 20px;
    font-size: 30px;
    width: 50px;
    text-align: center;
    text-decoration: none;
    margin: 5px 2px;
}

    .fa:hover {
        transform: scale(1.01)
    }

.fa-facebook {
    background: #3B5998;
    color: white;
}

.fa-twitter {
    background: #55ACEE;
    color: white;
}

.fa-linkedin {
    background: #007bb5;
    color: white;
}

.fa-google {
    background: #dd4b39;
    color: white;
}

.fa-instagram {
    background: #125688;
    color: white;
}

.social-share ul {
    display: flex;
    gap: 1rem;
    list-style: none;
    padding-left: 0px;
}

    .social-share ul li a {
        border-radius: 50%;
        height: 50px;
        width: 50px;
        font-size: 18px;
        display: flex;
        justify-content: center;
        align-items: center;
    }

.contact-form .submit-btn .default-btn {
    display: block;
    padding: 16px 48px;
    text-align: end;
    font-weight: 600;
}

a {
    text-decoration: none !important;
}

.product-card .product-image {
    height: 250px
}

    .product-card .product-image img {
        height: 100%;
        width: 100%;
        object-fit: cover
    }


.sticky-bar{
    position:sticky;
    top:0px;    
    height:100%;
   display:block;
}


.left-side-content {
    position: sticky;
    top: 150px;
}

.justified-gallery{

   width:unset !important;
}
.details-nav .nav-tag a {
    display: block;
}



.group-collapse-expand {
    scroll-margin-top: 150px;
}

.airport-card {
    border: 1px solid #ccc;
    padding: 10px;
    border-radius: 12px;
    height:100%;
}
    .airport-card img{
        border-radius:12px;
    }

    .airport-card h4 {
        overflow: hidden;
        text-overflow: ellipsis;
        -webkit-line-clamp: 2;
        display: -webkit-box;
        -webkit-box-orient: vertical;
    }
    }
    .spnshort {
        display: flex;
        justify-content: space-between;
    }

    .spnshort .day-night {
        border: dashed 1px #ff0000;
        padding: 2px 10px;
        width:max-content;
        border-radius: 5px;
        margin-bottom:0px;
    }

.related-tours {
    position: relative;
    overflow: hidden;
}

    .related-tours::after {
        width: 100%;
        height: 350px;
    }

.product-card {
    max-height: 100%
}
/*.related-tours::after {
                content: "";
                position: absolute;
                bottom: 0;
                left: 0;
                width: 100%;
                height: 350px;
                background-color: var(--white);
                z-index: -1;
            }*/

.related-tours .arrow-slide {
    position: relative;
    right: 0px;
    top: 40px;
    margin-top: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 20px;
    margin-top: 20px;
}

    .related-tours .arrow-slide .swipper-btn {
        position: relative;
        left: unset;
        right: unset;
        top: unset;
        width: 54px;
        height: 54px;
        display: flex;
        align-items: center;
        justify-content: center;
        background: var(--primary-color);
        border-radius: 100%;
        cursor: pointer;
    }

    .related-tours .arrow-slide .swiper-button-next.swiper-button-disabled,
    .related-tours .arrow-slide .swiper-button-prev.swiper-button-disabled {
        background: var(--white);
        border: 3px solid var(--light-bg);
        opacity: 1;
    }

    .related-tours .arrow-slide .swiper-button-next.swiper-button-disabled,
    .related-tours .arrow-slide .swiper-button-prev.swiper-button-disabled {
        background-color: var(--white);
        opacity: 1;
    }



    .related-tours .arrow-slide .swiper-button-disabled i {
        color: var(--primary-color) !important;
    }

    .related-tours .arrow-slide .swipper-btn::after {
        font-size: 12px;
        color: var(--white);
        display: none;
    }

    .related-tours .arrow-slide .swipper-btn i {
        color: var(--white);
    }
.airport-card {
    width: 100%;
    max-width: 384px; /* max-w-sm */
    border-radius: 0.75rem; /* rounded-xl */
    overflow: hidden;
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05); /* shadow-lg */
    transition: all 0.2s ease-in-out; /* transition-all */
    background-color: #ffffff; /* bg-white */
}

    .airport-card:hover {
        box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 8px 10px -6px rgba(0, 0, 0, 0.1); /* hover:shadow-xl */
    }

.airport-card-image-container {
    position: relative;
    width: 100%;
    height: 12rem; /* h-48 */
}

.airport-card-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-top-left-radius: 0.75rem; /* rounded-t-xl */
    border-top-right-radius: 0.75rem; /* rounded-t-xl */
}

.airport-card-header {
    padding: 1rem; /* p-4 */
    padding-bottom: 0.5rem; /* pb-2 */
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.airport-card-title {
    font-size: 1.25rem; /* text-xl */
    font-weight: 600; /* font-semibold */
}

.airport-card-tag {
    background-color: rgba(59, 130, 246, 0.1); /* bg-primary/10 (approx blue-600 with 10% opacity) */
    color: #3b82f6; /* text-primary (blue-600) */
    font-size: 0.75rem; /* text-xs */
    font-weight: 500; /* font-medium */
    padding: 0.25rem 0.625rem; /* px-2 py-1 */
    border-radius: 9999px; /* rounded-full */
}

.airport-card-content {
    padding: 1rem; /* p-4 */
    padding-top: 0; /* pt-0 */
}

.airport-card-detail-line {
    display: flex;
    align-items: center;
    font-size: 0.875rem; /* text-sm */
    color: #6b7280; /* text-muted-foreground (gray-600) */
    margin-bottom: 0.5rem; /* mb-2 */
}

    .airport-card-detail-line:last-of-type {
        margin-bottom: 1rem; /* mb-4 */
    }

.airport-card-icon {
    width: 1rem; /* h-4 w-4 */
    height: 1rem;
    margin-right: 0.375rem; /* mr-1.5 */
    vertical-align: middle;
}

.airport-card-button {
    width: 100%;
    background-color: #2563eb; /* bg-blue-600 */
    color: #ffffff; /* text-white */
    border-radius: 0.375rem; /* rounded-md */
    padding: 0.5rem 1rem; /* py-2 */
    font-size: 1rem;
    font-weight: 500;
    text-align: center;
    text-decoration: none;
    display: inline-block;
    cursor: pointer;
    border: none;
    transition: background-color 0.2s ease-in-out;
}

    .airport-card-button:hover {
        background-color: #1d4ed8; /* hover:bg-blue-700 */
    }
.custom-guest-selector {
    position: relative;
}

    .custom-guest-selector .dropdown-toggle {
        width: 100%;
        padding: 9px 15px;
        border: 2px solid #ddd;
        border-radius: 5px;
        background: white;
        cursor: pointer;
        display: flex;
        justify-content: space-between;
        align-items: center;
        text-decoration: none;
        color: #333;
    }

        .custom-guest-selector .dropdown-toggle:hover {
            border-color: #bbb;
        }

    .custom-guest-selector .guest-label {
        font-size: 12px;
        color: #666;
        font-weight: bold;
    }

    .custom-guest-selector .guest-display {
        font-size: 14px;
        color: #333;
    }

    .custom-guest-selector .dropdown-menu {
        position: absolute;
        top: 100%;
        width: 100%;
        left: 0;
        right: 0;
        background: white;
        border: 2px solid #ddd;
        border-radius: 5px;
        margin-top: 5px;
        padding: 15px;
        display: none;
        box-shadow: 0 5px 15px rgba(0,0,0,0.2);
        z-index: 1000;
    }

        .custom-guest-selector .dropdown-menu.show {
            display: block;
        }

    .custom-guest-selector .counter-row {
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding: 10px 0;
        border-bottom: 1px solid #eee;
    }

        .custom-guest-selector .counter-row:last-child {
            border-bottom: none;
        }

    .custom-guest-selector .counter-label {
        font-size: 14px;
        color: #333;
    }

    .custom-guest-selector .counter-controls {
        display: flex;
        align-items: center;
        gap: 15px;
    }

    .custom-guest-selector .counter-button {
        width: 30px;
        height: 30px;
        border: 1px solid #ddd;
        border-radius: 4px;
        background: white;
        cursor: pointer;
        display: flex;
        align-items: center;
        justify-content: center;
    }

        .custom-guest-selector .counter-button:hover:not(:disabled) {
            background: #f0f0f0;
        }

        .custom-guest-selector .counter-button:disabled {
            opacity: 0.5;
            cursor: not-allowed;
        }

    .custom-guest-selector .counter-value {
        font-size: 14px;
        font-weight: bold;
        min-width: 20px;
        text-align: center;
    }

    .custom-guest-selector .chevron {
        transition: transform 0.2s;
    }

        .custom-guest-selector .chevron.rotated {
            transform: rotate(180deg);
        }