/*
* Wissy Conciergerie Design System
* Primary: #CDA648
* Secondary: #152E4D
* Background: #FFFFFF
* Text: #333333
*/

:root {
  --primary-color: #c5a059;
  --primary-bold-color: #c5a059;
  --secondary-color: #0f233a; /* Darker Navy for better contrast */
  --bg-color: #ffffff;
  --text-color: #222222; /* Darker text for high contrast */
  --light-gray: #f7f7f7;
  --btn-radius: 999px;
  --card-radius: 0px;
  --font-serif: "Georgia", "Times New Roman", serif;
  --font-serif2: "Playfair Display", "Times New Roman", serif;
  --font-sans: "Inter", Helvetica, Arial, sans-serif;
}

/* Elementor Off-Canvas Menu - ensure it appears above all content */
.elementor-menu-cart,
.elementor-menu-cart__container,
.e-off-canvas,
.e-off-canvas__container,
.e-off-canvas-content,
[data-elementor-type="popup"],
.elementor-popup-modal,
.dialog-widget-content {
  z-index: 999999 !important;
}

/* Off-canvas backdrop/overlay */
.elementor-38 .elementor-element.elementor-element-bbf37cb .e-off-canvas__overlay {
  height: 100vh !important;
}

.elementor-38 .elementor-heading-title {
  font-weight: 300 !important;
}

#booking_form_request.booking_on_mobile {
  border-radius: 0 !important;
}

/* Global Typography - High Contrast */
body {
  color: var(--text-color);
  background-color: var(--bg-color);
  font-family: var(--font-sans);
  font-weight: 400;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Property page specific heading styles */
.single-estate_property h2,
.single-estate_property h3,
.single-estate_property h4,
.single-estate_property h5,
.single-estate_property h6,
.single-estate_property .listing_title_unit,
.single-estate_property .zillow_widget,
.single-estate_property .panel-title {
  color: #000000 !important; /* Pure black for headings */
  font-weight: 700 !important;
}

/* Keep original styling for Elementor pages */
.elementor-widget-heading h1,
.elementor-widget-heading h2,
.elementor-widget-heading h3,
.elementor-widget-heading h4,
.elementor-widget-heading h5,
.elementor-widget-heading h6 {
  /* Reset to theme defaults */
  color: inherit;
  font-weight: inherit;
}

/* Refine Booking Form for Depth */
.booking_form_request {
  box-shadow: 0 12px 24px rgba(0, 0, 0, 0.15) !important; /* Stronger shadow */
  border: 1px solid #dddddd !important;
  background-color: #ffffff;
  top: 60px !important;
}

/* Amenities - Darker & Cleaner - Property page specific */
.single-estate_property .listing_detail_list li {
  color: #222222 !important;
  font-weight: 500;
}
.single-estate_property .listing_detail_list i {
  color: var(--secondary-color); /* Make icons pop with Navy */
}

/* Buttons - Stronger Presence - Property page specific */
.single-estate_property .check_avalability {
  background-color: var(--primary-color) !important;
  color: #ffffff !important;
  font-weight: 700 !important;
  box-shadow: 0 4px 12px rgba(197, 160, 89, 0.3); /* Gold shadow */
}
.single-estate_property .check_avalability:hover {
  background-color: var(--secondary-color) !important;
  transform: translateY(-1px);
}

/* Style the booking form title with price */
.single-estate_property .booking_form_request .book_now_button_form_title {
  font-size: 22px !important;
  font-weight: 400 !important;
  color: #000000 !important;
  font-family: var(--font-sans) !important;
  margin-bottom: 16px !important;
  display: flex;
  align-items: baseline;
  gap: 6px;
}

.single-estate_property .booking_form_request .wissy-price-amount {
  font-size: 22px !important;
  font-weight: 700 !important;
  color: #000000 !important;
}

.single-estate_property .booking_form_request .wissy-price-period {
  font-size: 14px;
  font-weight: 400;
  color: #666666;
}

/* Secondary Check Availability button in booking form */
.single-estate_property .secondary_button.check_avalability {
  display: block;
  width: 100%;
  margin-top: 10px;
  margin-bottom: 10px;
  background-color: transparent !important;
  color: #1a1a1a !important;
  border: none !important;
  box-shadow: none !important;
  text-align: center;
  font-weight: 600 !important;
  font-size: 14px !important;
  text-decoration: none;
  padding: 10px !important;
  border-radius: 0 !important;
}
.single-estate_property .secondary_button.check_avalability:hover {
  background-color: transparent !important;
  color: var(--primary-color) !important;
  text-decoration: underline;
  transform: none;
}

/* Fix CTAs layout in booking form */
.single-estate_property .booking_form_request .add_favorites,
.single-estate_property .booking_form_request .contact_owner_link {
  display: inline-flex !important;
  align-items: center;
  gap: 6px;
  padding: 8px 0;
  font-size: 14px;
  color: #666666 !important;
  text-decoration: none;
}

.single-estate_property .booking_form_request .add_favorites:hover,
.single-estate_property .booking_form_request .contact_owner_link:hover {
  color: var(--primary-color) !important;
}

/* Fix favorites and contact row */
.single-estate_property .booking_form_request .booking_form_footer,
.single-estate_property .booking_form_request .add_fav_contact_wrapper {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 12px 0;
  border-top: 1px solid #ebebeb;
  margin-top: 16px;
}

/* Fix share section */
.single-estate_property .booking_form_request .share_list {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 12px 0;
  border-top: 1px solid #ebebeb;
}

.single-estate_property .booking_form_request .share_list a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  border: 1px solid #ebebeb;
  color: #666666;
  transition: all 0.2s ease;
}

