/* ==========================================================================
   ESENCIA — WP RENTALS SKIN (v3)
   --------------------------------------------------------------------------
   Brings listing pages, archives and search results into the Esencia design
   language so the site reads as one brand.

   IMPORTANT — this file works DIFFERENTLY to the Esencia page templates.

   The homepage and interior pages supply their own markup, so there the parent
   CSS is dequeued entirely. Here we cannot do that: the booking form, the
   availability calendar and the datepickers are WP Rentals functionality and
   depend on WP Rentals CSS and JS to work. Removing it would break bookings.

   So this is a SKIN. It layers on top of the parent stylesheet and restyles the
   parent's own class names. Nothing structural is replaced, no template is
   overridden, and the booking engine is untouched.

   Scoped to .esencia-skin, a body class added only on estate_property singles,
   archives and taxonomy pages.
   ========================================================================== */

/* ---------- typography ---------- */
.esencia-skin h1,
.esencia-skin h2,
.esencia-skin h3,
.esencia-skin h4,
.esencia-skin .listing_title,
.esencia-skin .listing_main_image_price{
  font-family:'Fraunces',Georgia,serif !important;
  letter-spacing:-.025em;
  text-transform:none !important;
}
.esencia-skin,
.esencia-skin p,
.esencia-skin li,
.esencia-skin label,
.esencia-skin input,
.esencia-skin select,
.esencia-skin textarea,
.esencia-skin button{
  font-family:'Instrument Sans',system-ui,-apple-system,sans-serif;
}
.esencia-skin h1{letter-spacing:-.03em;font-weight:600}
.esencia-skin h2,.esencia-skin h3{font-weight:600}

