/*
Theme Name: WpRentals Child theme
Theme URI: http://themeforest.net/user/wpestate
Description: Ultimate WordPress Theme created by WpEstate for accommodation booking. WpRentals is clean, flexible, fully responsive and retina Ready. Its smart settings allow you to build outstanding renting websites easily and fast.
Version: 3.12
Author: wpestate.org
Author URI: http://themeforest.net/user/annapx
Tags: white, one-column, two-columns,left-sidebar, right-sidebar, fluid-layout , custom-menu, theme-options, translation-ready
License: GNU General Public License v2.0
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Template: wprentals

-------------------------------------------------------------- */

/* Breadcrumb font size for all screens */
.listing_type_5 .listing_main_image_location {
    font-size: 12px !important;
}

/* Masquer l'élément "Réservation" dans la dropdown */
ul.dropdown-menu.filter_menu li[data-value="all"] {
    display: none !important;
}

/* Header button styles */
#submit_action,
.submit_action,
a#submit_action,
a.submit_action,
.header_wrapper #submit_action,
.header_wrapper .submit_action,
.header_wrapper a#submit_action,
.header_wrapper a.submit_action,
#access #submit_action,
#access .submit_action,
#access a#submit_action,
#access a.submit_action {
    border-radius: 5px !important;
}

/* Only hide owner thumbnails with default user image */
.owner_thumb[style*="default_user"] {
    display: none !important;
}

/* Hide empty owner thumbnails */
.owner_thumb:not([style*="url"]), 
.owner_thumb[style*="url('')"] {
    display: none !important;
}

/* Increase size of owner thumbnails ONLY in specific property_unit_v4 listings */
.listing_wrapper.col-md-6.property_unit_v4.property_flex .owner_thumb {
    width: 75px !important;
    height: 75px !important;
}

/* Ensure widget cards maintain the default owner thumbnail size */
.widget_latest_internal .owner_thumb,
.widget_latest_listings .owner_thumb,
.property_widget_list .owner_thumb {
    width: 45px !important;
    height: 45px !important;
}

/* Change color of star icon in property rating - more aggressive with !important */
.property_unit_v4 .property-rating svg,
.property-rating svg,
.property_ratings svg,
.listing_reviews_display .property-rating svg,
.owner_total_reviews svg,
.property_ratings .property-rating svg,
svg.dashicons-star-filled,
.property_ratings svg path,
.property-rating svg path,
.reviews_unit i,
.review-content i {
    fill: #3589ff !important;
    color: #3589ff !important;
    stroke: #3589ff !important;
}

/* Force SVG star color across all states */
svg[class*="star"],
svg.dashicons-star-filled,
i.fas.fa-star,
span[class*="stars"] i,
span[class*="stars"] svg,
.rating_stars i {
    fill: #3589ff !important;
    color: #3589ff !important;
}

/* Force SVG star color Edit listing */
i.fa-star,
.rating_stars i {
    fill: #3589ff !important;
    color: #ffffff !important;
}

/* Make rating text bold */
.property_unit_v4 .property-rating,
.property-rating,
.property_ratings,
.listing_reviews_display .property-rating,
.property_ratings .property-rating,
div.property-rating,
.rating_no,
.property_unit_v4 div.property-rating,
div.property-rating span,
div.property_ratings,
div.property_ratings span,
div.property-rating span:not(svg),
div.property_reviews_display span:not(svg),
div.property_reviews_display, 
.owner_total_reviews,
.property-rating span:not(svg),
span.text-rating,
.review-score-wrapper,
.review-score-wrapper .rating_no,
div.property-rating-wrapper {
    font-weight: 700 !important;
}

/* Style for advanced search map list */
#advanced_search_map_list_hidden {
    background-color: white !important;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1) !important;
}

/* Custom border radius for info details */
.info_details, .prop_detailsx, .infoimage {
    border-radius: 10px !important;
    -webkit-border-radius: 10px !important;
    -moz-border-radius: 10px !important;
}

/* Ensure all corners have the same border radius */
.info_details .infocloser {
    border-top-right-radius: 10px !important;
}

/* Additional specific corner radius rules */
.info_details:before {
    border-top-left-radius: 10px !important;
    border-top-right-radius: 10px !important;
}

/* Additional border radius for specific elements */
.infoimage {
    border-top-left-radius: 10px !important;
    border-top-right-radius: 10px !important;
}

.prop_detailsx {
    border-bottom-left-radius: 10px !important;
    border-bottom-right-radius: 10px !important;
}

/* Custom styling for info closer */
#infocloser {
    border: none !important;
    opacity: 0.5 !important;
}

/* Custom styling for wpestate_marker - restored to original orange */
.wpestate_marker {
    padding: 5px 10px !important;
    border-radius: 20px !important;
    background-color: #f3661c !important;
    color: #ffffff !important;
}

.wpestate_marker:hover {
    background-color: #ffffff !important;
    color: #f3661c !important;
}

.wpestate_marker:before {
    border-top: 6px solid #f3661c !important;
}

.wpestate_marker:hover:before {
    border-top: 6px solid #ffffff !important;
}

/* Override parent theme's purple hover class with white - AGGRESSIVE */
.wpestate_marker.openstreet_price_marker_on_click,
div.wpestate_marker.openstreet_price_marker_on_click,
.property_marker.openstreet_price_marker_on_click,
.openstreet_price_marker_on_click.wpestate_marker,
body .wpestate_marker.openstreet_price_marker_on_click,
html body .wpestate_marker.openstreet_price_marker_on_click {
    background-color: #ffffff !important;
    background: #ffffff !important;
    color: #f3661c !important;
}

.wpestate_marker.openstreet_price_marker_on_click:before,
div.wpestate_marker.openstreet_price_marker_on_click:before,
.property_marker.openstreet_price_marker_on_click:before,
.openstreet_price_marker_on_click.wpestate_marker:before,
body .wpestate_marker.openstreet_price_marker_on_click:before,
html body .wpestate_marker.openstreet_price_marker_on_click:before {
    border-top: 6px solid #ffffff !important;
}

/* Additional aggressive overrides for any potential pin variations */
[class*="wpestate_marker"][class*="openstreet_price_marker_on_click"],
[class*="property_marker"][class*="openstreet_price_marker_on_click"] {
    background-color: #ffffff !important;
    background: #ffffff !important;
    color: #f3661c !important;
}

/* Hide map controls */
#gmap-control-list {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    width: 0 !important;
    height: 0 !important;
    overflow: hidden !important;
    position: absolute !important;
    z-index: -9999 !important;
}

/* Hide individual map control elements */
#gmapzoomplus,
#gmapzoomminus,
#geolocation-button,
#gmap-full,
#gmap-prev,
#gmap-next {
    display: none !important;
    visibility: hidden !important;
}

/* Override search field text color */
.filter_menu_trigger,
.wpestate_filter_menu_trigger,
.advanced_search_shortcode .filter_menu_trigger,
.advanced_search_shortcode .wpestate_filter_menu_trigger,
.advanced_search_mobile .filter_menu_trigger,
.advanced_search_mobile .wpestate_filter_menu_trigger,
.advanced_search_sidebar .filter_menu_trigger,
.advanced_search_sidebar .wpestate_filter_menu_trigger,
#advanced_submit_2,
#advanced_submit_2_mobile,
#advanced_submit_3,
.adv_handler,
#advanced_submit_4,
.adv_search_dropdown_button,
.adv-search-1 .filter_menu_trigger,
.adv-search-1 .wpestate_filter_menu_trigger,
.adv-search-3 .filter_menu_trigger,
.adv-search-3 .wpestate_filter_menu_trigger,
.adv-search-1 input,
.adv-search-3 input,
.adv-search-4 input,
.adv-search-1 select,
.adv-search-3 select,
.adv-search-4 select,
.adv-search-1 .form-control,
.adv-search-3 .form-control,
.adv-search-4 .form-control,
.adv-search-1 .filter_menu,
.adv-search-3 .filter_menu,
.adv-search-4 .filter_menu,
.adv-search-1 .filter_menu li,
.adv-search-3 .filter_menu li,
.adv-search-4 .filter_menu li,
.advanced_search_sidebar .filter_menu li,
.advanced_search_shortcode .filter_menu li,
.advanced_search_mobile .filter_menu li,
.advanced_search_sidebar .filter_menu,
.advanced_search_shortcode .filter_menu,
.advanced_search_mobile .filter_menu,
.advanced_search_sidebar input,
.advanced_search_shortcode input,
.advanced_search_mobile input,
.advanced_search_sidebar select,
.advanced_search_shortcode select,
.advanced_search_mobile select,
.advanced_search_sidebar .form-control,
.advanced_search_shortcode .form-control,
.advanced_search_mobile .form-control {
    color: #2B2926 !important;
}

/* Target specific elements that still have the old color */
#search_locationhalf,
input#search_locationhalf,
.pac-target-input,
input.form-control.pac-target-input,
.wpestate_guest_no_control_info,
div.wpestate_guest_no_control_info,
.wpestate_guest_no_control_info.form-control,
div.wpestate_guest_no_control_info.form-control,
.guest_form .wpestate_guest_no_control_info,
.guest_form div.wpestate_guest_no_control_info,
.guest_form .wpestate_guest_no_control_info.form-control,
.guest_form div.wpestate_guest_no_control_info.form-control,
/* Additional selectors for destination and guest fields */
input[placeholder="Où souhaitez-vous aller ?"],
input[placeholder*="souhaitez-vous aller"],
.form-control[placeholder*="souhaitez-vous aller"],
.form-control[placeholder*="Invités"],
div[class*="guest_no_control"],
span[class*="guest_no_control"],
.guest_no_control_info,
.guest_no_buttons,
.guest_form_control_wrapper,
.guest_form_control_wrapper input,
.guest_form_control_wrapper div,
.guest_form_control_wrapper span {
    color: #2B2926 !important;
}

/* Increase font size for Rooms and Bath fields */
#property_bedrooms_toogle,
div#property_bedrooms_toogle,
#property_bathrooms_toogle,
div#property_bathrooms_toogle,
.filter_menu_trigger[id*="property_bedrooms"],
.filter_menu_trigger[id*="property_bathrooms"],
div[id*="property_bedrooms_toogle"],
div[id*="property_bathrooms_toogle"] {
    font-size: 14px !important;
}

/* Clean, modern search style like location.sportihome.com */
.adv-search-1 input[type="text"],
.adv-search-1 input[type="number"],
.adv-search-1 input[type="password"],
.adv-search-1 input[type="search"],
.adv-search-1 input[type="tel"],
.adv-search-1 input[type="url"],
.adv-search-1 input[type="email"],
.adv-search-1 input.form-control,
.adv-search-1 select,
.adv-search-1 textarea,
.adv-search-1 .form-control,
.adv-search-1 .filter_menu_trigger,
.adv-search-1 .dropdown-toggle,
.adv-search-1 .caret,
.adv-search-3 input[type="text"],
.adv-search-3 input[type="number"],
.adv-search-3 input[type="password"],
.adv-search-3 input[type="search"],
.adv-search-3 input[type="tel"],
.adv-search-3 input[type="url"],
.adv-search-3 input[type="email"],
.adv-search-3 input.form-control,
.adv-search-3 select,
.adv-search-3 textarea,
.adv-search-3 .form-control,
.adv-search-3 .filter_menu_trigger,
.adv-search-3 .dropdown-toggle,
.adv-search-3 .caret,
#advanced_submit_2,
#advanced_submit_2_mobile,
#advanced_submit_3,
.adv_handler,
#advanced_submit_4 {
    box-shadow: 0 2px 5px rgba(0,0,0,0.07) !important;
    border-radius: 8px !important;
    border: 1px solid rgba(0,0,0,0.05) !important;
    background-color: white !important;
    height: 50px !important;
    padding: 0 15px !important;
    margin: 5px !important;
}

