/*
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: 2.7
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

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

/* =========================================================
   VE2 Feature Tabs — disable sticky/floating header
   ========================================================= */
.ve2-tabs-nav{
  position: static !important;
  top: auto !important;
  z-index: auto !important;
  backdrop-filter: none !important;
}

/* =========================================================
   Seasonal Rates table (readability polish)
   Safe: CSS-only, easy to revert by deleting this block.
   ========================================================= */
.panel-wrapper #pricingTable{
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
  font-size: 14px;
}

.panel-wrapper #pricingTable thead th{
  /* Beige theme match */
  background: #fdf8f5;
  color: #2f2a22;
  font-weight: 600;
  border-bottom: 1px solid #e2d6c5;
  padding: 12px 10px;
  white-space: nowrap;
}

.panel-wrapper #pricingTable tbody td{
  padding: 12px 10px;
  border-bottom: 1px solid #efe5d8;
  vertical-align: middle;
}

/* Date range: inline by default (desktop/tablet) */
.panel-wrapper #pricingTable .ve2-date-from,
.panel-wrapper #pricingTable .ve2-date-to{
  display: inline;
  white-space: nowrap;
}

.panel-wrapper #pricingTable .ve2-date-to{
  margin-left: 2px; /* small breathing room after the dash when inline */
}

/* Header word wrapping: inline by default (desktop/tablet) */
.panel-wrapper #pricingTable .ve2-hdr-top,
.panel-wrapper #pricingTable .ve2-hdr-bottom{
  display: inline;
  white-space: nowrap;
}

/* Column widths to keep rows aligned */
.panel-wrapper #pricingTable th:nth-child(1),
.panel-wrapper #pricingTable td:nth-child(1){
  width: 26%;
}

.panel-wrapper #pricingTable th:nth-child(2),
.panel-wrapper #pricingTable td:nth-child(2){
  width: 38%;
}

.panel-wrapper #pricingTable th:nth-child(3),
.panel-wrapper #pricingTable td:nth-child(3){
  width: 22%;
}

.panel-wrapper #pricingTable th:nth-child(4),
.panel-wrapper #pricingTable td:nth-child(4){
  width: 14%;
}

.panel-wrapper #pricingTable tbody tr:nth-child(even) td{
  background: #fdf8f5;
}

.panel-wrapper #pricingTable tbody tr:hover td{
  background: #f3ede3;
}

/* Align numeric columns (Nightly Rates, Min Nights) */
.panel-wrapper #pricingTable th:nth-child(3),
.panel-wrapper #pricingTable th:nth-child(4),
.panel-wrapper #pricingTable td:nth-child(3),
.panel-wrapper #pricingTable td:nth-child(4){
  text-align: right;
  font-variant-numeric: tabular-nums;
}

/* Make date range slightly muted */
.panel-wrapper #pricingTable td:nth-child(2){
  color: #6b5b45;
}

/* Allow wrapping on small screens */
@media (max-width: 768px){
  .panel-wrapper #pricingTable{
    table-layout: auto;
  }
  .panel-wrapper #pricingTable thead th{
    white-space: normal;
  }
}

