/*
 Theme Name:   WpEstate child theme
 Theme URI:    https://themeforest.net/item/wp-estate-real-estate-responsive-wordpress-theme/5042235
 Description:   WpEstate child theme
 Author:       WpEstate
 Author URI:   http://wpestate.org
 Template:     wpestate
 Version:      1.0.16
 License:      GNU General Public License v2 or later
 License URI:  http://www.gnu.org/licenses/gpl-2.0.html
*/
/* EXPEDITE CUSTOMISATION: Footer contact icons, multiple-phone alignment and latest-listing references (24 September 2026).
   Keeps every phone/email icon blue, changes them to dark grey on hover, aligns each phone line,
   and styles each Ref line to match the listing title above its price. */
#contact_widget-1 .contact_widget_label { display: none; }
#contact_widget-1 .widget_contact_phone,
#contact_widget-1 .widget_contact_fax,
#contact_widget-1 .widget_contact_email { display: flex; align-items: flex-start; gap: 10px; margin-bottom: 8px; }
#contact_widget-1 .expedite-contact-icon { width: 20px; height: 20px; flex: 0 0 20px; margin-top: 2px; color: #1878b0; transition: color .2s ease; }
#contact_widget-1 .widget_contact_phone:hover .expedite-contact-icon,
#contact_widget-1 .widget_contact_fax:hover .expedite-contact-icon,
#contact_widget-1 .widget_contact_email:hover .expedite-contact-icon { color: #4a4a4a; }
#contact_widget-1 .widget_contact_email a { overflow-wrap: anywhere; }
#footer_latest_widget-3 .expedite-footer-ref { display: block; color: #72777f; font-size: 13px; font-weight: 400; line-height: 16.9px; margin-top: 3px; }

/* EXPEDITE CUSTOMISATION: Footer social icon colours.
   The theme's Facebook, Google, LinkedIn and Instagram font icons are blue
   (#1878b0) normally and dark grey on hover, matching the contact SVGs. */
#contact_widget-1 .contact_widget_social_wrapper a i { color: #1878b0 !important; transition: color .2s ease; }
#contact_widget-1 .contact_widget_social_wrapper a:hover i,
#contact_widget-1 .contact_widget_social_wrapper a:focus-visible i { color: #4a4a4a !important; }

/* EXPEDITE CUSTOMISATION: Keep card Ref beside the locality after AJAX filtering.
   WpEstate applies display:flex and float:left to every span inside
   #scrollhere, the filtered results wrapper. Restore this reference span
   to normal inline text so the comma and Ref follow the locality. */
#scrollhere .property_listing .property_location_image .expedite-card-ref { display: inline; float: none; }

/* EXPEDITE CUSTOMISATION: Property Search not found form layout refinement (23 September 2026).
 * Replaces the first GDPR styling rule: creates a standard compact consent checkbox and gives
 * every field on this specific form an identical, even vertical gap.
 */
#wpcf7-f19285-o1 .wpcf7-form > p {
    margin: 0 0 18px !important;
    padding: 0 !important;
}

#wpcf7-f19285-o1 .wpcf7-form > p > label,
#wpcf7-f19285-o1 .wpcf7-form .wpcf7-form-control-wrap {
    display: block;
    margin: 0 !important;
}

#wpcf7-f19285-o1 .wpcf7-form input[type="text"],
#wpcf7-f19285-o1 .wpcf7-form input[type="tel"],
#wpcf7-f19285-o1 .wpcf7-form input[type="email"] {
    margin: 0 !important;
}

#wpcf7-f19285-o1 .wpcf7-acceptance .wpcf7-list-item {
    margin: 0 !important;
}

#wpcf7-f19285-o1 .wpcf7-acceptance .wpcf7-list-item label {
    display: flex !important;
    align-items: flex-start;
    gap: 10px;
    margin: 0 !important;
    line-height: 1.45;
}

