        #modalImage{
            border: none!important;
        }
        .contact img.product_image {
            width: 150px;
            height: 150px;
            object-fit: cover;
            border-radius: 8px;
        }

        .sp_owner_card {
            list-style: none;
            background: #0e4d5c;
            border-radius: 12px;
            padding: 10px !important;
            margin-bottom: 6px;
            overflow: hidden;
            position: relative;
            margin-left: -10px;
            margin-right: -10px;
            margin-top: -1px;
        }
        .sp_owner_card::before {
            content: '';
            position: absolute;
            top: -50%;
            right: -15%;
            width: 180px;
            height: 180px;
            background: radial-gradient(circle, rgba(255,154,0,0.12) 0%, transparent 70%);
            border-radius: 50%;
            pointer-events: none;
        }
        .sp_owner_top {
            display: flex;
            align-items: center;
            gap: 12px;
            position: relative;
            z-index: 1;
        }
        .sp_owner_avatar {
            width: 52px;
            height: 52px;
            border-radius: 10px;
            object-fit: cover;
            border: 2px solid rgba(255,255,255,0.3);
            flex-shrink: 0;
        }
        .sp_owner_name {
            color: #fff;
            font-size: 15px;
            margin: 0;
            line-height: 1.3;
            text-shadow: 0 1px 3px rgba(0,0,0,0.12);
        }
        .sp_owner_type {
            color: rgba(255,255,255,0.7);
            font-size: 11px;
            margin: 0;
        }
        .sp_owner_contacts {
            display: flex;
            flex-wrap: wrap;
            gap: 5px;
            margin-top: 10px;
            position: relative;
            z-index: 1;
        }
        .sp_owner_pill {
            display: inline-flex;
            align-items: center;
            gap: 5px;
            padding: 4px 10px;
            background: rgba(255,255,255,0.13);
            border: 1px solid rgba(255,255,255,0.18);
            border-radius: 6px;
            color: #fff;
            font-size: 12px;
            text-decoration: none;
            transition: all 0.25s ease;
        }
        .sp_owner_pill:hover {
            color: #fff;
            text-decoration: none;
            background: rgba(255,154,0,0.9);
            border-color: transparent;
            transform: translateY(-1px);
        }
        .sp_owner_pill[data-type="viber"]:hover {
            background: #7360F2;
            border-color: transparent;
        }
        .sp_owner_pill[data-type="whatsapp"]:hover {
            background: #0CC143;
            border-color: transparent;
        }
        .sp_owner_pill i {
            font-size: 13px;
            opacity: 0.9;
        }
        .sp_owner_pill span,
        .sp_owner_pill {
            font-size: 14px;
        }
        .product_detail .more_detail_bottom {
            border-width: 1px;
        }
        .sp_owner_btn {
            display: block;
            margin-top: 10px;
            text-align: center;
            padding: 7px 12px;
            background: rgba(255,154,0,0.9);
            color: #fff;
            font-size: 14px;
            border-radius: 8px;
            text-decoration: none;
            transition: all 0.25s ease;
            position: relative;
            z-index: 1;
        }
        .sp_owner_btn:hover {
            background: rgba(255,154,0,1);
            color: #fff;
            text-decoration: none;
            box-shadow: 0 4px 14px rgba(255,154,0,0.35);
        }
        .sp_share_fb_btn {
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 8px;
            margin-top: 8px;
            text-align: center;
            padding: 7px 12px;
            background: #1877F2;
            color: #fff;
            font-size: 14px;
            border-radius: 8px;
            text-decoration: none;
            transition: all 0.25s ease;
            position: relative;
            z-index: 1;
        }
        .sp_share_fb_btn:hover {
            background: #166fe5;
            color: #fff;
            text-decoration: none;
            box-shadow: 0 4px 14px rgba(24, 119, 242, 0.35);
        }
        .sp_share_fb_btn i {
            font-size: 16px;
        }
        .sp_price_li {
            font-size: 18px;
            position: relative;
        }
        .sp_price_li .price-tooltip-container {
            position: relative;
            display: inline-flex;
            align-items: center;
        }
        .sp_price_li .price-hover-trigger {
            font-weight: bold;
            cursor: pointer;
            border-bottom: 1px dashed rgba(42,111,126,0.4);
            transition: color 0.2s ease;
        }
        .sp_price_li .price-hover-trigger:hover {
            color: #2a6f7e;
        }
        .sp_price_li .currency-tooltip {
            left: auto;
            right: 0;
            transform: translateX(0);
        }
        .sp_price_li .currency-tooltip.show {
            transform: translateX(0) translateY(5px);
        }
        .sp_price_li .currency-tooltip .tooltip-arrow {
            left: auto;
            right: 20px;
            transform: none;
        }
        @media (max-width: 767px) {
            .sp_owner_card { padding: 12px!important; }
            .sp_owner_avatar { width: 42px; height: 42px; }
            .sp_owner_name { font-size: 13px; }
            .sp_owner_pill { font-size: 11px; padding: 3px 8px; }
            .sp_owner_btn { font-size: 12px; padding: 6px 10px; }
            .sp_share_fb_btn { font-size: 12px; padding: 6px 10px; }
            .sp_price_li { font-size: 15px; }
            .sp_price_li .currency-tooltip {
                min-width: 180px;
                right: -10px;
            }
        }

        .hotel_card{
            background-color: #fff;
        }
        .sliderParent {
            /*height: 550px !important;*/
            height: 650px !important;
            margin-bottom: 15px;
        }

        .openModal {
            overflow: hidden;
        }

        .slider_small_images_wrapper {
            height: 15%;
            box-sizing: border-box;
        }

        .featured_offers{
            margin-top: 70px;
            border-top: solid #dee2e6 1px;
            padding-top: 22px;
            padding-bottom: 50px;
        }
        .product_card_item{
            border-radius: 10px!important;
            box-shadow: 0 0px 6px rgb(53 53 53 / 31%)!important;
        }
        .blog_item_title{
            font-size: 18px;
            line-height: 26px;
        }
        #carousel-small-left, #carousel-small-right {
            display: inline-block;
            position: absolute;
            top: 50%;
            transform: translateY(-50%);
            width: 20px;
            height: 70px;
            line-height: 70px;
            text-align: center;
        }

        #carousel-small-left:hover, #carousel-small-right:hover {
            text-shadow: 0 0 5px black;
            cursor: pointer;
        }

        #carousel-small-left {
            left: -25px;
        }

        #carousel-small-right {
            right: -25px;
        }


        .slider_small_images {
            white-space: nowrap;
            transform: translateX(0);
            font-size: 0;
            height: 100%;
            padding-left: 5px;
        }

        .slider_small_images img {
            transition: .3s all;
            cursor: pointer;
        }

        .slider_small_images img:hover {
            opacity: 1;
        }


        .smallImages {
            /*width: 80vw;*/
            position: relative;
            overflow: hidden;
            height: 100%;
        }

        .video-small {
            outline: 1px solid #2a6f7e1f;
            outline-offset: -3px;
            position: relative;
        }

        .video-small::after {
            content: "\f144";
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            display: flex;
            color: #FF0000;
            justify-content: center;
            align-items: center;
            font-family: 'Font Awesome 5 Free';
            font-weight: 900;
            font-size: 30px;
            z-index: -99999999;
        }

        .address-title{
            justify-content: start !important;
            /*padding-left: 0px!important;*/
        }
        .addr-text{
            margin-left: 10px;
        }


        .small_item {
            width: 85.2px;
            height: 100%;
            opacity: .8;
            box-sizing: border-box;
            padding: 5px;
            display: inline-block;
        }

        .slider_small_images .small_item:nth-child(1) {
            padding: 5px 5px 5px 0;
        }

        .slider_small_images .small_item.video-small {
            padding: 5px;
        }

        .small_item img {
            opacity: .3;
        }

        .small_item.active img {
            border-color: #ffffff !important;
            opacity: 1;
            box-shadow: 0 0 5px black;
        }

        .small_item img {
            width: 100% !important;
            height: 100% !important;
            object-fit: cover;
        }


        #modalContainer {
            justify-content: center;
            align-items: center;
            position: fixed;
            top: 0;
            right: 0;
            left: 0;
            bottom: 0;
            background: rgba(0, 0, 0, .8);
            z-index: 999999999;
            display: none;
        }

        #modalContainer img {
            animation: zoomIn .3s ease-out;
            box-shadow: 0 0 15px 10px #141414;
            max-height: 90%;
            max-width: 90%;
            transition: .3s all;
        }

        #modalContainer img:hover {
            box-shadow: 0 0 15px 10px #333;
        }

        #modalContainer.show {
            padding: 60px 0 0 0;
            display: flex;
            flex-direction: column;
            justify-content: space-between;
        }

        #modalContainer .slider_small_images_wrapper {
            z-index: 99999999999;
            opacity: 1;
            position: relative;
            text-align: center;
            width: 100%;
            text-align: left;
        }

        #modalContainer .smallImages {
            background: rgba(0, 0, 0, .9);
        }

        #modalContainer .small_item {
            width: 8%;
            min-width: 110px;
        }


        #modalContainer #modalClose {
            position: absolute;
            right: 30px;
            top: 30px;
            z-index: 100000000000;
            box-sizing: border-box;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            width: 40px;
            height: 40px;
            margin: 0;
            padding: 0;
            color: #fff;
            font-size: 28px;
            line-height: 1;
            text-align: center;
            border: 1px solid #eee;
            cursor: pointer;
            transition: .3s all;
            border-radius: 6px;
            background-color: #ffffff30;
            -webkit-tap-highlight-color: transparent;
        }

        #modalContainer #modalClose:hover {
            box-shadow: 0 0 5px #fff;
        }

        @media (max-width: 576px) {
            #modalContainer #modalClose {
                right: 12px;
                top: 12px;
                width: 40px;
                height: 40px;
                font-size: 26px;
            }
        }

        @keyframes zoomIn {
            from {
                transform: scale(0);
            }
            to {
                transform: scale(1);
            }
        }


        .modal-background #modalCloseHipotec {
            position: absolute;
            right: 30px;
            top: 30px;
            color: #fff;
            font-size: 25px;
            text-align: center;
            width: 26px;
            border: 1px solid #eee;
            cursor: pointer;
            transition: .3s all;
        }

        .modal-background #modalCloseHipotec:hover {
            box-shadow: 0 0 5px #fff;
        }

        .modal-background #modalPrintHipotec {
            position: absolute;
            right: 70px;
            top: 30px;
            color: #fff;
            font-size: 25px;
            text-align: center;
            width: 26px;
            border: 1px solid #eee;
            cursor: pointer;
            transition: .3s all;
        }

        .modal-background #modalPrintHipotec:hover {
            box-shadow: 0 0 5px #fff;
        }

        .hipotec-result-div {
            width: 700px;
            height: 500px;
            overflow-y: auto;
        }


        #modalContainer .right-arr {
            position: absolute;
            right: 10px;
            color: #fff;
            cursor: pointer;
            top: 50%;
            transform: translateY(-50%);
        }

        #modalContainer .left {
            position: absolute;
            left: 10px;
            color: #fff;
            cursor: pointer;
            top: 50%;
            transform: translateY(-50%);
        }

        @media (max-width: 767px) {
            .customSlider {
                min-height: 300px !important;
            }

            .sliderParent {
                max-height: 350px !important;
            }
        }



        .notice-other-price-parent span{
            font-size: 12px;
            color: #044453;
            font-weight: 600;
        }
        .notice-other-price-parent{
            display: flex;
            align-items: center;
        }
        .notice-other-price{
            min-width: 30px;
            width: 40px;
            height: 30px;
            background-color: #cce5ff;
            float: left;
            margin: 10px;
            border: solid 1px #d9d1d1;
        }

        .notice-booked-parent span{
            font-size: 12px;
            color: #044453;
            font-weight: 600;
        }
        .notice-booked-parent{
            display: flex;
            align-items: center;
        }
        .notice-booked{
            min-width: 30px;
            width: 40px;
            height: 30px;
            background-color: #ff5858;
            float: left;
            margin: 10px;
            border: solid 1px #d9d1d1;
        }

        #reservation-form{
            text-align: left;
        }
        .reservation-date-info{
            background: #00ff8026;
            padding: 25px;
            border-radius: 5px;
            margin-bottom: 20px;
        }
        .reservation-date-info p{
            color: #10734b!important;
        }
        .reservation-date-info h5{
            margin-bottom: 15px;
            font-weight: 600;
            color: #2d2d2d;
        }
        .form-check-label-calendar{
            font-size: 14px;
            color: #d10000;
        }
        .modal-header-calendar{
            justify-content: center!important;
        }

        .form-check-calendar{
            cursor:pointer!important;
        }

        /* Cursor pointer for form elements */
        .form-control:hover,
        .form-check-label:hover,
        .form-check-input:hover,
        select:hover,
        input[type="radio"]:hover,
        label:hover {
            cursor: pointer;
        }

        /* RSVP Modal - Hidden by default */
        #reservation-modal-container {
            display: none !important;
            visibility: hidden !important;
            pointer-events: none !important;
        }
        #reservation-modal-container.openModal {
            display: table !important;
            visibility: visible !important;
            pointer-events: auto !important;
        }

        /* RSVP Modal Responsive Styles */
        @media (max-width: 768px) {
            #reservation-modal-container .modal {
                width: 95% !important;
                max-width: 95% !important;
                margin: 10px auto !important;
                padding: 10px 20px !important;
            }

            #reservation-modal-container .modal-body {
                padding: 15px !important;
            }

            #reservation-modal-container .form-group {
                margin-bottom: 15px !important;
            }

            #reservation-modal-container .custom-file-upload {
                padding: 15px !important;
            }

            #reservation-modal-container .custom-file-upload i {
                /*font-size: 36px !important;*/
            }

            #reservation-modal-container .custom-file-upload p {
                font-size: 14px !important;
            }

            #reservation-modal-container .reservation-date-info {
                padding: 15px !important;
                margin-bottom: 15px !important;
            }

            #reservation-modal-container .modal-footer {
                padding: 15px !important;
            }

            #reservation-modal-container .modal-footer button {
                /*padding: 10px 15px !important;*/
                /*font-size: 14px !important;*/
            }
        }

        @media (max-width: 480px) {
            #reservation-modal-container .modal {
                width: 98% !important;
                max-width: 98% !important;
                margin: 50px auto !important;
                padding: 5px 25px 35px 25px !important;
            }

            #reservation-modal-container .modal-body {
                padding: 10px !important;
            }

            #reservation-modal-container .form-group {
                margin-bottom: 12px !important;
            }

            #reservation-modal-container .custom-file-upload {
                padding: 10px !important;
            }

            #reservation-modal-container .custom-file-upload i {
                /*font-size: 32px !important;*/
            }

            #reservation-modal-container .custom-file-upload p {
                font-size: 12px !important;
            }

            #reservation-modal-container .reservation-date-info {
                padding: 10px !important;
                margin-bottom: 10px !important;
            }

            #reservation-modal-container .reservation-date-info h5 {
                font-size: 16px !important;
            }

            #reservation-modal-container .reservation-date-info p {
                font-size: 14px !important;
            }

            #reservation-modal-container .modal-footer {
                padding: 10px !important;
            }

            #reservation-modal-container .modal-footer button {
                /*padding: 8px 12px !important;*/
                /*font-size: 12px !important;*/
            }
        }

        /* Error message styling */
        .invalid-feedback {
            display: block;
            color: #dc3545;
            font-size: 14px;
            margin-top: 5px;
        }

        .is-invalid {
            border-color: #dc3545;
        }
        .tooltip-times{
            font-size: 14px!important;
            color: #454444;
            margin-top: 10px!important;
        }
        #reservation-submit{
            margin: 0 auto;
            padding: 8px 30px;
        }

        .captcha-div-text-msg {
            display: flex ;
            width: 100%;
            justify-content: left;
            position: absolute;
            bottom: 0;
            flex-direction: column;
        }
        .hotel_card_item {
            border-radius:12px;
            box-shadow: 0 0 5px 0px #00000066!important;
        }

        /* Fix: Make second container-fluid's left column start right after slider */
        @media (min-width: 1200px) {
            /* Make first row columns align to top so product details doesn't stretch slider */
            .product_container > .container-fluid:first-of-type .row {
                align-items: flex-start;
            }

            /* Make product_container a positioning context */
            .product_container {
                position: relative;
                overflow: visible;
            }

            /* Make first container-fluid's col-xl-9 (slider column) create positioning reference */
            .product_container > .container-fluid:first-of-type .col-xl-9 {
                position: relative;
            }

            /* Position second container-fluid's left column absolutely */
            /* It will be positioned relative to product_container */
            .product_container > .container-fluid:nth-of-type(2) .col-xl-9 {
                position: absolute;
                left: 15px;
                width: calc(75% - 15px);
            }

            /* Position right column absolutely but without top (stays in natural position) */
            .product_container > .container-fluid:nth-of-type(2) .col-xl-3 {
                position: absolute;
                right: 15px;
                width: calc(25% - 15px);
            }

            /* Ensure second container-fluid row doesn't collapse */
            .product_container > .container-fluid:nth-of-type(2) .row {
                min-height: 1px;
            }

            /* Make product details column stretch to parent height */
            .product_container > .container-fluid:first-of-type .col-xl-3 {
                display: flex;
                flex-direction: column;
            }

            .product_container > .container-fluid:first-of-type .col-xl-3 .product_more_details {
                flex: 1;
                min-height: 100%;
            }
        }
    </style>