.single-estate_property .booking_form_request .share_list a:hover {
  border-color: var(--primary-color);
  color: var(--primary-color);
}

.price_area,
.listing_unit_price_wrapper,
.property_listing_details .price_label {
  font-family: var(--font-serif);
  color: var(--primary-color);
}

/* Buttons - Elegant & Pill Shaped */
button,
.wpb_btn-info,
.wpb_btn-danger,
.wpestate_property_description a,
.filter_menu li,
.adv_search_tab_item,
.submit_form_row button,
.comment-form #submit {
  border-radius: var(--btn-radius) !important;
  text-transform: uppercase;
  font-size: 12px !important;
  letter-spacing: 1px;
  font-weight: 600;
  /* padding: 12px 28px !important; */
  transition: all 0.3s ease;
}

/* Primary Buttons */
.wpb_btn-info,
.submit_form_row button,
#advanced_submit_2,
#advanced_submit_3,
#advanced_submit_4 {
  background: #1a1a1a !important;
  border-color: var(--primary-color) !important;
  color: #fff !important;
  box-shadow: none !important;
}

.wpb_btn-info:hover,
.submit_form_row button:hover {
  background-color: var(--primary-color) !important;
  border-color: var(--secondary-color) !important;
  transform: translateY(-1px);
}

/* Content container like property price section */
.panel-wrapper {
  box-shadow: none !important;
  padding-left: 0 !important;
  padding-bottom: 0 !important;
  border-bottom: 1px solid rgb(243, 243, 243) !important;
  border-radius: 0;
}

/* Property first section which includes description  */
.property_header {
  min-height: fit-content !important;
  padding-bottom: 0;
}
.entry-title {
  padding-top: 32px !important;
}

/* images container */
.imagebody {
  border: none !important;
}

/* Availability Calendar */
/* .property_page_container {
  box-shadow: none !important;
} */

/* section nav bar sticky */
.admin-bar .property_menu_wrapper_hidden {
    top: 147px;
    display: none !important;
}

.backtop {
    display: none !important;
}


/* Airbnb Inspired Refinements */

/* 1. Gallery - Rounded Corners */
.property_media_section img,
.carousel-inner,
.owl-carousel .owl-item img {
  border-radius: 12px !important;
}
.listing_type_5 .property_media_section {
  margin-bottom: 24px;
}