#wpcf7-f19285-o1 input.expedite-gdpr-consent {
    appearance: auto !important;
    display: block !important;
    width: 18px !important;
    height: 18px !important;
    min-width: 18px !important;
    padding: 0 !important;
    margin: 3px 0 0 !important;
    border: initial !important;
    accent-color: #1878b0;
}

#wpcf7-f19285-o1 .wpcf7-list-item-label {
    display: block;
    flex: 1 1 auto;
}


/* EXPEDITE CUSTOMISATION: Property Search GDPR consent border removal (23 September 2026).
 * Clears inherited input-box decoration from the consent row while retaining the compact checkbox.
 */
#wpcf7-f19285-o1 .wpcf7-acceptance,
#wpcf7-f19285-o1 .wpcf7-acceptance .wpcf7-list-item,
#wpcf7-f19285-o1 .wpcf7-form-control-wrap:has(input.expedite-gdpr-consent) {
    width: auto !important;
    min-height: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    outline: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}


/* EXPEDITE CUSTOMISATION: Property Search validation warning layout (23 September 2026).
 * Keeps Contact Form 7 errors compact beneath the related input and makes their message area
 * non-interactive, so it cannot intercept taps or prevent a visitor editing the field.
 */
#wpcf7-f19285-o1 .wpcf7-not-valid-tip {
    display: block !important;
    position: static !important;
    min-height: 0 !important;
    height: auto !important;
    margin: 5px 0 0 !important;
    padding: 0 !important;
    font-size: 15px !important;
    line-height: 1.35 !important;
    pointer-events: none !important;
}

#wpcf7-f19285-o1 .wpcf7-form-control-wrap:has(.wpcf7-not-valid-tip) {
    height: auto !important;
    min-height: 0 !important;
    margin-bottom: 0 !important;
}


/* EXPEDITE CUSTOMISATION: Property Search single-line validation warnings (23 September 2026).
 * The form sits in a narrow sidebar, so short field warnings stay on one line and do not create
 * excess vertical space between fields.
 */
#wpcf7-f19285-o1 .wpcf7-not-valid-tip {
    white-space: nowrap !important;
}


/* EXPEDITE CUSTOMISATION: Property Search responsive validation placement fix (23 September 2026).
 * Overrides the sidebar's mobile inline layout so each input wrapper and warning uses the full
 * available line; errors remain below the field and never overlap a control.
 */
#wpcf7-f19285-o1 .wpcf7-form-control-wrap {
    display: block !important;
    float: none !important;
    clear: both !important;
    width: 100% !important;
}

#wpcf7-f19285-o1 .wpcf7-not-valid-tip {
    display: block !important;
    float: none !important;
    clear: both !important;
    width: 100% !important;
    max-width: 100% !important;
    white-space: normal !important;
    overflow-wrap: break-word !important;
}


/* EXPEDITE CUSTOMISATION: Comparison table row visibility (23 September 2026).
 * Hides the ZIP row and feature rows marked by the comparison script when every
 * selected property has the unavailable cross for that particular feature.
 */
#compare_modal .expedite-compare-row-hidden {
    display: none !important;
}


/* EXPEDITE CUSTOMISATION: Three-property comparison limit notice (23 September 2026).
 * Displays a short branded message when a visitor attempts to choose a fourth property.
 */
#expedite-compare-limit-notice {
    position: fixed;
    z-index: 100000;
    right: 24px;
    bottom: 24px;
    max-width: min(360px, calc(100vw - 48px));
    padding: 13px 17px;
    background: #1878b0;
    color: #fff;
    font-size: 15px;
    line-height: 1.35;
    box-shadow: 0 8px 22px rgba(0, 0, 0, .2);
    opacity: 0;
    transform: translateY(12px);
    pointer-events: none;
    transition: opacity .2s ease, transform .2s ease;
}
#expedite-compare-limit-notice.is-visible {
    opacity: 1;
    transform: translateY(0);
}