/* Remove box-shadow from homepage horizontal search bar inputs */
.home .search_wrapper input,
.home .search_wrapper select,
.home .search_wrapper .dropdown,
.home .search_wrapper .bootstrap-select,
.home .search_wrapper .wpestate_guest_no_control_info,
.home .search_wrapper .filter_menu_trigger,
.home .search_wrapper .form-control,
.home .search_wrapper .dropdown-toggle,
.home .search_wrapper button.dropdown-toggle,
.home .search_wrapper .elementor_search_builder_field_wrapper input,
.home .search_wrapper .elementor_search_builder_field_wrapper select,
.home .search_wrapper .elementor_search_builder_field_wrapper .dropdown {
    box-shadow: none !important;
    border: none !important;
}

/* Target specifically the Sport and Reservation dropdowns */
.home .search_wrapper .elementor-field-group-3be4690 .dropdown-toggle,
.home .search_wrapper .elementor-field-group-25004ac .dropdown-toggle,
.home .search_wrapper .elementor-field-group-1f07728 .dropdown-toggle,
.home div#booking_toogle.filter_menu_trigger,
.home div.wpestate-multiselect-custom-style,
.home div.wpestate_filter_menu_trigger,
.home button.dropdown-toggle.bs-placeholder.btn-default,
.home .filter_menu_trigger,
.home .dropdown-toggle,
.home div#booking_toggle, 
.home div#booking_toogle {
    border: none !important;
    box-shadow: none !important;
    background: transparent !important;
}

/* Additional specific selectors to target booking toggle and multiselect dropdowns */
.home button.wpestate-multiselect-custom-style,
.home button.dropdown-toggle, 
.home div[id*="booking_toogle"],
.home div[id*="booking_toggle"],
.home .dropdown.bootstrap-select,
.home .bootstrap-select.btn-group .dropdown-toggle {
    border: none !important;
    box-shadow: none !important;
    background: transparent !important;
}

/* Style for dropdown elements */
.dropdown-toggle,
.filter_menu_trigger,
div.custom_icon_class_icon,
.custom_icon_class_icon,
div.dropdown-toggle,
div.chambres,
.form-control,
.filter_menu,
.dropdown-menu,
div.form-control {
    box-shadow: 0 2px 5px rgba(0,0,0,0.07) !important;
    border-radius: 8px !important;
    border: 1px solid rgb(0 0 0 / 13%) !important;
    background-color: white !important;
}

/* Remove border from specific multiselect field */
.wpestate-multiselect-custom-style.dropdown-toggle.btn-default.bs-placeholder {
    border: none !important;
}

/* Align dropdown arrows with text - aggressive targeting */
body #property_bedrooms_toogle span.caret.caret_filter,
body #property_bathrooms_toogle span.caret.caret_filter,
body div#property_bedrooms_toogle span.caret.caret_filter,
body div#property_bathrooms_toogle span.caret.caret_filter,
body .filter_menu_trigger span.caret.caret_filter,
body div.filter_menu_trigger span.caret.caret_filter,
body .filter_menu_trigger .caret.caret_filter,
body .filter_menu_trigger span.caret,
body .filter_menu_trigger .caret,
body span.caret.caret_filter {
    transform: translateY(-3px) !important;
    line-height: 1 !important;
    vertical-align: top !important;
    display: inline-block !important;
    margin-top: -22px !important;
    position: relative !important;
}

/* Adding hover effect to search elements */
.adv-search-1 input:hover,
.adv-search-1 select:hover,
.adv-search-1 .form-control:hover,
.adv-search-3 input:hover,
.adv-search-3 select:hover,
.adv-search-3 .form-control:hover,
.dropdown-toggle:hover,
.filter_menu_trigger:hover {
    box-shadow: 0 4px 8px rgba(0,0,0,0.1) !important;
    border: 1px solid rgba(0,0,0,0.1) !important;
    transition: all 0.2s ease !important;
}

/* Aligning search form elements */
.adv-search-1 {
    background: transparent !important;
    border-radius: 8px !important;
    padding: 10px !important;
}

/* Ensure proper spacing and alignment */
.adv-search-1 .col-md-2,
.adv-search-1 .col-md-3,
.adv-search-1 .col-md-4,
.adv-search-1 .col-md-6,
.adv-search-1 .col-md-12 {
    padding: 5px !important;
}

/* Change only the search field icons to #2b2926 and remove shadow */
.search-wrapper i.fa,
.advanced_search_submit_button i.fa, 
.advanced_search_submit_button i.fas,
.adv_search_widget i.fa,
.adv_search_widget i.fas,
.adv-search-1 i.fa,
.adv-search-1 i.fas,
.adv-search-3 i.fa, 
.adv-search-3 i.fas,
.adv-search-4 i.fa,
.adv-search-4 i.fas,
.adv_search_form i.fa,
.adv_search_form i.fas,
.search_unit_wrapper i.fa,
.search_unit_wrapper i.fas,
i.custom_icon_class_icon,
i.fas.fa-bed,
i.fas.fa-bath{
    color: #2b2926 !important;
}

/* Custom icon class icon font size */
.custom_icon_class_icon {
    font-size: 15px !important;
}

/* Remove shadow from icon containers */
.custom_icon_class_icon,
div.custom_icon_class_icon,
div.chambres .custom_icon_class_icon,
div.chambres i,
.caret,
.dropdown-toggle i,
.dropdown-toggle .caret,
.form-control i {
    box-shadow: none !important;
    -webkit-box-shadow: none !important;
    -moz-box-shadow: none !important;
    border: none !important;
    background: transparent !important;
}

/* Remove shadow and border from specific property dropdown triggers */
#property_bathrooms_toogle,
#property_bedrooms_toogle,
div#property_bathrooms_toogle,
div#property_bedrooms_toogle,
div[id="property_bathrooms_toogle"],
div[id="property_bedrooms_toogle"],
div#property_bathrooms_toogle.filter_menu_trigger,
div#property_bedrooms_toogle.filter_menu_trigger,
.filter_menu_trigger[id="property_bedrooms_toogle"],
.filter_menu_trigger[id="property_bathrooms_toogle"],
div[id*="property_bedrooms_toogle"],
div[id*="property_bathrooms_toogle"],
.chambres,
.salles-de-bain {
    box-shadow: none !important;
    -webkit-box-shadow: none !important;
    -moz-box-shadow: none !important;
    border: none !important;
    background-color: white !important;
}

/* Adjust filter menu trigger padding and margin */
.filter_menu_trigger {
    margin-top: 11px !important;
    padding: 0px 0px 0px 30px !important; /* Increased left padding to move text further right */
}

/* Fix alignment and padding for Property Type filter to match Chambres/Salles de bain style */
.Type_de_logement .filter_menu_trigger,
.Type_de_logement .dropdown-toggle,
.Type_de_logement .wpestate-multiselect-custom-style,
button[data-id="property_action_category"].filter_menu_trigger,
button[data-id="property_action_category"].dropdown-toggle,
button[data-id="property_action_category"].wpestate-multiselect-custom-style,
.Type_de_logement button.dropdown-toggle,
.Type_de_logement button.filter_menu_trigger {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 14px 15px 5px 45px !important; /* Match Sports filter padding for consistency */
    margin-top: 0 !important; /* Reset problematic margin */
    height: auto !important;
    line-height: normal !important;
}

/* Fix caret positioning for Property Type filter */
.Type_de_logement .filter_menu_trigger .caret.caret_filter,
.Type_de_logement .dropdown-toggle .caret.caret_filter,
.Type_de_logement .filter_menu_trigger .caret,
.Type_de_logement .dropdown-toggle .caret,
button[data-id="property_action_category"] .caret.caret_filter,
button[data-id="property_action_category"] .caret {
    margin-top: 0 !important; /* Reset margin-top */
    transform: none !important; /* Reset transforms */
    position: absolute !important; /* Position relative to parent */
    right: 25px !important; /* Move 20px to the left (was 15px, now 35px) */
    top: 7px !important; /* Move up from center (was 50%, now 38% to move ~12px up) */
    transform: translateY(-50%) !important; /* Perfect vertical centering */
    vertical-align: middle !important;
    display: inline-block !important;
    margin-left: 0 !important; /* Reset margin-left */
}

/* Change slider handle border and background color to orange */
.adv_search_slider #slider_price .ui-slider-handle, 
#wpestate_slider_radius .ui-slider-handle, 
#slider_price_sh .ui-slider-handle, 
#slider_price_widget .ui-slider-handle, 
#advanced_search_map_list .adv_search_slider .ui-slider-handle {
    border: 1px solid #f3661c !important;
    background: #ffffff !important;
}

/* Override placeholder text color */
::-webkit-input-placeholder {
    color: #2B2926 !important;
}
:-moz-placeholder {
    color: #2B2926 !important;
}
::-moz-placeholder {
    color: #2B2926 !important;
}
:-ms-input-placeholder {
    color: #2B2926 !important;
}

/* Hide unnecessary fields in the edit property page */
[id="property_price_before_label"] {
display: none!important;
}
[for="property_price_before_label"] {
display: none!important;
}

[id="property_price_after_label"] {
display: none!important;
}
[for="property_price_after_label"] {
display: none!important;
}

/* Hide city fee percentage checkbox field */
.city_fee_label {
display: none!important;
}

/* Mobile registration form fixes */
.modal input[name="user_firstname_register"],
.modal #user_firstname_register,
.modal input[name="user_lastname_register"],
.modal #user_lastname_register {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    height: 50px !important;
    width: 100% !important;
    margin-bottom: 10px !important;
    position: static !important;
}

.modal input[name="user_login_register"],
.modal #user_login_register,
.modal #user_login_register_mobile,
.modal #user_login_register_topbar,
.modal #user_login_register_wd {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    height: 0 !important;
    width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    position: absolute !important;
    left: -9999px !important;
}

/* Force these styles to apply even with higher specificity selectors */
body .modal input[name="user_firstname_register"],
body .modal #user_firstname_register,
body .modal input[name="user_lastname_register"],
body .modal #user_lastname_register {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    height: 50px !important;
    width: 100% !important;
    margin-bottom: 10px !important;
    position: static !important;
}

body .modal input[name="user_login_register"],
body .modal #user_login_register,
body .modal #user_login_register_mobile,
body .modal #user_login_register_topbar,
body .modal #user_login_register_wd {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    height: 0 !important;
    width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    position: absolute !important;
    left: -9999px !important;
    z-index: -1 !important;
}