/* 2. Title Section */
.entry-prop {
  font-size: 26px !important;
  line-height: 1.2 !important;
  margin-bottom: 8px !important;
  color: var(--text-color) !important;
}

.listing_main_image_location {
  font-family: var(--font-sans);
  font-size: 14px;
  color: #717171 !important; /* Airbnb grey */
  text-decoration: underline;
  margin-bottom: 24px;
}

/* 3. Sticky Sidebar Card */
.widget-area-sidebar {
  position: sticky !important;
  top: 100px !important; /* Adjust based on header height */
  z-index: 9 !important; /* Lowered to avoid covering navbar */
  margin-top: 0 !important; /* Remove top margin to align with gallery */
}

/* Minimalistic Owner Section - REMOVED */
.owner-wrapper,
.owner-page-wrapper {
  display: none !important;
}

/* Refine Title & Location - Property page specific */
.single-estate_property .listing_type_title_wrapper {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
  border-bottom: none !important;
}

/* Title styling */
.single-estate_property .entry-prop {
  font-size: 28px !important;
  font-family: var(--font-sans);
  letter-spacing: -0.5px;
  margin-bottom: 8px !important;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}
.single-estate_property .location-separator {
  margin: 0 4px;
  color: inherit;
}
.single-estate_property .inline-location {
  font-size: 1em; /* Same size as title */
  font-weight: inherit; /* Same weight as title */
  color: inherit; /* Same color as title */
  font-family: var(--font-sans) !important; /* Force Inter font */
}
.inline-location a {
  font-family: var(--font-sans) !important; /* Force Inter font */
}
.single-estate_property .listing_main_image_location {
  display: none; /* Hide the original location since we moved it inline */
}

/* Category section under title - no borders */
.single-estate_property .property_header_wrapper {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding: 0 0;
  border: none !important;
}
.single-estate_property .property_header_wrapper .category_details_wrapper {
  display: flex;
  flex-wrap: wrap;
  gap: 24px;
  justify-content: flex-start;
}

/* Compact Property Info Containers - Property page specific */
.single-estate_property .panel-wrapper,
.single-estate_property .wpestate_property_description,
.single-estate_property .property_page_container,
.single-estate_property .single-content > div {
  padding-bottom: 24px !important;
  margin-bottom: 0 !important;
  border-bottom: none;
}

.single-estate_property .panel-wrapper:last-child {
  border-bottom: none !important;
  box-shadow: none !important;
  margin-bottom: 0 !important;
}

/* Combined Details Section Spacing */
.single-estate_property .wissy-combined-details {
  background: #ffffff;
  padding: 32px !important;
  border-radius: 12px;
  border: 1px solid #ebebeb !important;
  margin-top: 32px !important;
}

.single-estate_property .wissy-details-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 40px 60px; /* Increased gap for better readability */
  margin-top: 24px;
}
/* Hide Property Description Title */
#listing_description .panel-title-description {
  display: none !important;
}
.listing_description_wrapper {
  padding-top: 0 !important;
}

.single-estate_property .panel-title {
  display: flex !important;
  justify-content: flex-start !important;
  align-items: center !important;
  width: 100% !important;
  font-size: 22px !important; /* Airbnb section title size */
  margin-bottom: 24px !important; /* More spacing like Airbnb */
  font-weight: 600 !important; /* Airbnb semibold */
  cursor: pointer !important;
  color: #222222 !important; /* Airbnb dark gray */
  gap: 12px !important;
  line-height: 1.25 !important;
  letter-spacing: -0.02em !important; /* Slight negative tracking like Airbnb */
}

/* Section Title Icons */
.single-estate_property .panel-title::before {
  font-family: "Font Awesome 5 Free";
  font-weight: 400; /* Regular (Outlined) style */
  color: black;
  font-size: 18px;
  width: 20px; /* Fixed width for alignment */
  text-align: center;
  display: inline-block;
}

/* Address Icon - Switched to fa-map (Regular available) */
.single-estate_property .panel-title[href="#collapseTwo"]::before {
  content: "\f279";
}

