/* ULTIMATE FIX: Remove blue border from BOOK NOW button */
/* This uses the highest specificity possible */

.btn-primary,
.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active,
.btn-primary.active,
.btn-primary:visited,
a.btn-primary,
a.btn-primary:hover,
a.btn-primary:focus,
a.btn-primary:active,
button.btn-primary,
button.btn-primary:hover,
button.btn-primary:focus,
button.btn-primary:active {
    border: 0px solid transparent !important;
    border-width: 0 !important;
    border-style: none !important;
    border-color: transparent !important;
    outline: 0 !important;
    outline-width: 0 !important;
    outline-style: none !important;
    outline-color: transparent !important;
    box-shadow: none !important;
    -webkit-box-shadow: none !important;
    -moz-box-shadow: none !important;
    /* Do NOT remove background-image or pseudo-elements as it breaks other buttons */
}

/* DROP-DOWN MENU FIXES - SAFE VERSION */
/* Only fix background and z-index, do NOT force visibility */
.dropdown-menu {
    background-color: #ffffff !important;
    z-index: 99999 !important;
    /* Ensure it's above everything */
    border: 1px solid #ddd !important;
    /* clear border */
    box-shadow: 0 6px 12px rgba(0, 0, 0, .175) !important;
}

/* Specific dropdown fixes */
#booking_guest_occupancy_wrapper .dropdown-menu,
.booking_guest_occupancy_wrapper .dropdown-menu,
.selector .dropdown-menu,
.occupancy_info_block .dropdown-menu {
    background-color: #ffffff !important;
}

/* CART DROPDOWN FIXES */
#header .cart_block {
    background: #ffffff !important;
    background-color: #ffffff !important;
    color: #333333 !important;
    border-radius: 12px !important;
    box-shadow: 0 6px 12px rgba(0, 0, 0, 0.3) !important;
    border: 1px solid #eee !important;
}

/* Fix Cart Text Colors (invert white to black) */
#header .cart_block a,
#header .cart_block .price,
#header .cart_block .product-name,
#header .cart_block .product-name a,
#header .cart_block .product_info_label,
#header .cart_block .product_info_data,
#header .cart_block dt,
#header .cart_block dd,
#header .cart_block span,
#header .cart_block strong {
    color: #333333 !important;
    text-shadow: none !important;
}

/* Fix Checkout Button - Make it RED and remove blue/black */
#button_order_cart {
    background: #ff6b6b !important;
    background-color: #ff6b6b !important;
    border: 1px solid #ff6b6b !important;
    border-radius: 4px !important;
    padding: 0 !important;
    text-shadow: none !important;
}

#button_order_cart span {
    background: transparent !important;
    background-color: transparent !important;
    border: none !important;
    color: #ffffff !important;
    /* Keep text white */
    text-shadow: none !important;
}

#button_order_cart:hover {
    background: #ff4c4c !important;
    /* Slightly darker red on hover */
    background-color: #ff4c4c !important;
    border-color: #ff4c4c !important;
}

/* Ensure text is white on the anchor tag itself */
/* Ensure text is white on the anchor tag itself - HIGH SPECIFICITY */
#header .cart_block #button_order_cart,
#header .cart_block #button_order_cart:visited,
#header .cart_block #button_order_cart:hover,
#header .cart_block #button_order_cart:focus,
#header .cart_block #button_order_cart:active {
    color: #ffffff !important;
    text-decoration: none !important;
}

#button_order_cart:hover span {
    background: transparent !important;
    background-color: transparent !important;
    color: #ffffff !important;
}

/* Remove old borders/shadow images in cart */
#header .cart_block dt,
#header .cart_block .cart-prices,
#header .cart_block .cart-buttons {
    background-image: none !important;
    background: transparent !important;
    /* Let white parent BG show */
    border-bottom: 1px solid #eee !important;
}

/* Clean up table borders inside cart */
.cart_block .cart_prod_cont .table td {
    border-color: #eee !important;
}