/* Add !important to all properties to ensure they override any other styles */
@media only screen and (max-width: 768px) {
    .modal input[name="user_firstname_register"],
    .modal #user_firstname_register,
    .modal input[name="user_lastname_register"],
    .modal #user_lastname_register,
    body .modal input[name="user_firstname_register"],
    body .modal #user_firstname_register,
    body .modal input[name="user_lastname_register"],
    body .modal #user_lastname_register {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
        height: 50px !important;
        width: 100% !important;
        margin-bottom: 10px !important;
        position: static !important;
        z-index: auto !important;
    }
    
    .modal input[name="user_login_register"],
    .modal #user_login_register,
    .modal #user_login_register_mobile,
    .modal #user_login_register_topbar,
    .modal #user_login_register_wd,
    body .modal input[name="user_login_register"],
    body .modal #user_login_register,
    body .modal #user_login_register_mobile,
    body .modal #user_login_register_topbar,
    body .modal #user_login_register_wd {
        display: none !important;
        visibility: hidden !important;
        opacity: 0 !important;
        height: 0 !important;
        width: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        position: absolute !important;
        left: -9999px !important;
        z-index: -1 !important;
    }
}

/* Logo positioning to match location.sportihome */
.logo,
.miclogo,
.mobile-logo {
    padding-left: 0 !important;
    margin-left: 0 !important;
}

.header_wrapper .logo,
.mobile_header .mobile-logo,
.header_wrapper.header_type1.header_align_center .logo,
.header_wrapper.header_type1.header_align_center.customnav .logo {
    padding-left: 50px !important;
}

/* Specifically fix the sticky header logo */
.master_header.navbar-fixed-top-master .logo img,
.master_header.master_wide.master_header_wide_yes.hover_type_5.navbar-fixed-top-master .logo img,
div[class*="master_header"].navbar-fixed-top-master .logo img {
    padding-left: 0 !important;
    max-height: 36px !important; /* Ensure consistent logo size */
    width: auto !important;
    height: auto !important;
}

/* Header wrapper padding adjustment */
.header_wrapper,
.master_header {
    padding-left: 0 !important;
}

/* Make card titles bold by default and blue on hover */
.wprentals-card-unit-title-wrapper .listing_title_unit,
.property_listing .listing_title_unit,
.property_listing h4 a,
.listing_wrapper .listing_title_unit,
.listing_wrapper h4 a,
h4.listing_title_unit,
.wprentals-card-unit-title-wrapper a,
.listing_title_unit a,
.property_unit_v4 .listing_title_unit,
.property_flex .listing_title_unit {
    font-weight: 700 !important;
}

/* Override any existing hover colors with blue */
.property_listing:hover h4 a,
.property_listing:hover .listing_title_unit,
.listing_wrapper:hover .listing_title_unit,
.listing_wrapper:hover h4 a,
.property_unit_v4:hover .listing_title_unit,
.property_flex:hover .listing_title_unit,
.wprentals-card-unit-details-wrapper:hover .listing_title_unit,
.wprentals-card-unit-details-wrapper:hover h4 a,
.property_unit_v1:hover .listing_title_unit,
.property_unit_v1:hover h4 a,
.property_unit_v2:hover .listing_title_unit,
.property_unit_v2:hover h4 a,
.property_unit_v3:hover .listing_title_unit,
.property_unit_v3:hover h4 a,
.property_unit_v4:hover .listing_title_unit,
.property_unit_v4:hover h4 a {
    color: #3589ff !important;
    transition: all 0.2s ease !important;
}

/* Ensure card title hover selectors are comprehensive */
div.property_listing:hover h4 a,
div.property_listing:hover span.listing_title_unit,
div.property_listing:hover .listing_title_unit a,
div.listing_wrapper:hover h4 a,
div.listing_wrapper:hover .listing_title_unit a,
.wprentals-card-unit-title-wrapper a:hover,
.wprentals-card-unit-title-wrapper:hover a,
.wprentals-card-unit-title-wrapper:hover .listing_title_unit,
.wprentals-card-unit-title-wrapper:hover span {
    color: #3589ff !important;
}

/* Very aggressive override for titles */
.property_listing:hover h4 a,
.property_listing:hover .listing_title_unit,
.property_listing:hover span.listing_title_unit,
.property_listing:hover .listing_title_unit a,
.listing_wrapper:hover h4 a,
.listing_wrapper:hover .listing_title_unit,
.listing_wrapper:hover .listing_title_unit a,
.wprentals-card-unit-title-wrapper:hover a,
.wprentals-card-unit-title-wrapper:hover span.listing_title_unit,
.wprentals-card-unit-title-wrapper:hover .listing_title_unit,
.wprentals-card-unit-title-wrapper:hover .listing_title_unit a,
.property_unit_v1:hover h4 a,
.property_unit_v2:hover h4 a,
.property_unit_v3:hover h4 a,
.property_unit_v4:hover h4 a {
    color: #3589ff !important;
}

/* Target specific elements with the highest possible specificity */
body div.property_listing:hover h4 a,
body div.property_listing:hover span.listing_title_unit,
body div.property_listing:hover a.listing_title_unit,
body div.listing_wrapper:hover h4 a,
body div.listing_wrapper:hover a.listing_title_unit,
body div.property_unit_v1:hover h4 a,
body div.property_unit_v2:hover h4 a,
body div.property_unit_v3:hover h4 a,
body div.property_unit_v4:hover h4 a,
html body div.wprentals-card-unit-title-wrapper:hover a,
html body div.wprentals-card-unit-title-wrapper:hover span,
html body div.property_listing:hover h4 a,
html body div.listing_wrapper:hover h4 a {
    color: #3589ff !important;
}

/* Change property listing image border radius from 10px to 20px */
.property_unit_v4 .property_listing img,
.property_listing img,
.listing_wrapper .property_listing img,
.property_unit_v1 .property_listing img,
.property_unit_v2 .property_listing img,
.property_unit_v3 .property_listing img,
.property_unit_v4 img,
.property_flex img,
div.property_listing img {
    border-radius: 20px !important;
}

/* Make unit price text 18px, bold and color #2b2926 */
.price_unit,
div.price_unit,
.listing_unit_price_wrapper,
.price,
span.price_unit,
span[itemprop="price"],
span.price,
.property_listing .price_unit,
.property_unit_v1 .price_unit,
.property_unit_v2 .price_unit,
.property_unit_v3 .price_unit,
.property_unit_v4 .price_unit,
.listing_wrapper .price_unit,
div.listing_wrapper .price_unit,
.property_listing_details .price_unit,
span.pernight,
span.price-per-night-value,
.price_per_night,
div.price_per_night,
div[class*="price-"] {
    font-size: 17px !important;
    font-weight: 700 !important;
    color: #2b2926 !important;
}

/* Ensure currency symbol has consistent styling */
.price_unit .currency_symbol,
.price .currency_symbol,
span.price_unit span,
span.price span,
span[itemprop="priceCurrency"],
.price_label {
    font-size: 17px !important;
    font-weight: 700 !important;
    color: #2b2926 !important;
}

/* Only set color for .adv_extended_options_text - text content changed via JS */
.adv_extended_options_text {
    color: #3589ff !important;
}

/* Change form control text color to dark grey */
.widget-container .wp-block-search__input, 
.invoices-wrapper .form-control, 
#advanced_search_shortcode .form-control, 
.agent_contanct_form .form-control, 
#commentform .form-control, 
#booking_form_request .form-control {
    color: #2b2926 !important;
}

/* Style date range picker */
.daterangepicker td.in-range {
    background-color: #006AF533 !important;
    border-color: transparent !important;
    color: #2b2926 !important;
}

/* Make calendar start and end dates bold and white */
td.active.start-date, 
td.today.active.start-date,
td.active.end-date,
td.active.start-date.available, 
td.today.active.start-date.available,
td.active.end-date.available,
td.active.end-date.in-range.available {
    color: #ffffff !important;
    font-weight: bold !important;
}

/* Remove border radius from calendar date cells */
.daterangepicker .calendar-table td.active.start-date.available,
.daterangepicker td.active.start-date.available,
.daterangepicker .calendar-table td.active.end-date.available,
.daterangepicker td.active.end-date.available {
    border-radius: 0px !important;
    border-top-left-radius: 0px !important;
    border-bottom-left-radius: 0px !important;
    border-top-right-radius: 0px !important;
    border-bottom-right-radius: 0px !important;
}

/* Only change color for /nuit text, explicitly reset font size and weight */
.pernight_label,
.per_night_label,
span.pernight,
span.per_night,
.price_unit small,
.price small,
.price_night_label,
.listing_unit_price_wrapper small,
span.price_label_before,
span.price_label_after,
.price_label:not(.price),
div.listing_details span.price_label,
span.price-per-night-label,
.pernight,
.per_night,
.price_unit .pernight,
.price_unit .per_night,
.pernight .price_unit,
.per_night .price_unit,
div.price_per_night,
.property_unit_v4 .pernight,
.property_listing .pernight,
.property_unit_v1 .pernight,
.property_unit_v2 .pernight,
.property_unit_v3 .pernight,
.property_unit_v4 .pernight,
.listing_wrapper .pernight,
.listing_wrapper span[class*='night'],
div.listing_wrapper .pernight,
span.per-night, 
span.night-label,
span[class*="/nuit"],
small.pernight, 
div[class*="night"] {
    color: #2b2926 !important;
    font-size: 12px !important;
    font-weight: normal !important;
}

/* Style the "Dès" text (price prefix) to match the "/nuit" text */
.price-prefix,
span.price-prefix,
.price_unit .price-prefix,
.property_unit_v4 .price-prefix,
.property_listing .price-prefix,
.listing_wrapper .price-prefix,
div.listing_wrapper .price-prefix {
    color: #2b2926 !important;
    font-size: 12px !important;
    font-weight: normal !important;
}

/* Initially hide Property Type, Bedrooms and Bathrooms toggles in their original position to prevent flicker */
body .advanced_search_form_wrapper > .col-md-4.Type_de_logement,
body .advanced_search_form_wrapper > .col-md-4.Nbr_de_chambres,
body .advanced_search_form_wrapper > .col-md-4.Nbr_de_Salles_de_bain {
    display: none !important;
}

/* CSS-based repositioning for Chambres and Salles de bain */
/* Ensure the extended_search_check_wrapper can be a flex parent for ordering */
.extended_search_check_wrapper {
    display: flex;
    flex-direction: column; /* Stack main groups: our new container, then checkboxes */
    position: relative; 
}

/* Container for the repositioned Chambres and Salles de bain */
.reorganized-top-filters {
    display: flex; /* Items inside (Chambres, Salles de bain) will be in a row */
    flex-wrap: wrap; /* Allow wrapping if screen is too small, though gap should handle it */
    width: 100%; 
    gap: 15px; 
    margin-bottom: 20px;
    padding-top: 40px; /* Added padding to create space for the close button */
    padding-bottom: 0px;
    border-top: 1px solid #eee;
    order: -1; /* This makes it appear before other direct children of extended_search_check_wrapper */
    position: relative; /* Ensure it's a positioning context if needed, though not strictly for this change */
}

