﻿.maxWidth {
    max-width: 1780px
}

.roomBorder {
    border-top: none;
    border-bottom: 1px dashed var(--color-border);
}

.carousel-image {
    width: 800px; /* Set the desired width */
    height: 400px; /* Set the desired height */
    object-fit: cover; /* Ensures the image fits without distortion */
}

.modal-room-dialog-centered {
    max-width: 500px; /* Adjust as needed */
    width: 100%;
}

.clickable-image {
    cursor: pointer; /* Shows a hand cursor when hovering over the image */
    transition: transform 0.2s ease; /* Optional: Adds a smooth hover effect */
}

    .clickable-image:hover {
        transform: scale(1.05); /* Slightly enlarges the image on hover */
    }

.selected {
    background-color: #f0f0f0; /* Light gray background */
    font-weight: bold; /* Bold text */
    color: #007bff; /* Highlight text color */
}

.quote {
    margin-top: 10px;
    width: 100%;
    padding: 10px;
    background-color: var(--color-yellow-1);
    color: black;
    border: none;
    border-radius: 4px;
    cursor: pointer;
}

#checkout-btn {
    margin-top: 10px;
    width: 100%;
    padding: 10px;
    background-color: var(--color-blue-3);
    color: #fff;
    border: none;
    border-radius: 4px;
    cursor: pointer;
}

/* Updated floating cart styles with fixed footer */
#floating-cart {
    position: sticky;
    right: 0px;
    top: calc(2rem + 60px); /* Account for header height + margin */
    height: calc(100vh - 120px); /* Nearly full viewport height minus some space for header */
    overflow-y: auto;
    display: flex;
    flex-direction: column;
    border-radius: 8px;
}

    #floating-cart::-webkit-scrollbar {
        width: 6px;
    }

    #floating-cart::-webkit-scrollbar-track {
        background: #f1f1f1;
        border-radius: 3px;
    }

    #floating-cart::-webkit-scrollbar-thumb {
        background: #c1c1c1;
        border-radius: 3px;
    }

        #floating-cart::-webkit-scrollbar-thumb:hover {
            background: #a8a8a8;
        }

/* Cart header */
.cart-header {
    padding: 15px;
    background-color: #fff;
    border-bottom: 1px solid #e9ecef;
    flex-shrink: 0; /* Prevents the header from shrinking */
}

/* Cart items container - the middle scrollable area */
.cart-items-container {
    flex: 1; /* Takes up all available space */
    overflow: hidden; /* Keep hidden to prevent double scrollbars */
    position: relative;
    display: flex;
    flex-direction: column;
    height:70%;
}

.cart-items {
    overflow-y: auto; /* Enable vertical scrolling */
    height: 100%; /* Fill the container */
    padding: 15px;
    padding-right: 20px; /* Add extra padding to prevent content shifting */
    /* Hide scrollbar for Chrome, Safari and Opera */
    -webkit-scrollbar-width: none; /* Chrome/Safari/Opera */
    -ms-overflow-style: none; /* IE and Edge */
    scrollbar-width: none; /* Firefox */
}

    .cart-items::-webkit-scrollbar {
        display: none;
    }

/* Cart summary section that stays fixed at the bottom */
.cart-summary {
    padding: 15px;
    background-color: #fff;
    border-top: 1px solid #e9ecef;
    flex-shrink: 0; /* Prevents the footer from shrinking */
    margin-top: auto; /* Pushes it to the bottom if content is short */
}

/* Individual cart item */
.cart-item {
    margin-bottom: 12px;
    padding-bottom: 12px;
    border-bottom: 1px solid #e9ecef;
}

    .cart-item:last-child {
        margin-bottom: 12px;
        border-bottom: none;
    }

/* Empty cart style */
.empty-cart {
    padding: 30px 15px;
    text-align: center;
    background-color: #f8f9fa;
    border-radius: 8px;
    flex-grow: 1; /* Takes up available space */
    display: flex;
    flex-direction: column;
    justify-content: center;
}

/* Remove custom scrollbar styling since we're hiding scrollbars now */
/* .cart-items::-webkit-scrollbar {
    width: 5px;
}

.cart-items::-webkit-scrollbar-track {
    background: #f1f1f1;
    border-radius: 10px;
}

.cart-items::-webkit-scrollbar-thumb {
    background: #888;
    border-radius: 10px;
}

    .cart-items::-webkit-scrollbar-thumb:hover {
        background: #555;
    } */

@media (max-width: 968px) {
    #floating-cart {
        width: 100%;
        bottom: 0;
        right: 0;
        top: auto;
        border-radius: 0px;
        position: fixed;
        height: auto;
        max-height: 80vh; /* Maximum height on mobile */
        display: flex;
        flex-direction: column;
        z-index: 1100; /* Keep consistent with desktop version */
    }

    /* Make sure cart items only take up to 40vh on mobile */
    .cart-items-container {
        max-height: 40vh;
    }

    /* Ensure the proceed button is always visible on mobile */
    .cart-summary {
        border-top: 1px solid #e9ecef;
        background-color: #fff;
        position: relative;
        z-index: 2;
    }
}

.selectedFilter {
    border: 2px solid #007bff;
    background-color: #e7f1ff;
}

.occupancy-info {
    width: 60px;
    min-width: 60px;
    display: block;
    overflow: hidden;
}

    .occupancy-info .text-15 {
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    .occupancy-info .d-flex {
        gap: 2px;
    }

.cart-items-mobile {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    z-index: 50;
    padding: 10px;
    box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.1);
}

.flight-price-container {
    padding: 10px;
}

.cart-price {
    color: white;
    display: flex;
    align-items: center;
    font-weight: bold;
    font-size: 14px;
  
}

.hotel-card-hover {
    position: relative;
    cursor: pointer;
}

.hotel-hover-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(5, 16, 54, 0.5);
    border-radius: 4px;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    transition: opacity 0.3s ease;
}

.hotel-card-hover:hover .hotel-hover-overlay {
    opacity: 1;
}

.hotel-hover-overlay i {
    color: white;
    background: var(--color-blue-1);
    width: 50px;
    height: 50px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.hotelFilters {
    display: block;
    max-width: 350px;
}

.hotelFilters .btn-check {
    width: 20px;
}



/* Flight Summary Header for collapsed search view */
.hotelSummaryHeader {
    position: relative;
    z-index: 20;
    transition: all 0.3s ease;
    cursor: pointer;
}

.hotel-search-summary-text {
    font-size: 18px; /* Default base size (matches the current text-14 class) */
}

@media (min-width: 992px) {
    .hotelSummaryHeader {
        max-width: 1200px;
        margin: 0 auto;
    }
}

.hotelSummaryHeader .search-summary {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 15px;
}

    .hotelSummaryHeader .search-summary .item {
        display: flex;
        align-items: center;
    }

        .hotelSummaryHeader .search-summary .item i {
            margin-right: 8px;
            color: var(--color-blue-3);
        }



.hotelSummaryHeader .button-item button {
    padding: 10px 20px;
    height: auto;
    min-width: 120px;
}

/* Mobile flight search summary bullet points */
@media (max-width: 767px) {
    .hotel-search-summary-text {
        white-space: normal;
        font-size: 14px;
        font-weight: 500;
    }

        .hotel-search-summary-text .bullet-separator {
            display: block;
            height: 0;
            width: 100%;
            margin: 5px 0;
            visibility: hidden;
        }
}