/* SPECIFIC FIX FOR 'BOOK NOW' BUTTONS (ajax_add_to_cart_button) */
.ajax_add_to_cart_button,
a.ajax_add_to_cart_button,
.ajax_add_to_cart_button:hover,
a.ajax_add_to_cart_button:hover {
    background: #ff6b6b !important;
    background-color: #ff6b6b !important;
    border: 1px solid #ff6b6b !important;
    color: #ffffff !important;
    border-radius: 4px !important;

    /* Remove the 3D blue effect */
    box-shadow: none !important;
    -webkit-box-shadow: none !important;
    border-bottom: 1px solid #ff6b6b !important;
    text-shadow: none !important;
    background-image: none !important;
    outline: none !important;

    /* Ensure height/line-height doesn't reveal background */
    padding: 6px 10px !important;
}

.ajax_add_to_cart_button span,
a.ajax_add_to_cart_button span {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    color: #ffffff !important;
    text-shadow: none !important;
}

/* Hover state for Book Now */
.ajax_add_to_cart_button:hover,
a.ajax_add_to_cart_button:hover {
    background: #ff4c4c !important;
    border-color: #ff4c4c !important;
}

/* Remove pseudo-elements that might cause shadows */
.ajax_add_to_cart_button::before,
.ajax_add_to_cart_button::after {
    display: none !important;
    background: none !important;
    box-shadow: none !important;
}

/* EMPTY CART CUSTOM MESSAGE & ANIMATION */
.empty-cart-custom-message {
    text-align: center;
    padding: 50px 20px;
    background: #fff;
    border-radius: 8px;
    margin-top: 20px;
}

.empty-cart-custom-message p {
    font-size: 18px;
    color: #555;
    margin-top: 20px;
    font-weight: 600;
}

/* Sad Face Icon */
.sad-face-icon {
    width: 80px;
    height: 80px;
    border: 4px solid #ff6b6b;
    border-radius: 50%;
    margin: 0 auto;
    position: relative;
    animation: bounce 2s infinite ease-in-out;
}

.sad-face-icon .eyes {
    position: absolute;
    top: 25px;
    width: 100%;
    text-align: center;
}

.sad-face-icon .eyes .eye {
    width: 10px;
    height: 10px;
    background: #ff6b6b;
    border-radius: 50%;
    display: inline-block;
    margin: 0 10px;
}

.sad-face-icon .mouth {
    width: 40px;
    height: 20px;
    border: 4px solid #ff6b6b;
    border-radius: 50% 50% 0 0;
    border-bottom: 0;
    position: absolute;
    bottom: 15px;
    left: 50%;
    transform: translateX(-50%) rotate(180deg);
    /* Frown */
}

@keyframes bounce {

    0%,
    100% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-10px);
    }
}

/* Restrict the size of the remove link so it doesn't cover the row */
.cart_block .cart_block_list .remove_link a,
.cart_block .cart_block_list .ajax_cart_block_remove_link {
    width: 20px !important;
    height: 20px !important;
    display: inline-block !important;
    position: relative !important;
}

.cart_block .cart_block_list .remove_link {
    width: 20px !important;
    height: 20px !important;
}

/* SIDEBAR CLOSE BUTTON FIX */
/* Remove blue background and make 'X' visible (dark) */
#menu_cont .close_navbar {
    background-color: transparent !important;
    background: transparent !important;
    color: #333333 !important;
    /* Dark color for X since background is white */
    box-shadow: none !important;
    border: none !important;
    outline: none !important;
    width: auto !important;
    /* Allow natural width */
    height: auto !important;
    padding: 10px !important;
    /* Adjust padding */
}

.close_navbar:hover {
    background-color: transparent !important;
    color: #000000 !important;
    /* Darker on hover */
    outline: none !important;
}

.close_navbar i {
    color: inherit !important;
}