.reorganized-top-filters .Type_de_logement,
.reorganized-top-filters .Nbr_de_chambres,
.reorganized-top-filters .Nbr_de_Salles_de_bain {
    flex-basis: calc(33.333% - 10px);
    max-width: calc(33.333% - 10px);
    display: block !important; 
    visibility: visible !important;
    opacity: 1 !important;
}

.reorganized-top-filters .dropdown {
    width: 100%;
}

.reorganized-top-filters .dropdown-menu {
    width: 100%;
    z-index: 1050;
}

.reorganized-top-filters .filter_menu_trigger {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
}

.reorganized-top-filters .filter_menu_trigger .caret_filter {
    margin-left: auto;
}

/* Extended search close button styling */
.adv_extended_close_button {
    color: #3589ff !important;
}

html body .extended_search_check_wrapper #adv_extended_close_button,
html body #adv_extended_close_button {
    z-index: 1060 !important;
    position: absolute !important;
    top: 10px !important;
    right: 10px !important;
    color: #3589ff !important;
    background-image: none !important;
}

html body .extended_search_check_wrapper #adv_extended_close_button i,
html body #adv_extended_close_button i,
html body .extended_search_check_wrapper #adv_extended_close_button span,
html body #adv_extended_close_button span {
    color: #3589ff !important;
    fill: #3589ff !important;
    background-image: none !important;
}

/* Mobile specific adjustments */
@media (max-width: 767px) {
    .reorganized-top-filters {
        flex-direction: column; 
        gap: 10px;
    }
    .reorganized-top-filters .Type_de_logement,
    .reorganized-top-filters .Nbr_de_chambres,
    .reorganized-top-filters .Nbr_de_Salles_de_bain {
        flex-basis: 100%;
        max-width: 100%;
        min-width: unset; 
    }
}

/* Dashboard tooltip base styles */
.dashboad-tooltip {
    width: 30px;
    height: 30px;
    cursor: pointer;
    line-height: 30px;
    text-align: center;
    margin: 0px 0px;
    border-radius: 3px;
    color: #45423E !important;
    padding: 0px;
    display: inline-block;
    font-size: 15px !important;
}

/* Dashboard tooltip hover color */
.dashboad-tooltip:hover {
    background-color: #ffd8c1 !important;
}

/* =============================================================================
   SPORTIHOME ADD NEW LISTING CUSTOMIZATIONS
   ============================================================================= */

/* Hide specific options on Add New Listing page (/add-new-listing/) */
/* Task: Hide 'Show Contact form' and 'Instant Booking' options */
/* To re-enable any option, comment out or remove its corresponding CSS rule below */

/* Hide 'Show Contact form instead of Booking Form' checkbox and label wrapper */
.wp_estate_replace_booking_form_submit_wrapper {
    display: none !important;
}

/* Hide 'Autoriser la réservation instantanée?' label */
label[for="instant_booking"] {
    display: none !important;
}

/* Hide the 'instant_booking' checkbox input itself */
input#instant_booking {
    display: none !important;
}

/* --- Booking Dropdown Arrow Fix --- */
#booking_toogle.filter_menu_trigger {
    display: flex !important; /* Use flexbox for alignment */
    justify-content: space-between !important; /* Pushes text to left, caret to right */
    align-items: center !important; /* Vertically aligns text and caret */
    padding: 0 15px !important; /* Balanced padding, adjust as needed */
    margin-top: 0 !important; /* Reset general margin-top if it was affecting layout */
    height: auto; /* Allow height to be determined by content or parent */
    line-height: normal; /* Ensure line height doesn't interfere */
}

#booking_toogle.filter_menu_trigger span.caret.caret_filter {
    margin-top: 0 !important; /* Reset the problematic negative margin */
    transform: none !important; /* Reset any transforms */
    position: static !important; /* Reset positioning to flow naturally with flex */
    vertical-align: middle !important; /* Helps with vertical alignment in flex context */
    display: inline-block !important; /* Ensure it behaves as expected */
}
/* --- End Booking Dropdown Arrow Fix --- */

/* Force visibility of login/register messages in mobile menu */
#login_message_area_wd_mobile:not(:empty),
#register_message_area_wd_mobile:not(:empty) {
    display: block !important;
    height: auto !important;
    visibility: visible !important;
    opacity: 1 !important;
}

/* Align caret in the sports selector dropdown to match the correct style */
/* Handle both placeholder state (Sports) and selected state (e.g. Canyoning) */
.Sports .btn.dropdown-toggle.btn-default.bs-placeholder,
.Sports .btn.dropdown-toggle.btn-default {
    padding: 14px 0px 5px 45px !important;
}

/* Fix bottom padding for sports selector to prevent overlap with border */
.Sports .wpestate-multiselect-custom-style.dropdown-toggle.btn-default {
    padding: 14px 0px 5px 45px !important;
}

.Sports .btn.dropdown-toggle.btn-default.bs-placeholder .caret::after,
.Sports .btn.dropdown-toggle.btn-default .caret::after {
    content: "\f078";
    position: absolute;
    right: 7px;
    top: -2px;
    width: 20px;
    height: 20px;
    background-repeat: no-repeat;
    font-size: 11px;
    color: #8a8f9a;
}

/* Stripe Modal Customization */
.wpestate_stripe.wpestate_stripe_form_1 {
    background-color: #3589ff !important; /* Added !important for higher specificity if needed */
    border-radius: 10px !important; /* Added !important for higher specificity if needed */
}

.wpestate_stripe.wpestate_stripe_form_1 fieldset {
    background-color: #ffffff !important; /* Added !important for higher specificity if needed */
}

.wpestate_stripe.wpestate_stripe_form_1 input {
    background-color: #ffffff !important;
    color: #2b2926 !important; /* Added !important for higher specificity if needed */
}

.wpestate_stripe.wpestate_stripe_form_1 button {
    background-color: #f3661c !important; /* Added !important for higher specificity if needed */
}

.wpestate_stripe_pay_desc {
    color: #ffffff !important; /* Added !important for higher specificity if needed */
}

#wpestate_stripe_alert {
    color: #ffffff !important; /* Added !important for higher specificity if needed */
}

/* =============================================================================
   RESPONSIVE ALL-IN-ONE CALENDAR FIX
   ============================================================================= */

/* Make the All-in-One Calendar responsive */
@media only screen and (max-width: 1199px) { /* Target screens narrower than 1200px */

    /* Allow the main wrapper to scroll horizontally */
    .user_dashboard_panel.wprentals_allinone_wrapper {
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch !important; /* Smooth scrolling on iOS */
    }

    /* Ensure the individual month calendars don't try to shrink excessively */
    .booking-calendar-wrapper-allinone {
        min-width: 900px !important; /* Adjust this based on how many months are typically visible and desired cell width */
    }

    /*
       Override parent theme's aggressive shrinking to maintain usable cell sizes
       within the scrollable area
    */
    .booking-calendar-wrapper-allinone .calendar_pad_title,
    .booking-calendar-wrapper-allinone .calendar_pad,
    .booking-calendar-wrapper-allinone .dayname {
        width: 28px !important; /* Override parent theme's aggressive shrinking */
        min-width: 28px !important; /* Ensure they don't get smaller */
        font-size: 11px !important; /* Slightly smaller font for day numbers/names if needed */
    }

    .booking-calendar-wrapper-allinone .property_tab_list_header {
        min-width: 150px !important; /* Give property names a fixed width so they don't wrap awkwardly */
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        padding-right: 10px !important; /* Add some padding */
    }

    /* Adjust legend display for smaller screens if necessary */
    .arrow-wrapper-allinone_legend {
        font-size: 0.9em !important;
    }

    .arrow-wrapper-allinone_legend > div {
        margin-bottom: 5px !important; /* Add some spacing if they stack/wrap */
    }

    /* Optional: Hide the notice about 1200px if the scroll works well */
    /* Uncomment the next rule if you want to hide the "not displayed correctly on resolution lower than 1200px" message */
    /*
    .user_dashboard_panel.wprentals_allinone_wrapper > .arrow-wrapper-allinone_legend:last-of-type {
        display: none !important;
    }
    */
}

/* Additional mobile refinements for very small screens */
@media only screen and (max-width: 480px) {
    .booking-calendar-wrapper-allinone {
        min-width: 600px !important; /* Smaller minimum width for very small screens */
    }
    
    .booking-calendar-wrapper-allinone .calendar_pad_title,
    .booking-calendar-wrapper-allinone .calendar_pad,
    .booking-calendar-wrapper-allinone .dayname {
        width: 20px !important; /* Even smaller cells for mobile */
        min-width: 20px !important;
        font-size: 10px !important;
    }
    
    .booking-calendar-wrapper-allinone .property_tab_list_header {
        min-width: 120px !important; /* Smaller property name width for mobile */
    }
}

/* =============================================================================
   ADVANCED SEARCH FORM SEMI-BOLD TEXT STYLING
   ============================================================================= */

/* Make all advanced search form text semi-bold */

/* Input fields and form controls */
#advanced_search_map_list input[type="text"],
#advanced_search_map_list input.form-control,
#advanced_search_map_list .form-control,
.advanced_search_form_wrapper input[type="text"],
.advanced_search_form_wrapper input.form-control,
.advanced_search_form_wrapper .form-control {
    font-weight: 600 !important;
}

/* Input placeholders */
#advanced_search_map_list input::placeholder,
#advanced_search_map_list input::-webkit-input-placeholder,
#advanced_search_map_list input::-moz-placeholder,
#advanced_search_map_list input:-ms-input-placeholder,
.advanced_search_form_wrapper input::placeholder,
.advanced_search_form_wrapper input::-webkit-input-placeholder,
.advanced_search_form_wrapper input::-moz-placeholder,
.advanced_search_form_wrapper input:-ms-input-placeholder {
    font-weight: 700 !important;
}

/* Dropdown trigger text (Sports, Chambres, Salles de bain) */
#advanced_search_map_list .filter_menu_trigger,
#advanced_search_map_list .dropdown-toggle,
.advanced_search_form_wrapper .filter_menu_trigger,
.advanced_search_form_wrapper .dropdown-toggle,
#property_bedrooms_toogle,
#property_bathrooms_togle{
    font-weight: 700 !important;
}

/* Guest control text */
#advanced_search_map_list .wpestate_guest_no_control_info,
#advanced_search_map_list .wpestate_guest_no_buttons_title_labels,
#advanced_search_map_list .wpestate_guest_no_buttons_description_labels,
.advanced_search_form_wrapper .wpestate_guest_no_control_info,
.advanced_search_form_wrapper .wpestate_guest_no_buttons_title_labels,
.advanced_search_form_wrapper .wpestate_guest_no_buttons_description_labels {
    font-weight: 700 !important;
}

/* Submit button text */
#advanced_search_map_list .advanced_search_submit_button,
.advanced_search_form_wrapper .advanced_search_submit_button,
.advanced_search_submit_button {
    font-weight: 600 !important;
}

/* Extended options text */
#advanced_search_map_list .adv_extended_options_text,
.advanced_search_form_wrapper .adv_extended_options_text,
.adv_extended_options_text {
    font-weight: 700 !important;
}