/* ---------- page canvas ---------- */
.esencia-skin{background:var(--mist,#F5F3EC)}
.esencia-skin .single-content,
.esencia-skin .listing-content,
.esencia-skin .panel-wrapper,
.esencia-skin .property_listing{
  border-radius:18px;
  border-color:rgba(8,18,15,.10);
}

/* ---------- title + location ---------- */
.esencia-skin .listing_type_title_wrapper h1{color:var(--ink,#08120F)}
.esencia-skin .listing_main_image_location,
.esencia-skin .listing_main_image_location a{
  font-size:.74rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;
  color:var(--gold-2,#C98F26);
}
.esencia-skin .listing_main_image_location a:hover{color:var(--moss-2,#1D4C39)}

/* ---------- price ---------- */
.esencia-skin .listing_main_image_price{
  color:var(--gold-2,#C98F26) !important;
  font-weight:600;
}
.esencia-skin .pernight_label{
  font-family:'Instrument Sans',sans-serif !important;
  font-size:.7rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;
  color:rgba(8,18,15,.42);
}

/* ---------- icon bar / category strip ---------- */
.esencia-skin .category_wrapper{
  border-top:1px solid rgba(8,18,15,.10);
  border-bottom:1px solid rgba(8,18,15,.10);
  border-radius:0;
  padding-block:1.1rem;
}
.esencia-skin .check_avalability{
  background:var(--gold,#E7B443) !important;
  color:#2a1c02 !important;
  border:0 !important;border-radius:100px !important;
  font-size:.76rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;
  padding:.85em 1.6em !important;
  transition:transform .4s cubic-bezier(.16,.84,.44,1),background .4s;
}
.esencia-skin .check_avalability:hover{background:#F2C55C !important;transform:translateY(-2px)}

/* ---------- booking form: styled, never restructured ---------- */
.esencia-skin .booking_form_request,
.esencia-skin .widget-area-sidebar .panel-wrapper{
  background:#fff;
  border:1px solid rgba(8,18,15,.10) !important;
  border-radius:20px !important;
  box-shadow:0 18px 44px -30px rgba(8,18,15,.35);
}
.esencia-skin .booking_form_request label{
  font-size:.68rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;
  color:rgba(8,18,15,.42);
}
.esencia-skin .booking_form_request .form-control,
.esencia-skin .booking_form_request input,
.esencia-skin .booking_form_request select{
  border-radius:12px !important;
  border:1px solid rgba(8,18,15,.14) !important;
  background:var(--paper,#FBFAF6);
  font-size:.95rem;
  transition:border-color .3s;
}
.esencia-skin .booking_form_request .form-control:focus,
.esencia-skin .booking_form_request input:focus,
.esencia-skin .booking_form_request select:focus{
  border-color:var(--gold,#E7B443) !important;
  box-shadow:0 0 0 3px rgba(231,180,67,.18) !important;
}

/* primary reserve button */
.esencia-skin #booking_form_request,
.esencia-skin .booking_form_request .btn-primary{
  background:var(--gold,#E7B443) !important;
  border-color:var(--gold,#E7B443) !important;
  color:#2a1c02 !important;
  border-radius:100px !important;
  font-weight:700;letter-spacing:.06em;
  padding:.95em 1.6em !important;
  transition:transform .4s cubic-bezier(.16,.84,.44,1),background .4s;
}
.esencia-skin #booking_form_request:hover,
.esencia-skin .booking_form_request .btn-primary:hover{
  background:#F2C55C !important;transform:translateY(-2px);
}

/* secondary actions */
.esencia-skin #contact_host,
.esencia-skin #add_favorites,
.esencia-skin #listing_edit{
  border-radius:100px !important;
  border:1px solid rgba(8,18,15,.16) !important;
  background:transparent !important;
  color:var(--ink,#08120F) !important;
  font-weight:600;
  transition:border-color .3s,background .3s;
}
.esencia-skin #contact_host:hover,
.esencia-skin #add_favorites:hover{
  border-color:var(--moss-2,#1D4C39) !important;
  background:rgba(87,174,129,.09) !important;
}
.esencia-skin .isfavorite{color:var(--ember,#DE6B3C) !important}

/* ---------- availability calendar ----------
   Class names verified against the parent theme. Purely cosmetic: no layout,
   sizing or state class is touched, so reserved/available logic is unaffected. */
.esencia-skin .calendar-wrapper-in,
.esencia-skin .calendar-wrapper-in-price,
.esencia-skin .calendar_output{
  border-radius:18px;
}
.esencia-skin .calendar-table th{
  font-size:.66rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  color:rgba(8,18,15,.42);
}
.esencia-skin .calendar-table caption,
.esencia-skin .calendar_output h4{
  font-family:'Fraunces',Georgia,serif;font-weight:600;letter-spacing:-.02em;
}
.esencia-skin .daterangepicker td.active,
.esencia-skin .daterangepicker td.in-range{
  background:rgba(231,180,67,.22) !important;
  color:var(--ink,#08120F) !important;
}
.esencia-skin .daterangepicker td.active.start-date,
.esencia-skin .daterangepicker td.active.end-date{
  background:var(--gold,#E7B443) !important;
  color:#2a1c02 !important;
}
.esencia-skin .daterangepicker{
  border-radius:16px !important;
  border-color:rgba(8,18,15,.12) !important;
  font-family:'Instrument Sans',sans-serif;
}

/* ---------- owner / host block ---------- */
.esencia-skin .owner_area_wrapper_sidebar,
.esencia-skin .owner_area_1{
  background:var(--canopy,#0E241D);
  border-radius:20px;
  border:0;
  color:#F5F3EC;
  padding:1.5rem;
}
.esencia-skin .owner_area_wrapper_sidebar h3,
.esencia-skin .owner_area_wrapper_sidebar h4,
.esencia-skin .owner_area_1 h3{color:#F5F3EC}
.esencia-skin .owner_area_description,
.esencia-skin .owner_area_wrapper_sidebar p{color:rgba(245,243,236,.72)}
.esencia-skin .owner_read_more{color:var(--gold,#E7B443)}
.esencia-skin .agentpic-wrapper img,
.esencia-skin .owner_listing_image img{border-radius:50%}

/* ---------- gallery ---------- */
.esencia-skin .listing_main_image,
.esencia-skin .image_gallery img,
.esencia-skin .imagebody img,
.esencia-skin .property_pictures_wrapper img{border-radius:14px}
.esencia-skin .img_listings_overlay{border-radius:14px}

/* ---------- archive / search result cards ---------- */
.esencia-skin .property_listing{
  background:#fff;
  border:1px solid rgba(8,18,15,.10);
  border-radius:20px;
  overflow:hidden;
  transition:transform .5s cubic-bezier(.16,.84,.44,1),box-shadow .5s;
}
.esencia-skin .property_listing:hover{
  transform:translateY(-5px);
  box-shadow:0 22px 48px -26px rgba(8,18,15,.34);
}
.esencia-skin .listing_unit_price_wrapper,
.esencia-skin .property_listing .price{
  font-family:'Fraunces',Georgia,serif;
  color:var(--gold-2,#C98F26);
  font-weight:600;
}
.esencia-skin .property_listing h4 a{color:var(--ink,#08120F)}
.esencia-skin .property_listing h4 a:hover{color:var(--moss-2,#1D4C39)}

/* ---------- generic buttons across the skin ---------- */
.esencia-skin .btn-primary{
  border-radius:100px !important;
}

/* ---------- pagination ---------- */
.esencia-skin .pagination a,
.esencia-skin .pagination span{
  border-radius:10px !important;
  border-color:rgba(8,18,15,.12) !important;
}
.esencia-skin .pagination .current,
.esencia-skin .pagination a:hover{
  background:var(--gold,#E7B443) !important;
  color:#2a1c02 !important;
  border-color:var(--gold,#E7B443) !important;
}

/* ---------- links ---------- */
.esencia-skin a{transition:color .3s}

/* ---------- reduced motion ---------- */
@media(prefers-reduced-motion:reduce){
  .esencia-skin *{animation:none !important;transition:none !important}
}

/* ==========================================================================
   ORDINARY PAGES (FAQ, About, Contact, blog)
   Same v3 language, applied over whatever WP Rentals renders.
   ========================================================================== */
.esencia-skin .page-title,
.esencia-skin .entry-title,
.esencia-skin .blog_listing_title{font-family:'Fraunces',Georgia,serif;letter-spacing:-.03em;font-weight:600}
.esencia-skin .post_content p,
.esencia-skin .single-content p{color:rgba(8,18,15,.72);line-height:1.7}

/* accordions / toggles used on the FAQ page */
.esencia-skin .panel-title,
.esencia-skin .accordion-title,
.esencia-skin .elementor-accordion-title,
.esencia-skin .elementor-toggle-title{
  font-family:'Fraunces',Georgia,serif !important;
  font-weight:600;letter-spacing:-.02em;color:var(--ink,#08120F) !important;
}
.esencia-skin .elementor-accordion-item,
.esencia-skin .elementor-toggle-item,
.esencia-skin .panel{
  border-color:rgba(8,18,15,.10) !important;border-radius:14px;
}
.esencia-skin .elementor-active .elementor-accordion-title,
.esencia-skin .elementor-toggle-title.elementor-active{color:#9C6B14 !important}

/* buttons anywhere on ordinary pages */
.esencia-skin .elementor-button,
.esencia-skin .wpb_button,
.esencia-skin .btn-secondary{
  border-radius:100px !important;
  background:var(--gold,#E7B443) !important;
  color:#2a1c02 !important;
  border:0 !important;
  font-weight:700;letter-spacing:.04em;
}
.esencia-skin .elementor-button:hover{background:#F2C55C !important}

/* footer + contact blocks */
.esencia-skin .footer_widget h3,
.esencia-skin .footer_widget h4,
.esencia-skin .widget-title{
  font-family:'Instrument Sans',sans-serif;
  font-size:.7rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;
  color:#9C6B14;
}

/* ==========================================================================
   PROPERTIES LIST — hero slider, filter bar, breadcrumb
   Class names verified against templates/property_list_filters.php and
   templates/listingslider.php. Colour comes from Theme Options -> Design ->
   Main Color; this file handles type, shape and spacing.
   ========================================================================== */

/* --- hero slider caption --- */
.esencia-skin .carousel-caption h1,
.esencia-skin .carousel-caption h2,
.esencia-skin .carousel-caption .entry-title{
  font-family:'Fraunces',Georgia,serif !important;
  font-weight:600;letter-spacing:-.03em;line-height:1.04;
  color:#F5F3EC !important;text-transform:none !important;
}
.esencia-skin .carousel-caption-text{
  font-family:'Instrument Sans',sans-serif;
  color:rgba(245,243,236,.86);line-height:1.62;
}
.esencia-skin .carousel-caption-back{
  background:linear-gradient(180deg,rgba(8,18,15,.10) 0%,rgba(8,18,15,.72) 100%) !important;
}
.esencia-skin .carousel-indicators li,
.esencia-skin .carousel-indicators button{border-radius:100px}
.esencia-skin .carousel-indicators .active{background:#E7B443 !important;border-color:#E7B443 !important}

/* --- price on the slider --- */
.esencia-skin .carousel-caption .price,
.esencia-skin .carousel-caption .listing_main_image_price{
  font-family:'Fraunces',Georgia,serif !important;
  color:#E7B443 !important;font-weight:600;
}

/* --- filter bar --- */
.esencia-skin .main_taxonomy_filter,
.esencia-skin .city_taxonmy_filter,
.esencia-skin .area_taxonomy_filter,
.esencia-skin .action_taxonomy_filter,
.esencia-skin .order_filter{padding-inline:6px}
.esencia-skin .listing_filter_select{
  border:1px solid rgba(8,18,15,.14) !important;
  border-radius:100px !important;
  background:#fff !important;
  font-family:'Instrument Sans',sans-serif;
  font-size:.9rem;
  transition:border-color .3s;
}
.esencia-skin .listing_filter_select:hover{border-color:#E7B443 !important}
.esencia-skin .dropdown-menu.filter_menu{
  border-radius:14px !important;
  border:1px solid rgba(8,18,15,.10) !important;
  box-shadow:0 18px 44px -28px rgba(8,18,15,.4);
  padding:6px;
}
.esencia-skin .dropdown-menu.filter_menu li a{border-radius:9px;font-size:.92rem}
.esencia-skin .dropdown-menu.filter_menu li a:hover{background:rgba(231,180,67,.16);color:#08120F}
.esencia-skin .caret_filter{opacity:.5}

/* --- page heading + breadcrumb --- */
.esencia-skin .entry-title,
.esencia-skin .entry-prop{
  font-family:'Fraunces',Georgia,serif !important;
  font-weight:600;letter-spacing:-.03em;text-transform:none !important;
}
.esencia-skin .breadcrumb,
.esencia-skin .breadcrumb_container{
  font-family:'Instrument Sans',sans-serif;
  font-size:.74rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;
  background:transparent !important;
}
.esencia-skin .breadcrumb a{color:rgba(8,18,15,.5)}
.esencia-skin .breadcrumb a:hover{color:#9C6B14}

/* --- gallery / listing image corners --- */
.esencia-skin .listing_main_image,
.esencia-skin .prettygalery{border-radius:16px}

/* --- floating social rail --- */
.esencia-skin .prop_social a,
.esencia-skin .prop_social_share a,
.esencia-skin .header_social a{border-radius:0}

/* --- search bar over the slider --- */
.esencia-skin .advanced_search_shortcode,
.esencia-skin .advanced_search_map_list_container{
  border-radius:18px !important;
  backdrop-filter:blur(10px);
}
.esencia-skin .advanced_search_shortcode input,
.esencia-skin .advanced_search_shortcode select{
  border-radius:12px !important;
  font-family:'Instrument Sans',sans-serif;
}

/* ==========================================================================
   SINGLE LISTING — panel colour correction
   --------------------------------------------------------------------------
   WP Rentals paints background-color:{Main Color} onto .listing_main_image_price
   and .owner_area_wrapper_sidebar. With Main Color set to gold that produces
   gold text on a gold panel — the price was effectively invisible.

   On the homepage, gold is an ACCENT on dark, never a full panel. These rules
   restore that relationship: dark canopy panels, gold figures.
   ========================================================================== */

/* --- price block: was gold on gold --- */
.esencia-skin .listing_main_image_price,
.esencia-skin .listing_type_1 .listing_main_image_price,
.esencia-skin .listing_type_3 .listing_main_image_price{
  background-color:#0E241D !important;
  background-image:none !important;
  color:#E7B443 !important;
  border-radius:18px !important;
  font-family:'Fraunces',Georgia,serif !important;
  font-weight:600;
  padding:1.15rem 1.3rem !important;
}
.esencia-skin .listing_main_image_price .pernight_label,
.esencia-skin .listing_main_image_price small{
  font-family:'Instrument Sans',sans-serif !important;
  font-size:.68rem !important;font-weight:600;letter-spacing:.18em;text-transform:uppercase;
  color:rgba(245,243,236,.66) !important;
}

/* --- booking widget: cream card, gold reserved for the button --- */
.esencia-skin .booking_form_request{
  background-color:#FBFAF6 !important;
  background-image:none !important;
  border:1px solid rgba(8,18,15,.10) !important;
  border-radius:22px !important;
  color:#08120F;
}
.esencia-skin .booking_form_request h3,
.esencia-skin .booking_form_request h4,
.esencia-skin .booking_form_request .booking_form_title{
  font-family:'Fraunces',Georgia,serif !important;color:#08120F !important;font-weight:600;
}
.esencia-skin .booking_form_request label,
.esencia-skin .booking_form_request .share_text{color:rgba(8,18,15,.55) !important}
.esencia-skin .booking_form_request input,
.esencia-skin .booking_form_request select,
.esencia-skin .booking_form_request .form-control{
  background:#fff !important;border:1px solid rgba(8,18,15,.14) !important;
  color:#08120F !important;border-radius:12px !important;
}

/* secondary actions read as outlines, not solid gold */
.esencia-skin #add_favorites,
.esencia-skin #contact_host,
.esencia-skin #listing_edit{
  background:transparent !important;
  border:1px solid rgba(8,18,15,.20) !important;
  color:#08120F !important;
  border-radius:100px !important;
}
.esencia-skin #add_favorites:hover,
.esencia-skin #contact_host:hover{
  border-color:#9C6B14 !important;background:rgba(231,180,67,.14) !important;
}

/* --- owner block: dark panel, and stop the title clipping --- */
.esencia-skin .owner_area_wrapper_sidebar,
.esencia-skin .owner-page-wrapper{
  background-color:#0E241D !important;
  background-image:none !important;
  border-radius:22px !important;
  color:#F5F3EC !important;
  overflow:visible !important;
  padding-bottom:1.6rem !important;
}
.esencia-skin .owner_area_wrapper_sidebar h3,
.esencia-skin .owner_area_wrapper_sidebar h4,
.esencia-skin .owner_area_wrapper_sidebar a{
  color:#F5F3EC !important;
  font-family:'Fraunces',Georgia,serif !important;
  line-height:1.16 !important;
  overflow:visible !important;
  text-overflow:clip !important;
  white-space:normal !important;
  font-size:1.24rem !important;
}
.esencia-skin .owner_area_description,
.esencia-skin .owner_area_wrapper_sidebar p{
  color:rgba(245,243,236,.74) !important;
  font-family:'Instrument Sans',sans-serif !important;
}
.esencia-skin .owner_read_more{color:#E7B443 !important;font-weight:600}
.esencia-skin .agentpic-wrapper img,
.esencia-skin .owner_listing_image img{border-radius:50% !important;border:2px solid rgba(231,180,67,.5)}

/* --- description copy was rendering in the default link blue --- */
.esencia-skin .single-content p,
.esencia-skin .listing-content p,
.esencia-skin .panel-body p{color:rgba(8,18,15,.76) !important}
.esencia-skin .single-content h2,
.esencia-skin .single-content h3{font-family:'Fraunces',Georgia,serif !important;font-weight:600}

/* --- facts strip --- */
.esencia-skin .category_wrapper,
.esencia-skin .category_details_wrapper{
  font-family:'Instrument Sans',sans-serif;
  color:rgba(8,18,15,.76);
}

/* ==========================================================================
   HEADER NAV — match the homepage
   Same face, size, letter-spacing and gold hover as the Esencia header, so the
   navigation reads identically whichever template a visitor is on.
   ========================================================================== */
.esencia-skin .header_wrapper{border-bottom:1px solid rgba(8,18,15,.08)}
.esencia-skin .navbar-nav > li > a,
.esencia-skin .navbar-default .navbar-nav > li > a{
  font-family:'Instrument Sans',system-ui,sans-serif !important;
  font-size:.95rem !important;
  font-weight:500 !important;
  letter-spacing:-.005em !important;
  text-transform:none !important;
  color:#08120F !important;
  padding:1.5rem 1.15rem !important;
  transition:color .3s cubic-bezier(.16,.84,.44,1);
}
.esencia-skin .navbar-nav > li > a:hover,
.esencia-skin .navbar-nav > li > a:focus,
.esencia-skin .navbar-default .navbar-nav > li > a:hover{
  color:#9C6B14 !important;background:transparent !important;
}
.esencia-skin .navbar-nav > li.current-menu-item > a,
.esencia-skin .navbar-nav > li.current_page_item > a,
.esencia-skin .navbar-nav > .active > a{
  color:#9C6B14 !important;background:transparent !important;font-weight:600 !important;
}
.esencia-skin .navbar,
.esencia-skin .navbar-default{
  background:#F5F3EC !important;border:0 !important;box-shadow:none !important;
}
/* dropdowns */
.esencia-skin .navbar-nav .dropdown-menu{
  border-radius:14px !important;border:1px solid rgba(8,18,15,.10) !important;
  box-shadow:0 18px 44px -28px rgba(8,18,15,.4);padding:6px;
}
.esencia-skin .navbar-nav .dropdown-menu > li > a{
  font-family:'Instrument Sans',sans-serif;border-radius:9px;font-size:.92rem;padding:.55rem .8rem;
}
.esencia-skin .navbar-nav .dropdown-menu > li > a:hover{background:rgba(231,180,67,.16);color:#08120F}
/* logo sizing to match the homepage brand mark */
.esencia-skin .logo img,
.esencia-skin .navbar-brand img{max-height:64px;width:auto}
/* mobile toggle */
.esencia-skin .navbar-toggle{border-radius:10px;border-color:rgba(8,18,15,.16)}