/* FINAL CHECKOUT BUTTON TEXT COLOR FIX */
/* Force white text on the checkout button in the cart dropdown */
#header .cart_block #button_order_cart,
#header .cart_block a#button_order_cart,
#header .cart_block #button_order_cart span,
#header .cart_block a#button_order_cart span {
    color: #ffffff !important;
    text-decoration: none !important;
}

#header .cart_block #button_order_cart:hover,
#header .cart_block a#button_order_cart:hover,
#header .cart_block #button_order_cart:hover span,
#header .cart_block a#button_order_cart:hover span {
    color: #ffffff !important;
}

/* FIX OCCUPANCY POPUP - CENTERED MODAL MODE */

/* 1. Modal Wrapper */
/* FIX OCCUPANCY POPUP - CENTERED MODAL MODE WITH BLUR */

/* 1. Modal Wrapper - RESTORED TO CENTERED MODAL */
/* FIX OCCUPANCY POPUP - SCOPED TO ROOM CARD (User Request) */

/* 0. Remove positioning context from intermediate wrappers to allow Card-Centering */
/* 0. Remove positioning context from intermediate wrappers to allow Card-Centering */
/* Force all standard layouts inside the active card to be static so the popup sees the card as parent */
.room_cont.occupancy-popup-active .product-container,
.room_cont.occupancy-popup-active .right-block,
.room_cont.occupancy-popup-active .left-block,
.room_cont.occupancy-popup-active .center-block,
.room_cont.occupancy-popup-active .booking_guest_occupancy_conatiner,
.room_cont.occupancy-popup-active .booking_guest_occupancy_conatiner .dropdown,
.room_cont.occupancy-popup-active .col-sm-12,
.room_cont.occupancy-popup-active .col-md-6,
.room_cont.occupancy-popup-active .col-lg-8,
.room_cont.occupancy-popup-active .col-sm-4,
.room_cont.occupancy-popup-active .col-sm-8,
.room_cont.occupancy-popup-active .booking_room_fields,
.room_cont.occupancy-popup-active .form-group {
    position: static !important;
}

/* 1. Modal Wrapper - ABSOLUTE CENTER OF CARD */
/* 1. Modal Wrapper - ABSOLUTE CENTER OF CARD (Robust Method) */
.booking_occupancy_wrapper {
    position: absolute !important;
    inset: 0 !important;
    /* Stretch to cover parent... */
    margin: auto !important;
    /* ...then center via margin */
    width: 360px !important;
    /* FIXED COMPACT WIDTH */
    min-width: 360px !important;
    max-width: 90vw !important;
    height: fit-content !important;
    /* Only take needed height */
    max-height: 90% !important;
    /* Prevent overflow */
    transform: none !important;
    /* Remove old transform */

    z-index: 10010 !important;
    /* Top Layer */
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.4) !important;
    border-radius: 12px !important;
    background: #fff !important;
    display: block !important;
    visibility: hidden;
    padding: 20px !important;
    overflow-y: auto !important;
    opacity: 0;
    transition: opacity 0.2s ease-in-out, visibility 0.2s;
}

/* 2. Show Modal when parent has 'open' */
.booking_guest_occupancy_conatiner .dropdown.open .booking_occupancy_wrapper {
    visibility: visible !important;
    opacity: 1 !important;
}

/* 3. Backdrop - SCOPED TO CARD WITH BLUR */
/* 3. Backdrop - SCOPED TO WHOLE CARD WITH BLUR */
.room_cont.occupancy-popup-active::before {
    content: '';
    display: block !important;
    position: absolute !important;
    /* Scoped to card */
    top: 0;
    left: 0;
    width: 100% !important;
    /* Cover WHOLE Card */
    height: 100% !important;
    /* Cover WHOLE Card */
    background: rgba(255, 255, 255, 0.1) !important;
    /* Subtle tint */
    backdrop-filter: blur(8px) !important;
    /* Strong Blur */
    -webkit-backdrop-filter: blur(8px) !important;
    z-index: 10009 !important;
    /* Behind modal (10010) */
    border-radius: 0 !important;
    /* Matches card */
    pointer-events: auto;
    /* Blocks clicks on card behind */
}