/* Price range slider label */
#advanced_search_map_list .adv_search_slider label,
#advanced_search_map_list .adv_search_slider #amount,
.advanced_search_form_wrapper .adv_search_slider label,
.advanced_search_form_wrapper .adv_search_slider #amount {
    font-weight: 600 !important;
}

/* Filter menu dropdown options */
#advanced_search_map_list .filter_menu li,
#advanced_search_map_list .dropdown-menu li,
.advanced_search_form_wrapper .filter_menu li,
.advanced_search_form_wrapper .dropdown-menu li {
    font-weight: 600 !important;
}

/* Extended search checkbox labels */
#advanced_search_map_list .extended_search_checker label,
.advanced_search_form_wrapper .extended_search_checker label,
.extended_search_check_wrapper .extended_search_checker label {
    font-weight: 400 !important;
}

/* =============================================================================
   EXTENDED SEARCH 3-COLUMN GRID LAYOUT
   ============================================================================= */

/* Create 3-column grid layout for checkbox filters on desktop */
@media (min-width: 768px) {
    /* Only apply grid layout when the wrapper is visible (not hidden by JavaScript) */
    .extended_search_check_wrapper:not([style*="display: none"]),
    .extended_search_check_wrapper[style*="display: block"],
    .extended_search_check_wrapper[style=""] {
        display: grid;
        grid-template-columns: repeat(3, 1fr); /* 3 equal columns */
        gap: 0px 20px; /* vertical gap, horizontal gap */
        padding: 0;
        margin-top: 0;
    }
    
    /* Ensure the reorganized top filters span full width */
    .extended_search_check_wrapper:not([style*="display: none"]) .reorganized-top-filters,
    .extended_search_check_wrapper[style*="display: block"] .reorganized-top-filters,
    .extended_search_check_wrapper[style=""] .reorganized-top-filters {
        grid-column: 1 / -1; /* Span all columns */
        display: flex;
        margin-bottom: 20px;
    }
    
    /* Ensure close button spans full width and stays positioned correctly */
    .extended_search_check_wrapper:not([style*="display: none"]) .adv_extended_close_button,
    .extended_search_check_wrapper[style*="display: block"] .adv_extended_close_button,
    .extended_search_check_wrapper[style=""] .adv_extended_close_button {
        grid-column: 1 / -1; /* Span all columns */
        position: absolute;
        top: 10px;
        right: 10px;
        z-index: 1060;
    }
    
    /* Style individual checkbox items */
    .extended_search_check_wrapper:not([style*="display: none"]) .extended_search_checker,
    .extended_search_check_wrapper[style*="display: block"] .extended_search_checker,
    .extended_search_check_wrapper[style=""] .extended_search_checker {
        display: flex;
        align-items: center;
        margin: 0;
        padding: 0px 0;
        white-space: nowrap;
    }
    
    /* Ensure checkboxes and labels align properly */
    .extended_search_check_wrapper:not([style*="display: none"]) .extended_search_checker input[type="checkbox"],
    .extended_search_check_wrapper[style*="display: block"] .extended_search_checker input[type="checkbox"],
    .extended_search_check_wrapper[style=""] .extended_search_checker input[type="checkbox"] {
        margin-right: 15px;
        flex-shrink: 0;
    }
    
    .extended_search_check_wrapper:not([style*="display: none"]) .extended_search_checker label,
    .extended_search_check_wrapper[style*="display: block"] .extended_search_checker label,
    .extended_search_check_wrapper[style=""] .extended_search_checker label {
        margin: 0;
        cursor: pointer;
        font-size: 14px;
        line-height: 1.2;
    }
}

/* Mobile responsive - single column layout */
@media (max-width: 767px) {
    /* Only apply flex layout when the wrapper is visible (not hidden by JavaScript) */
    .extended_search_check_wrapper:not([style*="display: none"]),
    .extended_search_check_wrapper[style*="display: block"],
    .extended_search_check_wrapper[style=""] {
        display: flex;
        flex-direction: column;
        gap: 0px;
    }
    
    .extended_search_check_wrapper:not([style*="display: none"]) .extended_search_checker,
    .extended_search_check_wrapper[style*="display: block"] .extended_search_checker,
    .extended_search_check_wrapper[style=""] .extended_search_checker {
        display: flex;
        align-items: center;
        margin: 0;
        padding: 5px 0;
    }
    
    .extended_search_check_wrapper:not([style*="display: none"]) .extended_search_checker input[type="checkbox"],
    .extended_search_check_wrapper[style*="display: block"] .extended_search_checker input[type="checkbox"],
    .extended_search_check_wrapper[style=""] .extended_search_checker input[type="checkbox"] {
        margin-right: 15px;
    }
    
    .extended_search_check_wrapper:not([style*="display: none"]) .extended_search_checker label,
    .extended_search_check_wrapper[style*="display: block"] .extended_search_checker label,
    .extended_search_check_wrapper[style=""] .extended_search_checker label {
        margin: 0;
        cursor: pointer;
    }
}

/* Close button text */
#advanced_search_map_list .close_guest_control,
.advanced_search_form_wrapper .close_guest_control,
.close_guest_control {
    font-weight: 600 !important;
}

/* Specific Bootstrap select styling */
.bootstrap-select .btn .filter-option {
    font-weight: 600 !important;
}

/* Sports dropdown specific styling */
#advanced_search_map_list .Sports .btn,
#advanced_search_map_list .Sports .dropdown-toggle,
.advanced_search_form_wrapper .Sports .btn,
.advanced_search_form_wrapper .Sports .dropdown-toggle {
    font-weight: 600 !important;
}

/* Search results button actions */
.bs-actionsbox .btn {
    font-weight: 600 !important;
}

/* Sport selector dropdown text color fix */
.show-tick .dropdown-menu li a {
    position: relative;
    height: auto;
    padding: 8px 0px 8px 15px;
    font-size: 14px;
    font-weight: 400;
    color: #2b2926 !important;
    line-height: 1.1em;
}

/* Make selected sport text bold */
.show-tick .dropdown-menu li.selected a span.text {
    font-weight: 600 !important;
}

/* Change color of selected sport text in dropdown button */
.bootstrap-select .dropdown-toggle .filter-option-inner-inner {
    color: #2b2926 !important;
}

/* Change color of select/deselect all buttons in dropdown */
.bootstrap-select .bs-actionsbox .actions-btn {
    color: #2b2926 !important;
}

/* =============================================================================
   CUSTOM CHECKBOX STYLING - OVERRIDE THEME'S ORANGE CHECKMARKS
   ============================================================================= */

/* Reset ALL checkbox styling and override theme defaults */
html body input[type="checkbox"],
html body .extended_search_checker input[type="checkbox"],
html body form input[type="checkbox"],
html body .widget input[type="checkbox"],
html body .wpestate_user_dashboard_panel input[type="checkbox"] {
    height: 17px !important;
    width: 17px !important;
    border: 1px solid #76788b !important; /* Default border color */
    border-radius: 3px !important;
    -webkit-appearance: none !important; /* Remove default appearance */
    -moz-appearance: none !important;
    appearance: none !important;
    background-color: #fff !important; /* Default background */
    background-image: none !important; /* Remove any background images */
    margin: 5px !important;
    display: inline-grid !important;
    place-content: center !important;
    cursor: pointer !important;
    position: relative !important; /* For pseudo-element positioning */
}

/* Hide any existing ::after pseudo-elements that the theme might be using */
html body input[type="checkbox"]::after,
html body .extended_search_checker input[type="checkbox"]::after,
html body form input[type="checkbox"]::after,
html body .widget input[type="checkbox"]::after,
html body .wpestate_user_dashboard_panel input[type="checkbox"]::after {
    display: none !important;
    content: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
}

/* Style for the custom checkmark using ::before pseudo-element */
html body input[type="checkbox"]::before,
html body .extended_search_checker input[type="checkbox"]::before,
html body form input[type="checkbox"]::before,
html body .widget input[type="checkbox"]::before,
html body .wpestate_user_dashboard_panel input[type="checkbox"]::before {
    content: "\2713" !important; /* Unicode checkmark character ✓ */
    font-size: 13px !important;  /* Adjusted size for 17px box */
    font-weight: bold !important; /* Make the checkmark bolder */
    color: #3589ff !important;    /* Blue color for the checkmark, ensure override */
    display: block !important;
    text-align: center !important;
    position: absolute !important; /* Position relative to the checkbox */
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) scale(0) !important; /* Center and hide by default */
    transform-origin: center !important; /* Ensure scaling is from the center */
    transition: 120ms transform ease-in-out !important;
    background: none !important;
    background-image: none !important;
    border: none !important;
    width: auto !important;
    height: auto !important;
}

/* When checkbox is checked, scale up the pseudo-element to show it */
html body input[type="checkbox"]:checked::before,
html body .extended_search_checker input[type="checkbox"]:checked::before,
html body form input[type="checkbox"]:checked::before,
html body .widget input[type="checkbox"]:checked::before,
html body .wpestate_user_dashboard_panel input[type="checkbox"]:checked::before {
    transform: translate(-50%, -50%) scale(1) !important; /* Center and show */
}

/* Change border color when checkbox is checked */
html body input[type="checkbox"]:checked,
html body .extended_search_checker input[type="checkbox"]:checked,
html body form input[type="checkbox"]:checked,
html body .widget input[type="checkbox"]:checked,
html body .wpestate_user_dashboard_panel input[type="checkbox"]:checked {
    border-color: #3589ff !important; /* Blue border when checked */
    background-color: #fff !important; /* Keep white background */
    background-image: none !important; /* Remove any background images */
}

/* Additional overrides for any potential theme-specific checkbox selectors */
.extended_search_checker input[type="checkbox"],
.extended_search_checker input[type="checkbox"]:checked,
.extended_search_check_wrapper input[type="checkbox"],
.extended_search_check_wrapper input[type="checkbox"]:checked {
    border-color: #76788b !important;
    background-image: none !important;
}

.extended_search_checker input[type="checkbox"]:checked,
.extended_search_check_wrapper input[type="checkbox"]:checked {
    border-color: #3589ff !important;
}

/* Hide any potential FontAwesome icons or other icon fonts in checkboxes */
input[type="checkbox"] + label::before,
input[type="checkbox"] + label::after,
input[type="checkbox"] + span::before,
input[type="checkbox"] + span::after {
    display: none !important;
    content: none !important;
}

/* Override any potential theme checkbox icons or backgrounds */
input[type="checkbox"]:checked + label i,
input[type="checkbox"]:checked + label svg,
input[type="checkbox"]:checked + span i,
input[type="checkbox"]:checked + span svg {
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
}

/* Remove any box-shadows or other effects from checkboxes */
input[type="checkbox"],
input[type="checkbox"]:checked,
input[type="checkbox"]:focus,
input[type="checkbox"]:hover {
    box-shadow: none !important;
    outline: none !important;
}

/* =============================================================================
   OPTIONS DE RECHERCHE WIDTH OVERRIDE
   ============================================================================= */