/* EXPEDITE CUSTOMISATION: Comparison selected-property removal buttons (23 September 2026).
 * Places a compact remove control on each thumbnail in the comparison drawer.
 */
.prop-compare .items_compare {
    position: relative;
}
.prop-compare .expedite-compare-remove {
    position: absolute;
    top: -7px;
    right: -7px;
    z-index: 2;
    display: grid;
    place-items: center;
    width: 20px;
    height: 20px;
    padding: 0;
    border: 1px solid #fff;
    border-radius: 50%;
    background: #1878b0;
    color: #fff;
    font-size: 18px;
    line-height: 1;
    cursor: pointer;
}
.prop-compare .expedite-compare-remove:hover,
.prop-compare .expedite-compare-remove:focus {
    background: #444;
    color: #fff;
    outline: 0;
}


/* EXPEDITE CUSTOMISATION: Mobile testimonial slider arrows (24 September 2026).
 * Keeps the testimonial navigation in the same side-centred position as desktop: the previous
 * arrow is vertically centred on the right and the next arrow is vertically centred on the left.
 * !important is required because the parent theme loads its mobile stylesheet after the child stylesheet.
 */
@media only screen and (max-width: 700px) {
    .testimonial-slider-container .slick-prev.slick-arrow {
        top: 50% !important;
        right: 0 !important;
        left: auto !important;
        margin-top: -20px !important;
    }

    .testimonial-slider-container .slick-next.slick-arrow {
        top: 50% !important;
        right: auto !important;
        left: 0 !important;
        margin-top: -20px !important;
    }
}
/* EXPEDITE CUSTOMISATION: Property-card favourite removal and reference placement (24 September 2026). * Hides the favourite heart without affecting Compare, and places every Ref directly below the locality
* using the same inherited locality type styling. */.listing_actions .icon-fav {    display: none !important;
}.property_location_image .expedite-card-ref {    display: block !important;    margin-top: 2px !important;    color: inherit;    font: inherit;}


/* EXPEDITE CUSTOMISATION: Keep plot-area measurements on one line (29 September 2026). */
.expedite-property-summary__value {
    white-space: nowrap;
}
	