/* Phones: keep table layout, improve alignment + readability */
@media (max-width: 600px){
  /* Mobile: show header row */
  .panel-wrapper #pricingTable thead{
    display: table-header-group;
  }

  .panel-wrapper #pricingTable{
    table-layout: fixed;
    font-size: 12px;
  }

  .panel-wrapper #pricingTable thead th{
    padding: 10px 6px;
    white-space: normal;
    line-height: 1.15;
  }

  .panel-wrapper #pricingTable tbody td{
    padding: 10px 6px;
    vertical-align: top;
    box-sizing: border-box;
  }

  /* Column widths tuned for mobile */
  .panel-wrapper #pricingTable th:nth-child(1),
  .panel-wrapper #pricingTable td:nth-child(1){ width: 26%; }
  .panel-wrapper #pricingTable th:nth-child(2),
  .panel-wrapper #pricingTable td:nth-child(2){ width: 40%; }
  .panel-wrapper #pricingTable th:nth-child(3),
  .panel-wrapper #pricingTable td:nth-child(3){ width: 22%; }
  .panel-wrapper #pricingTable th:nth-child(4),
  .panel-wrapper #pricingTable td:nth-child(4){ width: 12%; }

  /* Keep numbers on one line and align to left edge of their column */
  .panel-wrapper #pricingTable th:nth-child(3),
  .panel-wrapper #pricingTable th:nth-child(4),
  .panel-wrapper #pricingTable td:nth-child(3),
  .panel-wrapper #pricingTable td:nth-child(4){
    white-space: nowrap;
    text-align: left !important;
    font-variant-numeric: tabular-nums;
  }

  /* Nudge the last column slightly left on mobile */
  .panel-wrapper #pricingTable th:nth-child(4),
  .panel-wrapper #pricingTable td:nth-child(4){
    padding-left: 2px;
  }

  /* Mobile: align Min Nights numbers to the right edge */
  .panel-wrapper #pricingTable td:nth-child(4){
    text-align: right !important;
    padding-left: 0;
    padding-right: 4px;
  }

  /* Let Season + Dates wrap cleanly */
  .panel-wrapper #pricingTable td:nth-child(1),
  .panel-wrapper #pricingTable td:nth-child(2){
    white-space: normal;
    word-break: normal;
    overflow-wrap: anywhere;
  }

  /* Mobile: stack date range as 2 lines (from / to) only when space is tight */
  .panel-wrapper #pricingTable .ve2-date-from,
  .panel-wrapper #pricingTable .ve2-date-to{
    display: block;
    white-space: nowrap;
  }

  .panel-wrapper #pricingTable .ve2-date-to{
    margin-left: 0;
  }

  /* Mobile: stack header labels for columns 3 & 4 (Nightly Rates / Min Nights) */
  .panel-wrapper #pricingTable thead th:nth-child(3),
  .panel-wrapper #pricingTable thead th:nth-child(4){
    white-space: nowrap;
  }

  .panel-wrapper #pricingTable .ve2-hdr-top,
  .panel-wrapper #pricingTable .ve2-hdr-bottom{
    display: block;
    white-space: nowrap;
  }

  /* Allow date column to wrap naturally */
  .panel-wrapper #pricingTable td:nth-child(2){
    overflow-wrap: anywhere; /* prevents layout breaks on long date strings */
  }
}

/* Small phones (e.g. iPhone SE): tighter typography so all columns fit */
@media (max-width: 390px){
  .panel-wrapper #pricingTable{
    font-size: 11px;
  }

  .panel-wrapper #pricingTable tbody td{
    padding: 8px 6px;
  }

  /* Give Dates a bit more room; Season slightly narrower */
  .panel-wrapper #pricingTable td:nth-child(1){ width: 25%; }
  .panel-wrapper #pricingTable td:nth-child(2){ width: 38%; }
  .panel-wrapper #pricingTable td:nth-child(3){ width: 23%; }
  .panel-wrapper #pricingTable td:nth-child(4){ width: 14%; }
}

/* Mobile: hide map zoom +/- controls to avoid overlay clashes */
@media (max-width: 768px){
  .google_map_on_list_wrapper #gmapzoomplus,
  .google_map_on_list_wrapper #gmapzoomminus{
    display: none !important;
  }
}

/* Hide breadcrumbs on City + Area taxonomy pages */
body.tax-property_city .breadcrumb_container,
body.taxonomy-property_city .breadcrumb_container,
body.tax-property_area .breadcrumb_container,
body.taxonomy-property_area .breadcrumb_container{
  display: none !important;
}

/* Hide "Listings in ..." title on City + Area taxonomy pages */
body.tax-property_city h1.entry-title.title_prop,
body.taxonomy-property_city h1.entry-title.title_prop,
body.tax-property_area h1.entry-title.title_prop,
body.taxonomy-property_area h1.entry-title.title_prop{
  display: none !important;
}

/* Also hide breadcrumbs + title on Action taxonomy pages */
body.tax-property_action_category .breadcrumb_container,
body.taxonomy-property_action_category .breadcrumb_container{
  display: none !important;
}

body.tax-property_action_category h1.entry-title.title_prop,
body.taxonomy-property_action_category h1.entry-title.title_prop{
  display: none !important;
}

/* Taxonomy pages: add spacing between header and listing cards */
body.tax-property_city #listing_ajax_container,
body.taxonomy-property_city #listing_ajax_container,
body.tax-property_area #listing_ajax_container,
body.taxonomy-property_area #listing_ajax_container,
body.tax-property_action_category #listing_ajax_container,
body.taxonomy-property_action_category #listing_ajax_container,
body.tax-property_category #listing_ajax_container,
body.taxonomy-property_category #listing_ajax_container{
  margin-top: 50px;
}