/* Override parent theme's 120px min-width for "Options de recherche" to make it wider */
.half_map_on_right #advanced_search_map_list_hidden #adv_extended_options_show_filters {
    min-width: 200px !important;
}

/* =============================================================================
   TABLET RESPONSIVE FIX - DESTINATION AND PRICE SLIDER
   ============================================================================= */

/* Fix for tablet viewport (668px - 990px): Make Destination field and Price slider 
   behave like col-md-4 instead of col-md-8 to match other responsive fields */
@media only screen and (min-width: 668px) and (max-width: 990px) {
    
    /* Target both destination field and price slider containers in advanced search */
    #advanced_search_map_list .col-md-8,
    .adv-search-1 .col-md-8,
    .adv-search-3 .col-md-8,
    .advanced_search_form_wrapper .col-md-8 {
        width: 100% !important; /* Allow full width usage */
        flex: 0 0 33.333333% !important; /* But constrain flex-basis to 1/3 width */
        max-width: 100% !important; /* Match col-md-4 behavior exactly */
    }
    
    /* Remove the padding override that was causing issues */
    /* This allows the containers to use their natural padding */
}

/* Header background SVG */
.header_wrapper { /* This element also has .navbar-fixed-top */
    /* position: relative; */ /* REMOVED - .navbar-fixed-top should handle positioning */
    z-index: 1030 !important; /* Ensure header is on top of other page content */
    /* padding-top: 20px; */ /* Example: Add padding if SVG is too close to the top edge */
}

.header_wrapper::before {
    content: "";
    position: absolute; /* Positioned relative to .header_wrapper (which is fixed) */
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-image: url('img/sportihome-horizon-slim.svg');
    background-repeat: no-repeat;
    background-position: top right;
    opacity: 0.3; /* 30% opacity for the SVG background */
    z-index: -1; /* Place the pseudo-element behind the header content */
    pointer-events: none; /* Prevent pseudo-element from capturing mouse events */
    /* Adjust background-size as needed. 'contain' might work, or a specific pixel value */
    /* background-size: contain; */
    /* background-size: 600px auto; */ /* Example: Adjust width, height will scale */
}

/* Ensure menu and other header content are above the background SVG's pseudo-element */
/* z-index on these elements might not be strictly necessary if .header_wrapper::before has z-index: -1
   but it's good for clarity and robustness. */
.master_header, .header_media, .header_media + .container, .top_bar_wrapper, #access, .header_wrapper .header-widget-wrapper {
    /* position: relative; */ /* REMOVED */
    /* z-index: 1; */       /* REMOVED */
    /* These elements should now inherit stacking from .header_wrapper and be above its ::before */
}

/* If the header has a solid background color that hides the SVG, make it transparent */
/* For example, if .header_wrapper or .top_bar_wrapper has a background-color: */
/*
.header_wrapper, .top_bar_wrapper {
    background-color: transparent !important; /* Use with caution, might need more specific selectors */
/* }
*/

/* Remove border from half map header */
.is_half_map.header_wrapper {
    border-bottom: none !important;
}

/* Property carousel control icons */
.property_unit_carousel .carousel-control i {
    font-size: 20px;
}

/* Map pin icon for city name in property cards */
.category_tagline.map_icon::before {
    content: "\f3c5"; /* Font Awesome 5 map-marker-alt icon */
    font-family: "Font Awesome 5 Free";
    font-weight: 900; /* Solid style */
    margin-right: 7px;
    color: #3589ff; /* Blue color for icon */
}

.category_tagline.map_icon {
    font-weight: 700 !important; /* Bold text */
    color: #3589ff !important; /* Blue color for text */
}

/* More specific selector to ensure blue color overrides parent theme */
.property_unit_v4 .category_tagline.map_icon,
.property_listing .category_tagline.map_icon,
.listing_wrapper .category_tagline.map_icon,
div.property_unit_v4 .category_tagline.map_icon,
div.property_listing .category_tagline.map_icon,
div.listing_wrapper .category_tagline.map_icon {
    color: #3589ff !important; /* Force blue color for text */
    font-weight: 700 !important; /* Force bold text */
}

/* Target the anchor tag specifically within map icon container */
.category_tagline.map_icon a,
.property_unit_v4 .category_tagline.map_icon a,
.property_listing .category_tagline.map_icon a,
.listing_wrapper .category_tagline.map_icon a,
div.property_unit_v4 .category_tagline.map_icon a,
div.property_listing .category_tagline.map_icon a,
div.listing_wrapper .category_tagline.map_icon a {
    color: #3589ff !important; /* Force blue color for city link */
    font-weight: 700 !important; /* Force bold text for city link */
    font-size: 13px !important; /* Set font size to 12px */
    text-decoration: none !important; /* Remove underline if needed */
}

/* Ensure hover state also maintains blue color */
.category_tagline.map_icon a:hover,
.property_unit_v4 .category_tagline.map_icon a:hover,
.property_listing .category_tagline.map_icon a:hover,
.listing_wrapper .category_tagline.map_icon a:hover,
div.property_unit_v4 .category_tagline.map_icon a:hover,
div.property_listing .category_tagline.map_icon a:hover,
div.listing_wrapper .category_tagline.map_icon a:hover {
    color: #3589ff !important; /* Maintain blue color on hover */
    text-decoration: underline !important; /* Add underline on hover for UX */
}

/* Set font size to 12px for activity/sports and people count lines */
.category_tagline.actions_icon,
.property_unit_v4 .category_tagline.actions_icon,
.property_listing .category_tagline.actions_icon,
.listing_wrapper .category_tagline.actions_icon,
div.property_unit_v4 .category_tagline.actions_icon,
div.property_listing .category_tagline.actions_icon,
div.listing_wrapper .category_tagline.actions_icon,
.category_tagline:not(.map_icon):not(.actions_icon),
.property_unit_v4 .category_tagline:not(.map_icon):not(.actions_icon),
.property_listing .category_tagline:not(.map_icon):not(.actions_icon),
.listing_wrapper .category_tagline:not(.map_icon):not(.actions_icon),
div.property_unit_v4 .category_tagline:not(.map_icon):not(.actions_icon),
div.property_listing .category_tagline:not(.map_icon):not(.actions_icon),
div.listing_wrapper .category_tagline:not(.map_icon):not(.actions_icon) {
    font-size: 12px !important;
}

/* Override parent theme's general category_tagline styling */
.category_tagline, .category_tagline a {
    font-size: 14px !important;
}

/* Make the entire property card appear clickable */
.listing_wrapper.property_flex {
    cursor: pointer;
}

/* =============================================================================
   "AJOUTER UNE OPTION" BUTTON TEXT FIX
   ============================================================================= */

/* Fix the "Ajouter une option" button to keep text on one line */
.add_option_wrapper #add_extra_option {
    width: 30% !important; /* Increase from 22% to accommodate French text */
    white-space: nowrap !important; /* Prevent text wrapping */
    text-overflow: ellipsis !important; /* Handle overflow gracefully */
    overflow: hidden !important; /* Hide any overflow */
}

/* Adjust other field widths to maintain balance */
.add_option_wrapper #add_option_name {
    width: 22% !important; /* Slightly reduce from 24% */
}

.add_option_wrapper #add_option_value {
    width: 15% !important; /* Slightly reduce from 17% */
}

.add_option_wrapper #add_option_type {
    width: 28% !important; /* Slightly reduce from 30% */
    max-width: 28% !important;
}

/* Change delete extra option button color from green to red */
.delete_extra_detail,  
.delete_extra_option {
    background: #fd2d4f !important; /* Red color instead of green #51AF6B */
}

/* Hide mandatory fields error message on add/edit listing pages */
.submit_mandatory {
    display: none !important;
}

/* Booking calendar selected/reserved dates - blue background */
.booking-calendar-wrapper-in-price .calendar-reserved-price, 
.booking-calendar-wrapper-in-price .calendar-selected {
    cursor: pointer;
    background-color: #6e85a4 !important;
    color: #fff;
}

/* Booking calendar hover state - blue background */
.booking-calendar-wrapper-in .has_future:hover {
    background-color: #6e85a4 !important;
    color: #fff;
}

.booking-price .booking-calendar .has_future:hover, 
.booking-price .booking-calendar .has_past:hover {
    background-color: #6e85a4 !important;
    color: #fff;
}

/* Modal header - white background - only for contact owner modal */
#contact_owner_modal .modal-header {
    position: relative;
    background: #3589ff !important;
}

/* Calendar price elements - 5px border radius */
.booking-calendar-wrapper-in-price .price-day,
.booking-calendar-wrapper-in-price .custom_set_price,
.booking-price .booking-calendar .price-day,
.booking-price .booking-calendar .custom_set_price,
span.price-day,
span.custom_set_price {
    border-radius: 5px !important;
}

/* Weekend prices - blue background to match selected dates */
.weekend_set_price, 
.custom_set_price.weekend_set_price,
span.weekend_set_price,
span.custom_set_price.weekend_set_price,
.booking-calendar-wrapper-in-price .weekend_set_price,
.booking-calendar-wrapper-in-price .custom_set_price.weekend_set_price,
.booking-price .booking-calendar .weekend_set_price,
.booking-price .booking-calendar .custom_set_price.weekend_set_price {
    background-color: #3589ff !important;
    color: #ffffff !important;
}

/* --- Inbox Property Context Link Styles (Revised) --- */

/* Hover effect for the thumbnail link */
.property-context-thumb-link:hover img {
    opacity: 0.7;
    transition: opacity 0.2s ease-in-out;
}

/* Hover effect for the text link */
.property-context-text-link:hover strong {
    color: #f3661c;
    transition: color 0.2s ease-in-out;
}

/* =============================================================================
   MESSAGE REPLY FORM STYLING
   ============================================================================= */

/* Subject field - white background */
.mess_reply_form .subject_reply.form-control,
.mess_reply_form input.subject_reply {
    background-color: #ffffff !important;
    color: #000000 !important;
    border: 1px solid #dee2e6 !important;
}

/* Message textarea - white background, grey placeholder, black user text */
.mess_reply_form .message_reply_content.form-control,
.mess_reply_form textarea.message_reply_content {
    background-color: #ffffff !important;
    color: #000000 !important;
    border: 1px solid #dee2e6 !important;
}

/* Message textarea placeholder styling */
.mess_reply_form .message_reply_content.form-control::placeholder,
.mess_reply_form textarea.message_reply_content::placeholder {
    color: #6c757d !important;
    opacity: 1 !important;
}

/* Webkit placeholder styling */
.mess_reply_form .message_reply_content.form-control::-webkit-input-placeholder,
.mess_reply_form textarea.message_reply_content::-webkit-input-placeholder {
    color: #6c757d !important;
}

/* Mozilla placeholder styling */
.mess_reply_form .message_reply_content.form-control::-moz-placeholder,
.mess_reply_form textarea.message_reply_content::-moz-placeholder {
    color: #6c757d !important;
    opacity: 1 !important;
}

/* IE placeholder styling */
.mess_reply_form .message_reply_content.form-control:-ms-input-placeholder,
.mess_reply_form textarea.message_reply_content:-ms-input-placeholder {
    color: #6c757d !important;
}