/* EXPEDITE CUSTOMISATION: Property list, valuation, mobile header and comparison refinements (29 September 2026). */
.page-template-advanced_search_results:has(#listing_ajax_container > .bottom_sixty) .order_filter,
.page-template-advanced_search_results:has(#listing_ajax_container > .bottom_sixty) .listing_filter_views,
.page-template-advanced_search_results:has(#listing_ajax_container > .bottom_sixty) .pagination { display:none!important; }
@media (min-width:768px){
.page-template-advanced_search_results #adv-search-1 .adv5-holder{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));align-items:start}
.page-template-advanced_search_results #adv-search-1 .adv5-holder>.col-md-3,.page-template-advanced_search_results #adv-search-1 .adv5-holder>.col-md-6{float:none!important;width:auto!important}
.page-template-advanced_search_results #adv-search-1 .adv5-holder>.col-md-6{grid-column:span 2}
.page-template-advanced_search_results #adv-search-1 .adv5-holder>.col-md-3.property_price{grid-column:4;grid-row:3}
.page-template-advanced_search_results #adv_extended_options_text_adv{position:static!important;grid-column:1/4;grid-row:3;align-self:center;width:auto!important;margin:0 0 10px 8px!important}
.page-template-advanced_search_results #adv-search-1 .extended_search_check_wrapper{grid-column:1/-1}
}
.expedite-valuation-form-fields .expedite-valuation-form-row--two{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:20px!important}
.expedite-valuation-form-fields .expedite-valuation-field,.expedite-valuation-form-fields .expedite-valuation-field p,.expedite-valuation-form-fields .wpcf7-form-control-wrap,.expedite-valuation-form-fields input,.expedite-valuation-form-fields select,.expedite-valuation-form-fields .expedite-valuation-submit{box-sizing:border-box!important;width:100%!important;max-width:none!important}
#compare_modal .expedite-compare-three .compare_item_head,#compare_modal .expedite-compare-three .compare_item .prop_value{box-sizing:border-box!important;width:calc((100% - 120px)/3)!important}
#compare_modal .expedite-compare-three .compare_item_head img{width:100%!important;height:auto!important}
#compare_modal .expedite-compare-three .compare_legend_head,#compare_modal .expedite-compare-three .compare_legend_head_in{box-sizing:border-box!important;width:120px!important}
@media(max-width:767px){
.master_header{position:fixed!important;top:0!important;right:0;left:0;z-index:100000!important}.master_header .mobile_header{position:relative!important}body{padding-top:76px}
#adv-search-mobile .extended_search_check_wrapper{display:none!important}#adv-search-mobile .extended_search_check_wrapper[style*="display: block"]{display:block!important}
.expedite-valuation-form-fields,.expedite-valuation-form-fields .expedite-valuation-form-row,.expedite-valuation-form-fields .expedite-valuation-field,.expedite-valuation-form-fields .wpcf7-form-control-wrap,.expedite-valuation-form-fields input,.expedite-valuation-form-fields select,.expedite-valuation-form-fields .expedite-valuation-submit{box-sizing:border-box!important;width:100%!important;max-width:none!important}
}
/* Handle the theme's AJAX no-results markup as well as the initial markup. */
.page-template-advanced_search_results:has(#listing_ajax_container .no_results) .order_filter,
.page-template-advanced_search_results:has(#listing_ajax_container .no_results) .listing_filter_views,
.page-template-advanced_search_results:has(#listing_ajax_container .no_results) .pagination { display:none!important; }

/* Use the title column width for every value in a three-property comparison. */
#compare_modal .expedite-compare-three .compare_item .prop_value{width:265px!important}

@media (min-width:768px){.page-template-advanced_search_results #adv-search-1 .adv5-holder>.col-md-6.property_price{grid-column:4!important;grid-row:3!important}}


/* EXPEDITE CUSTOMISATION: Keep three-property comparisons in aligned columns. */
#compare_modal .compare_wrapper:has(.compare_item_head + .compare_item_head + .compare_item_head) {
  --expedite-compare-label-width: 120px;
  display: grid !important;
  grid-template-columns: var(--expedite-compare-label-width) repeat(3, minmax(0, 1fr));
  align-items: start;
  width: 100% !important;
  max-width: none !important;
  box-sizing: border-box !important;
}
#compare_modal .compare_wrapper:has(.compare_item_head + .compare_item_head + .compare_item_head) > h3,
#compare_modal .compare_wrapper:has(.compare_item_head + .compare_item_head + .compare_item_head) > #compare_close_modal {
  grid-column: 1 / -1;
}
#compare_modal .compare_wrapper:has(.compare_item_head + .compare_item_head + .compare_item_head) > .compare_legend_head {
  grid-column: 1;
  grid-row: 2;
  float: none !important;
  width: auto !important;
  min-width: 0;
}
#compare_modal .compare_wrapper:has(.compare_item_head + .compare_item_head + .compare_item_head) > .compare_item_head {
  grid-row: 2;
  float: none !important;
  width: auto !important;
  min-width: 0;
  box-sizing: border-box !important;
}
#compare_modal .compare_wrapper:has(.compare_item_head + .compare_item_head + .compare_item_head) > .compare_item_head a,
#compare_modal .compare_wrapper:has(.compare_item_head + .compare_item_head + .compare_item_head) > .compare_item_head img {
  display: block;
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  box-sizing: border-box !important;
}
#compare_modal .compare_wrapper:has(.compare_item_head + .compare_item_head + .compare_item_head) > .compare_item {
  grid-column: 1 / -1;
  display: grid !important;
  grid-template-columns: var(--expedite-compare-label-width) repeat(3, minmax(0, 1fr));
  align-items: start;
  clear: none !important;
  float: none !important;
  width: 100% !important;
  max-width: none !important;
  box-sizing: border-box !important;
}
#compare_modal .compare_wrapper:has(.compare_item_head + .compare_item_head + .compare_item_head) > .compare_item > .compare_legend_head_in {
  grid-column: 1;
  float: none !important;
  width: auto !important;
  min-width: 0;
  box-sizing: border-box !important;
}
#compare_modal .compare_wrapper:has(.compare_item_head + .compare_item_head + .compare_item_head) > .compare_item > .prop_value {
  float: none !important;
  width: auto !important;
  min-width: 0;
  box-sizing: border-box !important;
}


