/*
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.15.0
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

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

/* Hide unused contact form fields */
#contact_u_name,
#contact_u_email,
#booking_mes_mess {
    display: none !important;
}

/* Guest selector popup cleanup */
.wpestate_guest_no_buttons {
    background: #fff !important;
    border: 1px solid #e5e5e5 !important;
    border-radius: 8px !important;
    box-shadow: 0 10px 30px rgba(0,0,0,0.12) !important;
    padding: 18px !important;
}

/* Guest selector rows */
.wpestate_guest_no_buttons_item {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 15px !important;
    padding: 12px 0 !important;
}

/* Stepper controls */
.wpestate_guest_no_buttons_steppers {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
}

/* Plus/minus circles */
.wpestate_guest_no_button_control {
    width: 32px !important;
    height: 32px !important;
    min-width: 32px !important;
    min-height: 32px !important;
    border-radius: 50% !important;
    border: 1px solid #d5d9df !important;
    background: #fff !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
    line-height: 1 !important;
}

/* Centre SVG icons */
.wpestate_guest_no_button_control svg {
    display: block !important;
    margin: 0 auto !important;
}

/* Number */
.wpestate_guest_no_button_value {
    min-width: 20px !important;
    text-align: center !important;
    font-weight: 600 !important;
}

/* Labels */
.wpestate_guest_no_buttons_title_labels {
    font-weight: 600 !important;
    color: #222 !important;
}

.wpestate_guest_no_buttons_description_labels {
    font-size: 13px !important;
    color: #777 !important;
}

/* Fix blue backgrounds on search result filters */
.advanced_search_sidebar select,
.advanced_search_sidebar .filter_menu,
.advanced_search_sidebar .dropdown,
.advanced_search_sidebar .form-control,
.adv-search-1 .form-control,
.adv-search-1 select {
    background-color: #fff !important;
    color: #333 !important;
}

/* Guest selector buttons globally */
.wpestate_guest_no_button_control,
.wpestate_guest_no_button_minus,
.wpestate_guest_no_button_plus {
    width: 32px !important;
    height: 32px !important;
    min-width: 32px !important;
    min-height: 32px !important;
    border-radius: 50% !important;
    border: 1px solid #d5d9df !important;
    background: #fff !important;
    padding: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    line-height: 1 !important;
}

.wpestate_guest_no_button_control svg,
.wpestate_guest_no_button_minus svg,
.wpestate_guest_no_button_plus svg {
    display: block !important;
    margin: 0 !important;
}

/* Guest dropdown popup globally */
.wpestate_guest_no_buttons {
    background: #fff !important;
    border: 1px solid #e5e5e5 !important;
    border-radius: 8px !important;
    box-shadow: 0 10px 30px rgba(0,0,0,0.12) !important;
}

/* Fix blue background on advanced search dropdown fields */
#advanced_search_map_list .filter_menu,
#advanced_search_map_list .dropdown.form-control,
#advanced_search_map_list .advanced_select,
#advanced_search_map_list select {
    background-color: #fff !important;
    color: #333 !important;
}

/* Half map results - tighten space under search form */
#advanced_search_map_list {
    margin-bottom: 10px !important;
    padding-bottom: 0 !important;
}

#advanced_search_map_list .adv-search-1 {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}

/* Half map results - reduce empty space before listings */
#listing_ajax_container {
    margin-top: 0 !important;
    padding-top: 0 !important;
    min-height: 0 !important;
}

#google_map_prop_list_sidebar .pagination_ajax,
#google_map_prop_list_sidebar .listing_filters_head {
    margin-bottom: 10px !important;
}

/* Pull listing cards upward */
#google_map_prop_list_sidebar .items_shortcode_wrapper,
#google_map_prop_list_sidebar .listing_wrapper {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

/* Hide huge Advanced Search title on half map results */
body.page-template-property_list_half h1.entry-title.title_prop,
body.page-template-property_list_half .entry-title.title_prop,
#google_map_prop_list_sidebar h1.entry-title.title_prop {
    display: none !important;
}

/* Hide incorrect £1 price labels on OpenStreetMap pins */
.wpestate_marker.openstreet_price_marker_on_click,
.openstreet_price_marker_on_click_parent .wpestate_marker {
    font-size: 0 !important;
    width: 28px !important;
    height: 28px !important;
    border-radius: 50% !important;
}

.wpestate_marker.openstreet_price_marker_on_click::after,
.openstreet_price_marker_on_click_parent .wpestate_marker::after {
    content: "•";
    font-size: 28px !important;
    line-height: 24px !important;
    color: #fff !important;
}

/* Hide incorrect £1 price inside OpenStreetMap popup */
.leaflet-popup-content .prop_pricex,
.leaflet-popup-content .price_unit,
.leaflet-popup-content .price_unit_wrapper,
.leaflet-popup-content .infobox_price {
    display: none !important;
}