/* Remove old backdrop target just in case */
.booking_guest_occupancy_conatiner .dropdown.open::before {
    display: none !important;
}

/* 5. STABILIZE ACTIVE ROOM CONTAINER */
.room_cont.occupancy-popup-active {
    z-index: 500 !important;
    /* Bring card forward slightly but not full screen */
    position: relative !important;
    /* The anchor for absolute centering */
    overflow: visible !important;
    /* Allow popup to overflow if needed? No, user wants it 'into' room type */
    pointer-events: none !important;
}

/* Ensure the modal inside it captures events */
.room_cont.occupancy-popup-active .booking_occupancy_wrapper {
    z-index: 10010 !important;
    pointer-events: auto !important;
    padding-bottom: 20px !important;
}

/* Scrollbar styling */
.room_cont.occupancy-popup-active .booking_occupancy_wrapper::-webkit-scrollbar {
    width: 6px;
}

.room_cont.occupancy-popup-active .booking_occupancy_wrapper::-webkit-scrollbar-thumb {
    background: rgba(0, 0, 0, 0.3);
    border-radius: 3px;
}

/* 6. Close Button Styling */
.booking_occupancy_wrapper .remove-room-link {
    font-size: 14px !important;
    margin-bottom: 15px;
    display: inline-block;
    color: #FF4343;
    pointer-events: auto !important;
}

/* CART CONFIRMATION MODAL STYLING */
/* 1. Backdrop Blur */
.layer_cart_overlay {
    background-color: rgba(0, 0, 0, 0.4) !important;
    opacity: 1 !important;
    backdrop-filter: blur(5px);
    -webkit-backdrop-filter: blur(5px);
}

/* 2. Center Modal & Round Corners */
#layer_cart {
    position: fixed !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
    margin: 0 !important;
    border-radius: 12px !important;
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25) !important;
    overflow: hidden !important;
    max-width: 90vw;
    width: auto !important;
    min-width: 600px;
}

/* Adjust cross icon positioning for rounded corners */
#layer_cart .cross {
    top: 15px !important;
    right: 15px !important;
}

/* 7. POPUP BUTTON STYLING (Blue Add Room, Red Done) */

/* Add Room Button - Blue Text Link style */
.booking_occupancy_wrapper .add_new_occupancy_btn {
    background: transparent !important;
    border: none !important;
    color: #4a90e2 !important;
    /* Nice Blue */
    font-weight: bold !important;
    font-size: 14px !important;
    padding: 10px 0 !important;
    text-transform: none !important;
    box-shadow: none !important;
    float: left !important;
    display: inline-flex !important;
    align-items: center !important;
    cursor: pointer !important;
    margin-top: 10px !important;
}

.booking_occupancy_wrapper .add_new_occupancy_btn:hover {
    text-decoration: underline !important;
    background: transparent !important;
}

/* Done Button - Red Pill style */
.booking_occupancy_wrapper .submit_occupancy_btn {
    background-color: #ff5a5f !important;
    /* Red/Coral */
    color: #ffffff !important;
    border: none !important;
    border-radius: 25px !important;
    /* Pill shape */
    padding: 8px 30px !important;
    font-weight: bold !important;
    font-size: 13px !important;
    text-transform: uppercase !important;
    box-shadow: 0 4px 6px rgba(255, 90, 95, 0.3) !important;
    float: right !important;
    margin-top: 10px !important;
    cursor: pointer !important;
    transition: transform 0.1s ease;
}

.booking_occupancy_wrapper .submit_occupancy_btn:hover {
    background-color: #ff4046 !important;
    transform: translateY(-1px);
}

.booking_occupancy_wrapper .submit_occupancy_btn:active {
    transform: translateY(1px);
}

/* Clear floats for the button container if needed */
.booking_occupancy_wrapper::after {
    content: "";
    display: table;
    clear: both;
}

@media (max-width: 767px) {
    #layer_cart {
        min-width: 90% !important;
        width: 90% !important;
    }
}