/* Details Icon - Switched to fa-building (Regular available) */
.single-estate_property #listing_details::before {
  content: "\f1ad";
}

/* Amenities Icon - fa-star (Regular available) */
.single-estate_property #listing_ammenities::before {
  content: "\f005";
}

/* Sleeping Icon - fa-bed (Solid only in Free) */
.single-estate_property .panel-title[href="#collapseSleep"]::before {
  content: "\f236";
  font-weight: 900 !important; /* Override to Solid */
}

/* Terms Icon - Switched to fa-file-alt (Regular available) */
.single-estate_property .panel-title[href="#collapseTerms"]::before {
  content: "\f15c";
}

/* Price Icon - fa-money-bill-alt (Regular available) */
.single-estate_property #listing_price .panel-title::before {
  content: "\f3d1";
}

/* Reviews Icon - fa-comments (Regular available) */
.single-estate_property #listing_reviews .panel-title::before {
  content: "\f086";
}

/* Restore Arrow as FontAwesome Icon */
.single-estate_property .panel-title-arrow {
  background: transparent !important;
  width: 24px !important;
  height: 24px !important;
  margin: 0 !important;
  display: flex !important;
  align-items: center;
  justify-content: center;
  order: 2;
}

/* Add Chevron Icon */
.single-estate_property .panel-title-arrow::before {
  content: "\f078" !important; /* FontAwesome Chevron Down */
  font-family: "Font Awesome 5 Free", "FontAwesome";
  font-weight: 900;
  color: #000000 !important;
  font-size: 14px !important;
}

/* Rotate on expanded */
.single-estate_property .panel-title:not(.collapsed) .panel-title-arrow::before {
  content: "\f077" !important; /* Chevron Up */
}

/* Ensure content (Title Text) is on the left */
.single-estate_property .panel-title a {
  display: flex !important;
  justify-content: flex-start !important;
  align-items: center !important;
  width: auto !important;
  color: inherit !important;
  text-decoration: none !important;
  gap: 12px !important;
}

/* If the structure is h4 > a > arrow + text, we need to flex the anchor */
.single-estate_property .panel-title a .panel-title-arrow {
  margin-left: 0 !important;
}

/* Fix Container Spacing */
.single-content {
  padding-right: 24px; /* Give some breathing room vs sidebar */
}

/* Hide Duplicate/Stray Map Controls and Redundant Gallery */
#gmapzoomplus,
#gmapzoomminus,
#gmapstreet,
.google_map_on_list_wrapper #gmapzoomplus,
.google_map_on_list_wrapper #gmapzoomminus,
.google_map_on_list_wrapper #gmapstreet,
.single-estate_property .panel-wrapper .image_gallery,
.single-estate_property .panel-wrapper .imagebody,
.single-estate_property #property_images_widget,
.single-estate_property .panel-wrapper:has(.image_gallery),
.single-estate_property .panel-title:contains("Photos"),
.single-estate_property .wpestate_property_pictures_text {
  display: none !important;
}

/* Hide photo gallery sections with JavaScript */
.single-estate_property .panel-wrapper h4:contains("Photos"),
.single-estate_property .panel-wrapper h4:contains("Gallery"),
.single-estate_property .panel-wrapper h4:contains("Images") {
  display: none !important;
}

/* Add custom JavaScript to hide photo gallery sections */
.single-estate_property script.wissy-gallery-remover {
  display: none;
}

.single-estate_property .panel-wrapper:has(h4:contains("Photos")),
.single-estate_property .panel-wrapper:has(h4:contains("Gallery")),
.single-estate_property .panel-wrapper:has(h4:contains("Images")) {
  display: none !important;
}

/* Refine Booking Form to look like the Floating Card */
.booking_form_request {
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.12) !important; /* Softer shadow */
  border: 1px solid rgb(221, 221, 221) !important;
  border-radius: 12px !important;
  padding: 24px !important;
  background-color: #ffffff;
}