/* EXPEDITE: Keep all three comparison columns together on mobile. */
@media (max-width: 767px) {
  #compare_modal .compare_modal_wrapper {
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch;
  }
  #compare_modal .compare_wrapper:has(.compare_item_head + .compare_item_head + .compare_item_head) {
    min-width: 760px !important;
    width: 760px !important;
    grid-template-columns: 120px repeat(3, minmax(0, 1fr)) !important;
  }
}


/* EXPEDITE: Keep the desktop property price aligned with the title without moving page elements. */
@media (min-width: 768px) {
  .single-estate_property .prop_title_zone_container .price_area.expedite-price-with-title {
    position: absolute !important;
    top: 42px !important;
    right: 0 !important;
    margin: 0 !important;
  }
}


/* EXPEDITE: Display total area as a fourth property-card metric only when it is available. */
.property_listing_details.has-total-area > div {
  width: 25% !important;
}

/* EXPEDITE: Keep all four property-card metrics on one aligned row. */
.property_listing_details.has-total-area {
  display: flex !important;
  align-items: flex-start;
  width: 100%;
}
.property_listing_details.has-total-area > div {
  float: none !important;
  flex: 0 0 25% !important;
  width: 25% !important;
  min-width: 0;
  box-sizing: border-box;
}



/* Buy-page desktop search layout — no JavaScript required */
@media (min-width: 1025px) {
  #adv-search-1 .adv5-holder {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    grid-template-rows: auto auto !important;
    gap: 0px 26px !important;
    align-items: end !important;
  }

  #adv-search-1 .adv5-holder > .categories {
    grid-column: 1 !important;
    grid-row: 1 !important;
    width: 100% !important;
    float: none !important;
  }

  #adv-search-1 .adv5-holder > .cities {
    grid-column: 2 !important;
    grid-row: 1 !important;
    width: 100% !important;
    float: none !important;
  }

  #adv-search-1 .adv5-holder > .property_bedrooms {
    grid-column: 3 !important;
    grid-row: 1 !important;
    width: 100% !important;
    float: none !important;
  }

  #adv-search-1 .adv5-holder > .Ref {
    grid-column: 4 !important;
    grid-row: 1 !important;
    width: 100% !important;
    float: none !important;
  }

  #adv-search-1 .adv5-holder > .property_price:nth-child(5) {
    grid-column: 1 / span 2 !important;
    grid-row: 2 !important;
    width: 100% !important;
    margin: 0 !important;
    float: none !important;
  }

  #adv-search-1 .adv5-holder > #adv_extended_options_text_adv {
    grid-column: 3 !important;
    grid-row: 2 !important;
    position: static !important;
    width: 100% !important;
    height: 47px !important;
    min-height: 47px !important;
    margin: 0 !important;
    box-sizing: border-box !important;
  }

  #adv-search-1 .adv5-holder > .property_price:nth-child(6) {
    grid-column: 4 !important;
    grid-row: 2 !important;
    width: 100% !important;
    margin: 0 !important;
    float: none !important;
  }

  #adv-search-1 #advanced_submit_5 {
    width: 100% !important;
    height: 84px !important;
  }

  #adv-search-1 .extended_search_check_wrapper {
    grid-column: 1 / -1 !important;
  }
}