/* Single property: ensure "View more" link is visible.
   Parent theme hides it by default (display:none) and expects JS to show it;
   if JS fails to run for any reason the link disappears. */
.single-estate_property #view_more_desc{
  display: block;
}

/* Buttons */
button.theButton,
.theButton{
  border-radius: 5px;
}

/* Single property description: avoid cutting lines mid-letter.
   Parent uses max-height:129px which can clip a line. Use a line-based height instead. */
.single-estate_property #listing_description .panel-body{
  line-height: 1.6;
  max-height: 9.6em; /* 6 lines * 1.6 */
  overflow: hidden;
}

.single-estate_property #listing_description .panel-body p{
  padding-top: 0; /* prevent extra top padding affecting clipping */
}

/* Mobile: make the booking summary bar full width (no left gap) */
@media (max-width: 768px){
  .single-estate_property #primary{
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .single-estate_property #primary .mobile-div{
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    left: 0 !important;
    box-sizing: border-box;
  }

  /* Mobile: nudge the floating mobile button slightly right */
  .single-estate_property #primary .mobile-div .theButton{
    transform: translateX(12px);
  }
}

/* Phones: hide/collapse the sidebar booking widget.
   IMPORTANT: do NOT use display:none on #booking_form_request because #myModal
   is currently rendered inside it and would be hidden too. */
@media (max-width: 767px){
  body.single-estate_property #primary #booking_form_request{
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    background: transparent !important;
    height: 0 !important;
    min-height: 0 !important;
    overflow: visible !important; /* keep modal usable */
  }

  body.single-estate_property #primary #booking_form_request #mobileDiv{
    display: none !important;
  }
}

/* Homepage (desktop): keep "BOOK NOW" inline after Guests */
@media (min-width: 1025px){
  body.home .elementor-widget-Wprentals_Search_Form_Builder .elementor-form-fields-wrapper{
    align-items: flex-end;
  }

  body.home .elementor-widget-Wprentals_Search_Form_Builder .elementor-field-type-submit{
    display: flex;
    justify-content: flex-start; /* left side of its column */
    align-items: flex-end;
  }

  body.home .elementor-widget-Wprentals_Search_Form_Builder .elementor-field-type-submit .elementor-button{
    width: 100%;
  }
}

/* =========================================================
   Footer search (Elementor) — match VE theme styling
   Scoped to Footer_V1 to avoid site-wide changes
   ========================================================= */
#Footer_V1 .e-search-form{
  width: 100%;
  display: flex;
  align-items: stretch;
  gap: 0; /* no gap between input and button */
}

#Footer_V1 .e-search-input-wrapper{
  flex: 1 1 auto;
  width: 100%;
  position: relative; /* anchor results dropdown */
}

#Footer_V1 input.e-search-input,
#Footer_V1 input#search-9d9b6d2{
  width: 100%;
  height: 44px;
  padding: 10px 12px;
  border-radius: 6px 0 0 6px; /* connect to button */
  border: 1px solid rgba(255,255,255,.25);
  background: rgba(255,255,255,.18); /* lighter field background */
  color: #fff;
  outline: none;
}

#Footer_V1 input.e-search-input::placeholder,
#Footer_V1 input#search-9d9b6d2::placeholder{
  color: rgba(255,255,255,.70);
}

#Footer_V1 input.e-search-input:focus,
#Footer_V1 input#search-9d9b6d2:focus{
  border-color: rgba(207,161,144,.9); /* #CFA190 */
  box-shadow: 0 0 0 3px rgba(207,161,144,.25);
}

#Footer_V1 .e-search-submit,
#Footer_V1 .e-search-button,
#Footer_V1 button[type="submit"]{
  height: 44px;
  padding: 0 16px;
  border-radius: 0 6px 6px 0; /* connect to input */
  border: 1px solid rgba(255,255,255,.25);
  margin-left: -1px; /* overlap borders for seamless join */
  background: #CFA190;
  color: #fff;
  font-weight: 600;
  cursor: pointer;
}

#Footer_V1 .e-search-submit:hover,
#Footer_V1 .e-search-button:hover,
#Footer_V1 button[type="submit"]:hover{
  filter: brightness(0.95);
}

/* Footer search: disable live results dropdown */
#Footer_V1 #results-9d9b6d2.e-search-results-container{
  display: none !important;
}