/* Price in Booking Form (if we re-add it later) */
.listing_main_image_price {
  margin-bottom: 16px;
  font-family: var(--font-sans) !important;
}

/* 4. Features / Amenities Grid - Airbnb style */
.listing_detail_list li {
  width: 50%; /* 2 column grid */
  float: left;
  margin-bottom: 16px;
  font-family: var(--font-sans);
  font-size: 16px; /* Airbnb body text */
  line-height: 1.5 !important; /* Airbnb line height */
  color: #222222; /* Airbnb text color */
  font-weight: 400 !important; /* Airbnb regular weight */
  border-bottom: none;
  padding-bottom: 0;
}

/* 5. Description Text - Airbnb style */
.wpestate_property_description p {
  font-family: var(--font-sans);
  font-size: 16px; /* Airbnb body text */
  line-height: 1.5 !important; /* Airbnb line height (24px) */
  color: #222222; /* Airbnb text color */
  margin-bottom: 16px;
  font-weight: 400 !important; /* Airbnb regular weight */
}

/* Description with Show More functionality */
#listing_description .panel-body {
  max-height: 129px;
  overflow: hidden;
  transition: max-height 0.3s ease;
}

#listing_description .panel-body.show_full {
  max-height: none !important;
  overflow: visible !important;
}

/* Style the Show More/Less button - Airbnb style */

.listing_description_wrapper #view_more_desc {
  display: inline-block !important;
  background: transparent !important;
  border: none !important;
  color: #222222 !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  text-decoration: underline !important;
  cursor: pointer !important;
  padding: 0 !important;
  margin-top: 8px !important;
  font-family: var(--font-sans) !important;
}

#view_more_desc:hover {
  color: #000000 !important;
}

/* All Property Sections - Airbnb typography */
.single-estate_property .panel-body {
  font-size: 16px !important;
  line-height: 1.5 !important;
  color: #222222 !important;
  font-weight: 400 !important; /* Airbnb regular weight */
}

.single-estate_property .panel-body p,
.single-estate_property .panel-body span,
.single-estate_property .panel-body li,
.single-estate_property .panel-body div {
  font-weight: 400 !important;
  line-height: 1.5 !important;
}

/* Labels/small text in sections */
.single-estate_property .panel-body .listing_detail,
.single-estate_property .panel-body label {
  font-size: 14px !important;
  color: #717171 !important; /* Airbnb secondary text */
  font-weight: 400 !important;
}

/* All Property Sections - Hide arrow and disable collapse */
.single-estate_property .panel-title-arrow {
  display: none !important;
}

.single-estate_property .panel-title {
  cursor: default !important;
  pointer-events: none !important;
}

/* Keep all section content always visible */
.single-estate_property .panel-collapse {
  display: block !important;
  height: auto !important;
  visibility: visible !important;
  overflow: visible !important;
}

.property_page_container {
  box-shadow: none !important;
  padding: 32px 0 32px 0 !important;
}
#listing_calendar {
  display: none !important;
}

/* Divider Lines */
.panel-wrapper,
.wpestate_property_description {
  border-bottom: 1px solid rgb(221, 221, 221);
  padding-bottom: 32px;
  margin-bottom: 32px;
}

/* =====================================================
   MAP SECTION - Airbnb Style
   ===================================================== */

/* Map container - not full width */
.single-estate_property .google_map_type1 {
  box-shadow: none !important;
  padding: 0 !important;
  background: transparent !important;
}

/* Map wrapper with rounded corners */
.single-estate_property .google_map_on_list_wrapper {
  border-radius: 12px !important;
  overflow: hidden !important;
  max-width: 100% !important;
  height: 480px !important;
}

/* The map itself */
.single-estate_property #google_map_on_list {
  border-radius: 12px !important;
  height: 100% !important;
}

/* Hide zoom controls or style them */
.single-estate_property #gmapzoomplus,
.single-estate_property #gmapzoomminus,
.single-estate_property #gmapstreet {
  display: none !important;
}