/* Align Other Features with Search on Home and Search Results only */
@media (min-width: 1025px) {
  .home #adv-search-1 #adv_extended_options_text_adv,
  .page-template-advanced_search_results #adv-search-1 #adv_extended_options_text_adv {
    margin: 0 !important;
    align-self: end !important;
  }
}


/* List-view cards: keep Total Area inside the card */
.listing_wrapper.col-md-12 .property_listing_details.has-total-area > div {
  flex: 0 0 auto !important;
  width: auto !important;
  min-width: 0 !important;
  float: none !important;
  text-align: left !important;
  margin-right: 20px !important;
  padding: 0 10px !important;
}

.listing_wrapper.col-md-12 .property_listing_details.has-total-area > div:first-child {
  padding-left: 0 !important;
}

.listing_wrapper.col-md-12 .property_listing_details.has-total-area .info_labels {
  display: block !important;
  width: auto !important;
  text-align: left !important;
}

/* Add the same divider before Total Area as the other list metrics */
.listing_wrapper.col-md-12 .property_listing_details.has-total-area .infototalarea {
  position: relative !important;
}

.listing_wrapper.col-md-12 .property_listing_details.has-total-area .infototalarea::before {
  content: "" !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  height: 18px !important;
  border-left: 1px solid #efefef !important;
}

.property_listing_details.has-total-area .infototalarea {
    color: #909090;}

/* List-view cards: place measurements below price, alongside the image */
@media (min-width: 768px) {
  .listing_wrapper.col-md-12 .property_listing_details.has-total-area {
    float: none !important;
    clear: none !important;
    width: auto !important;
    margin: 16px 20px 0 347px !important;
    padding: 0 !important;
    margin-bottom: 0 !important;
  }

  /* Keep the card compact while retaining room for the Compare button */
  .listing_wrapper.col-md-12 > .property_listing {
    min-height: 0 !important;
    padding-bottom: 52px !important;
  }
}

/* List view: let the card end at the image bottom */
@media (min-width: 768px) {
  .listing_wrapper.col-md-12 > .property_listing {
    padding-bottom: 0 !important;
  }
}

/* Other Feature Button on mobile */
#adv_extended_options_text_mobile {
    width: 160px !important;
    margin-bottom: 12px;
    padding: 10px 10px 10px 10px;
    background: white;
	Border: 1px;
    color: #1878b0;
	border: 1px solid #e5e5e5;
}

#adv_extended_options_text_adv i.fa.fa-caret-down,
.adv_extended_options_text i.fa.fa-caret-down {
  color: #1878b0 !important;
 
}


/* EXPEDITE: mobile property heading order */
@media (max-width: 767px) {
  .single-estate_property .prop_title_zone_container { display: flex !important; flex-direction: column !important; }
  .single-estate_property .prop_title_zone_container #prop_categs { order: 1 !important; }
  .single-estate_property .prop_title_zone_container h1.entry-prop { order: 2 !important; }
  .single-estate_property .prop_title_zone_container .price_area { order: 3 !important; }
  .single-estate_property .prop_title_zone_container .notice_area { order: 4 !important; }
}

/* EXPEDITE: property heading layout through tablet width */
@media (max-width: 1024px) {
  .single-estate_property .prop_title_zone_container { display: flex !important; flex-direction: column !important; }
  .single-estate_property .prop_title_zone_container #prop_categs { order: 1 !important; }
  .single-estate_property .prop_title_zone_container h1.entry-prop { order: 2 !important; width: 100% !important; max-width: none !important; }

  .single-estate_property .prop_title_zone_container .price_area { order: 3 !important; display: block !important; position: static !important; float: none !important; clear: both !important; width: 100% !important; margin: 0 0 16px !important; white-space: normal !important; }
  .single-estate_property .prop_title_zone_container .notice_area { order: 4 !important; }
}

/* EXPEDITE: compare button to not overlap  */
.slider_prop_wrapper .property_listing {
    margin-bottom: 40px !important;}