/* Fix WP Rentals location clear button */
.wprentals-reset-btn {
    background: transparent !important;
    background-color: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
    margin: 0 !important;
    width: 16px !important;
    height: 16px !important;
    min-width: 16px !important;
    border-radius: 0 !important;
}

/* Make the X a sensible colour */
.wprentals-reset-btn svg path {
    stroke: #999 !important;
}

.wprentals-reset-btn:hover svg path {
    stroke: #666 !important;
}


/* CCT Travelgenix Availability Widget */

.cct-tgx-box,
.cct-tgx-box * {
    font-family: "Figtree", sans-serif !important;
}

.cct-tgx-box {
    background: #fff !important;
    border: 1px solid #e8edf2 !important;
    border-radius: 12px !important;
    padding: 22px !important;
    box-shadow: 0 8px 22px rgba(0,0,0,0.04) !important;
}

.cct-tgx-heading {
    font-size: 24px !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    margin: 0 0 22px !important;
}

/* Hide old intro text */
.cct-tgx-available-intro {
    display: none !important;
}

.cct-tgx-stayfor-title,
.cct-tgx-month-select-label,
.cct-tgx-arrival-list-title {
    display: block !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    color: #1d2939 !important;
    margin: 18px 0 8px !important;
    line-height: 1.3 !important;
}

/* Duration */
.cct-tgx-duration-picker {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 12px !important;
    margin-bottom: 22px !important;
}

.cct-tgx-duration-choice {
    min-height: 74px !important;
    padding: 10px 8px !important;
    border: 1px solid #d9e2ea !important;
    border-radius: 10px !important;
    background: #fff !important;
    color: #0d5176 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
}

.cct-tgx-duration-choice span {
    font-size: 28px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    color: #0d5176 !important;
}

.cct-tgx-duration-choice small {
    font-size: 13px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    color: #0d5176 !important;
}

.cct-tgx-duration-choice:hover {
    background: #fff !important;
    color: #0d5176 !important;
    border-color: #0d5176 !important;
}

.cct-tgx-duration-choice.is-active,
.cct-tgx-duration-choice.is-selected {
    background: #0d5176 !important;
    border-color: #0d5176 !important;
}

.cct-tgx-duration-choice.is-active span,
.cct-tgx-duration-choice.is-active small,
.cct-tgx-duration-choice.is-selected span,
.cct-tgx-duration-choice.is-selected small {
    color: #fff !important;
}

/* Month */
.cct-tgx-month-select {
    width: 100% !important;
    height: 52px !important;
    padding: 0 14px !important;
    border: 1px solid #d9e2ea !important;
    border-radius: 8px !important;
    background: #fff !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    color: #101828 !important;
}

/* Available arrivals */
.cct-tgx-available-list {
    border: 1px solid #e1e8ef !important;
    border-radius: 10px !important;
    overflow: hidden !important;
}

.cct-tgx-date-option {
    width: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 10px !important;
    padding: 15px 14px !important;
    margin: 0 !important;
    border: 0 !important;
    border-bottom: 1px solid #e1e8ef !important;
    border-radius: 0 !important;
    background: #fff !important;
    color: #101828 !important;
    text-align: left !important;
}

.cct-tgx-date-option:last-child {
    border-bottom: 0 !important;
}

.cct-tgx-date-option:hover,
.cct-tgx-date-option.is-selected {
    background: #f5fbff !important;
}

.cct-tgx-date-main {
    font-size: 14px !important;
    font-weight: 500 !important;
}

.cct-tgx-date-price {
    font-size: 14px !important;
    font-weight: 800 !important;
    color: #0d5176 !important;
}

.cct-tgx-date-arrow {
    font-size: 22px !important;
    color: #667085 !important;
}

/* Guests */
.cct-tgx-guests {
    position: relative !important;
    margin-top: 20px !important;
    margin-bottom: 16px !important;
}

.cct-tgx-guests-label {
    display: none !important;
}

.cct-tgx-guests-toggle {
    width: 100% !important;
    height: 52px !important;
    padding: 0 14px !important;
    border: 1px solid #d9e2ea !important;
    border-radius: 8px !important;
    background: #fff !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    color: #101828 !important;
    text-align: left !important;
}

.cct-tgx-guests-summary {
    font-size: 14px !important;
    font-weight: 500 !important;
}

.cct-tgx-guests-panel {
    background: #fff !important;
    border: 1px solid #d9e2ea !important;
    border-radius: 10px !important;
    box-shadow: 0 10px 28px rgba(0,0,0,.12) !important;
    padding: 18px !important;
}

.cct-tgx-guest-row {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
    padding: 14px 0 !important;
    border-bottom: 1px solid #e5e7eb !important;
}

.cct-tgx-guest-row:last-child {
    border-bottom: 0 !important;
}

.cct-tgx-guest-row strong {
    font-size: 15px !important;
    font-weight: 700 !important;
}

.cct-tgx-guest-row span {
    font-size: 13px !important;
    color: #667085 !important;
}