/* Focus states - maintain white background and black text */
.mess_reply_form .subject_reply.form-control:focus,
.mess_reply_form input.subject_reply:focus,
.mess_reply_form .message_reply_content.form-control:focus,
.mess_reply_form textarea.message_reply_content:focus {
    background-color: #ffffff !important;
    color: #000000 !important;
    border-color: #80bdff !important;
    box-shadow: 0 0 0 0.2rem rgba(53, 137, 255, 0.25) !important;
}

/* Auto-expanding message textarea - twice the height with auto-expand */
.mess_reply_form textarea.message_reply_content {
    min-height: 120px !important; /* Double the default height from ~60px */
    overflow: hidden !important; /* Hide scrollbar */
    resize: none !important; /* Disable manual resize */
    transition: height 0.1s ease !important; /* Smooth height transitions */
}

/* =============================================================================
   DELETE BUTTON TOOLTIP FLICKER FIX
   ============================================================================= */

/* Ensure delete wrapper has proper hover area */
.delete_wrapper {
    position: relative !important;
    display: inline-block !important;
    padding: 5px !important; /* Add padding to increase hover area */
}

/* Style the delete button to ensure consistent hover detection */
.delete_wrapper .mess_delete {
    display: inline-block !important;
    padding: 0px !important;
    cursor: pointer !important;
    position: relative !important;
    z-index: 1 !important;
}

/* Ensure Font Awesome icon doesn't interfere with hover */
.delete_wrapper .mess_delete i.fas.fa-times {
    pointer-events: none !important; /* Prevent icon from interfering with hover */
    display: inline-block !important;
    position: relative !important;
}

/* Remove pointer events from Font Awesome pseudo-elements */
.delete_wrapper .mess_delete i.fas.fa-times::before {
    pointer-events: none !important;
}

/* Tooltip positioning and behavior fixes */
.delete_wrapper .tooltip,
.mess_delete.mess_tooltip + .tooltip,
.tooltip {
    pointer-events: none !important; /* Critical: Tooltip can't interfere with hover */
    z-index: 9999 !important;
}

/* Ensure tooltip appears with proper spacing from trigger */
.delete_wrapper .tooltip.top {
    margin-top: -8px !important; /* Create gap between tooltip and button */
}

.delete_wrapper .tooltip.bottom {
    margin-top: 8px !important; /* Create gap between tooltip and button */
}

/* Fix tooltip arrow positioning */
.delete_wrapper .tooltip.top .tooltip-arrow {
    bottom: -5px !important;
}

.delete_wrapper .tooltip.bottom .tooltip-arrow {
    top: -5px !important;
}

/* Ensure stable hover state for delete wrapper */
.delete_wrapper:hover .mess_delete {
    opacity: 0.8 !important;
    transition: opacity 0.2s ease !important;
}

/* Prevent any child elements from breaking hover */
.delete_wrapper * {
    pointer-events: none !important;
}

/* Re-enable pointer events only on the main delete span */
.delete_wrapper .mess_delete {
    pointer-events: auto !important;
}

/* =============================================================================
   BOOKING BUTTONS COLOR CHANGE - ORANGE TO GREEN
   ============================================================================= */

/* Target all booking action buttons - change from orange (#f3661c) to green (#51AF6B) */
.generate_invoice,
span.generate_invoice,
.action1_booking,
div.action1_booking,
#invoice_submit,
#add_inv_expenses,
#add_inv_discount {
    background-color: #51AF6B !important;
    border-color: #51AF6B !important;
    color: #ffffff !important; /* Ensure text is white for good contrast */
    text-align: center !important;
    align-items: center !important;
    justify-content: center !important;
}

/* Hover states for better UX */
.generate_invoice:hover,
span.generate_invoice:hover,
.action1_booking:hover,
div.action1_booking:hover,
#invoice_submit:hover,
#add_inv_expenses:hover,
#add_inv_discount:hover {
    background-color: #459954 !important; /* Slightly darker green for hover */
    border-color: #459954 !important;
    color: #ffffff !important;
}

/* Active/pressed states */
.generate_invoice:active,
span.generate_invoice:active,
.action1_booking:active,
div.action1_booking:active,
#invoice_submit:active,
#add_inv_expenses:active,
#add_inv_discount:active {
    background-color: #3d8248 !important; /* Even darker green for active state */
    border-color: #3d8248 !important;
}

/* =============================================================================
   RESERVATION CONTACT BUTTONS - PURPLE TO GRAY
   ============================================================================= */

/* Change reservation contact buttons from purple (#806ae6) to gray (#7a7f89) */
.contact_client_reservation,
.contact_owner_reservation,
.full_invoice_reminder {
    background-color: #7a7f89 !important;
    border-color: #7a7f89 !important;
    text-align: center !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

/* Hover states for better UX */
.contact_client_reservation:hover,
.contact_owner_reservation:hover,
.full_invoice_reminder:hover {
    background-color: #6a6f79 !important; /* Slightly darker gray for hover */
    border-color: #6a6f79 !important;
}

/* =============================================================================
   REFUSER BUTTON TEXT CENTERING
   ============================================================================= */

/* Center text in the "Refuser" delete_booking button (don't change color) */
.delete_booking,
span.delete_booking,
button.delete_booking,
div.delete_booking,
.refuser_booking,
span.refuser_booking,
button.refuser_booking,
div.refuser_booking {
    text-align: center !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

/* =============================================================================
   REFUSER BUTTON - CENTER TEXT ONLY (NO COLOR CHANGE)
   ============================================================================= */

/* Center text for "Refuser" button (without changing color) */
.refuse_booking,
.decline_booking,
.reject_booking,
.refuser_booking,
.booking_refusal,
.btn-refuser,
.action_refuse,
.refuse_request,
.booking_decline,
.decline_request {
    text-align: center !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

/* =============================================================================
   WAITING PAYMENT STATUS - PURPLE TO BLUE
   ============================================================================= */

/* Change waiting payment status from purple (#806AE6) to blue (#007bff) */
.waiting_payment_status_pending {
    color: #007bff !important;
}

.wprentals_status_circle.waiting_payment_status_pending {
    background-color: #007bff !important;
    border-color: #007bff !important;
}

/* Additional specificity for status circle */
span.wprentals_status_circle.waiting_payment_status_pending {
    background-color: #007bff !important;
    border-color: #007bff !important;
}

/* Additional specificity for status text */
span.waiting_payment_status_pending {
    color: #007bff !important;
}

/* =============================================================================
   BOOKING CONFIRMATION STATUS COLORS
   ============================================================================= */

/* Set booking confirmation status colors to green */
.booking_confirmed_full_paid, .booking_confirmed_not_full_paid {
    color: #51AF6B !important;
}

.wprentals_status_circle.booking_confirmed_full_paid,
.wprentals_status_circle.booking_confirmed_not_full_paid {
    background-color: #51AF6B !important;
    border-color: #51AF6B !important;
}

/* Additional specificity for status circles */
span.wprentals_status_circle.booking_confirmed_full_paid,
span.wprentals_status_circle.booking_confirmed_not_full_paid {
    background-color: #51AF6B !important;
    border-color: #51AF6B !important;
}

/* =============================================================================
   CATEGORY DETAILS WRAPPER ICON COLOR
   ============================================================================= */

/* Change category details wrapper icon color to #76788b */
.category_details_wrapper i {
    color: #2b2926 !important;
    font-size: 15px !important;
}

/* Override font-weight for category details wrapper (parent theme generates font-weight: 500 !important) */
body .category_details_wrapper, 
body .category_details_wrapper a, 
body .no_link_details {
    font-weight: 700 !important;
}

/* Contact host button styling */
#contact_host {
    width: 100%;
    padding: 10px 0px;
    background-color: #7a7f89 !important;
    color: #fff;
    font-size: 14px !important;
    font-weight: 700 !important;
    text-align: center;
    border: 2px solid #7a7f89 !important;
    border-radius: 8px;
}

/* Add favorites button styling */
#add_favorites {
    width: 100%;
    padding: 10px;
    cursor: pointer;
    text-align: center;
    border: 2px solid #7a7f89 !important;
    color: #7a7f89 !important;
    display: inline-block;
    font-size: 14px !important;
    font-weight: 700 !important;
    border-radius: 8px !important;
}

/* Primary elements color change */
#primary, #primary a, #primary label {
    color: #8a8f9a !important;
}

/* User dashboard panel form control color */
.user_dashboard_panel .form-control {
    color: #2b2926 !important;
}

/* Cost form styling */
.show_cost_form {
    color: #2b2926 !important;
    font-size: 14px;
}

/* =============================================================================
   MESSAGE URL HIGHLIGHTING - Direct message link functionality
   ============================================================================= */

/* Message URL highlighting - highlight message when opened via direct link */
.message-highlighted {
    background-color: #f0f8ff !important;
    border-left: 4px solid #3589ff !important;
    transition: all 0.3s ease !important;
    box-shadow: 0 2px 8px rgba(53, 137, 255, 0.2) !important;
}

.message-highlighted .message_header {
    background-color: #e8f4fd !important;
}

/* =============================================================================
   BOOKING URL HIGHLIGHTING - Direct booking link functionality
   ============================================================================= */

/* Booking URL highlighting - highlight booking when opened via direct link */
.booking-highlighted {
    background-color: #f0f8ff !important;
    border-left: 4px solid #3589ff !important;
    transition: all 0.3s ease !important;
    box-shadow: 0 2px 8px rgba(53, 137, 255, 0.2) !important;
}

/* =============================================================================
   HIDE CHECK AVAILABILITY BUTTON ON PROPERTY PAGES
   ============================================================================= */

/* Hide the "Vérifier la disponibilité" button on property pages */
.check_avalability {
    display: none !important;
}

/* =============================================================================
   HIDE REDUNDANT PROPERTY GALLERY
   ============================================================================= */

/* Hide the redundant gallery (panel-body imagebody imagebody_new) while keeping the main header gallery */
.panel-body.imagebody.imagebody_new:not(.listing_main_image) {
    display: none !important;
}

/* =============================================================================
   HIDE CHAMBRES FIELD IN PROPERTY DETAILS
   ============================================================================= */

/* Hide the "Chambres:" field in property details panel */
.listing_detail.list_detail_prop_rooms {
    display: none !important;
}

/* =============================================================================
   LISTING TYPE 5 PRICE COLOR CHANGE
   ============================================================================= */

/* Change listing type 5 price color from purple to orange and increase font weight */
.listing_type_5 .listing_main_image_price {
    color: #f3661c !important;
    font-weight: 700;
}

/* =============================================================================
   MOBILE PROPERTY PAGE PRICE HIDING
   ============================================================================= */

/* Hide price element in listing_type_title_wrapper on mobile while keeping 
   the price in mobile_booking_wrapper visible */
@media only screen and (max-width: 768px) {
    .listing_type_title_wrapper .listing_main_image_price {
        display: none !important;
    }
    
    /* Mobile breadcrumb font size adjustment */
    .listing_type_5 .listing_main_image_location {
        font-size: 12px !important;
    }
    
    /* Remove 70px padding-top on mobile */
    .content-fixed-listing.listing_type_5 {
        padding-top: 0 !important;
    }
    
    /* Reduce margin-bottom for tighter mobile layout */
    .listing_type_5 .listing_type_title_wrapper {
        margin-bottom: 5px !important;
    }
}