/* Address text above map - Airbnb style */
.single-estate_property #collapseTwo .panel-body {
  padding: 0 !important;
}

.single-estate_property .listing_address {
  font-size: 14px !important;
  color: #222222 !important;
  margin-bottom: 16px !important;
  font-weight: 400 !important;
}

/* Map section title */
.single-estate_property .panel-title[href="#collapseTwo"] {
  font-size: 22px !important;
  margin-bottom: 8px !important;
}

/* Buttons */
/* .check_avalability {
  font-size: 16px !important;
  font-weight: 600 !important;
  padding: 14px 24px !important;
  border-radius: 888px !important;
}*/

.form-control {
  border: 1px solid rgb(185, 185, 185) !important;
  border-radius: 8px !important;
}

/* Booking form input icons - alignment and color */
.booking_form_request .form-group {
  position: relative !important;
}

.calendar_icon::after,
#booking_guest_no_wrapper::after,
.booking_form_request .form-group > i,
.booking_form_request .input-group-addon i {
  color: #222222 !important;
}

.booking_form_request .input-group-addon {
  position: absolute !important;
  left: 12px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  background: transparent !important;
  border: none !important;
  z-index: 3 !important;
  padding: 0 !important;
  height: auto !important;
  width: auto !important;
}

.booking_form_request .input-group .form-control {
  padding-left: 40px !important;
}

.booking_form_request .input-group {
  position: relative !important;
}

.check_avalability {
  color: var(--primary-color) !important;
  background: #fff !important;
}
.check_avalability:hover {
  color: white !important;
  background: var(--primary-color) !important;
}

/*  */
.wpestate_front_bedrooms {
  border: none !important;
}

/* Form secondary buttons */
#add_favorites {
  border: none !important;
}
#contact_host {
  border: none !important;
  background-color: transparent !important;
  color: #8a8f9a !important;
}

#block-2 {
  display: none !important;
}
#block-3 {
  display: none !important;
}
#block-4 {
  display: none !important;
}

/*  */
.img_listings_overlay {
  border-radius: 12px !important;
}

.prop_social {
  margin-top: 12px !important;
}

/* =====================================================
   MOBILE & TABLET RESPONSIVE STYLES
   ===================================================== */

/* Mobile reservation overlay - below navbar/off-canvas */
.mobile_booking_wrapper,
.mobile_booking_form_wrapper,
#mobile_booking_form {
  z-index: 999 !important;
}

/* Title full width on mobile/tablet */
@media (max-width: 991px) {
  .single-estate_property .listing_type_title_wrapper {
    width: 100% !important;
    padding: 0 0;
  }

  .single-estate_property .entry-prop {
    font-size: 24px !important;
    flex-direction: column;
    align-items: flex-start;
  }

  .single-estate_property .inline-location {
    display: block;
    margin-top: 4px;
  }

  .single-estate_property .location-separator {
    display: none;
  }

  /* Category icons wrap properly */
  .single-estate_property .category_details_wrapper {
    flex-wrap: wrap;
    gap: 12px !important;
  }
}

/* =====================================================
   BOOKING FORM CTAs - COMPLETE FIX
   ===================================================== */

/* Check Availability wrapper */
.single-estate_property .booking_form_request .wissy-check-availability-wrapper {
  width: 100% !important;
  clear: both !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Check Availability button */
.single-estate_property .booking_form_request .check_avalability {
  display: none !important;
  width: 100% !important;
  margin: 16px 0 !important;
  padding: 12px !important;
  text-align: center !important;
  background: transparent !important;
  border: none !important;
  font-weight: 600 !important;
  font-size: 14px !important;
  color: #1a1a1a !important;
  text-decoration: underline !important;
}

.submit_booking_front_wrapper {
  margin-bottom: 24px !important;
}

#submit_booking_front_instant_wrap::after {
  display: none !important;
}

.single-estate_property .booking_form_request .check_avalability:hover {
  color: var(--primary-color) !important;
}