.cct-tgx-stepper {
    display: flex !important;
    align-items: center !important;
    gap: 14px !important;
}

.cct-tgx-stepper button {
    width: 38px !important;
    height: 38px !important;
    border-radius: 50% !important;
    border: 1px solid #0d5176 !important;
    background: #fff !important;
    color: #0d5176 !important;
    font-size: 21px !important;
    font-weight: 400 !important;
    line-height: 1 !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.cct-tgx-stepper button:hover {
    background: #0d5176 !important;
    color: #fff !important;
}

.cct-tgx-stepper input {
    width: 28px !important;
    border: 0 !important;
    background: transparent !important;
    text-align: center !important;
    font-size: 17px !important;
    font-weight: 500 !important;
    color: #101828 !important;
    padding: 0 !important;
    -moz-appearance: textfield !important;
}

.cct-tgx-stepper input::-webkit-outer-spin-button,
.cct-tgx-stepper input::-webkit-inner-spin-button {
    -webkit-appearance: none !important;
    margin: 0 !important;
}

/* CTA */
.cct-tgx-submit {
    width: 100% !important;
    height: 54px !important;
    border: 0 !important;
    border-radius: 8px !important;
    background: #0d5176 !important;
    color: #fff !important;
    font-size: 15px !important;
    font-weight: 700 !important;
}

.cct-tgx-submit:hover {
    background: #083d59 !important;
}

/* Remove native WP Rentals booking form from sidebar flow */
#booking_form_request {
    display: none !important;
    height: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
}

/* Pull sidebar widgets up */
#primary.listingsidebar2 .listingsidebar {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

#primary.listingsidebar2 .widget-container {
    margin-top: 0 !important;
}

/* Property sidebar sticky position */
.single-estate_property #primary.wpestate_sidebar_sticky,
.single-estate_property .wpestate_sidebar_sticky {
    top: 80px !important;
}

.single-estate_property .listing_type_5 .listingsidebar2,
.single-estate_property #primary.listingsidebar2 {
    margin-top: 0 !important;
}

/* Hide sticky Search Options bar on results page */
#advanced_search_map_list_hidden {
    display: none !important;
}

#advanced_search_map_list_hidden,
#adv_extended_options_show_filters {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    overflow: hidden !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Hide sticky search-options bar on results page */
#advanced_search_map_list {
    display: none !important;
}

/* Restore spacing above results */
.is_half_map .wprentals_adv_listing_filters_head {
    width: 100%;
    padding: 0 5px;
    margin-top: 15px;
    margin-bottom: 0;
}

/* Custom Search */
.cct-home-arrival,
.cct-home-guests {
    background:#fff;
    color:#1d2939;
    border:1px solid #dbe3ef;
}
.cct-home-calendar {
    width: 100%;
    overflow:hidden;
}

.cct-home-calendar-grid {
    display:grid;
    grid-template-columns:repeat(7,1fr);
}

/* CCT homepage search final overrides */

.cct-home-search-title,
.cct-home-search-intro,
.cct-home-search-heading,
.cct-home-search-subtitle {
    display: none !important;
}

.cct-home-search .cct-home-duration-choice,
.cct-home-search button[data-duration] {
    background: #fff !important;
    color: #0d5176 !important;
    border: 1px solid #d9e2ea !important;
}

.cct-home-search .cct-home-duration-choice.is-active,
.cct-home-search .cct-home-duration-choice.active,
.cct-home-search button[data-duration].is-active,
.cct-home-search button[data-duration].active {
    background: #0d5176 !important;
    color: #fff !important;
}

.cct-home-search .cct-home-date-toggle,
.cct-home-search .cct-home-guests-toggle,
.cct-home-search button[data-calendar-toggle],
.cct-home-search button[data-guests-toggle] {
    background: #fff !important;
    color: #1d2939 !important;
    border: 1px solid #d9e2ea !important;
}

.cct-home-search .cct-home-date-toggle *,
.cct-home-search .cct-home-guests-toggle *,
.cct-home-search button[data-calendar-toggle] *,
.cct-home-search button[data-guests-toggle] * {
    color: #1d2939 !important;
}

/* Places slider arrows */
.estate_places_slider button.slick-prev.slick-arrow,
.estate_places_slider button.slick-next.slick-arrow {
    width: 38px !important;
    height: 38px !important;
    background-color: #19597c !important;
    border-radius: 50% !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

/* Keep colour on hover/focus/click */
.estate_places_slider button.slick-arrow:hover,
.estate_places_slider button.slick-arrow:focus,
.estate_places_slider button.slick-arrow:active {
    background-color: #19597c !important;
}

/* Centre FontAwesome arrows */
.estate_places_slider button.slick-prev.slick-arrow:before,
.estate_places_slider button.slick-next.slick-arrow:before {
    margin: 0 !important;
    color: #fff !important;
    font-family: FontAwesome !important;
    font-size: 19px !important;
    line-height: 1 !important;
    opacity: 1 !important;
}