/* =============================================================================
   MOBILE BOOKING WRAPPER HIDING WHEN MODAL IS OPEN
   ============================================================================= */

/* Hide mobile booking wrapper when booking modal is visible on mobile */
@media only screen and (max-width: 768px) {
    /* When booking modal is open (not hidden), hide the mobile booking wrapper */
    body:has(.booking_form_request.booking_on_mobile:not([style*="display: none"])) .mobile_booking_wrapper,
    body:has(.booking_form_request.booking_on_mobile.show) .mobile_booking_wrapper,
    body:has(.booking_form_request.booking_on_mobile[style*="display: block"]) .mobile_booking_wrapper {
        display: none !important;
        visibility: hidden !important;
        opacity: 0 !important;
    }
    
    /* Fallback for browsers that don't support :has() - use JavaScript to add a body class */
    body.booking-modal-open .mobile_booking_wrapper {
        display: none !important;
        visibility: hidden !important;
        opacity: 0 !important;
    }
}

/* =============================================================================
   BOOKING FORM BUTTONS REORDERING
   ============================================================================= */

/* Reorder reservation buttons: "Contacter le propriétaire" before "Ajouter aux favoris" */
.third-form-wrapper {
    display: flex !important;
    flex-direction: row-reverse !important;
    gap: 10px !important; /* Add spacing between buttons */
}

/* Ensure proper responsive behavior is maintained */
.third-form-wrapper .reservation_buttons {
    flex: 1 !important;
}

/* Maintain column layout on mobile if needed */
@media only screen and (max-width: 767px) {
    .third-form-wrapper {
        flex-direction: column-reverse !important;
        gap: 12px !important; /* Slightly smaller gap on mobile */
    }
}

/* =============================================================================
   SOCIAL ICONS AND OWNER IMAGE BORDER COLOR OVERRIDE
   ============================================================================= */

/* Change border color from orange to white for social icons and owner images */
.social_icons_owner i, .owner-image-container, .owner_listing_image {
    border-color: #ffffff !important;
}

/* Social icons in footer - 50% transparency and white border */
#colophon .social_sidebar_internal a {
    background-color: rgba(72, 72, 72, 0.0);
    border: 2px solid #ffffff;
}

/* Social sidebar internal links line-height adjustment */
#colophon .social_sidebar_internal a, #primary .social_sidebar_internal a {
    line-height: 30px;
}

/* Status color for paid and published rentals */
.wprentals_status_paid, .wprentals_status_publish {
    color: #51AF6B !important ;
}

/* Status circle background color for paid and published rentals */
.wprentals_status_circle.wprentals_status_paid,
.wprentals_status_circle.wprentals_status_publish,
.wprentals_status_paid .wprentals_status_circle,
.wprentals_status_publish .wprentals_status_circle {
    background-color: #51AF6B !important;
}

/* =============================================================================
   HIDE LISTING FILTERS ON TAXONOMY ARCHIVE PAGES
   ============================================================================= */

/* Hide the listing filters header (Sports, Types, Cities, Areas, Sort dropdowns) 
   on taxonomy archive pages like /taxonomy/property_city/paris/ */
body[class*="tax-"] .listing_filters_head.row {
    display: none !important;
}

/* =============================================================================
   CONTACT MODAL TITLE STYLING
   ============================================================================= */

/* Contact Modal Title Styling - specifically target the contact owner modal */
#contact_owner_modal h4.modal-title {
    margin-top: 9px;
    font-size: 16px !important;
    color: #ffffff !important;
    font-weight: 500;
    display: inline-block;
    margin-bottom: 20px;
}

/* =============================================================================
   BUTTON STYLING UPDATES
   ============================================================================= */

/* Updated button styles for various form elements */
#validate_phone, #send_sms_pin, .mess_send_reply_review_button, #view_profile, .mess_send_reply_button, #change_pass, #update_profile, #book_dates, #aaiu-uploader, #set_price_dates, #book_dates, #edit_prop_ammenities, #edit_prop_locations, #google_capture, #edit_prop_details, #edit_prop_image, #edit_prop_price, #edit_prop_1, #edit_calendar, #form_submit_1, #delete_profile, #user-id-uploader {
    border-radius: 8px !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    line-height: 20px !important;
    cursor: pointer !important;
}

/* Submit button styles override */
#agent_submit_contact, .advanced_search_submit_button, .return_woo_button, .wpestate_header_view_checkout, .wpestate_header_view_cart, #submit_booking_front_instant, #submit_booking_front, #submit_booking_front_link, #advanced_submit_widget, #advanced_submit_2_mobile, #advanced_submit_2, #advanced_submit_3 {
    margin-top: 0px !important;
    padding: 0px 15px !important;
    line-height: 48px !important;
    color: #fff !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    width: 100% !important;
    margin-bottom: 0px !important;
    border-radius: 8px !important;
}

/* =============================================================================
   MOBILE BOOKING BUTTON STYLING
   ============================================================================= */

/* Mobile booking button (Réserver) styling */
.vc_button.wpestate_vc_button.wpb_regularsize {
    width: auto;
    padding: 13px 30px;
    font-size: 15px;
    border-radius: 8px !important;
    font-weight: 700 !important;
}

/* =============================================================================
   FEATURE CHAPTER NAME STYLING
   ============================================================================= */

/* Make feature chapter names semi-bold */
.feature_chapter_name {
    font-weight: 600;
}

/* =============================================================================
   LABEL STYLING - MAKE ALL LABELS BOLD
   ============================================================================= */

/* Make all label elements bold */
label {
    font-weight: 400 !important;
}

/* =============================================================================
   PROPERTY DETAILS VALUES STYLING
   ============================================================================= */

/* Make property detail values bold while keeping labels at normal weight */
.listing_detail {
    font-weight: 400 !important;
}

.listing_detail .item_head {
    font-weight: 700 !important;
}

/* =============================================================================
   BOLD AND STRONG ELEMENT STYLING
   ============================================================================= */

/* Make b and strong elements semi-bold only within wpestate_front_bedrooms_wrapper */
.wpestate_front_bedrooms_wrapper b, 
.wpestate_front_bedrooms_wrapper strong {
    font-weight: 600;
}

/* Subscription page styles moved to css/subscription-page.css */

/* =============================================================================
   BLOCK FORMS FIX - /connexion/ and /inscription/ pages
   ============================================================================= */

/* Hide username field in registration block form */
.shortcode-login #user_login_register_sh {
    display: none !important;
}

/* Style for first name and last name fields in block forms */
.shortcode-login .loginrow input[name="user_firstname_register"],
.shortcode-login .loginrow input[name="user_lastname_register"] {
    width: 100% !important;
    padding: 10px !important;
    border: 1px solid #ddd !important;
    border-radius: 4px !important;
    font-size: 14px !important;
    margin-bottom: 10 !important;
    box-sizing: border-box !important;
    background-color: #fff !important;
    color: #2b2926 !important;
}

/* Ensure consistent spacing between fields */
.shortcode-login .loginrow {
    margin-bottom: 0px !important;
}

/* Style for login email field */
.shortcode-login #login_user_sh {
    width: 100% !important;
    padding: 10px !important;
    border: 1px solid #ddd !important;
    border-radius: 4px !important;
    font-size: 14px !important;
    background-color: #fff !important;
    color: #2b2926 !important;
}

/* Focus states for form fields */
.shortcode-login .loginrow input[name="user_firstname_register"]:focus,
.shortcode-login .loginrow input[name="user_lastname_register"]:focus,
.shortcode-login #login_user_sh:focus {
    border-color: #3589ff !important;
    box-shadow: 0 0 0 0.2rem rgba(53, 137, 255, 0.25) !important;
    outline: none !important;
}

/* Placeholder styling for consistency */
.shortcode-login .loginrow input[name="user_firstname_register"]::placeholder,
.shortcode-login .loginrow input[name="user_lastname_register"]::placeholder,
.shortcode-login #login_user_sh::placeholder {
    color: #6c757d !important;
    opacity: 1 !important;
}

/* Webkit placeholder styling */
.shortcode-login .loginrow input[name="user_firstname_register"]::-webkit-input-placeholder,
.shortcode-login .loginrow input[name="user_lastname_register"]::-webkit-input-placeholder,
.shortcode-login #login_user_sh::-webkit-input-placeholder {
    color: #6c757d !important;
}

/* Mozilla placeholder styling */
.shortcode-login .loginrow input[name="user_firstname_register"]::-moz-placeholder,
.shortcode-login .loginrow input[name="user_lastname_register"]::-moz-placeholder,
.shortcode-login #login_user_sh::-moz-placeholder {
    color: #6c757d !important;
    opacity: 1 !important;
}

/* IE placeholder styling */
.shortcode-login .loginrow input[name="user_firstname_register"]:-ms-input-placeholder,
.shortcode-login .loginrow input[name="user_lastname_register"]:-ms-input-placeholder,
.shortcode-login #login_user_sh:-ms-input-placeholder {
    color: #6c757d !important;
}

/* =============================================================================
   STRIPE MODAL FIXES
   ============================================================================= */

/* Set error message color to be visible on white background */
#wpestate_stripe_alert {
    color: #ffffff !important; /* Red color for errors */
    font-weight: 700 !important;
}

/* Ensure input text color is dark and visible */
.wpestate_stripe.wpestate_stripe_form_1 input,
.wpestate_stripe.wpestate_stripe_form_1 .StripeElement,
.wpestate_stripe.wpestate_stripe_form_1 .StripeElement--base,
.wpestate_stripe.wpestate_stripe_form_1 .StripeElement input {
    color: #006dd2 !important; /* Black text for user input */
}

/* Placeholder text styling for Stripe form inputs */
.wpestate_stripe.wpestate_stripe_form_1 input::placeholder {
    color: #9fb0c2 !important; /* Your desired placeholder color */
}

.wpestate_stripe.wpestate_stripe_form_1 input::-webkit-input-placeholder {
    color: #9fb0c2 !important;
}

.wpestate_stripe.wpestate_stripe_form_1 input::-moz-placeholder {
    color: #9fb0c2 !important;
    opacity: 1 !important;
}

.wpestate_stripe.wpestate_stripe_form_1 input:-ms-input-placeholder {
    color: #9fb0c2 !important;
}

/* Autofill styling - only for autofilled inputs */
.wpestate_stripe.wpestate_stripe_form_1 input:-webkit-autofill {
    -webkit-text-fill-color: #2b2926 !important; /* Keep user text black even in autofill */
    box-shadow: 0 0 0px 1000px #ffffff inset !important; /* White background for autofill */
}

/* Remove white background on autofill for Stripe elements */
.wpestate_stripe.wpestate_stripe_form_1 .StripeElement--webkit-autofill {
    background-color: transparent !important;
}

/* Remove white background on autofill for Stripe elements */
.wpestate_stripe.wpestate_stripe_form_1 .StripeElement--webkit-autofill {
    background-color: transparent !important;
}

#card-errors {
    padding: 0px 10px;
    color: #45423E !important;
}