/* Third form wrapper - Add to Favorites / Contact Owner */
.single-estate_property .booking_form_request .third-form-wrapper {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  padding: 16px 0 !important;
  border-top: 1px solid #ebebeb !important;
  margin-top: 0 !important;
  width: 100% !important;
  clear: both !important;
}

.single-estate_property .booking_form_request .third-form-wrapper .col-md-6 {
  width: auto !important;
  padding: 0 !important;
  float: none !important;
}

.single-estate_property .booking_form_request .third-form-wrapper .reservation_buttons {
  margin: 0 !important;
  padding: 0 !important;
}

/* Add to Favorites and Contact Owner buttons */
.single-estate_property .booking_form_request #add_favorites,
.single-estate_property .booking_form_request #contact_host {
  display: inline-block !important;
  padding: 0 !important;
  font-size: 14px !important;
  color: #666666 !important;
  background: transparent !important;
  border: none !important;
  text-decoration: none !important;
  cursor: pointer !important;
}

.single-estate_property .booking_form_request #add_favorites:hover,
.single-estate_property .booking_form_request #contact_host:hover {
  color: var(--primary-color) !important;
}

/* Share section */
.single-estate_property .booking_form_request .share_unit,
.single-estate_property .booking_form_request .prop_social {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding-top: 16px !important;
  /* border-top: 1px solid #ebebeb !important; */
  margin-top: 0 !important;
  clear: both !important;
}

.single-estate_property .booking_form_request .share_unit a,
.single-estate_property .booking_form_request .prop_social a {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 36px !important;
  height: 36px !important;
  border-radius: 50% !important;
  border: 1px solid #ebebeb !important;
  color: #666666 !important;
  transition: all 0.2s ease !important;
}

.single-estate_property .booking_form_request .share_unit a:hover,
.single-estate_property .booking_form_request .prop_social a:hover {
  border-color: var(--primary-color) !important;
  color: var(--primary-color) !important;
}

/* Fix show_cost_form borders */
.show_cost_form {
  border: 1px solid #e0e0e0 !important;
  border-radius: 8px !important;
  margin-top: 16px !important;
  margin-bottom: 16px !important;
  overflow: hidden !important;
  background: #fff !important;
}

.cost_row {
  display: flex !important;
  align-items: stretch !important;
  padding: 0 !important;
  border-bottom: 1px solid #e0e0e0 !important;
}

.cost_row:last-child {
  border-bottom: none !important;
}

.cost_explanation {
  width: 65% !important;
  padding: 12px 16px !important;
  font-size: 14px !important;
  color: #666666 !important;
  font-family: var(--font-sans) !important;
  border-right: 1px solid #e0e0e0 !important;
  display: flex !important;
  align-items: center !important;
}

.cost_value {
  width: 35% !important;
  padding: 12px 16px !important;
  text-align: right !important;
  font-size: 14px !important;
  color: #000000 !important;
  font-weight: 600 !important;
  font-family: var(--font-sans) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
}

/* Make TOTAL row bold/distinct if needed */
#total_cost_row .cost_explanation {
  font-weight: 600 !important;
  color: #222222 !important;
  text-transform: uppercase;
}

#total_cost_row .cost_value {
  font-weight: 700 !important;
  color: #222222 !important;
}

/* Mobile responsive for cost form */
@media (max-width: 480px) {
  .cost_explanation {
    font-size: 13px !important;
    padding: 10px 12px !important;
  }
  .cost_value {
    font-size: 13px !important;
    padding: 10px 12px !important;
  }
}
@media (max-width: 576px) {
  .single-estate_property .entry-prop {
    font-size: 20px !important;
  }

  .single-estate_property .inline-location {
    font-size: 18px !important;
  }

  /* Mobile booking overlay fixes */
  .mobile_booking_wrapper .booking_form_request {
    z-index: 1000 !important;
  }

  .mobile_booking_wrapper .wissy-price-amount {
    font-size: 20px !important;
  }
}

.elementor-widget-off-canvas .e-off-canvas__overlay {
  height: 100vh !important;
}
