/**
 * Sampatti Setu V2 — Components (Phase 4C Batch 1)
 *
 * Active scope:
 *   .ss-header       — Header 31734 root
 *   .ss-hero         — Homepage hero 61504da
 *   .ss-search-panel — Homepage search container 824c408
 *   .ss-featured        — Homepage Featured Properties (FROZEN)
 *   .ss-developer-rail  — Homepage Trusted Developers logo marquee
 *   .ss-value-marquee   — Homepage value strip after Search, before Featured
 *
 * Homepage visual completion (no Elementor IDs):
 *   Client Feedback hide  — .e-parent:has(.elementor-widget-WpResidence_Testimonial)
 *   Location intro        — .e-parent:has(+ .e-parent .elementor-widget-Wpresidence_Grids)
 *   Location tiles        — .e-parent:has(.elementor-widget-Wpresidence_Grids)
 *   Buy / Sell            — grids parent + .e-parent
 *   Journey in Numbers    — .e-parent:has(.elementor-widget-counter)
 *   Sell Smarter / dual   — theme-default (custom CTA CSS removed)
 *   Footer                — .e-parent:has(.elementor-widget-Site_Social)
 *
 * About Us page 21420 (header 31735 / footer 31733 untouched):
 *   Scoped to body.page-id-21420 .elementor-21420
 *
 * Projects page 93 /property-search/ (header 31735 / footer 31733 untouched):
 *   Scoped to body.page-id-93 .elementor-93
 *   Native WpResidence_Search_Form_Builder + WpResidence_Items_List (type8)
 */

/* =========================================================================
 * HEADER
 * ========================================================================= */

/*
 * Pin the WPResidence header shell for Home, About Us, and Projects.
 */
body.home .wpestate_elementor_header_custom,
body.page-id-21420 .wpestate_elementor_header_custom,
body.page-id-93 .wpestate_elementor_header_custom,
body.property-search .wpestate_elementor_header_custom,
body.page-id-17988 .wpestate_elementor_header_custom,
body.page-template-blog_list .wpestate_elementor_header_custom,
body.single-post .wpestate_elementor_header_custom,
body.blog .wpestate_elementor_header_custom {
  position: sticky;
  top: 0;
  z-index: var(--ss-z-sticky, 200);
}

body.home.admin-bar .wpestate_elementor_header_custom,
body.page-id-21420.admin-bar .wpestate_elementor_header_custom,
body.page-id-93.admin-bar .wpestate_elementor_header_custom,
body.property-search.admin-bar .wpestate_elementor_header_custom,
body.page-id-17988.admin-bar .wpestate_elementor_header_custom,
body.page-template-blog_list.admin-bar .wpestate_elementor_header_custom,
body.single-post.admin-bar .wpestate_elementor_header_custom,
body.blog.admin-bar .wpestate_elementor_header_custom {
  top: 32px;
}

@media screen and (max-width: 782px) {
  body.home.admin-bar .wpestate_elementor_header_custom,
  body.page-id-21420.admin-bar .wpestate_elementor_header_custom,
  body.page-id-93.admin-bar .wpestate_elementor_header_custom,
  body.property-search.admin-bar .wpestate_elementor_header_custom,
  body.page-id-17988.admin-bar .wpestate_elementor_header_custom,
  body.page-template-blog_list.admin-bar .wpestate_elementor_header_custom,
  body.single-post.admin-bar .wpestate_elementor_header_custom,
  body.blog.admin-bar .wpestate_elementor_header_custom {
    top: 46px;
  }
}

.ss-header {
  position: relative;
  z-index: var(--ss-z-sticky, 200);
  width: 100%;
  max-width: 100%;
  background-color: transparent;
  border-bottom: 1px solid transparent;
  box-shadow: none;
  transition:
    background-color 360ms var(--ss-ease-primary, cubic-bezier(0.22, 1, 0.36, 1)),
    border-color 360ms var(--ss-ease-primary, cubic-bezier(0.22, 1, 0.36, 1)),
    box-shadow 360ms var(--ss-ease-primary, cubic-bezier(0.22, 1, 0.36, 1));
}

/*
 * Batch 1.1 — restrained top wash for transparent header over bright video.
 * Does not apply once scrolled (forest sticky state stays clean).
 */
.ss-header:not(.ss-header--scrolled)::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background: linear-gradient(
    180deg,
    rgba(22, 53, 40, 0.46) 0%,
    rgba(22, 53, 40, 0.18) 52%,
    rgba(22, 53, 40, 0) 100%
  );
}

.ss-header > * {
  position: relative;
  z-index: 1;
}

.ss-header.ss-header--scrolled {
  background-color: #163528;
  border-bottom: 1px solid color-mix(in srgb, var(--ss-muted-gold, #d6b268) 22%, #163528);
  box-shadow: none;
}

.ss-header .wpresidence-navigation-menu .menu-item-link,
.elementor-31735 .wpresidence-navigation-menu .menu-item-link {
  position: relative;
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding-block: 0.35rem;
  color: var(--ss-warm-white, #faf8f4);
  font-family: var(--ss-font-body, "Poppins", "Source Sans 3", "Segoe UI", system-ui, sans-serif);
  font-size: var(--ss-text-body-sm, 0.875rem);
  font-weight: 500;
  letter-spacing: var(--ss-tracking-wide, 0.06em);
  text-transform: uppercase;
  text-decoration: none;
  text-shadow: 0 1px 2px rgba(22, 53, 40, 0.55), 0 0 1px rgba(22, 53, 40, 0.4);
  transition:
    color 320ms var(--ss-ease-primary, cubic-bezier(0.22, 1, 0.36, 1)),
    text-shadow 320ms var(--ss-ease-primary, cubic-bezier(0.22, 1, 0.36, 1));
}

.ss-header .wpresidence-navigation-menu .menu-item-link::after,
.elementor-31735 .wpresidence-navigation-menu .menu-item-link::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0.15rem;
  height: 1px;
  background-color: var(--ss-muted-gold, #d6b268);
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform 320ms var(--ss-ease-primary, cubic-bezier(0.22, 1, 0.36, 1));
  pointer-events: none;
}

@media (hover: hover) and (pointer: fine) {
  .ss-header .wpresidence-navigation-menu .menu-item-link:hover,
  .ss-header .wpresidence-navigation-menu .menu-item-link:focus-visible,
  .elementor-31735 .wpresidence-navigation-menu .menu-item-link:hover,
  .elementor-31735 .wpresidence-navigation-menu .menu-item-link:focus-visible {
    color: var(--ss-muted-gold, #d6b268);
  }

  .ss-header .wpresidence-navigation-menu .menu-item-link:hover::after,
  .ss-header .wpresidence-navigation-menu .menu-item-link:focus-visible::after,
  .elementor-31735 .wpresidence-navigation-menu .menu-item-link:hover::after,
  .elementor-31735 .wpresidence-navigation-menu .menu-item-link:focus-visible::after {
    transform: scaleX(1);
  }
}

.ss-header .wpresidence-navigation-menu .current-menu-item > .menu-item-link,
.ss-header .wpresidence-navigation-menu .current_page_item > .menu-item-link,
.elementor-31735 .wpresidence-navigation-menu .current-menu-item > .menu-item-link,
.elementor-31735 .wpresidence-navigation-menu .current_page_item > .menu-item-link {
  color: var(--ss-muted-gold, #d6b268);
}

.ss-header .wpresidence-navigation-menu .current-menu-item > .menu-item-link::after,
.ss-header .wpresidence-navigation-menu .current_page_item > .menu-item-link::after,
.elementor-31735 .wpresidence-navigation-menu .current-menu-item > .menu-item-link::after,
.elementor-31735 .wpresidence-navigation-menu .current_page_item > .menu-item-link::after {
  transform: scaleX(1);
}

.ss-header.ss-header--scrolled .wpresidence-navigation-menu .menu-item-link,
.ss-header.ss-header--scrolled .wpresidence-navigation-menu .menu-mega-menu-updated-container > ul > li > a.menu-item-link {
  color: var(--ss-warm-white, #faf8f4);
  text-shadow: none;
}

.ss-header.ss-header--scrolled .wpresidence-navigation-menu .current-menu-item > .menu-item-link,
.ss-header.ss-header--scrolled .wpresidence-navigation-menu .current_page_item > .menu-item-link,
.ss-header.ss-header--scrolled .wpresidence-navigation-menu .menu-mega-menu-updated-container > ul > li.current-menu-item > a.menu-item-link,
.ss-header.ss-header--scrolled .wpresidence-navigation-menu .menu-mega-menu-updated-container > ul > li.current_page_item > a.menu-item-link,
.ss-header.ss-header--scrolled .wpresidence-navigation-menu .menu-item-link:hover,
.ss-header.ss-header--scrolled .wpresidence-navigation-menu .menu-item-link:focus-visible,
.ss-header.ss-header--scrolled .wpresidence-navigation-menu .menu-mega-menu-updated-container > ul > li:hover > a.menu-item-link,
.ss-header.ss-header--scrolled .wpresidence-navigation-menu .menu-mega-menu-updated-container > ul > li > a.menu-item-link:focus-visible {
  color: var(--ss-muted-gold, #d6b268);
}

.ss-header.ss-header--scrolled .wpresidence-navigation-menu .menu-item-link:focus-visible,
.elementor-31735 .wpresidence-navigation-menu .menu-item-link:focus-visible {
  outline: 2px solid var(--ss-muted-gold, #d6b268);
  outline-offset: 3px;
}

.ss-header .header_phone,
.ss-header .header_phone a,
.elementor-31735 .header_phone,
.elementor-31735 .header_phone a {
  color: var(--ss-warm-white, #faf8f4);
  font-family: var(--ss-font-body, "Poppins", "Source Sans 3", "Segoe UI", system-ui, sans-serif);
  font-size: var(--ss-text-body-sm, 0.875rem);
  letter-spacing: var(--ss-tracking-wide, 0.06em);
  text-decoration: none;
  text-shadow: 0 1px 2px rgba(22, 53, 40, 0.55), 0 0 1px rgba(22, 53, 40, 0.4);
  transition:
    color 320ms var(--ss-ease-primary, cubic-bezier(0.22, 1, 0.36, 1)),
    text-shadow 320ms var(--ss-ease-primary, cubic-bezier(0.22, 1, 0.36, 1));
}

.ss-header .header_phone,
.elementor-31735 .header_phone {
  display: inline-flex !important;
  align-items: center !important;
  white-space: nowrap !important;
  gap: 8px !important;
}

.ss-header .header_phone svg,
.elementor-31735 .header_phone svg {
  flex-shrink: 0;
  fill: currentColor;
  color: inherit;
}

.ss-header .header_phone a,
.elementor-31735 .header_phone a {
  display: inline-block;
  white-space: nowrap;
}

.ss-header.ss-header--scrolled .header_phone,
.ss-header.ss-header--scrolled .header_phone a {
  color: var(--ss-warm-white, #faf8f4);
  text-shadow: none;
}

.ss-header.e-con.ss-header--scrolled .header_phone svg,
.ss-header.e-con.ss-header--scrolled .header_phone svg path {
  fill: currentColor;
  color: inherit;
}

/*
 * Desktop sticky & internal header (Elementor 31735) deep-forest bar (min-width 1025px).
 */
@media (min-width: 1025px) {
  .ss-header.ss-header--scrolled,
  .ss-header.e-con.ss-header--scrolled,
  .elementor-31735 .elementor-element-5de2601 {
    background-color: #163528 !important;
    background-image: none !important;
    border-bottom: 1px solid color-mix(in srgb, var(--ss-muted-gold, #d6b268) 22%, #163528) !important;
    box-shadow: none !important;
  }

  .elementor-31735 .elementor-invisible {
    visibility: visible !important;
    opacity: 1 !important;
  }

  .ss-header.ss-header--scrolled > .e-con.e-child:first-child,
  .elementor-31735 .elementor-element-155b85d {
    align-self: center;
    background-color: transparent;
    margin-left: 0;
    padding-left: 0;
    padding-right: 0;
  }

  .ss-header.ss-header--scrolled .wpresidence-site-logo,
  .ss-header.ss-header--scrolled .elementor-widget-Site_Logo,
  .elementor-31735 .wpresidence-site-logo,
  .elementor-31735 .elementor-widget-Site_Logo {
    display: flex;
    align-items: center;
    width: auto;
    max-width: 165px;
    background: none;
  }

  .ss-header.ss-header--scrolled img.image-logo,
  .elementor-31735 img.image-logo {
    width: 160px;
    max-width: 160px;
    height: auto;
    object-fit: contain;
    object-position: left center;
    filter: none;
  }

  .ss-header.ss-header--scrolled .wpresidence-navigation-menu .menu-item-link,
  .ss-header.ss-header--scrolled .wpresidence-navigation-menu .menu-mega-menu-updated-container > ul > li > a.menu-item-link {
    color: var(--ss-warm-white, #faf8f4);
    text-shadow: none;
  }

  .ss-header.ss-header--scrolled .wpresidence-navigation-menu .current-menu-item > .menu-item-link,
  .ss-header.ss-header--scrolled .wpresidence-navigation-menu .current_page_item > .menu-item-link,
  .ss-header.ss-header--scrolled .wpresidence-navigation-menu .menu-mega-menu-updated-container > ul > li.current-menu-item > a.menu-item-link,
  .ss-header.ss-header--scrolled .wpresidence-navigation-menu .menu-mega-menu-updated-container > ul > li.current_page_item > a.menu-item-link,
  .ss-header.ss-header--scrolled .wpresidence-navigation-menu .menu-item-link:hover,
  .ss-header.ss-header--scrolled .wpresidence-navigation-menu .menu-item-link:focus-visible,
  .ss-header.ss-header--scrolled .wpresidence-navigation-menu .menu-mega-menu-updated-container > ul > li:hover > a.menu-item-link,
  .ss-header.ss-header--scrolled .wpresidence-navigation-menu .menu-mega-menu-updated-container > ul > li > a.menu-item-link:focus-visible {
    color: var(--ss-muted-gold, #d6b268);
  }

  .ss-header.ss-header--scrolled .header_phone,
  .ss-header.ss-header--scrolled .header_phone a {
    color: var(--ss-warm-white, #faf8f4);
    text-shadow: none;
  }

  .ss-header.e-con.ss-header--scrolled .header_phone svg,
  .ss-header.e-con.ss-header--scrolled .header_phone svg path {
    fill: currentColor;
    color: inherit;
  }
}

/*
 * Desktop Dropdown Submenu
 */
.ss-header .wpresidence-navigation-menu ul.sub-menu,
.elementor-31735 .wpresidence-navigation-menu ul.sub-menu {
  background-color: #163528 !important;
  border: 1px solid color-mix(in srgb, var(--ss-muted-gold, #d6b268) 30%, transparent) !important;
  border-radius: 2px;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.25) !important;
  padding: 8px 0 !important;
  min-width: 180px;
}

.ss-header .wpresidence-navigation-menu ul.sub-menu li a,
.elementor-31735 .wpresidence-navigation-menu ul.sub-menu li a {
  display: block;
  padding: 10px 18px !important;
  color: var(--ss-warm-white, #faf8f4) !important;
  font-family: var(--ss-font-body, "Helvetica Neue", Helvetica, Arial, sans-serif);
  font-size: 0.8125rem !important;
  font-weight: 500 !important;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  text-shadow: none !important;
  border-left: 3px solid transparent !important;
  transition: background-color 200ms ease, color 200ms ease, border-color 200ms ease, padding-left 200ms ease;
}

.ss-header .wpresidence-navigation-menu ul.sub-menu li a:hover,
.ss-header .wpresidence-navigation-menu ul.sub-menu li a:focus-visible,
.elementor-31735 .wpresidence-navigation-menu ul.sub-menu li a:hover,
.elementor-31735 .wpresidence-navigation-menu ul.sub-menu li a:focus-visible {
  background-color: var(--ss-forest-soft, #294f3f) !important;
  color: #ffffff !important;
  border-left-color: var(--ss-muted-gold, #d6b268) !important;
  padding-left: 20px !important;
}

.ss-header .wpresidence-navigation-menu ul.sub-menu li a:focus-visible,
.elementor-31735 .wpresidence-navigation-menu ul.sub-menu li a:focus-visible {
  outline: 2px solid var(--ss-muted-gold, #d6b268) !important;
  outline-offset: -2px;
}

/* Mobile forest-plate override: ivory phone on green — ss-responsive.css */

/*
 * Batch 1.1 — mobile triggers
 * Do NOT force display on both; parent hides close by default and JS toggles
 * inline display. Forcing display:inline-flex previously showed hamburger + X.
 */
.ss-header .wpestate_mobile_menu_trigger,
.ss-header .wpestate_mobile_menu_trigger_close {
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  min-width: 44px;
  min-height: 44px;
  color: var(--ss-warm-white, #faf8f4);
  cursor: pointer;
}

/* Mirror parent closed-state rule under .ss-header (close hidden until JS shows it) */
.ss-header .wpestate-elementor-menu-mobile-container .wpestate_mobile_menu_trigger_close {
  display: none;
}

.ss-header .wpestate_mobile_menu_trigger svg,
.ss-header .wpestate_mobile_menu_trigger i,
.ss-header .wpestate_mobile_menu_trigger span,
.ss-header .wpestate_mobile_menu_trigger_close svg,
.ss-header .wpestate_mobile_menu_trigger_close i,
.ss-header .wpestate_mobile_menu_trigger_close span {
  color: inherit;
}

.ss-header.ss-header--scrolled .wpestate_mobile_menu_trigger,
.ss-header.ss-header--scrolled .wpestate_mobile_menu_trigger_close {
  color: var(--ss-forest-dark, #163528);
}

/* =========================================================================
 * HERO
 * ========================================================================= */

.ss-hero {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  max-width: 100%;
  min-height: clamp(36rem, 86vh, 48rem);
  color: var(--ss-warm-white, #faf8f4);
  background-color: var(--ss-forest-dark, #163528);
  background-size: cover;
  background-position: center;
}

/*
 * Batch 1.2 — seamless layered overlay:
 * top wash for header, left wash for copy, light overall tone.
 * Avoids a rectangular/black slab over the architecture.
 */
.ss-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background:
    linear-gradient(
      180deg,
      rgba(22, 53, 40, 0.46) 0%,
      rgba(22, 53, 40, 0.16) 18%,
      rgba(22, 53, 40, 0) 36%
    ),
    linear-gradient(
      90deg,
      rgba(22, 53, 40, 0.52) 0%,
      rgba(22, 53, 40, 0.28) 28%,
      rgba(22, 53, 40, 0.08) 52%,
      rgba(22, 53, 40, 0) 70%
    ),
    linear-gradient(
      180deg,
      rgba(22, 53, 40, 0.14) 0%,
      rgba(22, 53, 40, 0.1) 100%
    );
}

/*
 * Boxed Elementor containers (`e-con-boxed`) put the background-video
 * node inside `.e-con-inner`, which is max-width constrained. Absolute
 * video then fills the inner box, not the hero — a visible inset window
 * with static screenshot showing in the side gutters.
 *
 * Make `.e-con-inner` static so the video positions against `.ss-hero`.
 * Copy stays in the inner (still max-width centered). No Elementor IDs.
 */
.ss-hero.e-con-boxed {
  --padding-left: 0px;
  --padding-right: 0px;
  padding-inline: 0 !important;
}

.ss-hero > .e-con-inner {
  position: static;
  z-index: auto;
  display: flex;
  align-items: center;
  min-height: inherit;
  width: 100%;
  max-width: var(--ss-wide-max, 90rem);
  margin-inline: auto;
  padding-block: var(--ss-space-8, 4rem);
  padding-inline: var(--ss-gutter-desktop, 2rem);
}

/*
 * Batch 1.4 — one editorial left axis.
 * Elementor’s column is flex + align-items:center, so shrink-wrapped
 * widgets (eyebrow / support / CTA) center inside the column while the
 * headline stays left. Pin children to the column start. Desktop inset
 * and the slight upward shift live in ss-responsive.css (>= 1025px).
 */
.ss-hero > .e-con-inner > .e-con {
  --align-items: flex-start;
  --gap: 0px;
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0;
  width: min(40rem, 100%); /* 640px */
  max-width: min(40rem, 100%);
  margin-inline: 0;
  text-align: left;
}

.ss-hero > .e-con-inner > .e-con > .elementor-element {
  --align-self: flex-start;
  align-self: flex-start;
  width: auto;
  max-width: 100%;
}

.ss-hero > .e-con-inner > .e-con > .elementor-widget-heading {
  width: 100%;
}

/*
 * Video cover sizing — Elementor often sets inline width/height/max-width
 * on the hosted video node; !important is required to keep object-fit cover.
 * Does not change autoplay / muted / loop / playsinline attributes.
 */
.ss-hero .elementor-background-video-container {
  position: absolute !important;
  inset: 0 !important;
  z-index: 0;
  overflow: hidden;
  pointer-events: none;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
}

/*
 * Elementor hosted video uses left/top 50% + translate(-50%, -50%) and
 * inline pixel width/height. After the wrapper is full-bleed, that
 * leftover translate shifts the <video> left by half its width so only
 * the left half of the hero shows moving frames; the right shows the
 * static screenshot fallback. Kill the centering transform and pin the
 * actual video box to the wrapper.
 */
.ss-hero .elementor-background-video-container video,
.ss-hero .elementor-background-video-hosted {
  position: absolute !important;
  inset: 0 !important;
  left: 0 !important;
  top: 0 !important;
  width: 100% !important;
  height: 100% !important;
  min-width: 100% !important;
  min-height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  object-fit: cover;
  object-position: 68% 42%;
  transform: none !important;
  pointer-events: none;
}

/*
 * Elementor button widgets used as eyebrow / copy / CTA carry kit-level
 * background, border, color, and box-shadow. !important limited to those
 * paint properties only.
 */

/* Eyebrow = first button widget */
.ss-hero > .e-con-inner > .e-con > .elementor-widget-button:first-child .elementor-button {
  display: inline-flex;
  align-items: center;
  min-height: auto;
  padding: 0;
  margin-bottom: var(--ss-space-3, 0.75rem);
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  color: var(--ss-muted-gold, #d6b268) !important;
  font-family: var(--ss-font-body, "Poppins", "Source Sans 3", "Segoe UI", system-ui, sans-serif);
  font-size: 0.6875rem;
  font-weight: 500;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  cursor: default;
  pointer-events: none;
}

.ss-hero .elementor-widget-heading .elementor-heading-title {
  margin: 0;
  color: var(--ss-warm-white, #faf8f4) !important;
  font-family: var(--ss-font-display, "Cormorant Garamond", Georgia, serif) !important;
  font-size: var(--ss-text-hero, clamp(3.5rem, 2.4rem + 3.2vw, 4.875rem)) !important;
  font-weight: 500 !important;
  line-height: 1.02 !important;
  letter-spacing: -0.018em !important;
  text-transform: none !important;
  text-align: left !important;
  text-wrap: pretty;
}

/* Supporting line = middle button widget(s) */
.ss-hero > .e-con-inner > .e-con > .elementor-widget-button:not(:first-child):not(:last-child) .elementor-button {
  display: inline-flex;
  align-items: flex-start;
  max-width: 34rem;
  min-height: auto;
  padding: 0;
  margin-top: 1.875rem; /* 30px — headline → support */
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  color: rgba(250, 248, 244, 0.86) !important;
  font-family: var(--ss-font-body, "Poppins", "Source Sans 3", "Segoe UI", system-ui, sans-serif);
  font-size: 1.125rem;
  font-weight: 400;
  line-height: var(--ss-leading-normal, 1.6);
  letter-spacing: var(--ss-tracking-normal, 0);
  text-transform: none !important;
  text-align: left;
  white-space: normal;
  cursor: default;
  pointer-events: none;
}

/* CTA = last button widget */
.ss-hero > .e-con-inner > .e-con > .elementor-widget-button:last-child .elementor-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.65rem;
  min-height: 48px;
  margin-top: var(--ss-space-6, 2rem);
  padding: 0.8rem 1.45rem;
  background-color: transparent !important;
  border: 1px solid rgba(214, 178, 104, 0.78) !important;
  border-radius: var(--ss-radius-sm, 2px);
  color: var(--ss-warm-white, #faf8f4) !important;
  font-family: var(--ss-font-body, "Poppins", "Source Sans 3", "Segoe UI", system-ui, sans-serif);
  font-size: var(--ss-text-body-sm, 0.875rem);
  font-weight: 500;
  letter-spacing: var(--ss-tracking-wide, 0.06em);
  text-transform: uppercase;
  text-decoration: none;
  box-shadow: none !important;
  pointer-events: auto;
  cursor: pointer;
  transition:
    color 320ms var(--ss-ease-primary, cubic-bezier(0.22, 1, 0.36, 1)),
    background-color 320ms var(--ss-ease-primary, cubic-bezier(0.22, 1, 0.36, 1)),
    border-color 320ms var(--ss-ease-primary, cubic-bezier(0.22, 1, 0.36, 1)),
    transform 320ms var(--ss-ease-primary, cubic-bezier(0.22, 1, 0.36, 1));
}

.ss-hero > .e-con-inner > .e-con > .elementor-widget-button:last-child .elementor-button::after {
  content: "";
  display: inline-block;
  width: 0.42em;
  height: 0.42em;
  margin-top: -0.05em;
  border-right: 1px solid currentColor;
  border-top: 1px solid currentColor;
  transform: rotate(45deg);
  transition: transform 320ms var(--ss-ease-primary, cubic-bezier(0.22, 1, 0.36, 1));
}

@media (hover: hover) and (pointer: fine) {
  .ss-hero > .e-con-inner > .e-con > .elementor-widget-button:last-child .elementor-button:hover,
  .ss-hero > .e-con-inner > .e-con > .elementor-widget-button:last-child .elementor-button:focus-visible {
    background-color: rgba(31, 73, 55, 0.72) !important;
    border-color: var(--ss-muted-gold, #d6b268) !important;
    color: var(--ss-warm-white, #faf8f4) !important;
    transform: translate3d(0.12rem, 0, 0);
  }

  .ss-hero > .e-con-inner > .e-con > .elementor-widget-button:last-child .elementor-button:hover::after,
  .ss-hero > .e-con-inner > .e-con > .elementor-widget-button:last-child .elementor-button:focus-visible::after {
    transform: rotate(45deg) translate3d(0.08rem, -0.08rem, 0);
  }
}

.ss-hero > .e-con-inner > .e-con > .elementor-widget-button:last-child .elementor-button:focus-visible {
  outline: 2px solid var(--ss-muted-gold, #d6b268);
  outline-offset: 3px;
}

/* =========================================================================
 * SEARCH PANEL — homepage .ss-search-panel + Somani Luxury Filter System
 * Native GET / query behavior is preserved.
 * ========================================================================= */

.ss-search-panel {
  --ss-search-overlap: 3.75rem;
  position: relative;
  z-index: 12;
  width: 88%;
  max-width: 80rem;
  margin-inline: auto;
  margin-top: calc(-1 * var(--ss-search-overlap));
  margin-bottom: var(--ss-space-7, 3rem);
  padding: 0;
  overflow: visible;
  background-color: var(--ss-ivory, #f7f3ea);
  border: 1px solid var(--ss-border-light, #e4ded2);
  border-radius: var(--ss-radius-md, 4px);
  box-shadow: var(--ss-shadow-lift, 0 8px 24px rgba(22, 53, 40, 0.06));
  font-family: var(--ss-font-body, "Poppins", "Source Sans 3", "Segoe UI", system-ui, sans-serif);
}

.ss-search-panel.e-con-boxed,
.ss-search-panel > .e-con-inner {
  max-width: 100%;
  overflow: visible;
}

.ss-search-panel > .e-con-inner {
  display: flex;
  flex-direction: column;
  gap: var(--ss-space-4, 1rem);
  width: 100%;
  padding: 1.35rem 1.75rem 1.15rem;
}

.ss-search-panel .search_wrapper,
.ss-search-panel .search_wr_elementor,
.ss-search-panel .wpestate-adv-holder {
  background: transparent;
  box-shadow: none;
  border: 0;
  margin: 0;
  padding: 0;
  width: 100%;
}

.ss-search-panel .search_wrapper_color,
.ss-search-panel .adv-search-header {
  display: none;
}

/* Somani Search Component */
.ss-somani-search {
  display: flex;
  flex-direction: column;
  width: 100%;
  gap: 0.85rem;
  font-family: var(--ss-font-body, "Helvetica Neue", Helvetica, Arial, sans-serif);
}

/* 1. Mode Bar */
.ss-somani-search__mode-bar {
  display: inline-flex;
  align-items: center;
  align-self: flex-start;
  flex-wrap: wrap;
  max-width: 100%;
  background: var(--ss-warm-white, #faf8f4);
  border: 1px solid var(--ss-border-light, #e4ded2);
  border-radius: var(--ss-radius-md, 4px);
  padding: 3px;
  gap: 2px;
}

.ss-somani-search__mode-tab {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.45rem 1.1rem;
  font-family: inherit;
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--ss-text-secondary, #5c6b7a);
  background: transparent;
  border: 0;
  border-radius: var(--ss-radius-sm, 3px);
  cursor: pointer;
  transition: all var(--ss-duration-standard, 280ms) var(--ss-ease-primary, cubic-bezier(0.22, 1, 0.36, 1));
}

.ss-somani-search__mode-tab:hover:not(.is-active) {
  color: var(--ss-forest, #1f4937);
  background: rgba(23, 63, 53, 0.04);
}

.ss-somani-search__mode-tab.is-active {
  background-color: var(--ss-forest, #1f4937);
  color: var(--ss-warm-white, #faf8f4);
  box-shadow: 0 2px 8px rgba(22, 53, 40, 0.14);
}

.ss-somani-search__mode-tab:focus-visible {
  outline: 2px solid var(--ss-muted-gold, #d6b268);
  outline-offset: 1px;
}

/* 2. Main Search Form Horizontal Row */
.ss-somani-search .ss-somani-search__form {
  display: grid;
  grid-template-columns: minmax(115px, 1fr) minmax(180px, 1.6fr) minmax(115px, 1.1fr) minmax(120px, 1.15fr) minmax(120px, 1.15fr) auto;
  gap: 0;
  align-items: stretch;
  background: var(--ss-warm-white, #faf8f4);
  border: 1px solid var(--ss-border-light, #e4ded2);
  border-radius: var(--ss-radius-md, 4px);
  box-shadow: 0 4px 16px rgba(22, 53, 40, 0.04);
  overflow: hidden;
  width: 100%;
}

.ss-somani-search__form.ss-somani-search__form--no-config {
  grid-template-columns: minmax(130px, 1.15fr) minmax(200px, 1.8fr) minmax(130px, 1.2fr) minmax(130px, 1.2fr) auto;
}

.ss-somani-search__form.ss-somani-search__form--has-zone {
  grid-template-columns: minmax(105px, 0.95fr) minmax(150px, 1.35fr) minmax(105px, 0.95fr) minmax(110px, 1fr) minmax(100px, 0.9fr) minmax(110px, 1fr) auto;
}

.ss-somani-search__form.ss-somani-search__form--has-zone.ss-somani-search__form--no-config {
  grid-template-columns: minmax(115px, 1fr) minmax(170px, 1.5fr) minmax(115px, 1fr) minmax(110px, 0.95fr) minmax(115px, 1fr) auto;
}

.ss-somani-search__field {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 0.65rem 0.85rem 0.55rem;
  border-right: 1px solid var(--ss-border-light, #e4ded2);
  min-width: 0;
  background: transparent;
  transition: background-color var(--ss-duration-fast, 180ms) ease;
}

.ss-somani-search__field:hover {
  background-color: rgba(255, 255, 255, 0.6);
}

.ss-somani-search__field:focus-within {
  background-color: #ffffff;
}

.ss-somani-search__label {
  display: block;
  margin: 0 0 0.2rem;
  font-family: inherit;
  font-size: 0.625rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--ss-forest, #1f4937);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  cursor: pointer;
}

.ss-somani-search__control {
  position: relative;
  display: flex;
  align-items: center;
  width: 100%;
}

.ss-somani-search__select,
.ss-somani-search__input {
  width: 100%;
  border: 0;
  background: transparent;
  padding: 0.2rem 0;
  font-family: inherit;
  font-size: 0.875rem;
  font-weight: 500;
  color: var(--ss-text-primary, #20352c);
  outline: none;
  box-shadow: none;
  border-radius: 0;
}

.ss-somani-search__select {
  cursor: pointer;
  appearance: none;
  -webkit-appearance: none;
  padding-right: 1.25rem;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%231f4937' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right center;
}

.ss-somani-search__input::placeholder {
  color: var(--ss-text-secondary, #5c6b7a);
  font-weight: 400;
  opacity: 0.8;
}

.ss-somani-search__field--submit {
  border-right: 0;
  padding: 0;
  display: flex;
  align-items: stretch;
}

.ss-somani-search__submit-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  width: 100%;
  min-width: 7.5rem;
  padding: 0 1.5rem;
  background-color: var(--ss-forest, #1f4937);
  color: var(--ss-warm-white, #faf8f4);
  border: 0;
  font-family: inherit;
  font-size: 0.875rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  cursor: pointer;
  transition: all var(--ss-duration-standard, 280ms) var(--ss-ease-primary, cubic-bezier(0.22, 1, 0.36, 1));
}

.ss-somani-search__submit-btn:hover {
  background-color: var(--ss-forest-dark, #163528);
  color: var(--ss-muted-gold, #d6b268);
  box-shadow: inset 0 0 0 1px var(--ss-muted-gold, #d6b268);
}

.ss-somani-search__submit-btn:focus-visible {
  outline: 2px solid var(--ss-muted-gold, #d6b268);
  outline-offset: -2px;
}

.ss-somani-search__icon {
  flex-shrink: 0;
}

.ss-search-panel form:not(.ss-somani-search__form) {
  display: grid;
  grid-template-columns: minmax(11rem, 0.95fr) minmax(12rem, 1.55fr) minmax(11rem, 1.15fr) auto;
  gap: 0.85rem 1.15rem;
  align-items: end;
  width: 100%;
  margin: 0;
}

.ss-search-panel form > .elementor-field-group,
.ss-search-panel form > .elemenentor_submit_wrapper {
  float: none;
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
}

.ss-search-panel .elementor-field-label {
  display: block;
  margin: 0 0 0.4rem;
  color: var(--ss-forest, #1f4937);
  font-size: 0.6875rem;
  font-weight: 500;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.ss-search-panel .ss-search-mode {
  display: none;
}

.ss-search-panel--enhanced .ss-search-mode {
  display: flex;
  width: 100%;
  min-height: 48px;
  overflow: hidden;
  background: var(--ss-warm-white, #faf8f4);
  border: 1px solid var(--ss-border-light, #e4ded2);
  border-radius: var(--ss-radius-md, 4px);
}

.ss-search-panel--enhanced .ss-search-mode-host > .bootstrap-select {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.ss-search-panel .ss-search-mode__btn {
  flex: 1 1 0;
  min-height: 48px;
  margin: 0;
  padding: 0 0.75rem;
  border: 0;
  border-right: 1px solid var(--ss-border-light, #e4ded2);
  background: transparent;
  color: var(--ss-text-secondary, #5c6b7a);
  font-family: inherit;
  font-size: 0.9375rem;
  font-weight: 500;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  cursor: pointer;
  transition:
    background-color var(--ss-duration-standard, 280ms) var(--ss-ease-primary, cubic-bezier(0.22, 1, 0.36, 1)),
    color var(--ss-duration-standard, 280ms) var(--ss-ease-primary, cubic-bezier(0.22, 1, 0.36, 1));
}

.ss-search-panel .ss-search-mode__btn:last-child {
  border-right: 0;
}

.ss-search-panel .ss-search-mode__btn.is-active {
  background-color: var(--ss-forest, #1f4937);
  color: var(--ss-warm-white, #faf8f4);
  box-shadow: inset 0 -2px 0 var(--ss-muted-gold, #d6b268);
}

.ss-search-panel .ss-search-mode__btn:focus-visible {
  outline: 2px solid var(--ss-muted-gold, #d6b268);
  outline-offset: -2px;
  z-index: 1;
}

.ss-search-panel input.adv_locations_search,
.ss-search-panel .bootstrap-select > .dropdown-toggle {
  display: flex;
  align-items: center;
  width: 100%;
  min-height: 48px;
  margin: 0;
  padding: 0 0.9rem;
  background-color: var(--ss-warm-white, #faf8f4) !important;
  border: 1px solid var(--ss-border-light, #e4ded2) !important;
  border-radius: var(--ss-radius-md, 4px);
  box-shadow: none !important;
  color: var(--ss-text-primary, #20352c) !important;
  font-family: inherit;
  font-size: 0.9375rem;
  font-weight: 400;
  line-height: 1.4;
  text-align: left;
}

.ss-search-panel input.adv_locations_search::placeholder {
  color: var(--ss-text-secondary, #5c6b7a);
  opacity: 0.85;
}

.ss-search-panel input.adv_locations_search:focus,
.ss-search-panel input.adv_locations_search:focus-visible,
.ss-search-panel .bootstrap-select > .dropdown-toggle:focus,
.ss-search-panel .bootstrap-select > .dropdown-toggle:focus-visible {
  border-color: var(--ss-forest, #1f4937) !important;
  outline: 2px solid var(--ss-forest, #1f4937);
  outline-offset: 2px;
}

.ss-search-panel .bootstrap-select .dropdown-menu {
  z-index: var(--ss-z-dropdown, 100);
  background: var(--ss-warm-white, #faf8f4);
  border: 1px solid var(--ss-border-light, #e4ded2);
  border-radius: var(--ss-radius-md, 4px);
  box-shadow: var(--ss-shadow-lift, 0 8px 24px rgba(22, 53, 40, 0.06));
}

.ss-search-panel .bootstrap-select .dropdown-menu .inner {
  max-height: 16rem;
}

.ss-search-panel .bootstrap-select .bs-actionsbox {
  display: none;
}

.ss-search-panel .bootstrap-select .dropdown-item {
  color: var(--ss-text-primary, #20352c);
  font-size: 0.875rem;
}

.ss-search-panel .bootstrap-select .dropdown-item.active,
.ss-search-panel .bootstrap-select .dropdown-item:active,
.ss-search-panel .bootstrap-select .dropdown-item.selected {
  background-color: var(--ss-forest, #1f4937);
  color: var(--ss-warm-white, #faf8f4);
}

.ss-search-panel .ui-autocomplete,
.ui-autocomplete.ss-search-autocomplete {
  z-index: var(--ss-z-dropdown, 100);
  max-height: 16rem;
  overflow-y: auto;
  padding: 0.35rem 0;
  background: var(--ss-warm-white, #faf8f4);
  border: 1px solid var(--ss-border-light, #e4ded2);
  border-radius: var(--ss-radius-md, 4px);
  box-shadow: var(--ss-shadow-lift, 0 8px 24px rgba(22, 53, 40, 0.06));
}

.ss-search-panel .ui-autocomplete .ui-menu-item-wrapper,
.ui-autocomplete.ss-search-autocomplete .ui-menu-item-wrapper {
  padding: 0.55rem 0.9rem;
  color: var(--ss-text-primary, #20352c);
  font-size: 0.875rem;
}

.ss-search-panel .ui-autocomplete .ui-state-active,
.ui-autocomplete.ss-search-autocomplete .ui-state-active {
  margin: 0;
  background: var(--ss-forest, #1f4937);
  border: 0;
  color: var(--ss-warm-white, #faf8f4);
}

.ss-search-panel .wpresidence_button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.55rem;
  width: 100%;
  min-height: 48px;
  min-width: 8.75rem;
  margin: 0;
  padding: 0.75rem 1.35rem;
  background-color: var(--ss-forest, #1f4937) !important;
  border: 1px solid var(--ss-forest-dark, #163528) !important;
  border-radius: var(--ss-radius-md, 4px);
  box-shadow: none !important;
  color: var(--ss-warm-white, #faf8f4) !important;
  font-family: inherit;
  font-size: 0.8125rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  transition:
    background-color var(--ss-duration-standard, 280ms) var(--ss-ease-primary, cubic-bezier(0.22, 1, 0.36, 1)),
    border-color var(--ss-duration-standard, 280ms) var(--ss-ease-primary, cubic-bezier(0.22, 1, 0.36, 1));
}

.ss-search-panel .wpresidence_button::after {
  content: "";
  display: inline-block;
  width: 0.4em;
  height: 0.4em;
  margin-top: -0.05em;
  border-right: 1px solid currentColor;
  border-top: 1px solid currentColor;
  transform: rotate(45deg);
  transition: transform var(--ss-duration-standard, 280ms) var(--ss-ease-primary, cubic-bezier(0.22, 1, 0.36, 1));
}

.ss-search-panel .wpresidence_button:focus-visible {
  outline: 2px solid var(--ss-muted-gold, #d6b268);
  outline-offset: 3px;
}

.ss-search-panel .elementor-widget-button {
  align-self: flex-end;
}

.ss-search-panel .elementor-widget-button .elementor-button {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  min-height: 44px;
  padding: 0.35rem 0.05rem 0.45rem;
  background: transparent !important;
  border: 0 !important;
  border-bottom: 1px solid var(--ss-muted-gold, #d6b268) !important;
  border-radius: 0;
  box-shadow: none !important;
  color: var(--ss-forest, #1f4937) !important;
  font-family: inherit;
  font-size: 0.6875rem;
  font-weight: 500;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  transition:
    color var(--ss-duration-standard, 280ms) var(--ss-ease-primary, cubic-bezier(0.22, 1, 0.36, 1)),
    border-color var(--ss-duration-standard, 280ms) var(--ss-ease-primary, cubic-bezier(0.22, 1, 0.36, 1));
}

.ss-search-panel .elementor-widget-button .elementor-button::after {
  content: "";
  display: inline-block;
  width: 0.38em;
  height: 0.38em;
  border-right: 1px solid currentColor;
  border-top: 1px solid currentColor;
  transform: rotate(45deg);
  transition: transform var(--ss-duration-standard, 280ms) var(--ss-ease-primary, cubic-bezier(0.22, 1, 0.36, 1));
}

.ss-search-panel .elementor-widget-button .elementor-button:focus-visible {
  outline: 2px solid var(--ss-muted-gold, #d6b268);
  outline-offset: 3px;
}

@media (hover: hover) and (pointer: fine) {
  .ss-search-panel .ss-search-mode__btn:hover:not(.is-active) {
    color: var(--ss-forest, #1f4937);
    background-color: rgba(31, 73, 55, 0.04);
  }

  .ss-search-panel .wpresidence_button:hover {
    background-color: var(--ss-forest-dark, #163528) !important;
    border-color: var(--ss-muted-gold, #d6b268) !important;
  }

  .ss-search-panel .wpresidence_button:hover::after {
    transform: rotate(45deg) translate3d(0.08rem, -0.08rem, 0);
  }

  .ss-search-panel .elementor-widget-button .elementor-button:hover {
    color: var(--ss-gold-soft, #b7924a) !important;
    border-bottom-color: var(--ss-forest, #1f4937) !important;
  }

  .ss-search-panel .elementor-widget-button .elementor-button:hover::after {
    transform: rotate(45deg) translate3d(0.06rem, -0.06rem, 0);
  }
}

@media (prefers-reduced-motion: reduce) {
  .ss-header,
  .elementor-31735,
  .ss-header .wpresidence-navigation-menu .menu-item-link,
  .ss-header .wpresidence-navigation-menu .menu-item-link::after,
  .elementor-31735 .wpresidence-navigation-menu .menu-item-link,
  .elementor-31735 .wpresidence-navigation-menu .menu-item-link::after,
  .ss-header .header_phone,
  .ss-header .header_phone a,
  .elementor-31735 .header_phone,
  .elementor-31735 .header_phone a,
  .ss-hero > .e-con-inner > .e-con > .elementor-widget-button:last-child .elementor-button,
  .ss-hero > .e-con-inner > .e-con > .elementor-widget-button:last-child .elementor-button::after {
    transition: none;
  }

  .ss-hero > .e-con-inner > .e-con > .elementor-widget-button:last-child .elementor-button:hover {
    transform: none;
  }

  .ss-hero > .e-con-inner > .e-con > .elementor-widget-button:last-child .elementor-button:hover::after {
    transform: rotate(45deg);
  }
}

@media (prefers-reduced-motion: reduce) {
  .ss-search-panel .ss-search-mode__btn,
  .ss-search-panel .wpresidence_button,
  .ss-search-panel .wpresidence_button::after,
  .ss-search-panel .elementor-widget-button .elementor-button,
  .ss-search-panel .elementor-widget-button .elementor-button::after,
  .ss-search-panel .bootstrap-select > .dropdown-toggle,
  .ss-search-panel input.adv_locations_search {
    transition: none;
  }

  .ss-search-panel .wpresidence_button:hover::after,
  .ss-search-panel .elementor-widget-button .elementor-button:hover::after {
    transform: rotate(45deg);
  }
}

/* =========================================================================
 * FEATURED PROPERTIES — .ss-featured
 * Visual system only. Native Top Bar filters / AJAX / type8 cards unchanged.
 * Title = h2.elementor-heading-title; support = p.elementor-heading-title.
 * ========================================================================= */

.ss-featured {
  --ss-featured-chip-h: 38px;
  --ss-featured-label-size: 10px;
  --ss-featured-label-track: 0.16em;
  --ss-featured-visible: 3.3;
  --ss-featured-gap: 1.25rem;
  --ss-featured-card-basis: calc(
    (100% - (var(--ss-featured-visible) - 1) * var(--ss-featured-gap)) /
      var(--ss-featured-visible)
  );
  padding: 56px 48px 64px !important; /* beats Elementor container --padding-* */
  background-color: var(--ss-warm-white, #faf8f4);
  font-family: var(--ss-font-body, Poppins, sans-serif);
  overflow-x: clip;
  /* 2-row flex: intro boxed + Top Bar. 23px = support → PROPERTY TYPE. */
  gap: 23px !important;
  row-gap: 23px !important;
  column-gap: 0 !important;
}

.ss-featured > .e-con-boxed {
  margin-bottom: 0;
}

.ss-featured > .e-con-boxed > .e-con-inner {
  max-width: none;
  width: 100%;
  margin-inline: 0;
  gap: 10px !important; /* title → support, restrained editorial */
}

.ss-featured > .e-con-boxed .elementor-widget-heading {
  flex: 1 1 100%;
  width: 100%;
  max-width: 100%;
  align-self: stretch;
  margin: 0;
  padding: 0;
  text-align: left;
}

.ss-featured > .e-con-boxed .elementor-widget-heading.animated {
  animation: none;
  visibility: visible;
  opacity: 1;
  transform: none;
}

.ss-featured > .e-con-boxed .elementor-widget-heading:first-child {
  margin-bottom: 0;
}

.ss-featured > .e-con-boxed .elementor-widget-heading:last-child {
  margin-bottom: 0; /* support → PROPERTY TYPE is .ss-featured row-gap */
  max-width: 38em;
}

.ss-featured h2.elementor-heading-title::before {
  content: "Featured properties";
  display: block;
  margin: 0 0 8px;
  font-family: var(--ss-font-body, Poppins, sans-serif);
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--ss-muted-gold, #d6b268);
  line-height: 1.3;
}

.ss-featured h2.elementor-heading-title {
  margin: 0;
  font-family: var(--ss-font-display, "Cormorant Garamond", Georgia, serif) !important;
  font-size: clamp(1.75rem, 1.45rem + 1.1vw, 2.5rem) !important;
  font-weight: 500 !important;
  letter-spacing: -0.02em !important;
  line-height: 1.12 !important;
  text-transform: none !important;
  text-align: left !important;
  color: var(--ss-forest, #1f4937) !important;
}

@media (min-width: 1025px) and (max-width: 1199px) {
  .ss-featured h2.elementor-heading-title {
    white-space: nowrap;
  }
}

/* -------------------------------------------------------------------------
 * Desktop Editorial Composition (>= 1200px)
 * Compact 2-column upper composition (Left ~55%: Eyebrow + Heading + Support;
 * Right ~45%: Filters & chips), full-width cards below with 30px gap.
 * ------------------------------------------------------------------------- */

@media (min-width: 1200px) {
  .ss-featured {
    display: grid !important;
    grid-template-columns: minmax(0, 55%) minmax(0, 45%) !important;
    column-gap: 0 !important;
    row-gap: 0 !important;
    align-items: start !important;
    position: relative !important;
  }

  .ss-featured > .e-con-boxed {
    grid-column: 1 !important;
    grid-row: 1 !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding-right: 32px !important;
    box-sizing: border-box !important;
  }

  .ss-featured h2.elementor-heading-title {
    white-space: normal !important;
  }

  .ss-featured > .e-con-full,
  .ss-featured .elementor-widget-Wpresidence_Properties_Top_Bar,
  .ss-featured .elementor-widget-container,
  .ss-featured .wpresidence_shortcode_listings_wrapper {
    display: contents !important;
  }

  .ss-featured .control_tax_wrapper {
    display: block !important;
    grid-column: 2 !important;
    grid-row: 1 !important;
    justify-self: end !important;
    align-self: start !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
  }

  .ss-featured .control_tax_wrapper::before {
    display: block !important;
    width: 100% !important;
    grid-column: auto !important;
    margin-bottom: 8px !important;
  }

  .ss-featured .control_tax_sh {
    float: left !important;
    margin-inline-end: 8px !important;
  }

  .ss-featured .control_tax_sh[data-taxonomy="property_category"]:last-of-type,
  .ss-featured .control_tax_sh[data-taxonomy="property_category"]:has(+ .control_tax_sh[data-taxonomy="property_city"]) {
    margin-inline-end: 0 !important;
  }

  .ss-featured .control_tax_sh[data-taxonomy="property_city"] {
    margin-top: 27px !important;
  }

  .ss-featured .control_tax_sh[data-taxonomy="property_category"] + .control_tax_sh[data-taxonomy="property_city"] {
    clear: left !important;
    grid-column: auto !important;
  }

  .ss-featured .control_tax_sh[data-taxonomy="property_city"]:last-of-type {
    margin-inline-end: 0 !important;
  }

  .ss-featured .control_tax_wrapper::after {
    display: block !important;
    width: 100% !important;
    clear: both !important;
    grid-column: auto !important;
    padding-top: 15px !important;
    margin-top: 0 !important;
  }

  .ss-featured .items_shortcode_wrapper {
    grid-column: 1 / -1 !important;
    grid-row: 2 !important;
    width: 100% !important;
    margin-top: 30px !important;
    margin-bottom: 8px !important;
  }

  .ss-featured .listinglink-wrapper_sh_listings {
    grid-column: 1 / -1 !important;
    grid-row: 3 !important;
    width: 100% !important;
  }

  .ss-featured .ss-featured-rail-nav {
    left: 48px;
    right: 48px;
  }
}

@media (min-width: 1200px) and (max-width: 1280px) {
  .ss-featured .ss-featured-rail-nav {
    left: 36px;
    right: 36px;
  }
}

.ss-featured p.elementor-heading-title {
  font-family: var(--ss-font-body, Poppins, sans-serif) !important;
  font-size: 0.9375rem !important;
  font-weight: 400 !important;
  line-height: 1.55 !important;
  letter-spacing: 0.01em !important;
  text-transform: none !important;
  text-align: left !important;
  color: var(--ss-text-secondary, #5c6b7a) !important;
}

/* -------------------------------------------------------------------------
 * Filters — native .control_tax_sh, single-select. Labels are CSS-only
 * (no extra DOM that would break parent().parent() AJAX).
 * ------------------------------------------------------------------------- */

.ss-featured .control_tax_wrapper {
  display: grid;
  grid-template-columns: repeat(4, max-content);
  justify-content: flex-start !important; /* beats Elementor widget justify:center */
  justify-items: start;
  align-items: center;
  column-gap: 8px;
  row-gap: 8px; /* labels → chips */
  margin: 0 0 25px !important; /* helper → cards */
  padding: 0;
  background: transparent;
  text-align: left;
  scroll-padding-inline: 0;
}

.ss-featured .control_tax_wrapper::before,
.ss-featured .control_tax_wrapper::after,
.ss-featured .control_tax_sh[data-taxonomy="property_category"] + .control_tax_sh[data-taxonomy="property_city"]::before {
  font-family: var(--ss-font-body, Poppins, sans-serif);
  font-weight: 500;
  letter-spacing: var(--ss-featured-label-track);
  text-transform: uppercase;
  color: var(--ss-text-secondary, #5c6b7a);
  line-height: 1.2;
}

.ss-featured .control_tax_wrapper::before {
  content: "Property type";
  grid-column: 1 / -1;
  font-size: var(--ss-featured-label-size);
}

.ss-featured .control_tax_wrapper::after {
  content: "Choose one filter";
  grid-column: 1 / -1;
  margin-top: 7px; /* with row-gap 8px → 15px below Location chips */
  padding-bottom: 0;
  font-size: 10.5px;
  font-weight: 400;
  letter-spacing: 0.04em;
}

.ss-featured .control_tax_sh[data-taxonomy="property_category"] + .control_tax_sh[data-taxonomy="property_city"] {
  grid-column: 1;
  /* Beats .control_tax_sh { margin: 0 !important }. 27px + row-gap 8px = 35px
     type-chips → location-chips = 15px + 12px label + 8px. */
  margin-top: 27px !important;
  position: relative;
}

.ss-featured .control_tax_sh[data-taxonomy="property_category"] + .control_tax_sh[data-taxonomy="property_city"]::before {
  content: "Location";
  position: absolute;
  left: 0;
  top: -20px; /* 8px above chips + 12px label */
  font-size: var(--ss-featured-label-size);
  pointer-events: none;
  white-space: nowrap;
}

.ss-featured .control_tax_sh {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: var(--ss-featured-chip-h);
  padding: 0 14px !important;
  margin: 0 !important;
  border: 1px solid var(--ss-border-light, #e4ded2) !important;
  border-radius: 999px !important;
  background: var(--ss-ivory, #f7f3ea) !important;
  box-shadow: none !important;
  font-family: inherit;
  font-size: 12.5px !important;
  font-weight: 500 !important;
  line-height: 1;
  letter-spacing: 0.02em;
  color: var(--ss-forest, #1f4937) !important;
  white-space: nowrap;
  cursor: pointer;
  transition:
    background-color 250ms ease,
    color 250ms ease,
    border-color 250ms ease,
    box-shadow 250ms ease;
}

.ss-featured .control_tax_sh:hover,
.ss-featured .control_tax_sh:focus-visible {
  border-color: var(--ss-muted-gold, #d6b268) !important;
  color: var(--ss-forest-dark, #163528) !important;
}

.ss-featured .control_tax_sh.tax_active {
  background: var(--ss-forest, #1f4937) !important;
  border-color: var(--ss-forest, #1f4937) !important;
  color: var(--ss-ivory, #f7f3ea) !important;
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--ss-muted-gold, #d6b268) 70%, transparent) !important;
}

/* -------------------------------------------------------------------------
 * Cards — property_unit_type8 on a horizontal rail (5C.2)
 * Native Bootstrap col-* widths are overridden only inside .ss-featured.
 * ------------------------------------------------------------------------- */

.ss-featured .wpresidence_shortcode_listings_wrapper {
  position: relative;
}

.ss-featured .items_shortcode_wrapper {
  display: flex;
  flex-flow: row nowrap;
  align-items: flex-start;
  gap: var(--ss-featured-gap);
  margin: 0 0 8px;
  padding: 0 0 4px;
  overflow-x: auto;
  overflow-y: hidden;
  overscroll-behavior-x: contain;
  scroll-snap-type: x proximity;
  scroll-padding-inline: 0;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
  touch-action: pan-x pan-y;
}

.ss-featured .items_shortcode_wrapper::-webkit-scrollbar {
  display: none;
}

.ss-featured .items_shortcode_wrapper > .listing_wrapper,
.ss-featured .listing_wrapper.col-lg-3,
.ss-featured .listing_wrapper.col-md-6,
.ss-featured .listing_wrapper.col-sm-6,
.ss-featured .listing_wrapper.col-12 {
  flex: 0 0 var(--ss-featured-card-basis);
  width: var(--ss-featured-card-basis) !important;
  max-width: var(--ss-featured-card-basis) !important;
  min-width: 0;
  float: none;
  margin: 0;
  padding: 0;
  scroll-snap-align: start;
  scroll-snap-stop: always;
}

.ss-featured .items_shortcode_wrapper .no_results {
  flex: 1 1 100%;
  min-width: 100%;
  margin: 0.5rem 0 0;
}

.ss-featured .ss-featured-rail-nav {
  position: absolute;
  top: 7.5rem; /* JS overwrites from live card-track rect vs nav containing block */
  right: 0;
  left: 0;
  z-index: 4;
  display: flex;
  justify-content: space-between;
  pointer-events: none;
}

.ss-featured .ss-featured-rail-nav[hidden] {
  display: none;
}

.ss-featured .ss-featured-rail-nav__btn {
  pointer-events: auto;
  box-sizing: border-box;
  width: 44px;
  height: 44px;
  padding: 0;
  border: 1px solid var(--ss-muted-gold, #d6b268);
  border-radius: 2px;
  background: var(--ss-ivory, #f7f3ea);
  color: var(--ss-forest, #1f4937);
  font-size: 1.25rem;
  line-height: 1;
  cursor: pointer;
}

.ss-featured .ss-featured-rail-nav__btn:hover,
.ss-featured .ss-featured-rail-nav__btn:focus-visible {
  background: var(--ss-forest, #1f4937);
  color: var(--ss-ivory, #f7f3ea);
}

.ss-featured .ss-featured-rail-nav__btn:disabled {
  opacity: 0.35;
  cursor: default;
  background: var(--ss-ivory, #f7f3ea);
  color: var(--ss-forest, #1f4937);
}

.ss-featured .property_listing.property_unit_type8 {
  background: #fff;
  border: 1px solid color-mix(in srgb, var(--ss-border-light, #e4ded2) 80%, transparent);
  border-radius: 4px;
  box-shadow: 0 1px 2px rgba(22, 53, 40, 0.04);
  overflow: hidden;
  transition: transform 0.4s ease, box-shadow 0.4s ease;
}

.ss-featured .listing-unit-img-wrapper {
  position: relative;
  overflow: hidden;
  touch-action: pan-y;
}

.ss-featured .property_unit_carousel {
  touch-action: pan-y;
}

.ss-featured .featured_gradient {
  background: linear-gradient(
    to top,
    rgba(22, 53, 40, 0.38) 0%,
    rgba(22, 53, 40, 0.08) 42%,
    transparent 70%
  );
  opacity: 1;
}

.ss-featured .property_listing img {
  transition: transform 0.7s ease;
}

@media (hover: hover) and (pointer: fine) {
  .ss-featured .property_listing:hover {
    transform: translateY(-3px);
    box-shadow: 0 10px 28px rgba(22, 53, 40, 0.08);
  }

  .ss-featured .property_listing:hover img {
    transform: scale(1.035);
  }
}

.ss-featured .featured_div,
.ss-featured .ribbon-inside.Mortgage-Available,
.ss-featured .action_tag_wrapper.For.Sale,
.ss-featured .property_agent_wrapper {
  display: none !important;
}

.ss-featured .tag-wrapper,
.ss-featured .status-wrapper {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  background: transparent;
  box-shadow: none;
}

.ss-featured .ribbon-inside.RERA-project,
.ss-featured .ribbon-inside.Under-Construction {
  background: color-mix(in srgb, var(--ss-forest, #1f4937) 82%, transparent);
  border: 1px solid color-mix(in srgb, var(--ss-muted-gold, #d6b268) 55%, transparent);
  border-radius: 2px;
  box-shadow: none;
  padding: 4px 8px;
  margin: 0;
  font-family: inherit;
  font-size: 9.5px;
  font-weight: 500;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--ss-ivory, #f7f3ea);
}

.ss-featured .icon-fav {
  opacity: 0.72;
  transform: scale(0.92);
}

.ss-featured .carousel-control-prev,
.ss-featured .carousel-control-next {
  width: 32px;
  opacity: 0.55;
  background: transparent;
}

.ss-featured .carousel-control-prev:hover,
.ss-featured .carousel-control-next:hover,
.ss-featured .carousel-control-prev:focus-visible,
.ss-featured .carousel-control-next:focus-visible {
  opacity: 0.9;
}

.ss-featured .property_listing h4,
.ss-featured .property_listing h4 a {
  font-family: var(--ss-font-display, "Cormorant Garamond", Georgia, serif);
  font-size: 1.375rem;
  font-weight: 500;
  line-height: 1.25;
  color: var(--ss-forest, #1f4937);
  text-transform: none;
}

.ss-featured .property_listing:has(.action_tag_wrapper.For.Sale) h4::before {
  content: "For sale";
  display: block;
  margin: 0 0 6px;
  font-family: var(--ss-font-body, Poppins, sans-serif);
  font-size: 10px;
  font-weight: 500;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--ss-text-secondary, #5c6b7a);
}

.ss-featured .property_card_categories_wrapper,
.ss-featured .property_card_categories_wrapper a,
.ss-featured .property_listing_details_v2,
.ss-featured .listing_unit_price_wrapper .price_label {
  font-family: var(--ss-font-body, Poppins, sans-serif);
  font-size: 0.75rem;
  font-weight: 400;
  color: var(--ss-text-secondary, #5c6b7a);
}

.ss-featured .property_listing_details_v2 {
  display: flex;
  gap: 14px;
  margin: 10px 0 0;
  padding: 10px 0 0;
  border-top: 1px solid color-mix(in srgb, var(--ss-muted-gold, #d6b268) 42%, transparent);
  letter-spacing: 0.02em;
}

.ss-featured .listing_unit_price_wrapper {
  margin-top: 8px;
  font-family: var(--ss-font-body, Poppins, sans-serif);
  font-size: 1.05rem !important;
  font-weight: 600 !important;
  color: var(--ss-forest-dark, #163528) !important;
}

.ss-featured .listing_unit_price_wrapper .price_label {
  margin-left: 4px;
}

@media (prefers-reduced-motion: reduce) {
  .ss-featured .property_listing,
  .ss-featured .property_listing img,
  .ss-featured .control_tax_sh,
  .ss-featured .items_shortcode_wrapper {
    transition: none;
    scroll-behavior: auto;
  }

  .ss-featured .property_listing:hover,
  .ss-featured .property_listing:hover img {
    transform: none;
  }
}

/* =========================================================================
 * TRUSTED DEVELOPERS — .ss-developer-rail
 * Child-theme continuous marquee. Native Elementor Swiper stays in DOM
 * but is hidden after enhancement so we do not fight its discrete autoplay.
 * ========================================================================= */

.ss-developer-rail {
  --ss-developer-gap: 60px;
  --ss-developer-duration: 80s;
  --ss-developer-logo-h: 64px;
  overflow-x: clip;
  padding-top: 3.25rem;
  background-color: var(--ss-ivory, #f7f3ea);
}

.ss-developer-rail--ready .elementor-widget-image-carousel .elementor-image-carousel-wrapper {
  display: none !important;
  height: 0 !important;
  overflow: hidden !important;
  pointer-events: none !important;
}

.ss-developer-rail--ready .elementor-widget-image-carousel {
  min-height: 0;
}

.ss-developer-rail__group[aria-hidden="true"] {
  pointer-events: none;
}

.ss-developer-rail__viewport {
  overflow: hidden;
  width: 100%;
}

.ss-developer-rail__track {
  display: flex;
  width: max-content;
  will-change: transform;
  animation: ss-developer-marquee var(--ss-developer-duration) linear infinite;
}

.ss-developer-rail__group {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  gap: var(--ss-developer-gap);
  padding-inline-end: var(--ss-developer-gap);
}

.ss-developer-rail__group img {
  display: block;
  height: var(--ss-developer-logo-h);
  width: auto;
  max-width: 180px;
  object-fit: contain;
  flex: 0 0 auto;
}

.ss-developer-rail:hover .ss-developer-rail__track,
.ss-developer-rail:focus-within .ss-developer-rail__track,
.ss-developer-rail.is-paused .ss-developer-rail__track {
  animation-play-state: paused;
}

.ss-developer-rail--static .ss-developer-rail__viewport {
  overflow-x: auto;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
}

.ss-developer-rail--static .ss-developer-rail__viewport::-webkit-scrollbar {
  display: none;
}

.ss-developer-rail--static .ss-developer-rail__track {
  animation: none;
  will-change: auto;
}

/* =========================================================================
 * VALUE MARQUEE — .ss-value-marquee
 * Inserted after .ss-search-panel and before .ss-featured.
 * Negative top margin cancels the search panel's existing bottom margin
 * so the strip sits against the card. Search / Featured rules are unchanged.
 * ========================================================================= */

.ss-value-marquee {
  --ss-value-duration: 48s;
  --ss-value-height: 52px;
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  width: 100%;
  height: var(--ss-value-height);
  margin-top: calc(-1 * var(--ss-space-7, 3rem));
  margin-bottom: 0;
  background-color: var(--ss-forest, #1f4937);
  color: var(--ss-ivory, #f7f3ea);
  overflow: hidden;
}

.ss-value-marquee__viewport {
  overflow: hidden;
  width: 100%;
  height: 100%;
}

.ss-value-marquee__track {
  display: flex;
  align-items: center;
  width: max-content;
  height: 100%;
  will-change: transform;
  animation: ss-value-marquee var(--ss-value-duration) linear infinite;
}

.ss-value-marquee__group {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  height: 100%;
}

.ss-value-marquee__item {
  display: inline-flex;
  align-items: center;
  gap: 1.75rem;
  height: 100%;
  padding-inline-end: 1.75rem;
}

.ss-value-marquee__label {
  font-family: var(--ss-font-body, Poppins, sans-serif);
  font-size: 0.6875rem;
  font-weight: 500;
  letter-spacing: 0.18em;
  line-height: 1;
  text-transform: uppercase;
  white-space: nowrap;
  color: var(--ss-ivory, #f7f3ea);
}

.ss-value-marquee__mark {
  width: 5px;
  height: 5px;
  flex: 0 0 auto;
  background-color: var(--ss-muted-gold, #d6b268);
  transform: rotate(45deg);
}

.ss-value-marquee:focus-within .ss-value-marquee__track,
.ss-value-marquee.is-paused .ss-value-marquee__track {
  animation-play-state: paused;
}

@media (hover: hover) and (pointer: fine) {
  .ss-value-marquee:hover .ss-value-marquee__track {
    animation-play-state: paused;
  }
}

.ss-value-marquee:focus {
  outline: none;
}

.ss-value-marquee:focus-visible {
  outline: 1px solid var(--ss-muted-gold, #d6b268);
  outline-offset: -2px;
}

.ss-value-marquee--static .ss-value-marquee__viewport {
  overflow-x: auto;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
}

.ss-value-marquee--static .ss-value-marquee__viewport::-webkit-scrollbar {
  display: none;
}

.ss-value-marquee--static .ss-value-marquee__track {
  animation: none;
  will-change: auto;
}

/* =========================================================================
 * HOMEPAGE VISUAL COMPLETION — remaining sections only
 * Featured / Header / Hero / Search are not restyled here.
 * Hooks use unique homepage widgets + adjacent siblings. No Elementor IDs.
 * ========================================================================= */

body.home {
  overflow-x: clip;
}

/* -------------------------------------------------------------------------
 * 1. Client Feedback — hide publicly, keep Elementor markup
 * ------------------------------------------------------------------------- */

body.home .e-con.e-parent:has(.elementor-widget-WpResidence_Testimonial),
body.home .e-con.e-parent:has(.elementor-widget-WpResidenc_Items_Slider) {
  display: none !important;
  margin: 0 !important;
  padding: 0 !important;
  min-height: 0 !important;
  height: 0 !important;
  overflow: hidden !important;
  visibility: hidden;
  pointer-events: none;
}

/* -------------------------------------------------------------------------
 * 2. Location intro + destination tiles
 * ------------------------------------------------------------------------- */

body.home .e-con.e-parent:has(+ .e-con.e-parent .elementor-widget-Wpresidence_Grids) {
  padding: 3.25rem 3rem 1.75rem !important;
  background-color: var(--ss-ivory, #f7f3ea);
}

body.home .e-con.e-parent:has(+ .e-con.e-parent .elementor-widget-Wpresidence_Grids) .elementor-widget-heading {
  order: 1;
}

body.home .e-con.e-parent:has(+ .e-con.e-parent .elementor-widget-Wpresidence_Grids) .elementor-widget-button {
  order: 2;
}

body.home .e-con.e-parent:has(+ .e-con.e-parent .elementor-widget-Wpresidence_Grids) .elementor-heading-title {
  font-family: var(--ss-font-display, "Cormorant Garamond", Georgia, serif);
  font-size: var(--ss-text-h2, 2.25rem);
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: 0.04em;
  color: var(--ss-forest, #1f4937);
  max-width: 22em;
}

body.home .e-con.e-parent:has(+ .e-con.e-parent .elementor-widget-Wpresidence_Grids) .elementor-widget-button .elementor-button {
  margin-top: 0.25rem;
  padding: 0.7rem 1.35rem;
  border: 1px solid var(--ss-muted-gold, #d6b268);
  border-radius: 2px;
  background: transparent;
  color: var(--ss-forest, #1f4937);
  font-family: var(--ss-font-body, Poppins, sans-serif);
  font-size: 0.72rem;
  font-weight: 500;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

body.home .e-con.e-parent:has(.elementor-widget-Wpresidence_Grids) {
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  align-items: flex-start !important;
  padding: 0 !important;
  margin-bottom: 0 !important;
  background-color: var(--ss-ivory, #f7f3ea);
  overflow: visible !important;
}

body.home .e-con.e-parent:has(.elementor-widget-Wpresidence_Grids) .e-con {
  align-items: flex-start !important;
  height: auto !important;
  max-height: none !important;
}

body.home .e-con.e-parent:has(.elementor-widget-Wpresidence_Grids) .elementor-widget-Wpresidence_Grids {
  width: 100%;
  height: auto !important;
  max-height: none !important;
  flex-shrink: 0 !important;
  --container-widget-height: auto !important;
}

body.home .e-con.e-parent:has(.elementor-widget-Wpresidence_Grids) .elementor-widget-container,
body.home .e-con.e-parent:has(.elementor-widget-Wpresidence_Grids) .elementor_wpresidece_grid {
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
}

body.home .e-con.e-parent:has(.elementor-widget-Wpresidence_Grids) .elementor_wpresidece_grid {
  margin: 0;
}

body.home .e-con.e-parent:has(.elementor-widget-Wpresidence_Grids) .elementor_residence_grid {
  padding: 0 5px;
}

body.home .e-con.e-parent:has(.elementor-widget-Wpresidence_Grids) .places_background_image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center;
}

body.home .e-con.e-parent:has(.elementor-widget-Wpresidence_Grids) .places_cover {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  background-color: transparent !important;
  background-image: linear-gradient(
    180deg,
    rgba(14, 20, 18, 0.12) 0%,
    rgba(10, 14, 13, 0.22) 46%,
    rgba(6, 10, 9, 0.56) 100%
  ) !important;
  opacity: 1 !important;
  transition: background-image var(--ss-duration-standard, 280ms) var(--ss-ease-primary, cubic-bezier(0.22, 1, 0.36, 1));
}

body.home .e-con.e-parent:has(.elementor-widget-Wpresidence_Grids) .places_type_2_content {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  row-gap: 10px;
  text-align: center;
  padding: 0 1.5rem 1.7rem;
}

body.home .e-con.e-parent:has(.elementor-widget-Wpresidence_Grids) .places_type_2_tagline {
  display: none !important;
}

body.home .e-con.e-parent:has(.elementor-widget-Wpresidence_Grids) .places_type_2_content h4 {
  order: 2;
  margin: 0 !important;
  width: 100%;
}

body.home .e-con.e-parent:has(.elementor-widget-Wpresidence_Grids) .places_type_2_content h4,
body.home .e-con.e-parent:has(.elementor-widget-Wpresidence_Grids) .places_type_2_content h4 a {
  font-family: var(--ss-font-display, "Cormorant Garamond", Georgia, serif);
  font-size: 2.125rem;
  font-weight: 500;
  line-height: 1.15;
  letter-spacing: 0.02em;
  color: var(--ss-ivory, #f7f3ea);
  text-shadow: 0 1px 16px rgba(8, 12, 11, 0.45);
}

body.home .e-con.e-parent:has(.elementor-widget-Wpresidence_Grids) .places_type_2_content h4::before,
body.home .e-con.e-parent:has(.elementor-widget-Wpresidence_Grids) .places_type_2_content h4::after,
body.home .e-con.e-parent:has(.elementor-widget-Wpresidence_Grids) .places_type_2_content h4 a::before,
body.home .e-con.e-parent:has(.elementor-widget-Wpresidence_Grids) .places_type_2_content h4 a::after {
  content: none !important;
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  background: none !important;
  border: none !important;
}

body.home .e-con.e-parent:has(.elementor-widget-Wpresidence_Grids) .places_type_2_listings_no {
  order: 1;
  display: block !important;
  width: auto;
  max-width: 100%;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  background: none !important;
  border-radius: 0 !important;
  font-family: var(--ss-font-body, Poppins, sans-serif) !important;
  font-size: 0.6875rem !important;
  line-height: 1.35 !important;
  font-weight: 500 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  color: color-mix(in srgb, var(--ss-ivory, #f7f3ea) 62%, var(--ss-muted-gold, #d6b268)) !important;
}

@media (hover: hover) and (pointer: fine) {
  body.home .e-con.e-parent:has(.elementor-widget-Wpresidence_Grids) .places_wrapper_type_2:hover .places_cover {
    opacity: 1 !important;
    background-image: linear-gradient(
      180deg,
      rgba(14, 20, 18, 0.14) 0%,
      rgba(10, 14, 13, 0.26) 46%,
      rgba(6, 10, 9, 0.6) 100%
    ) !important;
  }

  body.home .e-con.e-parent:has(.elementor-widget-Wpresidence_Grids) .places_wrapper_type_2:hover,
  body.home .e-con.e-parent:has(.elementor-widget-Wpresidence_Grids) .places_wrapper_type_2:hover .places_background_image {
    transform: none;
  }
}

/* Buy/Sell is now explicitly scoped to e11d72a in the art-direction rules.
 * The old next-sibling rule targeted Services after the native migration. */

/* -------------------------------------------------------------------------
 * 4. Journey in Numbers
 * ------------------------------------------------------------------------- */

body.home .e-con.e-parent:has(.elementor-widget-counter) {
  position: relative;
  isolation: isolate;
  padding: 4.5rem 3rem !important;
  background-size: cover;
  background-position: center;
}

body.home .e-con.e-parent:has(.elementor-widget-counter)::before {
  background-color: transparent !important;
  background-image: linear-gradient(
    180deg,
    rgba(12, 14, 16, 0.3) 0%,
    rgba(10, 12, 14, 0.32) 48%,
    rgba(8, 10, 12, 0.45) 100%
  ) !important;
  opacity: 1 !important;
}

body.home .e-con.e-parent:has(.elementor-widget-counter) .elementor-heading-title {
  font-family: var(--ss-font-display, "Cormorant Garamond", Georgia, serif);
  font-size: var(--ss-text-h2, 2.25rem);
  font-weight: 500;
  letter-spacing: 0.06em;
  color: var(--ss-ivory, #f7f3ea) !important;
  text-shadow: none;
}

body.home .e-con.e-parent:has(.elementor-widget-counter) .e-con.e-child:has(> .elementor-widget-counter) {
  padding: 0.75rem 1.5rem !important;
  border-inline-end: 1px solid color-mix(in srgb, var(--ss-muted-gold, #d6b268) 42%, transparent);
}

body.home .e-con.e-parent:has(.elementor-widget-counter) .e-con.e-child:has(> .elementor-widget-counter):last-child {
  border-inline-end: none;
}

body.home .e-con.e-parent:has(.elementor-widget-counter) .elementor-counter-number-wrapper,
body.home .e-con.e-parent:has(.elementor-widget-counter) .elementor-counter-number,
body.home .e-con.e-parent:has(.elementor-widget-counter) .elementor-counter-number-prefix,
body.home .e-con.e-parent:has(.elementor-widget-counter) .elementor-counter-number-suffix {
  font-family: var(--ss-font-display, "Cormorant Garamond", Georgia, serif) !important;
  font-size: clamp(2.25rem, 1.8rem + 1.4vw, 3.25rem) !important;
  font-weight: 500 !important;
  line-height: 1.1;
  color: var(--ss-ivory, #f7f3ea) !important;
}

body.home .e-con.e-parent:has(.elementor-widget-counter) .elementor-counter-title {
  margin-bottom: 0.4rem;
  font-family: var(--ss-font-body, Poppins, sans-serif) !important;
  font-size: 0.72rem !important;
  font-weight: 500 !important;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--ss-muted-gold, #d6b268) !important;
}

/* -------------------------------------------------------------------------
 * 8. Footer
 * ------------------------------------------------------------------------- */

body.home .e-con.e-parent:has(.elementor-widget-Site_Social) {
  background-color: var(--ss-forest, #1f4937) !important;
  padding-top: 4.5rem !important;
}

body.home .e-con.e-parent:has(.elementor-widget-Site_Social) .elementor-heading-title,
body.home .e-con.e-parent:has(.elementor-widget-Site_Social) .elementor-icon-box-title {
  font-family: var(--ss-font-display, "Cormorant Garamond", Georgia, serif);
  color: var(--ss-muted-gold, #d6b268) !important;
}

body.home .e-con.e-parent:has(.elementor-widget-Site_Social) .elementor-icon-box-description,
body.home .e-con.e-parent:has(.elementor-widget-Site_Social) .elementor-icon-list-text,
body.home .e-con.e-parent:has(.elementor-widget-Site_Social) .elementor-icon-list-item a {
  font-family: var(--ss-font-body, Poppins, sans-serif);
  color: color-mix(in srgb, var(--ss-ivory, #f7f3ea) 88%, white) !important;
}

body.home .e-con.e-parent:has(.elementor-widget-Site_Social) .elementor-icon-list-item a:hover,
body.home .e-con.e-parent:has(.elementor-widget-Site_Social) .elementor-icon-list-item a:focus-visible {
  color: var(--ss-muted-gold, #d6b268) !important;
}

body.home .e-con.e-parent:has(.elementor-widget-Site_Social) .elementor-widget-Site_Social .social_sidebar_internal:not(:has(a)) {
  display: none !important;
}

/* Shared footer 31733 only. Collapse the empty social column when it has no links. */
.elementor-31733 > .e-con.e-parent > .e-con.e-child:has(> .elementor-widget-Site_Social):not(:has(a)) {
  display: none !important;
}

/* Back to top button position (moved to bottom-left to avoid Joinchat WhatsApp conflict) */
.backtop {
  left: 20px !important;
  right: auto !important;
  margin-right: 0 !important;
}

@media (max-width: 767px) {
  .backtop {
    left: 16px !important;
    right: auto !important;
    bottom: 18px !important;
  }
}

body.home .e-con.e-parent:has(.elementor-widget-Site_Social) .elementor-widget-image img {
  max-height: 64px;
  width: auto;
}

@media (prefers-reduced-motion: reduce) {
  body.home .e-con.e-parent:has(.elementor-widget-Wpresidence_Grids) .places_cover {
    transition: none !important;
  }
}

/* =========================================================================
 * ABOUT US — page 21420
 * Header 31735 and footer 31733 are outside .elementor-21420.
 * ========================================================================= */

body.page-id-21420 .elementor-21420 {
  background-color: var(--ss-ivory, #f7f3ea);
  overflow-x: clip;
}

body.page-id-21420 .elementor-21420 .elementor-heading-title {
  text-wrap: pretty;
}

/* Dummy # eyebrows (ABOUT / OUR SERVICES / FAQ) are not navigation. */
body.page-id-21420 .elementor-21420 .elementor-widget-button a[href="#"] {
  pointer-events: none;
  cursor: default;
}

/* -------------------------------------------------------------------------
 * Hide WP Estate demo testimonials. Keep markup.
 * ------------------------------------------------------------------------- */

body.page-id-21420 .elementor-21420 > .e-con.e-parent:has(.elementor-widget-WpResidence_Testimonial) {
  display: none !important;
  margin: 0 !important;
  padding: 0 !important;
  min-height: 0 !important;
  height: 0 !important;
  overflow: hidden !important;
  visibility: hidden;
  pointer-events: none;
}

/* Broken/unverified Journey counters stay hidden; collapse the empty column. */
body.page-id-21420 .elementor-21420 > .e-con.e-parent:has(.elementor-widget-WpResidence_Contact_Form_Builder) > .e-con.e-child:not(:has(.elementor-widget-WpResidence_Contact_Form_Builder)) {
  display: none !important;
  width: 0 !important;
  flex: 0 0 0 !important;
  min-height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  overflow: hidden !important;
}

/* -------------------------------------------------------------------------
 * 1. Hero
 * ------------------------------------------------------------------------- */

body.page-id-21420 .elementor-21420 > .e-con.e-parent:first-child {
  position: relative;
  isolation: isolate;
  justify-content: flex-end;
  min-height: clamp(28rem, 58vh, 34rem);
  padding: 5.5rem 4rem 8.5rem !important;
  overflow: hidden;
  background-size: cover !important;
  background-position: center 40% !important;
}

body.page-id-21420 .elementor-21420 > .e-con.e-parent:first-child::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background: linear-gradient(
    180deg,
    rgba(12, 16, 14, 0.52) 0%,
    rgba(10, 14, 12, 0.44) 42%,
    rgba(8, 12, 10, 0.68) 100%
  );
}

body.page-id-21420 .elementor-21420 > .e-con.e-parent:first-child > .e-con-inner,
body.page-id-21420 .elementor-21420 > .e-con.e-parent:first-child > .elementor-widget {
  position: relative;
  z-index: 1;
}

body.page-id-21420 .elementor-21420 > .e-con.e-parent:first-child .elementor-heading-title {
  color: var(--ss-ivory, #f7f3ea) !important;
}

body.page-id-21420 .elementor-21420 > .e-con.e-parent:first-child > .e-con-inner > .elementor-widget-heading:first-child .elementor-heading-title,
body.page-id-21420 .elementor-21420 > .e-con.e-parent:first-child > .elementor-widget-heading:first-child .elementor-heading-title {
  font-family: var(--ss-font-display, "Cormorant Garamond", Georgia, serif) !important;
  font-size: clamp(2.75rem, 2rem + 2.2vw, 4.25rem) !important;
  font-weight: 500 !important;
  line-height: 1.08 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase;
  text-shadow: 0 1px 18px rgba(8, 12, 11, 0.35);
}

body.page-id-21420 .elementor-21420 > .e-con.e-parent:first-child > .e-con-inner > .elementor-widget-heading:last-child,
body.page-id-21420 .elementor-21420 > .e-con.e-parent:first-child > .elementor-widget-heading:last-child {
  max-width: 40rem;
}

body.page-id-21420 .elementor-21420 > .e-con.e-parent:first-child > .e-con-inner > .elementor-widget-heading:last-child .elementor-heading-title,
body.page-id-21420 .elementor-21420 > .e-con.e-parent:first-child > .elementor-widget-heading:last-child .elementor-heading-title {
  font-family: var(--ss-font-body, Poppins, sans-serif) !important;
  font-size: var(--ss-text-body-lg, 1.125rem) !important;
  font-weight: 400 !important;
  line-height: 1.65 !important;
  letter-spacing: 0.01em !important;
  text-transform: none;
  color: color-mix(in srgb, var(--ss-ivory, #f7f3ea) 92%, white) !important;
  text-shadow: 0 1px 12px rgba(8, 12, 11, 0.4);
}

/* -------------------------------------------------------------------------
 * 2. Story — overlapping photo + forest copy
 * ------------------------------------------------------------------------- */

body.page-id-21420 .elementor-21420 > .e-con:has(.elementor-widget-icon-box) {
  align-items: flex-start;
  gap: 3.5rem !important;
  padding: 0 4rem 4.5rem 4rem !important;
  background-color: var(--ss-forest, #1f4937) !important;
}

body.page-id-21420 .elementor-21420 > .e-con:has(.elementor-widget-icon-box) > .e-con.e-child:first-child {
  flex: 0 1 26rem;
  max-width: 26rem;
  overflow: visible;
  background-color: var(--ss-forest-dark, #163528) !important;
  border-radius: var(--ss-radius-card, 6px);
  box-shadow: var(--ss-shadow-lift, 0 8px 24px rgba(22, 53, 40, 0.06));
}

body.page-id-21420 .elementor-21420 > .e-con:has(.elementor-widget-icon-box) > .e-con.e-child:first-child > .e-con.e-child:first-child {
  min-height: 22rem;
  height: 22rem;
  margin-top: -4.25rem !important;
  overflow: hidden;
  background-size: cover !important;
  background-position: center 38% !important;
  border-radius: var(--ss-radius-card, 6px) var(--ss-radius-card, 6px) 0 0;
}

body.page-id-21420 .elementor-21420 > .e-con:has(.elementor-widget-icon-box) > .e-con.e-child:first-child > .e-con.e-child:last-child {
  padding: 1.15rem 1.35rem 1.35rem !important;
}

body.page-id-21420 .elementor-21420 > .e-con:has(.elementor-widget-icon-box) .elementor-icon-box-wrapper {
  align-items: center;
  gap: 0.75rem;
}

body.page-id-21420 .elementor-21420 > .e-con:has(.elementor-widget-icon-box) .elementor-icon-box-icon,
body.page-id-21420 .elementor-21420 > .e-con:has(.elementor-widget-icon-box) .elementor-icon {
  color: var(--ss-muted-gold, #d6b268) !important;
}

body.page-id-21420 .elementor-21420 > .e-con:has(.elementor-widget-icon-box) .elementor-icon-box-title,
body.page-id-21420 .elementor-21420 > .e-con:has(.elementor-widget-icon-box) .elementor-icon-box-title a,
body.page-id-21420 .elementor-21420 > .e-con:has(.elementor-widget-icon-box) .elementor-icon-box-description {
  font-family: var(--ss-font-body, Poppins, sans-serif) !important;
  font-size: 0.875rem !important;
  font-weight: 500 !important;
  letter-spacing: 0.02em;
  color: var(--ss-ivory, #f7f3ea) !important;
}

body.page-id-21420 .elementor-21420 > .e-con:has(.elementor-widget-icon-box) > .e-con.e-child:last-child {
  flex: 1 1 34rem;
  padding-top: 2.75rem !important;
  padding-bottom: 1rem !important;
}

body.page-id-21420 .elementor-21420 > .e-con:has(.elementor-widget-icon-box) .elementor-widget-button a[href="#"] {
  display: inline-flex;
  padding: 0 !important;
  border: 0 !important;
  background: none !important;
  color: var(--ss-muted-gold, #d6b268) !important;
  font-family: var(--ss-font-body, Poppins, sans-serif) !important;
  font-size: 0.6875rem !important;
  font-weight: 500 !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase;
}

body.page-id-21420 .elementor-21420 > .e-con:has(.elementor-widget-icon-box) h2.elementor-heading-title {
  max-width: 18ch;
  margin-bottom: 0.35rem;
  font-family: var(--ss-font-display, "Cormorant Garamond", Georgia, serif) !important;
  font-size: clamp(2rem, 1.5rem + 1.4vw, 2.75rem) !important;
  font-weight: 500 !important;
  line-height: 1.15 !important;
  letter-spacing: 0.04em !important;
  text-transform: none;
  color: var(--ss-ivory, #f7f3ea) !important;
}

body.page-id-21420 .elementor-21420 > .e-con:has(.elementor-widget-icon-box) p.elementor-heading-title {
  max-width: 42em;
  font-family: var(--ss-font-body, Poppins, sans-serif) !important;
  font-size: 1rem !important;
  font-weight: 400 !important;
  line-height: 1.7 !important;
  letter-spacing: 0 !important;
  text-transform: none;
  color: color-mix(in srgb, var(--ss-ivory, #f7f3ea) 86%, white) !important;
}

body.page-id-21420 .elementor-21420 > .e-con:has(.elementor-widget-icon-box) .elementor-widget-button a[href]:not([href="#"]) {
  margin-top: 0.5rem;
  padding: 0.75rem 1.35rem !important;
  border: 1px solid color-mix(in srgb, var(--ss-muted-gold, #d6b268) 70%, white) !important;
  border-radius: var(--ss-radius-sm, 2px) !important;
  background: transparent !important;
  color: var(--ss-ivory, #f7f3ea) !important;
  font-family: var(--ss-font-body, Poppins, sans-serif) !important;
  font-size: 0.75rem !important;
  font-weight: 500 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase;
}

@media (hover: hover) and (pointer: fine) {
  body.page-id-21420 .elementor-21420 > .e-con:has(.elementor-widget-icon-box) .elementor-widget-button a[href]:not([href="#"]):hover,
  body.page-id-21420 .elementor-21420 > .e-con:has(.elementor-widget-icon-box) .elementor-widget-button a[href]:not([href="#"]):focus-visible {
    border-color: var(--ss-muted-gold, #d6b268) !important;
    background: color-mix(in srgb, var(--ss-muted-gold, #d6b268) 14%, transparent) !important;
    color: var(--ss-muted-gold, #d6b268) !important;
  }
}

/* -------------------------------------------------------------------------
 * 3. Services intro
 * ------------------------------------------------------------------------- */

body.page-id-21420 .elementor-21420 > .e-con.e-parent:has(+ .e-con.e-parent .elementor-widget-button a[href*="property-search"]) {
  padding: 4.25rem 4rem 1.25rem !important;
  background-color: var(--ss-ivory, #f7f3ea) !important;
}

body.page-id-21420 .elementor-21420 > .e-con.e-parent:has(+ .e-con.e-parent .elementor-widget-button a[href*="property-search"]) .elementor-widget-button a[href="#"] {
  display: inline-flex;
  padding: 0 !important;
  border: 0 !important;
  background: none !important;
  color: var(--ss-muted-gold, #d6b268) !important;
  font-family: var(--ss-font-body, Poppins, sans-serif) !important;
  font-size: 0.6875rem !important;
  font-weight: 500 !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase;
}

body.page-id-21420 .elementor-21420 > .e-con.e-parent:has(+ .e-con.e-parent .elementor-widget-button a[href*="property-search"]) h2.elementor-heading-title {
  font-family: var(--ss-font-display, "Cormorant Garamond", Georgia, serif) !important;
  font-size: clamp(1.85rem, 1.4rem + 1.1vw, 2.5rem) !important;
  font-weight: 500 !important;
  line-height: 1.2 !important;
  letter-spacing: 0.03em !important;
  text-transform: none;
  color: var(--ss-forest, #1f4937) !important;
}

body.page-id-21420 .elementor-21420 > .e-con.e-parent:has(+ .e-con.e-parent .elementor-widget-button a[href*="property-search"]) p.elementor-heading-title {
  max-width: 40em;
  font-family: var(--ss-font-body, Poppins, sans-serif) !important;
  font-size: 1rem !important;
  line-height: 1.7 !important;
  letter-spacing: 0 !important;
  text-transform: none;
  color: var(--ss-text-secondary, #5c6b7a) !important;
}

/* -------------------------------------------------------------------------
 * 4. Service cards
 * ------------------------------------------------------------------------- */

body.page-id-21420 .elementor-21420 > .e-con.e-parent:has(.elementor-widget-button a[href*="property-search"]) {
  padding: 0.5rem 4rem 4.5rem !important;
  background-color: var(--ss-ivory, #f7f3ea) !important;
}

body.page-id-21420 .elementor-21420 > .e-con.e-parent:has(.elementor-widget-button a[href*="property-search"]) > .e-con.e-child {
  gap: 1.25rem !important;
}

body.page-id-21420 .elementor-21420 > .e-con.e-parent:has(.elementor-widget-button a[href*="property-search"]) > .e-con.e-child > .e-con.e-child > .e-con.e-child {
  min-height: 26rem;
  overflow: hidden;
  background-size: cover !important;
  background-position: center !important;
  border-radius: var(--ss-radius-card, 6px);
  box-shadow: var(--ss-shadow-soft, 0 1px 2px rgba(22, 53, 40, 0.04));
}

body.page-id-21420 .elementor-21420 > .e-con.e-parent:has(.elementor-widget-button a[href*="property-search"]) > .e-con.e-child > .e-con.e-child > .e-con.e-child::before {
  background-image: linear-gradient(
    180deg,
    rgba(12, 16, 14, 0.04) 28%,
    rgba(8, 12, 10, 0.28) 100%
  ) !important;
}

body.page-id-21420 .elementor-21420 > .e-con.e-parent:has(.elementor-widget-button a[href*="property-search"]) > .e-con.e-child > .e-con.e-child > .e-con.e-child > .e-con.e-child {
  width: calc(100% - 1.5rem);
  margin: 0 0.75rem 0.85rem;
  padding: 0.9rem 1rem !important;
  background-color: var(--ss-ivory, #f7f3ea) !important;
  border: 1px solid var(--ss-border-light, #e4ded2);
  border-radius: var(--ss-radius-sm, 2px) !important;
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

body.page-id-21420 .elementor-21420 > .e-con.e-parent:has(.elementor-widget-button a[href*="property-search"]) .elementor-heading-title {
  font-family: var(--ss-font-body, Poppins, sans-serif) !important;
  font-size: 0.6875rem !important;
  font-weight: 500 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase;
  color: var(--ss-gold-soft, #b7924a) !important;
}

body.page-id-21420 .elementor-21420 > .e-con.e-parent:has(.elementor-widget-button a[href*="property-search"]) .elementor-button,
body.page-id-21420 .elementor-21420 > .e-con.e-parent:has(.elementor-widget-button a[href*="property-search"]) .elementor-button-text {
  font-family: var(--ss-font-body, Poppins, sans-serif) !important;
  font-size: 0.9375rem !important;
  font-weight: 500 !important;
  letter-spacing: 0.01em !important;
  text-transform: none;
  color: var(--ss-forest, #1f4937) !important;
}

body.page-id-21420 .elementor-21420 > .e-con.e-parent:has(.elementor-widget-button a[href*="property-search"]) .elementor-button {
  padding: 0 !important;
  border: 0 !important;
  background: none !important;
  box-shadow: none !important;
}

@media (hover: hover) and (pointer: fine) {
  body.page-id-21420 .elementor-21420 > .e-con.e-parent:has(.elementor-widget-button a[href*="property-search"]) > .e-con.e-child > .e-con.e-child > .e-con.e-child:hover .elementor-button-text,
  body.page-id-21420 .elementor-21420 > .e-con.e-parent:has(.elementor-widget-button a[href*="property-search"]) > .e-con.e-child > .e-con.e-child > .e-con.e-child:focus-within .elementor-button-text {
    color: var(--ss-gold-soft, #b7924a) !important;
  }
}

/* -------------------------------------------------------------------------
 * 5. Contact form — remaining column after hidden counters
 * ------------------------------------------------------------------------- */

body.page-id-21420 .elementor-21420 > .e-con.e-parent:has(.elementor-widget-WpResidence_Contact_Form_Builder) {
  justify-content: center;
  padding: 4.5rem 4rem !important;
  background-color: var(--ss-forest, #1f4937) !important;
  background-image: none !important;
}

body.page-id-21420 .elementor-21420 > .e-con.e-parent:has(.elementor-widget-WpResidence_Contact_Form_Builder) > .e-con.e-child:has(.elementor-widget-WpResidence_Contact_Form_Builder) {
  flex: 0 1 40rem;
  max-width: 40rem;
  width: 100%;
}

body.page-id-21420 .elementor-21420 > .e-con.e-parent:has(.elementor-widget-WpResidence_Contact_Form_Builder) > .e-con.e-child:has(.elementor-widget-WpResidence_Contact_Form_Builder) > .e-con.e-child {
  padding: 2.25rem 2rem 2rem !important;
  background-color: var(--ss-ivory, #f7f3ea) !important;
  border: 1px solid var(--ss-border-light, #e4ded2);
  border-radius: var(--ss-radius-card, 6px) !important;
  box-shadow: var(--ss-shadow-lift, 0 8px 24px rgba(22, 53, 40, 0.06));
}

body.page-id-21420 .elementor-21420 > .e-con.e-parent:has(.elementor-widget-WpResidence_Contact_Form_Builder) h2.elementor-heading-title {
  font-family: var(--ss-font-display, "Cormorant Garamond", Georgia, serif) !important;
  font-size: clamp(1.75rem, 1.4rem + 0.9vw, 2.25rem) !important;
  font-weight: 500 !important;
  line-height: 1.2 !important;
  letter-spacing: 0.02em !important;
  text-transform: none;
  color: var(--ss-forest, #1f4937) !important;
}

body.page-id-21420 .elementor-21420 > .e-con.e-parent:has(.elementor-widget-WpResidence_Contact_Form_Builder) p.elementor-heading-title {
  font-family: var(--ss-font-body, Poppins, sans-serif) !important;
  font-size: 0.9375rem !important;
  line-height: 1.65 !important;
  color: var(--ss-text-secondary, #5c6b7a) !important;
}

body.page-id-21420 .elementor-21420 > .e-con.e-parent:has(.elementor-widget-WpResidence_Contact_Form_Builder) input,
body.page-id-21420 .elementor-21420 > .e-con.e-parent:has(.elementor-widget-WpResidence_Contact_Form_Builder) textarea {
  border: 1px solid var(--ss-border-light, #e4ded2) !important;
  border-radius: var(--ss-radius-sm, 2px) !important;
  background-color: var(--ss-warm-white, #faf8f4) !important;
  box-shadow: none !important;
  font-family: var(--ss-font-body, Poppins, sans-serif) !important;
  color: var(--ss-text-primary, #20352c) !important;
}

body.page-id-21420 .elementor-21420 > .e-con.e-parent:has(.elementor-widget-WpResidence_Contact_Form_Builder) input:focus,
body.page-id-21420 .elementor-21420 > .e-con.e-parent:has(.elementor-widget-WpResidence_Contact_Form_Builder) textarea:focus {
  border-color: var(--ss-muted-gold, #d6b268) !important;
  outline: none;
}

body.page-id-21420 .elementor-21420 > .e-con.e-parent:has(.elementor-widget-WpResidence_Contact_Form_Builder) button,
body.page-id-21420 .elementor-21420 > .e-con.e-parent:has(.elementor-widget-WpResidence_Contact_Form_Builder) .wpcf7-submit,
body.page-id-21420 .elementor-21420 > .e-con.e-parent:has(.elementor-widget-WpResidence_Contact_Form_Builder) input[type="submit"] {
  width: 100%;
  padding: 0.9rem 1.5rem !important;
  border: 1px solid var(--ss-forest, #1f4937) !important;
  border-radius: var(--ss-radius-sm, 2px) !important;
  background: var(--ss-forest, #1f4937) !important;
  color: var(--ss-ivory, #f7f3ea) !important;
  font-family: var(--ss-font-body, Poppins, sans-serif) !important;
  font-size: 0.75rem !important;
  font-weight: 500 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase;
}

@media (hover: hover) and (pointer: fine) {
  body.page-id-21420 .elementor-21420 > .e-con.e-parent:has(.elementor-widget-WpResidence_Contact_Form_Builder) button:hover,
  body.page-id-21420 .elementor-21420 > .e-con.e-parent:has(.elementor-widget-WpResidence_Contact_Form_Builder) input[type="submit"]:hover {
    background: var(--ss-forest-dark, #163528) !important;
    border-color: var(--ss-muted-gold, #d6b268) !important;
  }
}

/* -------------------------------------------------------------------------
 * 6. FAQ
 * ------------------------------------------------------------------------- */

body.page-id-21420 .elementor-21420 > .e-con.e-parent:has(+ .e-con.e-parent .elementor-widget-toggle) {
  padding: 4rem 4rem 1rem !important;
  background-color: var(--ss-ivory, #f7f3ea) !important;
}

body.page-id-21420 .elementor-21420 > .e-con.e-parent:has(+ .e-con.e-parent .elementor-widget-toggle) .elementor-widget-button a[href="#"] {
  display: inline-flex;
  padding: 0 !important;
  border: 0 !important;
  background: none !important;
  color: var(--ss-muted-gold, #d6b268) !important;
  font-family: var(--ss-font-body, Poppins, sans-serif) !important;
  font-size: 0.6875rem !important;
  font-weight: 500 !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase;
}

body.page-id-21420 .elementor-21420 > .e-con.e-parent:has(+ .e-con.e-parent .elementor-widget-toggle) h2.elementor-heading-title {
  font-family: var(--ss-font-display, "Cormorant Garamond", Georgia, serif) !important;
  font-size: clamp(1.85rem, 1.4rem + 1.1vw, 2.5rem) !important;
  font-weight: 500 !important;
  line-height: 1.2 !important;
  letter-spacing: 0.03em !important;
  text-transform: none;
  color: var(--ss-forest, #1f4937) !important;
}

body.page-id-21420 .elementor-21420 > .e-con.e-parent:has(+ .e-con.e-parent .elementor-widget-toggle) p.elementor-heading-title {
  max-width: 40em;
  font-family: var(--ss-font-body, Poppins, sans-serif) !important;
  font-size: 1rem !important;
  line-height: 1.7 !important;
  color: var(--ss-text-secondary, #5c6b7a) !important;
}

body.page-id-21420 .elementor-21420 > .e-con.e-parent:has(.elementor-widget-toggle) {
  padding: 0.5rem 4rem 5rem !important;
  background-color: var(--ss-ivory, #f7f3ea) !important;
}

body.page-id-21420 .elementor-21420 > .e-con.e-parent:has(.elementor-widget-toggle) .elementor-widget-toggle {
  max-width: 48rem;
  margin-inline: auto;
}

body.page-id-21420 .elementor-21420 .elementor-toggle .elementor-toggle-item {
  margin: 0 0 0.65rem;
  border: 1px solid var(--ss-border-light, #e4ded2);
  border-radius: var(--ss-radius-sm, 2px);
  background-color: var(--ss-warm-white, #faf8f4);
  box-shadow: none;
}

body.page-id-21420 .elementor-21420 .elementor-toggle .elementor-tab-title {
  display: flex;
  align-items: center;
  flex-wrap: nowrap;
  gap: 0.65rem;
  min-height: 52px;
  padding: 0.85rem 1.15rem !important;
  font-family: var(--ss-font-body, Poppins, sans-serif) !important;
  font-size: 0.9375rem !important;
  font-weight: 500 !important;
  line-height: 1.4;
  color: var(--ss-forest, #1f4937) !important;
}

body.page-id-21420 .elementor-21420 .elementor-toggle .elementor-tab-title.elementor-active {
  color: var(--ss-forest-dark, #163528) !important;
}

body.page-id-21420 .elementor-21420 .elementor-toggle .elementor-toggle-icon {
  flex: 0 0 auto;
  color: var(--ss-muted-gold, #d6b268) !important;
}

body.page-id-21420 .elementor-21420 .elementor-toggle .elementor-toggle-title {
  flex: 1 1 auto;
  min-width: 0;
}

body.page-id-21420 .elementor-21420 .elementor-toggle .elementor-tab-content {
  padding: 0 1.15rem 1.15rem !important;
  border: 0;
  font-family: var(--ss-font-body, Poppins, sans-serif) !important;
  font-size: 0.9375rem !important;
  line-height: 1.7;
  color: var(--ss-text-secondary, #5c6b7a) !important;
}

/* =========================================================================
 * PROJECTS — page 93 /property-search/
 * Header 31735 and footer 31733 are outside .elementor-93.
 * Native WPResidence search + Items List query/cards unchanged.
 * ========================================================================= */

body.page-id-93 .elementor-93 {
  background-color: var(--ss-ivory, #f7f3ea);
  overflow-x: clip;
  font-family: var(--ss-font-body, Poppins, sans-serif);
}

/* -------------------------------------------------------------------------
 * Hide Nashville dual CTAs. Keep markup.
 * ------------------------------------------------------------------------- */

body.page-id-93 .elementor-93 > .e-con.e-parent:has(.elementor-widget-wpresidence-call-to-action) {
  display: none !important;
  margin: 0 !important;
  padding: 0 !important;
  min-height: 0 !important;
}

/* -------------------------------------------------------------------------
 * Hero — first parent container (heading + Nashville support copy)
 * ------------------------------------------------------------------------- */

body.page-id-93 .elementor-93 > .e-con.e-parent:first-child {
  position: relative;
  min-height: 28rem;
  padding: 5.5rem 3rem !important;
  overflow: hidden;
}

body.page-id-93 .elementor-93 > .e-con.e-parent:first-child::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background: linear-gradient(
    to bottom,
    rgba(22, 53, 40, 0.22) 0%,
    rgba(22, 53, 40, 0.18) 42%,
    rgba(22, 53, 40, 0.38) 100%
  );
}

body.page-id-93 .elementor-93 > .e-con.e-parent:first-child > .e-con-inner {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  min-height: 16rem;
  max-width: 48rem;
  margin-inline: auto;
}

body.page-id-93 .elementor-93 > .e-con.e-parent:first-child .elementor-widget-heading:first-child .elementor-heading-title {
  font-family: var(--ss-font-display, "Cormorant Garamond", Georgia, serif) !important;
  font-size: clamp(2.25rem, 1.6rem + 2.4vw, 3.5rem) !important;
  font-weight: 500 !important;
  letter-spacing: 0.14em;
  line-height: 1.15;
  text-transform: uppercase;
  color: var(--ss-ivory, #f7f3ea) !important;
  text-shadow: none;
}

/* Nashville demo paragraph — hide, keep markup */
body.page-id-93 .elementor-93 > .e-con.e-parent:first-child .elementor-widget-heading:last-child {
  display: none !important;
}

/* -------------------------------------------------------------------------
 * Search — native WpResidence_Search_Form_Builder
 * ------------------------------------------------------------------------- */

body.page-id-93 .elementor-93 > .e-con.e-parent:has(.elementor-widget-WpResidence_Search_Form_Builder) {
  background-color: var(--ss-warm-white, #faf8f4) !important;
  padding: 2.25rem 3rem 0.5rem !important;
}

body.page-id-93 .elementor-93 .search_wrapper,
body.page-id-93 .elementor-93 .search_wr_elementor {
  background: transparent !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

body.page-id-93 .elementor-93 .search_wrapper_color {
  display: none;
}

body.page-id-93 .elementor-93 .wpestate-adv-holder form {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 1rem 1.25rem;
}

body.page-id-93 .elementor-93 .elementor-widget-WpResidence_Search_Form_Builder .elementor-field-group {
  margin: 0 !important;
  padding: 0 !important;
}

body.page-id-93 .elementor-93 .elementor-widget-WpResidence_Search_Form_Builder .elementor-field-label {
  display: block;
  margin: 0 0 0.4rem;
  font-family: var(--ss-font-body, Poppins, sans-serif);
  font-size: 10px;
  font-weight: 500;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--ss-forest, #1f4937);
}

body.page-id-93 .elementor-93 .elementor-widget-WpResidence_Search_Form_Builder .bootstrap-select,
body.page-id-93 .elementor-93 .elementor-widget-WpResidence_Search_Form_Builder .bootstrap-select.form-control {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

body.page-id-93 .elementor-93 .elementor-widget-WpResidence_Search_Form_Builder input.adv_locations_search,
body.page-id-93 .elementor-93 .elementor-widget-WpResidence_Search_Form_Builder .bootstrap-select > .dropdown-toggle,
body.page-id-93 .elementor-93 .elementor-widget-WpResidence_Search_Form_Builder .bootstrap-select > .dropdown-toggle.btn-light {
  min-height: 46px;
  padding: 0.55rem 0.15rem 0.45rem;
  background: transparent !important;
  border: 0 !important;
  border-bottom: 1px solid var(--ss-border-light, #e4ded2) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  font-family: var(--ss-font-body, Poppins, sans-serif);
  font-size: 0.875rem;
  color: var(--ss-text-primary, #20352c) !important;
}

body.page-id-93 .elementor-93 .elementor-widget-WpResidence_Search_Form_Builder input.adv_locations_search::placeholder {
  color: var(--ss-text-secondary, #5c6b7a);
  opacity: 0.72;
}

body.page-id-93 .elementor-93 .elementor-widget-WpResidence_Search_Form_Builder input.adv_locations_search:focus,
body.page-id-93 .elementor-93 .elementor-widget-WpResidence_Search_Form_Builder input.adv_locations_search:focus-visible,
body.page-id-93 .elementor-93 .elementor-widget-WpResidence_Search_Form_Builder .bootstrap-select > .dropdown-toggle:focus,
body.page-id-93 .elementor-93 .elementor-widget-WpResidence_Search_Form_Builder .bootstrap-select > .dropdown-toggle:focus-visible {
  border-bottom-color: var(--ss-muted-gold, #d6b268) !important;
  outline: none;
  box-shadow: none !important;
}

body.page-id-93 .elementor-93 .elementor-widget-WpResidence_Search_Form_Builder .wpresidence_button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 46px;
  margin: 0;
  padding: 0.7rem 1.25rem;
  background-color: var(--ss-forest, #1f4937) !important;
  border: 1px solid var(--ss-forest-dark, #163528) !important;
  border-radius: var(--ss-radius-md, 4px);
  box-shadow: none !important;
  color: var(--ss-warm-white, #faf8f4) !important;
  font-family: var(--ss-font-body, Poppins, sans-serif);
  font-size: 0.75rem;
  font-weight: 500;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

body.page-id-93 .elementor-93 .elementor-widget-WpResidence_Search_Form_Builder .wpresidence_button:hover,
body.page-id-93 .elementor-93 .elementor-widget-WpResidence_Search_Form_Builder .wpresidence_button:focus-visible {
  background-color: var(--ss-forest-dark, #163528) !important;
  color: var(--ss-ivory, #f7f3ea) !important;
}

body.page-id-93 .elementor-93 .elementor-widget-WpResidence_Search_Form_Builder .wpresidence_button:focus-visible {
  outline: 2px solid var(--ss-muted-gold, #d6b268);
  outline-offset: 3px;
}

body.page-id-93 .bootstrap-select .dropdown-menu {
  border: 1px solid var(--ss-border-light, #e4ded2);
  border-radius: var(--ss-radius-md, 4px);
  box-shadow: var(--ss-shadow-lift, 0 8px 24px rgba(22, 53, 40, 0.06));
  font-family: var(--ss-font-body, Poppins, sans-serif);
  font-size: 0.875rem;
}

body.page-id-93 .bootstrap-select .dropdown-item.selected,
body.page-id-93 .bootstrap-select .dropdown-item.active,
body.page-id-93 .bootstrap-select .dropdown-item:active {
  background-color: var(--ss-forest, #1f4937);
  color: var(--ss-ivory, #f7f3ea);
}

/* -------------------------------------------------------------------------
 * Listing grid — native WpResidence_Items_List, type8 cards
 * ------------------------------------------------------------------------- */

body.page-id-93 .elementor-93 > .e-con.e-parent:has(.elementor-widget-WpResidence_Items_List) {
  background-color: var(--ss-ivory, #f7f3ea) !important;
  padding: 1.75rem 3rem 4.5rem !important;
}

body.page-id-93 .elementor-93 .wpresidence_shortcode_listings_wrapper {
  display: flex;
  flex-wrap: wrap;
  margin-inline: -0.75rem;
}

body.page-id-93 .elementor-93 .listing_wrapper {
  margin-bottom: 1.75rem;
  padding-inline: 0.75rem;
}

@media (min-width: 992px) {
  body.page-id-93 .elementor-93 .listing_wrapper.col-lg-3 {
    flex: 0 0 33.333333%;
    max-width: 33.333333%;
    width: 33.333333% !important;
  }
}

body.page-id-93 .elementor-93 .property_listing.property_unit_type8 {
  background: #fff;
  border: 1px solid color-mix(in srgb, var(--ss-border-light, #e4ded2) 80%, transparent);
  border-radius: var(--ss-radius-md, 4px);
  box-shadow: var(--ss-shadow-soft, 0 1px 2px rgba(22, 53, 40, 0.04));
  overflow: hidden;
  transition: transform var(--ss-duration-luxury, 520ms) var(--ss-ease-primary, cubic-bezier(0.22, 1, 0.36, 1)),
    box-shadow var(--ss-duration-luxury, 520ms) var(--ss-ease-primary, cubic-bezier(0.22, 1, 0.36, 1));
}

body.page-id-93 .elementor-93 .listing-unit-img-wrapper {
  position: relative;
  overflow: hidden;
  aspect-ratio: 4 / 3;
}

body.page-id-93 .elementor-93 .listing-unit-img-wrapper .property_unit_carousel,
body.page-id-93 .elementor-93 .listing-unit-img-wrapper .carousel-inner,
body.page-id-93 .elementor-93 .listing-unit-img-wrapper .carousel-item {
  height: 100%;
}

body.page-id-93 .elementor-93 .listing-unit-img-wrapper img,
body.page-id-93 .elementor-93 .property_unit_carousel .carousel-item img,
body.page-id-93 .elementor-93 .property_listing img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

body.page-id-93 .elementor-93 .featured_gradient {
  background: linear-gradient(
    to top,
    rgba(22, 53, 40, 0.32) 0%,
    rgba(22, 53, 40, 0.06) 42%,
    transparent 70%
  );
  opacity: 1;
}

@media (hover: hover) and (pointer: fine) {
  body.page-id-93 .elementor-93 .property_listing:hover {
    transform: translateY(-3px);
    box-shadow: 0 10px 28px rgba(22, 53, 40, 0.08);
  }

  body.page-id-93 .elementor-93 .property_listing:hover img {
    transform: scale(1.035);
  }
}

body.page-id-93 .elementor-93 .featured_div,
body.page-id-93 .elementor-93 .ribbon-inside.Mortgage-Available,
body.page-id-93 .elementor-93 .action_tag_wrapper.For.Sale,
body.page-id-93 .elementor-93 .property_agent_wrapper {
  display: none !important;
}

body.page-id-93 .elementor-93 .tag-wrapper,
body.page-id-93 .elementor-93 .status-wrapper {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  background: transparent;
  box-shadow: none;
}

body.page-id-93 .elementor-93 .ribbon-inside.RERA-project,
body.page-id-93 .elementor-93 .ribbon-inside.Under-Construction {
  background: color-mix(in srgb, var(--ss-forest, #1f4937) 82%, transparent);
  border: 1px solid color-mix(in srgb, var(--ss-muted-gold, #d6b268) 55%, transparent);
  border-radius: var(--ss-radius-sm, 2px);
  box-shadow: none;
  padding: 4px 8px;
  margin: 0;
  font-family: inherit;
  font-size: 9.5px;
  font-weight: 500;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--ss-ivory, #f7f3ea);
}

body.page-id-93 .elementor-93 .icon-fav {
  opacity: 0.72;
  transform: scale(0.92);
}

body.page-id-93 .elementor-93 .carousel-control-prev,
body.page-id-93 .elementor-93 .carousel-control-next {
  width: 32px;
  opacity: 0.55;
  background: transparent;
}

body.page-id-93 .elementor-93 .carousel-control-prev:hover,
body.page-id-93 .elementor-93 .carousel-control-next:hover,
body.page-id-93 .elementor-93 .carousel-control-prev:focus-visible,
body.page-id-93 .elementor-93 .carousel-control-next:focus-visible {
  opacity: 0.9;
}

body.page-id-93 .elementor-93 .property-unit-information-wrapper {
  padding: 1rem 1rem 1.15rem;
}

body.page-id-93 .elementor-93 .property_listing h4,
body.page-id-93 .elementor-93 .property_listing h4 a {
  font-family: var(--ss-font-display, "Cormorant Garamond", Georgia, serif) !important;
  font-size: 1.375rem !important;
  font-weight: 500 !important;
  line-height: 1.25;
  color: var(--ss-forest, #1f4937) !important;
  text-transform: none;
}

body.page-id-93 .elementor-93 .property_listing:has(.action_tag_wrapper.For.Sale) h4::before {
  content: "For sale";
  display: block;
  margin: 0 0 6px;
  font-family: var(--ss-font-body, Poppins, sans-serif);
  font-size: 10px;
  font-weight: 500;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--ss-text-secondary, #5c6b7a);
}

body.page-id-93 .elementor-93 .property_card_categories_wrapper,
body.page-id-93 .elementor-93 .property_card_categories_wrapper a,
body.page-id-93 .elementor-93 .property_listing_details_v2,
body.page-id-93 .elementor-93 .listing_unit_price_wrapper .price_label {
  font-family: var(--ss-font-body, Poppins, sans-serif);
  font-size: 0.75rem;
  font-weight: 400;
  color: var(--ss-text-secondary, #5c6b7a);
}

body.page-id-93 .elementor-93 .property_card_categories_wrapper {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  max-height: 2.4em;
}

body.page-id-93 .elementor-93 .property_listing_details_v2 {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 14px;
  margin: 10px 0 0;
  padding: 10px 0 0;
  border-top: 1px solid color-mix(in srgb, var(--ss-muted-gold, #d6b268) 42%, transparent);
  letter-spacing: 0.02em;
}

body.page-id-93 .elementor-93 .listing_unit_price_wrapper {
  margin-top: 8px;
  font-family: var(--ss-font-body, Poppins, sans-serif);
  font-size: 1.05rem !important;
  font-weight: 600 !important;
  color: var(--ss-forest-dark, #163528) !important;
}

@media (prefers-reduced-motion: reduce) {
  body.page-id-93 .elementor-93 .property_listing,
  body.page-id-93 .elementor-93 .property_listing img {
    transition: none;
  }

  body.page-id-93 .elementor-93 .property_listing:hover,
  body.page-id-93 .elementor-93 .property_listing:hover img {
    transform: none;
  }
}

/* =========================================================================
 * SOLD PROPERTIES — page 22389 /sold-properties/
 * Header 31735 and footer 31733 are outside .elementor-22389.
 * Native Wpresidence_Filter_List_Properties query unchanged.
 * Genuine sold inventory is currently 0 — card rules are ready, not populated.
 * ========================================================================= */

body.page-id-22389 .elementor-22389 {
  background-color: var(--ss-ivory, #f7f3ea);
  overflow-x: clip;
  font-family: var(--ss-font-body, Poppins, sans-serif);
}

/* -------------------------------------------------------------------------
 * Hero — first parent container
 * ------------------------------------------------------------------------- */

body.page-id-22389 .elementor-22389 > .e-con.e-parent:first-child {
  position: relative;
  isolation: isolate;
  justify-content: center;
  align-items: center;
  min-height: 28rem;
  padding: 5.5rem 3rem !important;
  overflow: hidden;
  background-size: cover !important;
  background-position: center !important;
}

body.page-id-22389 .elementor-22389 > .e-con.e-parent:first-child::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  opacity: 1 !important;
  background: linear-gradient(
    to bottom,
    rgba(22, 53, 40, 0.56) 0%,
    rgba(22, 53, 40, 0.48) 42%,
    rgba(22, 53, 40, 0.62) 100%
  ) !important;
  background-image: linear-gradient(
    to bottom,
    rgba(22, 53, 40, 0.56) 0%,
    rgba(22, 53, 40, 0.48) 42%,
    rgba(22, 53, 40, 0.62) 100%
  ) !important;
}

body.page-id-22389 .elementor-22389 > .e-con.e-parent:first-child > .e-con-inner,
body.page-id-22389 .elementor-22389 > .e-con.e-parent:first-child > .elementor-widget {
  position: relative;
  z-index: 2;
  max-width: 48rem;
  margin-inline: auto;
  text-align: center;
}

body.page-id-22389 .elementor-22389 > .e-con.e-parent:first-child .elementor-widget-heading:first-child .elementor-heading-title {
  font-family: var(--ss-font-display, "Cormorant Garamond", Georgia, serif) !important;
  font-size: clamp(2.25rem, 1.6rem + 2.4vw, 3.5rem) !important;
  font-weight: 500 !important;
  letter-spacing: 0.14em;
  line-height: 1.15;
  text-transform: uppercase;
  color: var(--ss-ivory, #f7f3ea) !important;
  text-shadow: none;
}

body.page-id-22389 .elementor-22389 > .e-con.e-parent:first-child .elementor-widget-heading:last-child .elementor-heading-title {
  margin-top: 0.85rem;
  font-family: var(--ss-font-body, Poppins, sans-serif) !important;
  font-size: var(--ss-text-body, 1rem) !important;
  font-weight: 400 !important;
  letter-spacing: 0.01em;
  line-height: var(--ss-leading-normal, 1.6);
  text-transform: none;
  color: color-mix(in srgb, var(--ss-ivory, #f7f3ea) 88%, transparent) !important;
}

/* -------------------------------------------------------------------------
 * Portfolio — native Wpresidence_Filter_List_Properties
 * ------------------------------------------------------------------------- */

body.page-id-22389 .elementor-22389 > .e-con:has(.elementor-widget-Wpresidence_Filter_List_Properties) {
  background-color: var(--ss-ivory, #f7f3ea) !important;
  padding: 3.5rem 3rem 4.5rem !important;
  text-align: center;
}

body.page-id-22389 .elementor-22389 > .e-con:has(.elementor-widget-Wpresidence_Filter_List_Properties) h6.e-heading-base {
  margin: 0 0 0.65rem;
  font-family: var(--ss-font-body, Poppins, sans-serif) !important;
  font-size: 0.75rem !important;
  font-weight: 500 !important;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--ss-gold-soft, #b7924a) !important;
}

body.page-id-22389 .elementor-22389 > .e-con:has(.elementor-widget-Wpresidence_Filter_List_Properties) h2.e-heading-base {
  margin: 0 0 0.85rem;
  font-family: var(--ss-font-display, "Cormorant Garamond", Georgia, serif) !important;
  font-size: clamp(1.75rem, 1.35rem + 1.4vw, 2.5rem) !important;
  font-weight: 500 !important;
  letter-spacing: 0.04em;
  line-height: 1.2;
  text-transform: none;
  color: var(--ss-forest, #1f4937) !important;
}

body.page-id-22389 .elementor-22389 > .e-con:has(.elementor-widget-Wpresidence_Filter_List_Properties) p.e-paragraph-base {
  max-width: 40rem;
  margin: 0 auto 2rem;
  font-family: var(--ss-font-body, Poppins, sans-serif) !important;
  font-size: 0.9375rem !important;
  font-weight: 400 !important;
  line-height: 1.7;
  color: var(--ss-text-secondary, #5c6b7a) !important;
}

/* Nashville/demo filter chrome (Areas include Belle Meade, etc.). Keep markup + query. */
body.page-id-22389 .elementor-22389 .listing_filters_head {
  display: none !important;
}

body.page-id-22389 .elementor-22389 .wpestate_filter_list_properties_wrapper {
  margin: 0;
  padding: 0;
  text-align: center;
  overflow: visible;
}

body.page-id-22389 .elementor-22389 .no_results {
  display: block;
  max-width: 34rem;
  margin: 1.5rem auto 0;
  padding: 2.25rem 1.75rem;
  background: #fff;
  border: 1px solid color-mix(in srgb, var(--ss-border-light, #e4ded2) 88%, transparent);
  border-radius: var(--ss-radius-md, 4px);
  box-shadow: var(--ss-shadow-soft, 0 1px 2px rgba(22, 53, 40, 0.04));
  font-family: var(--ss-font-body, Poppins, sans-serif);
  font-size: 0.9375rem;
  font-weight: 400;
  line-height: 1.7;
  color: var(--ss-text-secondary, #5c6b7a);
}

body.page-id-22389 .elementor-22389 .no_results::before {
  content: "Sold inventory";
  display: block;
  margin: 0 0 0.7rem;
  font-size: 0.6875rem;
  font-weight: 500;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--ss-gold-soft, #b7924a);
}

/* -------------------------------------------------------------------------
 * Listing cards — ready for genuine sold properties (type-agnostic + type8)
 * ------------------------------------------------------------------------- */

body.page-id-22389 .elementor-22389 .wpresidence_shortcode_listings_wrapper,
body.page-id-22389 .elementor-22389 .wpestate_filter_list_properties_wrapper:has(.listing_wrapper) {
  display: flex;
  flex-wrap: wrap;
  margin-inline: -0.75rem;
  text-align: left;
}

body.page-id-22389 .elementor-22389 .listing_wrapper {
  margin-bottom: 1.75rem;
  padding-inline: 0.75rem;
}

@media (min-width: 992px) {
  body.page-id-22389 .elementor-22389 .listing_wrapper.col-lg-4,
  body.page-id-22389 .elementor-22389 .listing_wrapper.col-md-4,
  body.page-id-22389 .elementor-22389 .listing_wrapper.col-lg-3 {
    flex: 0 0 33.333333%;
    max-width: 33.333333%;
    width: 33.333333% !important;
  }
}

body.page-id-22389 .elementor-22389 .property_listing {
  background: #fff;
  border: 1px solid color-mix(in srgb, var(--ss-border-light, #e4ded2) 80%, transparent);
  border-radius: var(--ss-radius-md, 4px);
  box-shadow: var(--ss-shadow-soft, 0 1px 2px rgba(22, 53, 40, 0.04));
  overflow: hidden;
  transition: transform var(--ss-duration-luxury, 520ms) var(--ss-ease-primary, cubic-bezier(0.22, 1, 0.36, 1)),
    box-shadow var(--ss-duration-luxury, 520ms) var(--ss-ease-primary, cubic-bezier(0.22, 1, 0.36, 1));
}

body.page-id-22389 .elementor-22389 .listing-unit-img-wrapper {
  position: relative;
  overflow: hidden;
  aspect-ratio: 4 / 3;
}

body.page-id-22389 .elementor-22389 .listing-unit-img-wrapper .property_unit_carousel,
body.page-id-22389 .elementor-22389 .listing-unit-img-wrapper .carousel-inner,
body.page-id-22389 .elementor-22389 .listing-unit-img-wrapper .carousel-item {
  height: 100%;
}

body.page-id-22389 .elementor-22389 .listing-unit-img-wrapper img,
body.page-id-22389 .elementor-22389 .property_unit_carousel .carousel-item img,
body.page-id-22389 .elementor-22389 .property_listing img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

body.page-id-22389 .elementor-22389 .featured_gradient {
  background: linear-gradient(
    to top,
    rgba(22, 53, 40, 0.28) 0%,
    rgba(22, 53, 40, 0.06) 42%,
    transparent 70%
  );
  opacity: 1;
}

@media (hover: hover) and (pointer: fine) {
  body.page-id-22389 .elementor-22389 .property_listing:hover {
    transform: translateY(-3px);
    box-shadow: 0 10px 28px rgba(22, 53, 40, 0.08);
  }

  body.page-id-22389 .elementor-22389 .property_listing:hover img {
    transform: scale(1.035);
  }
}

body.page-id-22389 .elementor-22389 .featured_div,
body.page-id-22389 .elementor-22389 .ribbon-inside.Mortgage-Available,
body.page-id-22389 .elementor-22389 .action_tag_wrapper.For.Sale,
body.page-id-22389 .elementor-22389 .property_agent_wrapper,
body.page-id-22389 .elementor-22389 .compare-action,
body.page-id-22389 .elementor-22389 .icon-fav {
  display: none !important;
}

body.page-id-22389 .elementor-22389 .tag-wrapper,
body.page-id-22389 .elementor-22389 .status-wrapper {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  background: transparent;
  box-shadow: none;
}

body.page-id-22389 .elementor-22389 .ribbon-inside.Sold,
body.page-id-22389 .elementor-22389 .action_tag_wrapper.Sold {
  display: inline-flex;
  align-items: center;
  background: color-mix(in srgb, var(--ss-forest, #1f4937) 88%, transparent);
  border: 1px solid color-mix(in srgb, var(--ss-muted-gold, #d6b268) 60%, transparent);
  border-radius: var(--ss-radius-sm, 2px);
  box-shadow: none;
  padding: 4px 9px;
  margin: 0;
  font-family: var(--ss-font-body, Poppins, sans-serif);
  font-size: 9.5px;
  font-weight: 500;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--ss-ivory, #f7f3ea);
}

body.page-id-22389 .elementor-22389 .ribbon-inside.RERA-project,
body.page-id-22389 .elementor-22389 .ribbon-inside.Under-Construction,
body.page-id-22389 .elementor-22389 .ribbon-inside.Completed {
  background: color-mix(in srgb, var(--ss-forest, #1f4937) 82%, transparent);
  border: 1px solid color-mix(in srgb, var(--ss-muted-gold, #d6b268) 55%, transparent);
  border-radius: var(--ss-radius-sm, 2px);
  box-shadow: none;
  padding: 4px 8px;
  margin: 0;
  font-family: inherit;
  font-size: 9.5px;
  font-weight: 500;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--ss-ivory, #f7f3ea);
}

body.page-id-22389 .elementor-22389 .carousel-control-prev,
body.page-id-22389 .elementor-22389 .carousel-control-next {
  width: 32px;
  opacity: 0.55;
  background: transparent;
}

body.page-id-22389 .elementor-22389 .carousel-control-prev:hover,
body.page-id-22389 .elementor-22389 .carousel-control-next:hover,
body.page-id-22389 .elementor-22389 .carousel-control-prev:focus-visible,
body.page-id-22389 .elementor-22389 .carousel-control-next:focus-visible {
  opacity: 0.9;
}

body.page-id-22389 .elementor-22389 .property-unit-information-wrapper {
  padding: 1rem 1rem 1.15rem;
}

body.page-id-22389 .elementor-22389 .property_listing h4,
body.page-id-22389 .elementor-22389 .property_listing h4 a {
  font-family: var(--ss-font-display, "Cormorant Garamond", Georgia, serif) !important;
  font-size: 1.375rem !important;
  font-weight: 500 !important;
  line-height: 1.25;
  color: var(--ss-forest, #1f4937) !important;
  text-transform: none;
}

body.page-id-22389 .elementor-22389 .property_listing h4::before {
  content: "Sold";
  display: block;
  margin: 0 0 6px;
  font-family: var(--ss-font-body, Poppins, sans-serif);
  font-size: 10px;
  font-weight: 500;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--ss-gold-soft, #b7924a);
}

body.page-id-22389 .elementor-22389 .property_card_categories_wrapper,
body.page-id-22389 .elementor-22389 .property_card_categories_wrapper a,
body.page-id-22389 .elementor-22389 .property_listing_details_v2,
body.page-id-22389 .elementor-22389 .listing_unit_price_wrapper .price_label {
  font-family: var(--ss-font-body, Poppins, sans-serif);
  font-size: 0.75rem;
  font-weight: 400;
  color: var(--ss-text-secondary, #5c6b7a);
}

body.page-id-22389 .elementor-22389 .property_card_categories_wrapper {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  max-height: 2.4em;
}

body.page-id-22389 .elementor-22389 .property_listing_details_v2 {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 14px;
  margin: 10px 0 0;
  padding: 10px 0 0;
  border-top: 1px solid color-mix(in srgb, var(--ss-muted-gold, #d6b268) 42%, transparent);
  letter-spacing: 0.02em;
}

body.page-id-22389 .elementor-22389 .listing_unit_price_wrapper {
  margin-top: 8px;
  font-family: var(--ss-font-body, Poppins, sans-serif);
  font-size: 1.05rem !important;
  font-weight: 600 !important;
  color: var(--ss-forest-dark, #163528) !important;
}

@media (prefers-reduced-motion: reduce) {
  body.page-id-22389 .elementor-22389 .property_listing,
  body.page-id-22389 .elementor-22389 .property_listing img {
    transition: none;
  }

  body.page-id-22389 .elementor-22389 .property_listing:hover,
  body.page-id-22389 .elementor-22389 .property_listing:hover img {
    transform: none;
  }
}

/* -------------------------------------------------------------------------
 * Contact — keep facts; hide Nashville copy; ivory ground
 * ------------------------------------------------------------------------- */

body.page-id-22389 .elementor-22389 > .e-con.e-parent:has(.elementor-widget-WpResidence_Contact_Form_Builder) {
  position: relative;
  background-color: var(--ss-warm-white, #faf8f4) !important;
  padding: 4.25rem 3rem !important;
  overflow: hidden;
}

body.page-id-22389 .elementor-22389 > .e-con.e-parent:has(.elementor-widget-WpResidence_Contact_Form_Builder)::before {
  background: none !important;
  background-image: none !important;
  opacity: 0 !important;
}

body.page-id-22389 .elementor-22389 .elementor-element-0af007d::before {
  display: none !important;
}

body.page-id-22389 .elementor-22389 .elementor-widget-button a[href="#"] {
  pointer-events: none;
  cursor: default;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  font-family: var(--ss-font-body, Poppins, sans-serif);
  font-size: 0.75rem !important;
  font-weight: 500;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--ss-gold-soft, #b7924a) !important;
}

/* Nashville demo sentence — keep markup */
body.page-id-22389 .elementor-22389 .elementor-element-5c4cce5 {
  display: none !important;
}

body.page-id-22389 .elementor-22389 > .e-con.e-parent:has(.elementor-widget-WpResidence_Contact_Form_Builder) h2.elementor-heading-title {
  font-family: var(--ss-font-display, "Cormorant Garamond", Georgia, serif) !important;
  font-size: clamp(1.75rem, 1.4rem + 1.2vw, 2.375rem) !important;
  font-weight: 500 !important;
  line-height: 1.2;
  letter-spacing: 0.02em;
  text-transform: none;
  color: var(--ss-forest, #1f4937) !important;
}

body.page-id-22389 .elementor-22389 > .e-con.e-parent:has(.elementor-widget-WpResidence_Contact_Form_Builder) .elementor-icon-box-title,
body.page-id-22389 .elementor-22389 > .e-con.e-parent:has(.elementor-widget-WpResidence_Contact_Form_Builder) .elementor-icon-box-title a {
  font-family: var(--ss-font-body, Poppins, sans-serif) !important;
  font-size: 0.75rem !important;
  font-weight: 500 !important;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--ss-forest, #1f4937) !important;
}

body.page-id-22389 .elementor-22389 > .e-con.e-parent:has(.elementor-widget-WpResidence_Contact_Form_Builder) .elementor-icon-box-description,
body.page-id-22389 .elementor-22389 > .e-con.e-parent:has(.elementor-widget-WpResidence_Contact_Form_Builder) .elementor-icon-box-description a {
  font-family: var(--ss-font-body, Poppins, sans-serif) !important;
  font-size: 0.9375rem !important;
  font-weight: 400 !important;
  color: var(--ss-text-secondary, #5c6b7a) !important;
}

body.page-id-22389 .elementor-22389 > .e-con.e-parent:has(.elementor-widget-WpResidence_Contact_Form_Builder) .elementor-icon {
  fill: var(--ss-gold-soft, #b7924a);
  color: var(--ss-gold-soft, #b7924a);
}

body.page-id-22389 .elementor-22389 .elementor-element-db01aa2 {
  background: #fff !important;
  border: 1px solid color-mix(in srgb, var(--ss-border-light, #e4ded2) 88%, transparent);
  border-radius: var(--ss-radius-md, 4px);
  box-shadow: var(--ss-shadow-soft, 0 1px 2px rgba(22, 53, 40, 0.04));
  padding: 2rem 1.75rem !important;
}

body.page-id-22389 .elementor-22389 .elementor-element-db01aa2 h2.elementor-heading-title {
  margin-bottom: 1.25rem;
  font-size: 1.5rem !important;
}

body.page-id-22389 .elementor-22389 > .e-con.e-parent:has(.elementor-widget-WpResidence_Contact_Form_Builder) input,
body.page-id-22389 .elementor-22389 > .e-con.e-parent:has(.elementor-widget-WpResidence_Contact_Form_Builder) textarea {
  background: var(--ss-warm-white, #faf8f4) !important;
  border: 0 !important;
  border-bottom: 1px solid var(--ss-border-light, #e4ded2) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  font-family: var(--ss-font-body, Poppins, sans-serif);
  font-size: 0.875rem;
  color: var(--ss-text-primary, #20352c) !important;
}

body.page-id-22389 .elementor-22389 > .e-con.e-parent:has(.elementor-widget-WpResidence_Contact_Form_Builder) input:focus,
body.page-id-22389 .elementor-22389 > .e-con.e-parent:has(.elementor-widget-WpResidence_Contact_Form_Builder) textarea:focus {
  border-bottom-color: var(--ss-muted-gold, #d6b268) !important;
  outline: none;
}

body.page-id-22389 .elementor-22389 > .e-con.e-parent:has(.elementor-widget-WpResidence_Contact_Form_Builder) button,
body.page-id-22389 .elementor-22389 > .e-con.e-parent:has(.elementor-widget-WpResidence_Contact_Form_Builder) input[type="submit"] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 46px;
  margin-top: 0.75rem;
  background-color: var(--ss-forest, #1f4937) !important;
  border: 1px solid var(--ss-forest-dark, #163528) !important;
  border-radius: var(--ss-radius-md, 4px);
  box-shadow: none !important;
  color: var(--ss-warm-white, #faf8f4) !important;
  font-family: var(--ss-font-body, Poppins, sans-serif);
  font-size: 0.75rem;
  font-weight: 500;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

body.page-id-22389 .elementor-22389 > .e-con.e-parent:has(.elementor-widget-WpResidence_Contact_Form_Builder) button:hover,
body.page-id-22389 .elementor-22389 > .e-con.e-parent:has(.elementor-widget-WpResidence_Contact_Form_Builder) input[type="submit"]:hover,
body.page-id-22389 .elementor-22389 > .e-con.e-parent:has(.elementor-widget-WpResidence_Contact_Form_Builder) button:focus-visible {
  background-color: var(--ss-forest-dark, #163528) !important;
  color: var(--ss-ivory, #f7f3ea) !important;
}

body.page-id-22389 .elementor-22389 > .e-con.e-parent:has(.elementor-widget-WpResidence_Contact_Form_Builder) button:focus-visible {
  outline: 2px solid var(--ss-muted-gold, #d6b268);
  outline-offset: 3px;
}

/* =========================================================================
 * CONTACT — page 5707 /contact-us/
 * Header 31735 and footer 31733 are outside .elementor-5707.
 * Native WpResidence_Contact_Form_Builder unchanged.
 * ========================================================================= */

body.page-id-5707 .elementor-5707 {
  background-color: var(--ss-ivory, #f7f3ea);
  overflow-x: clip;
  font-family: var(--ss-font-body, Poppins, sans-serif);
}

/* -------------------------------------------------------------------------
 * Hide Nashville dual CTAs (Home Valuation / self-link). Keep markup.
 * ------------------------------------------------------------------------- */

body.page-id-5707 .elementor-5707 > .e-con.e-parent:has(.elementor-widget-wpresidence-call-to-action) {
  display: none !important;
  margin: 0 !important;
  padding: 0 !important;
  min-height: 0 !important;
}

/* -------------------------------------------------------------------------
 * Hero
 * ------------------------------------------------------------------------- */

body.page-id-5707 .elementor-5707 > .e-con.e-parent:first-child {
  position: relative;
  isolation: isolate;
  justify-content: center;
  align-items: center;
  min-height: 28rem;
  padding: 5.5rem 3rem !important;
  overflow: hidden;
  background-size: cover !important;
  background-position: center !important;
}

body.page-id-5707 .elementor-5707 > .e-con.e-parent:first-child::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  opacity: 1 !important;
  background: linear-gradient(
    to bottom,
    rgba(22, 53, 40, 0.56) 0%,
    rgba(22, 53, 40, 0.48) 42%,
    rgba(22, 53, 40, 0.62) 100%
  ) !important;
  background-image: linear-gradient(
    to bottom,
    rgba(22, 53, 40, 0.56) 0%,
    rgba(22, 53, 40, 0.48) 42%,
    rgba(22, 53, 40, 0.62) 100%
  ) !important;
}

body.page-id-5707 .elementor-5707 > .e-con.e-parent:first-child > .e-con-inner,
body.page-id-5707 .elementor-5707 > .e-con.e-parent:first-child > .elementor-widget {
  position: relative;
  z-index: 2;
  max-width: 48rem;
  margin-inline: auto;
  text-align: center;
}

body.page-id-5707 .elementor-5707 > .e-con.e-parent:first-child .elementor-widget-heading:first-child .elementor-heading-title {
  font-family: var(--ss-font-display, "Cormorant Garamond", Georgia, serif) !important;
  font-size: clamp(2.25rem, 1.6rem + 2.4vw, 3.5rem) !important;
  font-weight: 500 !important;
  letter-spacing: 0.14em;
  line-height: 1.15;
  text-transform: uppercase;
  color: var(--ss-ivory, #f7f3ea) !important;
  text-shadow: none;
}

body.page-id-5707 .elementor-5707 > .e-con.e-parent:first-child .elementor-widget-heading:last-child .elementor-heading-title {
  margin-top: 0.85rem;
  font-family: var(--ss-font-body, Poppins, sans-serif) !important;
  font-size: var(--ss-text-body, 1rem) !important;
  font-weight: 400 !important;
  letter-spacing: 0.01em;
  line-height: var(--ss-leading-normal, 1.6);
  text-transform: none;
  color: color-mix(in srgb, var(--ss-ivory, #f7f3ea) 88%, transparent) !important;
}

/* -------------------------------------------------------------------------
 * Contact information + enquiry form
 * ------------------------------------------------------------------------- */

body.page-id-5707 .elementor-5707 > .e-con.e-parent:has(.elementor-widget-WpResidence_Contact_Form_Builder) {
  position: relative;
  background-color: var(--ss-warm-white, #faf8f4) !important;
  background-image: none !important;
  padding: 4.25rem 3rem !important;
  overflow: hidden;
}

body.page-id-5707 .elementor-5707 .elementor-element-4e8d9a8 {
  background-color: var(--ss-warm-white, #faf8f4) !important;
  background-image: none !important;
}

body.page-id-5707 .elementor-5707 > .e-con.e-parent:has(.elementor-widget-WpResidence_Contact_Form_Builder)::before {
  background: none !important;
  background-image: none !important;
  opacity: 0 !important;
}

body.page-id-5707 .elementor-5707 .elementor-widget-button a[href="#"] {
  pointer-events: none;
  cursor: default;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  font-family: var(--ss-font-body, Poppins, sans-serif);
  font-size: 0.75rem !important;
  font-weight: 500;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--ss-gold-soft, #b7924a) !important;
}

body.page-id-5707 .elementor-5707 > .e-con.e-parent:has(.elementor-widget-WpResidence_Contact_Form_Builder) h2.elementor-heading-title {
  font-family: var(--ss-font-display, "Cormorant Garamond", Georgia, serif) !important;
  font-size: clamp(1.75rem, 1.4rem + 1.2vw, 2.375rem) !important;
  font-weight: 500 !important;
  line-height: 1.2;
  letter-spacing: 0.02em;
  text-transform: none;
  color: var(--ss-forest, #1f4937) !important;
}

body.page-id-5707 .elementor-5707 > .e-con.e-parent:has(.elementor-widget-WpResidence_Contact_Form_Builder) p.elementor-heading-title,
body.page-id-5707 .elementor-5707 .elementor-element-33f2e54 .elementor-heading-title {
  font-family: var(--ss-font-body, Poppins, sans-serif) !important;
  font-size: 0.9375rem !important;
  font-weight: 400 !important;
  line-height: 1.7;
  color: var(--ss-text-secondary, #5c6b7a) !important;
}

body.page-id-5707 .elementor-5707 > .e-con.e-parent:has(.elementor-widget-WpResidence_Contact_Form_Builder) .elementor-icon-box-title,
body.page-id-5707 .elementor-5707 > .e-con.e-parent:has(.elementor-widget-WpResidence_Contact_Form_Builder) .elementor-icon-box-title a {
  font-family: var(--ss-font-body, Poppins, sans-serif) !important;
  font-size: 0.75rem !important;
  font-weight: 500 !important;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--ss-forest, #1f4937) !important;
}

body.page-id-5707 .elementor-5707 > .e-con.e-parent:has(.elementor-widget-WpResidence_Contact_Form_Builder) .elementor-icon-box-description,
body.page-id-5707 .elementor-5707 > .e-con.e-parent:has(.elementor-widget-WpResidence_Contact_Form_Builder) .elementor-icon-box-description a {
  font-family: var(--ss-font-body, Poppins, sans-serif) !important;
  font-size: 0.9375rem !important;
  font-weight: 400 !important;
  color: var(--ss-text-secondary, #5c6b7a) !important;
}

body.page-id-5707 .elementor-5707 > .e-con.e-parent:has(.elementor-widget-WpResidence_Contact_Form_Builder) .elementor-icon-box-description a {
  text-decoration: none;
}

body.page-id-5707 .elementor-5707 > .e-con.e-parent:has(.elementor-widget-WpResidence_Contact_Form_Builder) .elementor-icon-box-description a:hover,
body.page-id-5707 .elementor-5707 > .e-con.e-parent:has(.elementor-widget-WpResidence_Contact_Form_Builder) .elementor-icon-box-description a:focus-visible {
  color: var(--ss-forest, #1f4937) !important;
}

body.page-id-5707 .elementor-5707 > .e-con.e-parent:has(.elementor-widget-WpResidence_Contact_Form_Builder) .elementor-icon-box-description a:focus-visible {
  outline: 2px solid var(--ss-muted-gold, #d6b268);
  outline-offset: 3px;
}

body.page-id-5707 .elementor-5707 > .e-con.e-parent:has(.elementor-widget-WpResidence_Contact_Form_Builder) .elementor-icon {
  fill: var(--ss-gold-soft, #b7924a);
  color: var(--ss-gold-soft, #b7924a);
}

body.page-id-5707 .elementor-5707 .ss-contact-whatsapp-item {
  width: 100%;
}

/* -------------------------------------------------------------------------
 * Premium 2-Column Contact Us Layout (Revision R5)
 * ------------------------------------------------------------------------- */

.ss-contact-layout-wrapper {
  display: grid;
  grid-template-columns: 1.15fr 0.85fr;
  gap: 2.5rem;
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  align-items: start;
}

.ss-contact-col {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}

.ss-contact-card {
  background: #ffffff;
  border: 1px solid color-mix(in srgb, var(--ss-border-light, #e4ded2) 80%, transparent);
  border-radius: var(--ss-radius-md, 8px);
  box-shadow: 0 4px 20px rgba(31, 73, 55, 0.04);
  padding: 2.5rem 2.25rem;
  transition: box-shadow 0.3s ease, border-color 0.3s ease;
}

.ss-contact-card:hover {
  border-color: color-mix(in srgb, var(--ss-muted-gold, #d6b268) 50%, var(--ss-border-light, #e4ded2));
  box-shadow: 0 8px 30px rgba(31, 73, 55, 0.08);
}

.ss-contact-card__header {
  margin-bottom: 1.75rem;
}

.ss-contact-card__eyebrow {
  display: inline-block;
  font-family: var(--ss-font-body, Poppins, sans-serif);
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--ss-gold-soft, #b7924a);
  margin-bottom: 0.5rem;
}

.ss-contact-card__title {
  font-family: var(--ss-font-display, "Cormorant Garamond", Georgia, serif) !important;
  font-size: clamp(1.75rem, 1.4rem + 1vw, 2.25rem) !important;
  font-weight: 600 !important;
  line-height: 1.25 !important;
  color: var(--ss-forest, #1f4937) !important;
  margin: 0 0 0.5rem 0 !important;
}

.ss-contact-card__sub {
  font-family: var(--ss-font-body, Poppins, sans-serif);
  font-size: 0.9375rem;
  color: var(--ss-text-secondary, #5c6b7a);
  line-height: 1.6;
  margin: 0;
}

/* Form Card Scoping */
.ss-contact-form-card .elementor-widget-WpResidence_Contact_Form_Builder {
  width: 100%;
}

.ss-contact-form-card .elementor-form-fields-wrapper {
  row-gap: 1rem;
}

/* Contact Info Family */
.ss-contact-info-family {
  background: #ffffff;
  border: 1px solid color-mix(in srgb, var(--ss-border-light, #e4ded2) 80%, transparent);
  border-radius: var(--ss-radius-md, 8px);
  box-shadow: 0 4px 20px rgba(31, 73, 55, 0.04);
  padding: 2.25rem 2.25rem;
}

.ss-contact-info-family__header {
  margin-bottom: 1.25rem;
}

.ss-contact-info-family__title {
  font-family: var(--ss-font-display, "Cormorant Garamond", Georgia, serif) !important;
  font-size: 1.5rem !important;
  font-weight: 600 !important;
  color: var(--ss-forest, #1f4937) !important;
  margin: 0 !important;
}

.ss-contact-info-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.25rem;
}

.ss-contact-info-item {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 1.125rem 1.25rem;
  background: var(--ss-warm-white, #faf8f4);
  border: 1px solid color-mix(in srgb, var(--ss-border-light, #e4ded2) 60%, transparent);
  border-radius: 6px;
  text-decoration: none !important;
  transition: all 0.25s ease;
}

.ss-contact-info-item:hover {
  background: #ffffff;
  border-color: var(--ss-muted-gold, #d6b268);
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(31, 73, 55, 0.06);
}

.ss-contact-info-item--address {
  grid-column: 1 / -1;
}

.ss-contact-info-item__icon {
  flex-shrink: 0;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: rgba(31, 73, 55, 0.06);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--ss-forest, #1f4937);
  transition: all 0.25s ease;
}

.ss-contact-info-item:hover .ss-contact-info-item__icon {
  background: var(--ss-forest, #1f4937);
  color: var(--ss-muted-gold, #d6b268);
}

.ss-contact-info-item__icon--wa {
  color: #25d366;
}

.ss-contact-info-item:hover .ss-contact-info-item__icon--wa {
  background: #25d366;
  color: #ffffff;
}

.ss-contact-info-item__content {
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
  overflow: hidden;
}

.ss-contact-info-item__label {
  font-family: var(--ss-font-body, Poppins, sans-serif);
  font-size: 0.6875rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--ss-gold-soft, #b7924a);
}

.ss-contact-info-item__val {
  font-family: var(--ss-font-body, Poppins, sans-serif);
  font-size: 0.9375rem;
  font-weight: 500;
  color: var(--ss-text-primary, #20352c);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.ss-contact-info-item--address .ss-contact-info-item__val {
  white-space: normal;
}

/* Map Card Scoping */
.ss-contact-map-card {
  display: flex;
  flex-direction: column;
  height: 100%;
}

.ss-contact-map-frame-wrapper {
  position: relative;
  width: 100%;
  border-radius: 6px;
  overflow: hidden;
  border: 1px solid color-mix(in srgb, var(--ss-border-light, #e4ded2) 80%, transparent);
  box-shadow: inset 0 0 8px rgba(0, 0, 0, 0.04);
  margin-bottom: 1.5rem;
}

.ss-contact-map-iframe {
  display: block;
  width: 100%;
  height: 380px;
  border: 0;
}

.ss-contact-map-actions {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
  margin-top: auto;
}

.ss-contact-map-address {
  display: flex;
  align-items: flex-start;
  gap: 0.6rem;
  font-family: var(--ss-font-body, Poppins, sans-serif);
  font-size: 0.875rem;
  color: var(--ss-text-secondary, #5c6b7a);
  line-height: 1.5;
}

.ss-contact-map-address__pin {
  font-size: 1.1rem;
  line-height: 1;
}

.ss-get-directions-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.6rem;
  width: 100%;
  min-height: 48px;
  background-color: var(--ss-forest, #1f4937);
  border: 1px solid var(--ss-forest-dark, #163528);
  border-radius: var(--ss-radius-md, 4px);
  color: var(--ss-warm-white, #faf8f4) !important;
  font-family: var(--ss-font-body, Poppins, sans-serif);
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  text-decoration: none !important;
  transition: all 0.25s ease;
  box-shadow: 0 4px 12px rgba(31, 73, 55, 0.12);
}

.ss-get-directions-btn:hover {
  background-color: var(--ss-forest-dark, #163528);
  color: var(--ss-muted-gold, #d6b268) !important;
  transform: translateY(-2px);
  box-shadow: 0 6px 16px rgba(31, 73, 55, 0.2);
}

body.page-id-5707 .elementor-5707 .elementor-element-d6b231e {
  background: #fff !important;
  border: 1px solid color-mix(in srgb, var(--ss-border-light, #e4ded2) 88%, transparent);
  border-radius: var(--ss-radius-md, 4px);
  box-shadow: var(--ss-shadow-soft, 0 1px 2px rgba(22, 53, 40, 0.04));
  padding: 2rem 1.75rem !important;
}

body.page-id-5707 .elementor-5707 .elementor-element-d6b231e h2.elementor-heading-title {
  margin-bottom: 1.25rem;
  font-size: 1.5rem !important;
}

body.page-id-5707 .elementor-5707 > .e-con.e-parent:has(.elementor-widget-WpResidence_Contact_Form_Builder) input,
body.page-id-5707 .elementor-5707 > .e-con.e-parent:has(.elementor-widget-WpResidence_Contact_Form_Builder) textarea {
  background: var(--ss-warm-white, #faf8f4) !important;
  border: 0 !important;
  border-bottom: 1px solid var(--ss-border-light, #e4ded2) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  font-family: var(--ss-font-body, Poppins, sans-serif);
  font-size: 0.875rem;
  color: var(--ss-text-primary, #20352c) !important;
}

body.page-id-5707 .elementor-5707 > .e-con.e-parent:has(.elementor-widget-WpResidence_Contact_Form_Builder) input:focus,
body.page-id-5707 .elementor-5707 > .e-con.e-parent:has(.elementor-widget-WpResidence_Contact_Form_Builder) textarea:focus {
  border-bottom-color: var(--ss-muted-gold, #d6b268) !important;
  outline: none;
}

body.page-id-5707 .elementor-5707 > .e-con.e-parent:has(.elementor-widget-WpResidence_Contact_Form_Builder) button,
body.page-id-5707 .elementor-5707 > .e-con.e-parent:has(.elementor-widget-WpResidence_Contact_Form_Builder) input[type="submit"] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 46px;
  margin-top: 0.75rem;
  background-color: var(--ss-forest, #1f4937) !important;
  border: 1px solid var(--ss-forest-dark, #163528) !important;
  border-radius: var(--ss-radius-md, 4px);
  box-shadow: none !important;
  color: var(--ss-warm-white, #faf8f4) !important;
  font-family: var(--ss-font-body, Poppins, sans-serif);
  font-size: 0.75rem;
  font-weight: 500;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

body.page-id-5707 .elementor-5707 > .e-con.e-parent:has(.elementor-widget-WpResidence_Contact_Form_Builder) button:hover,
body.page-id-5707 .elementor-5707 > .e-con.e-parent:has(.elementor-widget-WpResidence_Contact_Form_Builder) input[type="submit"]:hover,
body.page-id-5707 .elementor-5707 > .e-con.e-parent:has(.elementor-widget-WpResidence_Contact_Form_Builder) button:focus-visible {
  background-color: var(--ss-forest-dark, #163528) !important;
  color: var(--ss-ivory, #f7f3ea) !important;
}

body.page-id-5707 .elementor-5707 > .e-con.e-parent:has(.elementor-widget-WpResidence_Contact_Form_Builder) button:focus-visible {
  outline: 2px solid var(--ss-muted-gold, #d6b268);
  outline-offset: 3px;
}

/* =========================================================================
 * SINGLE PROPERTY — Elementor template 24137
 * Scope: body.single-estate_property .elementor-24137
 * Header 31735 and footer 31733 are outside this document.
 * Native gallery / lightbox / map / enquiry / floor-plan widgets unchanged.
 * ========================================================================= */

body.single-estate_property .elementor-24137 {
  background-color: var(--ss-ivory, #f7f3ea);
  overflow-x: clip;
  font-family: var(--ss-font-body, Poppins, sans-serif);
  color: var(--ss-text-primary, #20352c);
}

body.single-estate_property .elementor-24137 > .e-con.e-parent {
  max-width: 100%;
}

/* -------------------------------------------------------------------------
 * Hide Nashville / demo residue (markup kept)
 * ------------------------------------------------------------------------- */

body.single-estate_property .elementor-24137 .ribbon-inside.Mortgage-Available,
body.single-estate_property .elementor-24137 .ribbon-wrapper-Mortgage-Available,
body.single-estate_property .elementor-24137 .slider-property-status.Mortgage-Available,
body.single-estate_property .elementor-24137 .action_tag_wrapper.For.Sale,
body.single-estate_property .elementor-24137 .featured_div,
body.single-estate_property .elementor-24137 .elementor-element-c0f0608 .elementor-icon-list-item:has(a[href="#mortgagecalculator"]),
body.single-estate_property .elementor-24137 .listing_detail.property-date,
body.single-estate_property .elementor-24137 .listing_detail.property-basement,
body.single-estate_property .elementor-24137 .listing_detail.exterior-material,
body.single-estate_property .elementor-24137 .listing_detail.structure-type,
body.single-estate_property .elementor-24137 .listing_detail.mls,
body.single-estate_property .elementor-24137 .listing_detail.back-yard,
body.single-estate_property .elementor-24137 .listing_detail.basketball-court,
body.single-estate_property .elementor-24137 .listing_detail.hot-bath,
body.single-estate_property .elementor-24137 .listing_detail.central-air,
body.single-estate_property .elementor-24137 .listing_detail.heating,
body.single-estate_property .elementor-24137 .listing_detail.natural-gas,
body.single-estate_property .elementor-24137 .listing_detail.chair-accessible,
body.single-estate_property .elementor-24137 .listing_detail.fireplace,
body.single-estate_property .elementor-24137 .listing_detail.washer-and-dryer,
body.single-estate_property .elementor-24137 .listing_detail.media-room,
body.single-estate_property .elementor-24137 .elementor-element-54f0f3c,
body.single-estate_property .elementor-24137 .elementor-widget-Agent_Single_Detail {
  display: none !important;
}

/* -------------------------------------------------------------------------
 * Breadcrumb + tools
 * ------------------------------------------------------------------------- */

body.single-estate_property .elementor-24137 .elementor-element-efcf846 {
  background-color: var(--ss-warm-white, #faf8f4) !important;
  padding: 0.85rem 3rem !important;
}

body.single-estate_property .elementor-24137 .elementor-element-efcf846,
body.single-estate_property .elementor-24137 .elementor-element-efcf846 a,
body.single-estate_property .elementor-24137 .breadcrumb,
body.single-estate_property .elementor-24137 .breadcrumb a {
  font-family: var(--ss-font-body, Poppins, sans-serif);
  font-size: 0.75rem !important;
  font-weight: 400;
  letter-spacing: 0.04em;
  color: var(--ss-text-secondary, #5c6b7a) !important;
}

body.single-estate_property .elementor-24137 .elementor-element-efcf846 a:hover,
body.single-estate_property .elementor-24137 .elementor-element-efcf846 a:focus-visible {
  color: var(--ss-forest, #1f4937) !important;
}

body.single-estate_property .elementor-24137 .elementor-element-52884d9 a,
body.single-estate_property .elementor-24137 .elementor-element-52884d9 button {
  border: 1px solid var(--ss-border-light, #e4ded2) !important;
  border-radius: var(--ss-radius-md, 4px);
  background: #fff !important;
  box-shadow: none !important;
  color: var(--ss-forest, #1f4937) !important;
  font-size: 0.6875rem !important;
  font-weight: 500;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

/* -------------------------------------------------------------------------
 * Masonry gallery / hero
 * ------------------------------------------------------------------------- */

body.single-estate_property .elementor-24137 .elementor-element-6742de59 {
  background-color: var(--ss-ivory, #f7f3ea) !important;
  padding: 0 3rem 0.5rem !important;
}

body.single-estate_property .elementor-24137 .gallery_wrapper,
body.single-estate_property .elementor-24137 .property_header_gallery_wrapper {
  overflow: hidden;
  border-radius: var(--ss-radius-md, 4px);
}

body.single-estate_property .elementor-24137 .image_gallery,
body.single-estate_property .elementor-24137 .gallery-right-column,
body.single-estate_property .elementor-24137 .gallery-left-column .col-md-6 {
  background-size: cover !important;
  background-position: center !important;
}

body.single-estate_property .elementor-24137 .status-wrapper.horizontalstatus {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  background: transparent;
  box-shadow: none;
  padding: 12px;
}

body.single-estate_property .elementor-24137 .ribbon-inside.RERA-project,
body.single-estate_property .elementor-24137 .ribbon-inside.Under-Construction {
  background: color-mix(in srgb, var(--ss-forest, #1f4937) 82%, transparent);
  border: 1px solid color-mix(in srgb, var(--ss-muted-gold, #d6b268) 55%, transparent);
  border-radius: var(--ss-radius-sm, 2px);
  box-shadow: none;
  padding: 4px 8px;
  margin: 0;
  font-family: inherit;
  font-size: 9.5px;
  font-weight: 500;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--ss-ivory, #f7f3ea);
}

body.single-estate_property .elementor-24137 .last_gallery_item,
body.single-estate_property .elementor-24137 .see_all_gallery,
body.single-estate_property .elementor-24137 a[href*="photos"] {
  font-family: var(--ss-font-body, Poppins, sans-serif);
  letter-spacing: 0.06em;
}

/* -------------------------------------------------------------------------
 * Title / price / overview stats
 * ------------------------------------------------------------------------- */

body.single-estate_property .elementor-24137 .elementor-element-c76869b {
  background-color: var(--ss-warm-white, #faf8f4) !important;
  padding: 1.75rem 3rem 1.5rem !important;
}

body.single-estate_property .elementor-24137 h1.entry_prop,
body.single-estate_property .elementor-24137 .elementor-element-f61ecc8 h1 {
  font-family: var(--ss-font-display, "Cormorant Garamond", Georgia, serif) !important;
  font-size: clamp(2rem, 1.5rem + 1.6vw, 2.75rem) !important;
  font-weight: 500 !important;
  line-height: 1.15;
  letter-spacing: 0.01em;
  color: var(--ss-forest, #1f4937) !important;
}

body.single-estate_property .elementor-24137 .price_area,
body.single-estate_property .elementor-24137 .elementor-element-4c5fac6b .price_area {
  font-family: var(--ss-font-body, Poppins, sans-serif) !important;
  font-size: 1.25rem !important;
  font-weight: 500 !important;
  color: var(--ss-gold-soft, #b7924a) !important;
}

body.single-estate_property .elementor-24137 .price_area .price_label {
  margin-left: 0.35rem;
  font-size: 0.75rem !important;
  font-weight: 500;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--ss-text-secondary, #5c6b7a) !important;
}

body.single-estate_property .elementor-24137 .elementor-element-2a92cb2,
body.single-estate_property .elementor-24137 .elementor-element-69cd01c,
body.single-estate_property .elementor-24137 .elementor-element-63f7bbe {
  background: #fff !important;
  border: 1px solid color-mix(in srgb, var(--ss-border-light, #e4ded2) 88%, transparent) !important;
  border-radius: var(--ss-radius-md, 4px);
  box-shadow: none !important;
  min-width: 7.5rem;
  padding: 0.85rem 1rem !important;
}

body.single-estate_property .elementor-24137 .elementor-element-58167517 .elementor-widget-Text_with_Property_Details,
body.single-estate_property .elementor-24137 .elementor-element-8b372c6,
body.single-estate_property .elementor-24137 .elementor-element-5a24c66,
body.single-estate_property .elementor-24137 .elementor-element-f3a4bab {
  font-family: var(--ss-font-display, "Cormorant Garamond", Georgia, serif) !important;
  font-size: 1.5rem !important;
  font-weight: 500 !important;
  color: var(--ss-forest, #1f4937) !important;
}

body.single-estate_property .elementor-24137 .elementor-element-58167517 .elementor-widget-text-editor,
body.single-estate_property .elementor-24137 .elementor-element-00f9cd4,
body.single-estate_property .elementor-24137 .elementor-element-cdc80df,
body.single-estate_property .elementor-24137 .elementor-element-5efbef9 {
  font-family: var(--ss-font-body, Poppins, sans-serif) !important;
  font-size: 0.6875rem !important;
  font-weight: 500;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--ss-text-secondary, #5c6b7a) !important;
}

/* -------------------------------------------------------------------------
 * In-page section nav + Ask a Question
 * ------------------------------------------------------------------------- */

body.single-estate_property .elementor-24137 .elementor-element-4228945 {
  background-color: var(--ss-warm-white, #faf8f4) !important;
  border-top: 1px solid var(--ss-border-light, #e4ded2);
  border-bottom: 1px solid var(--ss-border-light, #e4ded2);
  padding: 0.65rem 3rem !important;
}

body.single-estate_property .elementor-24137 .elementor-element-c0f0608 .elementor-icon-list-text,
body.single-estate_property .elementor-24137 .elementor-element-c0f0608 a {
  font-family: var(--ss-font-body, Poppins, sans-serif) !important;
  font-size: 0.6875rem !important;
  font-weight: 500;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--ss-text-secondary, #5c6b7a) !important;
}

body.single-estate_property .elementor-24137 .elementor-element-c0f0608 a:hover,
body.single-estate_property .elementor-24137 .elementor-element-c0f0608 a:focus-visible {
  color: var(--ss-forest, #1f4937) !important;
}

body.single-estate_property .elementor-24137 .elementor-element-1f49dfe .elementor-button {
  background-color: var(--ss-forest, #1f4937) !important;
  border: 1px solid var(--ss-forest-dark, #163528) !important;
  border-radius: var(--ss-radius-md, 4px);
  box-shadow: none !important;
  min-height: 42px;
  padding: 0.65rem 1.25rem !important;
  font-family: var(--ss-font-body, Poppins, sans-serif) !important;
  font-size: 0.6875rem !important;
  font-weight: 500;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--ss-warm-white, #faf8f4) !important;
}

body.single-estate_property .elementor-24137 .elementor-element-1f49dfe .elementor-button:hover,
body.single-estate_property .elementor-24137 .elementor-element-1f49dfe .elementor-button:focus-visible {
  background-color: var(--ss-forest-dark, #163528) !important;
  color: var(--ss-ivory, #f7f3ea) !important;
}

body.single-estate_property .elementor-24137 .elementor-element-1f49dfe .elementor-button:focus-visible {
  outline: 2px solid var(--ss-muted-gold, #d6b268);
  outline-offset: 3px;
}

/* -------------------------------------------------------------------------
 * Description, details, amenities, enquiry
 * ------------------------------------------------------------------------- */

body.single-estate_property .elementor-24137 .elementor-element-36f62199 {
  background-color: var(--ss-ivory, #f7f3ea) !important;
  background-image: none !important;
  padding: 3rem !important;
}

body.single-estate_property .elementor-24137 .elementor-element-36f62199 .panel-title,
body.single-estate_property .elementor-24137 .elementor-element-36f62199 h4.panel-title,
body.single-estate_property .elementor-24137 #propertydescription .panel-title,
body.single-estate_property .elementor-24137 #prop_det.panel-title,
body.single-estate_property .elementor-24137 #prop_ame.panel-title {
  font-family: var(--ss-font-display, "Cormorant Garamond", Georgia, serif) !important;
  font-size: clamp(1.5rem, 1.25rem + 0.9vw, 1.875rem) !important;
  font-weight: 500 !important;
  letter-spacing: 0.02em;
  text-transform: none;
  color: var(--ss-forest, #1f4937) !important;
}

body.single-estate_property .elementor-24137 .elementor-element-36f62199 .panel-body,
body.single-estate_property .elementor-24137 .property_page_acc_description,
body.single-estate_property .elementor-24137 .wpestate_property_description {
  font-family: var(--ss-font-body, Poppins, sans-serif);
  font-size: 0.9375rem;
  line-height: 1.75;
  color: var(--ss-text-primary, #20352c);
}

body.single-estate_property .elementor-24137 .panel,
body.single-estate_property .elementor-24137 .panel-default,
body.single-estate_property .elementor-24137 .panel-body,
body.single-estate_property .elementor-24137 .panel-group.property-panel,
body.single-estate_property .elementor-24137 .wpestate_property_description {
  background: #fff !important;
  background-color: #fff !important;
  background-image: none !important;
  border: 1px solid color-mix(in srgb, var(--ss-border-light, #e4ded2) 88%, transparent);
  border-radius: var(--ss-radius-md, 4px);
  box-shadow: var(--ss-shadow-soft, 0 1px 2px rgba(22, 53, 40, 0.04));
  color: var(--ss-text-primary, #20352c) !important;
}

body.single-estate_property .elementor-24137 .wpestate_property_description,
body.single-estate_property .elementor-24137 .panel-group.property-panel {
  padding: 1.25rem 1.5rem;
  margin-bottom: 1.25rem;
}

body.single-estate_property .elementor-24137 .listing_detail {
  border-bottom: 1px solid color-mix(in srgb, var(--ss-border-light, #e4ded2) 90%, transparent);
  padding: 0.7rem 0;
  font-family: var(--ss-font-body, Poppins, sans-serif);
  font-size: 0.875rem;
  color: var(--ss-text-primary, #20352c);
}

body.single-estate_property .elementor-24137 .listing_detail strong {
  font-weight: 500;
  color: var(--ss-text-secondary, #5c6b7a);
}

body.single-estate_property .elementor-24137 .listing_detail.rera {
  width: 100%;
  max-width: 100%;
  flex: 0 0 100%;
  margin-top: 0.5rem;
  border-bottom: 0;
  border-left: 2px solid var(--ss-muted-gold, #d6b268);
  padding-left: 0.85rem;
}

body.single-estate_property .elementor-24137 .listing_detail.rera,
body.single-estate_property .elementor-24137 .listing_detail.rera strong {
  color: var(--ss-forest, #1f4937);
}

body.single-estate_property .elementor-24137 .feature_chapter_name {
  margin: 1.25rem 0 0.5rem;
  font-family: var(--ss-font-body, Poppins, sans-serif);
  font-size: 0.6875rem;
  font-weight: 500;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--ss-gold-soft, #b7924a);
}

body.single-estate_property .elementor-24137 .listing_detail.col-md-3 {
  border-bottom: 0;
  padding: 0.35rem 0;
  color: var(--ss-text-primary, #20352c);
}

body.single-estate_property .elementor-24137 .listing_detail.col-md-3 i {
  color: var(--ss-muted-gold, #d6b268);
  margin-right: 0.4rem;
}

/* Tour / enquiry card */

body.single-estate_property .elementor-24137 .elementor_agent_wrapper,
body.single-estate_property .elementor-24137 .wpestate_schedule_tour_wrapper,
body.single-estate_property .elementor-24137 #contact {
  background: #fff !important;
  border: 1px solid color-mix(in srgb, var(--ss-border-light, #e4ded2) 88%, transparent);
  border-radius: var(--ss-radius-md, 4px);
  box-shadow: var(--ss-shadow-soft, 0 1px 2px rgba(22, 53, 40, 0.04));
  padding: 1.25rem 1.15rem 1.35rem;
}

body.single-estate_property .elementor-24137 .wpestate_property_schedule_singledate_wrapper_display {
  background: var(--ss-warm-white, #faf8f4) !important;
  border: 1px solid var(--ss-border-light, #e4ded2) !important;
  border-radius: var(--ss-radius-sm, 2px);
  color: var(--ss-forest, #1f4937) !important;
}

body.single-estate_property .elementor-24137 .wpestate_schedule_tour_wrapper input,
body.single-estate_property .elementor-24137 .wpestate_schedule_tour_wrapper textarea,
body.single-estate_property .elementor-24137 .wpestate_schedule_tour_wrapper select,
body.single-estate_property .elementor-24137 #contact input,
body.single-estate_property .elementor-24137 #contact textarea,
body.single-estate_property .elementor-24137 #contact select {
  background: var(--ss-warm-white, #faf8f4) !important;
  border: 0 !important;
  border-bottom: 1px solid var(--ss-border-light, #e4ded2) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  font-family: var(--ss-font-body, Poppins, sans-serif);
  font-size: 0.875rem;
  color: var(--ss-text-primary, #20352c) !important;
}

body.single-estate_property .elementor-24137 .wpestate_schedule_tour_wrapper input:focus,
body.single-estate_property .elementor-24137 .wpestate_schedule_tour_wrapper textarea:focus,
body.single-estate_property .elementor-24137 .wpestate_schedule_tour_wrapper select:focus,
body.single-estate_property .elementor-24137 #contact input:focus,
body.single-estate_property .elementor-24137 #contact textarea:focus {
  border-bottom-color: var(--ss-muted-gold, #d6b268) !important;
  outline: none;
}

body.single-estate_property .elementor-24137 .wpestate_schedule_tour_wrapper button,
body.single-estate_property .elementor-24137 .wpestate_schedule_tour_wrapper input[type="submit"],
body.single-estate_property .elementor-24137 #contact button,
body.single-estate_property .elementor-24137 #contact input[type="submit"] {
  background-color: var(--ss-forest, #1f4937) !important;
  border: 1px solid var(--ss-forest-dark, #163528) !important;
  border-radius: var(--ss-radius-md, 4px);
  box-shadow: none !important;
  min-height: 44px;
  font-family: var(--ss-font-body, Poppins, sans-serif);
  font-size: 0.75rem;
  font-weight: 500;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--ss-warm-white, #faf8f4) !important;
}

body.single-estate_property .elementor-24137 .wpestate_schedule_tour_wrapper button:hover,
body.single-estate_property .elementor-24137 .wpestate_schedule_tour_wrapper input[type="submit"]:hover,
body.single-estate_property .elementor-24137 #contact button:hover,
body.single-estate_property .elementor-24137 #contact input[type="submit"]:hover,
body.single-estate_property .elementor-24137 .wpestate_schedule_tour_wrapper button:focus-visible,
body.single-estate_property .elementor-24137 #contact button:focus-visible {
  background-color: var(--ss-forest-dark, #163528) !important;
}

/* -------------------------------------------------------------------------
 * Floor plans
 * ------------------------------------------------------------------------- */

body.single-estate_property .elementor-24137 .elementor-element-f6a6dcd {
  background-color: var(--ss-warm-white, #faf8f4) !important;
  padding: 2.5rem 3rem !important;
}

body.single-estate_property .elementor-24137 .elementor-element-f6a6dcd .panel-title {
  font-family: var(--ss-font-display, "Cormorant Garamond", Georgia, serif) !important;
  font-size: clamp(1.5rem, 1.25rem + 0.9vw, 1.875rem) !important;
  font-weight: 500 !important;
  color: var(--ss-forest, #1f4937) !important;
}

body.single-estate_property .elementor-24137 .front_plan_row {
  background: #fff;
  border: 1px solid color-mix(in srgb, var(--ss-border-light, #e4ded2) 88%, transparent);
  border-radius: var(--ss-radius-md, 4px);
  box-shadow: var(--ss-shadow-soft, 0 1px 2px rgba(22, 53, 40, 0.04));
  padding: 1.25rem;
  margin-bottom: 1rem;
}

body.single-estate_property .elementor-24137 .floor_image img,
body.single-estate_property .elementor-24137 .elementor-element-9b04154 img {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
  object-fit: contain;
  background: #fff;
}

body.single-estate_property .elementor-24137 .floor_description {
  font-size: 0.875rem;
  line-height: 1.65;
  color: var(--ss-text-secondary, #5c6b7a);
}

/* -------------------------------------------------------------------------
 * Map, image gallery heading, similar, disclaimer
 * ------------------------------------------------------------------------- */

body.single-estate_property .elementor-24137 .elementor-element-8882d30,
body.single-estate_property .elementor-24137 .elementor-element-1010eff,
body.single-estate_property .elementor-24137 .elementor-element-2c121e8e,
body.single-estate_property .elementor-24137 .elementor-element-fb76b7d {
  background-color: var(--ss-ivory, #f7f3ea) !important;
  padding-inline: 3rem !important;
}

body.single-estate_property .elementor-24137 .elementor-element-8882d30 h2,
body.single-estate_property .elementor-24137 .elementor-element-1010eff h2,
body.single-estate_property .elementor-24137 .elementor-element-2c121e8e h2,
body.single-estate_property .elementor-24137 .elementor-element-fb76b7d h3,
body.single-estate_property .elementor-24137 .elementor-element-429ec25 .elementor-heading-title,
body.single-estate_property .elementor-24137 .elementor-element-79eeb6b .elementor-heading-title,
body.single-estate_property .elementor-24137 .elementor-element-c52cc34 .elementor-heading-title {
  font-family: var(--ss-font-display, "Helvetica Neue", Helvetica, Arial, sans-serif) !important;
  font-size: clamp(1.5rem, 1.25rem + 0.9vw, 1.875rem) !important;
  font-weight: 600 !important;
  color: var(--ss-forest, #1f4937) !important;
}

body.single-estate_property .elementor-24137 .leaflet-container,
body.single-estate_property .elementor-24137 .property_show_map_section,
body.single-estate_property .elementor-24137 #googleMap,
body.single-estate_property .elementor-24137 .google_map_on_list_wrapper {
  border-radius: var(--ss-radius-md, 4px);
  overflow: hidden;
}

body.single-estate_property .elementor-24137 .elementor-element-5c7130f8 .property_listing {
  background: #fff;
  border: 1px solid color-mix(in srgb, var(--ss-border-light, #e4ded2) 80%, transparent);
  border-radius: var(--ss-radius-md, 4px);
  box-shadow: var(--ss-shadow-soft, 0 1px 2px rgba(22, 53, 40, 0.04));
  overflow: hidden;
}

body.single-estate_property .elementor-24137 .elementor-element-5c7130f8 .property_listing h4,
body.single-estate_property .elementor-24137 .elementor-element-5c7130f8 .property_listing h4 a {
  font-family: var(--ss-font-display, "Helvetica Neue", Helvetica, Arial, sans-serif) !important;
  font-size: 1.25rem !important;
  font-weight: 600 !important;
  color: var(--ss-forest, #1f4937) !important;
}

body.single-estate_property .elementor-24137 .elementor-element-fb76b7d,
body.single-estate_property .elementor-24137 .elementor-element-02c3e11 {
  font-size: 0.8125rem;
  line-height: 1.7;
  color: var(--ss-text-secondary, #5c6b7a);
}

/* -------------------------------------------------------------------------
 * Property Detail Layout Optimization
 * 3-column stats distribution, divider removal, tighter container spacing
 * ------------------------------------------------------------------------- */
body.single-estate_property .elementor-24137 .elementor-element-9143adf {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 1.25rem !important;
}

body.single-estate_property .elementor-24137 .elementor-element-2a92cb2,
body.single-estate_property .elementor-24137 .elementor-element-69cd01c,
body.single-estate_property .elementor-24137 .elementor-element-63f7bbe {
  width: 100% !important;
  max-width: none !important;
  flex: 1 1 auto !important;
}

/* Hide excessive blank dividers */
body.single-estate_property .elementor-24137 .elementor-element-75a2f37,
body.single-estate_property .elementor-24137 .elementor-element-0aa6fd5 {
  display: none !important;
}

/* Tighten container padding to remove dead vertical whitespace */
body.single-estate_property .elementor-24137 .elementor-element-c76869b {
  padding-top: 1rem !important;
  padding-bottom: 1rem !important;
}

body.single-estate_property .elementor-24137 .elementor-element-4228945 {
  padding-top: 1rem !important;
  padding-bottom: 1rem !important;
}

body.single-estate_property .elementor-24137 .elementor-element-36f62199 {
  padding-top: 1.25rem !important;
  padding-bottom: 1.25rem !important;
}

@media (hover: hover) and (pointer: fine) {
  body.single-estate_property .elementor-24137 .elementor-element-5c7130f8 .property_listing:hover {
    transform: translateY(-3px);
    box-shadow: 0 10px 28px rgba(22, 53, 40, 0.08);
  }
}

@media (prefers-reduced-motion: reduce) {
  body.single-estate_property .elementor-24137 .elementor-element-5c7130f8 .property_listing,
  body.single-estate_property .elementor-24137 .elementor-element-1f49dfe .elementor-button {
    transition: none;
  }

  body.single-estate_property .elementor-24137 .elementor-element-5c7130f8 .property_listing:hover {
    transform: none;
  }
}

/* =========================================================================
 * EXPLORE PROPERTY CATEGORIES — 5 COMPACT CARDS (SOMANI-INSPIRED)
 * ========================================================================= */

.ss-explore-categories-section {
  width: 100%;
  max-width: var(--ss-wide-max, 1440px);
  margin: 2.5rem auto 3rem;
  padding: 0 var(--ss-gutter-desktop, 2rem);
  box-sizing: border-box;
}

.ss-explore-categories-container {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  width: 100%;
}

.ss-explore-categories-header {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}

.ss-explore-categories-eyebrow {
  display: inline-block;
  font-family: var(--ss-font-body, "Helvetica Neue", Helvetica, Arial, sans-serif);
  font-size: 0.6875rem;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--ss-muted-gold, #d6b268);
}

.ss-explore-categories-title {
  font-family: var(--ss-font-display, "Helvetica Neue", Helvetica, Arial, sans-serif);
  font-size: clamp(1.5rem, 1.25rem + 1vw, 2.125rem);
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: -0.015em;
  color: var(--ss-forest, #1f4937);
  margin: 0;
}

.ss-explore-categories-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 1rem;
  width: 100%;
}

.ss-category-card {
  position: relative;
  display: flex;
  align-items: center;
  gap: 0.95rem;
  padding: 1.15rem 1.1rem;
  background: var(--ss-warm-white, #faf8f4);
  border: 1px solid var(--ss-border-light, #e4ded2);
  border-radius: var(--ss-radius-card, 6px);
  text-decoration: none !important;
  color: var(--ss-text-primary, #20352c);
  box-shadow: 0 2px 8px rgba(22, 53, 40, 0.03);
  transition: transform 260ms cubic-bezier(0.22, 1, 0.36, 1), box-shadow 260ms ease, border-color 260ms ease;
  overflow: hidden;
}

.ss-category-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  width: 3px;
  background: var(--ss-muted-gold, #d6b268);
  opacity: 0;
  transform: scaleY(0);
  transition: transform 240ms ease, opacity 240ms ease;
}

.ss-category-card__icon-box {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border-radius: var(--ss-radius-sm, 4px);
  background: rgba(31, 73, 55, 0.06);
  color: var(--ss-forest, #1f4937);
  flex-shrink: 0;
  transition: background-color 260ms ease, color 260ms ease;
}

.ss-category-card__content {
  display: flex;
  flex-direction: column;
  min-width: 0;
  flex: 1 1 auto;
  gap: 0.15rem;
}

.ss-category-card__name {
  font-family: var(--ss-font-display, "Helvetica Neue", Helvetica, Arial, sans-serif);
  font-size: 0.9375rem;
  font-weight: 700;
  line-height: 1.25;
  color: var(--ss-forest-dark, #163528);
  margin: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  transition: color 240ms ease;
}

.ss-category-card__meta {
  font-family: var(--ss-font-body, "Helvetica Neue", Helvetica, Arial, sans-serif);
  font-size: 0.72rem;
  font-weight: 500;
  color: var(--ss-text-secondary, #5c6b7a);
  letter-spacing: 0.02em;
}

.ss-category-card__arrow {
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--ss-muted-gold, #d6b268);
  opacity: 0.6;
  transform: translateX(0);
  transition: transform 240ms ease, opacity 240ms ease;
  flex-shrink: 0;
}

@media (hover: hover) and (pointer: fine) {
  .ss-category-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 24px rgba(22, 53, 40, 0.08);
    border-color: rgba(214, 178, 104, 0.65);
    background: #ffffff;
  }

  .ss-category-card:hover::before {
    opacity: 1;
    transform: scaleY(1);
  }

  .ss-category-card:hover .ss-category-card__icon-box {
    background-color: var(--ss-forest, #1f4937);
    color: var(--ss-warm-white, #faf8f4);
  }

  .ss-category-card:hover .ss-category-card__name {
    color: var(--ss-forest, #1f4937);
  }

  .ss-category-card:hover .ss-category-card__arrow {
    opacity: 1;
    transform: translateX(3px);
  }
}

.ss-category-card:focus-visible {
  outline: 2px solid var(--ss-muted-gold, #d6b268);
  outline-offset: 2px;
}

/* =========================================================================
 * R3 — KOLKATA METRO COVERAGE + OUR SERVICES
 * ========================================================================= */

/* -------------------------------------------------------------------------
 * 1. Kolkata Metro Coverage Section
 * ------------------------------------------------------------------------- */

.ss-coverage-section {
  width: 100%;
  background-color: var(--ss-ivory, #f7f3ea);
  padding: 3.5rem 3rem 4rem;
  box-sizing: border-box;
}

.ss-coverage-intro {
  max-width: var(--ss-wide-max, 1440px);
  margin: 0 auto 2.25rem;
  padding: 0 0.5rem;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.35rem;
}

.ss-coverage-eyebrow {
  display: inline-block;
  font-family: var(--ss-font-body, "Helvetica Neue", Helvetica, Arial, sans-serif);
  font-size: 0.6875rem;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--ss-gold-soft, #b7924a);
  margin: 0;
}

.ss-coverage-heading {
  font-family: var(--ss-font-display, "Helvetica Neue", Helvetica, Arial, sans-serif);
  font-size: clamp(2rem, 1.6rem + 1.6vw, 2.75rem);
  font-weight: 600;
  line-height: 1.15;
  letter-spacing: -0.01em;
  color: var(--ss-forest, #1f4937);
  margin: 0.2rem 0 0.4rem;
}

.ss-coverage-subhead {
  font-family: var(--ss-font-body, "Helvetica Neue", Helvetica, Arial, sans-serif);
  font-size: 0.9375rem;
  line-height: 1.65;
  color: var(--ss-text-secondary, #5c6b7a);
  max-width: 44em;
  margin: 0;
}

.ss-coverage-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
  width: 100%;
  max-width: var(--ss-wide-max, 1440px);
  margin: 0 auto;
  box-sizing: border-box;
}

.ss-coverage-card {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  min-height: 440px;
  border-radius: var(--ss-radius-card, 6px);
  overflow: hidden;
  text-decoration: none;
  background-color: var(--ss-forest-dark, #163528);
  border: 1px solid var(--ss-border-light, #e4ded2);
  box-shadow: var(--ss-shadow-soft, 0 2px 8px rgba(22, 53, 40, 0.06));
  transition: transform 320ms cubic-bezier(0.22, 1, 0.36, 1), box-shadow 320ms ease, border-color 320ms ease;
}

.ss-coverage-card--branded {
  background: linear-gradient(150deg, #163528 0%, #1f4937 45%, #10261c 100%);
  border-color: rgba(214, 178, 104, 0.35);
}

.ss-coverage-card--branded .ss-coverage-card__bg {
  background: radial-gradient(circle at 75% 25%, rgba(214, 178, 104, 0.12) 0%, transparent 60%),
              linear-gradient(180deg, rgba(22, 53, 40, 0.2) 0%, rgba(14, 35, 26, 0.92) 100%);
  display: flex;
  align-items: center;
  justify-content: center;
}

.ss-coverage-card--branded .ss-coverage-card__bg::before {
  content: "";
  position: absolute;
  top: 15%;
  right: 10%;
  width: 140px;
  height: 140px;
  border-radius: 50%;
  border: 1px dashed rgba(214, 178, 104, 0.2);
  pointer-events: none;
}

.ss-coverage-card--branded .ss-coverage-card__bg::after {
  content: "";
  position: absolute;
  top: 22%;
  right: 17%;
  width: 80px;
  height: 80px;
  border-radius: 50%;
  border: 1px solid rgba(214, 178, 104, 0.25);
  pointer-events: none;
}

.ss-coverage-card__bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center;
  transition: transform 500ms cubic-bezier(0.22, 1, 0.36, 1);
}

.ss-coverage-card__overlay {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(
    180deg,
    rgba(22, 53, 40, 0.06) 0%,
    rgba(22, 53, 40, 0.28) 48%,
    rgba(14, 35, 26, 0.88) 100%
  );
  transition: background 320ms ease;
}

.ss-coverage-card__content {
  position: relative;
  z-index: 2;
  padding: 1.5rem 1.25rem;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.35rem;
}

.ss-coverage-card__badge {
  display: inline-block;
  padding: 0.25rem 0.65rem;
  background: rgba(214, 178, 104, 0.22);
  border: 1px solid rgba(214, 178, 104, 0.5);
  border-radius: 2px;
  font-family: var(--ss-font-body, "Helvetica Neue", Helvetica, Arial, sans-serif);
  font-size: 0.625rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--ss-ivory, #f7f3ea);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
}

.ss-coverage-card__title {
  font-family: var(--ss-font-display, "Helvetica Neue", Helvetica, Arial, sans-serif);
  font-size: 1.75rem;
  font-weight: 600;
  line-height: 1.15;
  letter-spacing: -0.01em;
  color: #ffffff;
  margin: 0.15rem 0 0;
  text-shadow: 0 1px 12px rgba(8, 12, 11, 0.5);
}

.ss-coverage-card__cta {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  font-family: var(--ss-font-body, "Helvetica Neue", Helvetica, Arial, sans-serif);
  font-size: 0.72rem;
  font-weight: 500;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--ss-muted-gold, #d6b268);
  opacity: 0.92;
  transition: transform 240ms ease, opacity 240ms ease;
  margin-top: 0.35rem;
}

@media (hover: hover) and (pointer: fine) {
  .ss-coverage-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 32px rgba(22, 53, 40, 0.18);
    border-color: var(--ss-muted-gold, #d6b268);
  }

  .ss-coverage-card:hover .ss-coverage-card__bg {
    transform: scale(1.06);
  }

  .ss-coverage-card:hover .ss-coverage-card__cta {
    opacity: 1;
    transform: translateX(3px);
  }
}

/* -------------------------------------------------------------------------
 * 2. Our Services Section (Home & About Us)
 * ------------------------------------------------------------------------- */

.ss-services-section {
  width: 100%;
  background-color: var(--ss-ivory, #f7f3ea);
  padding: 4.5rem 3rem 5rem;
  box-sizing: border-box;
}

.ss-services-intro {
  max-width: var(--ss-wide-max, 1440px);
  margin: 0 auto 2.75rem;
  padding: 0 0.5rem;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.35rem;
}

.ss-services-eyebrow {
  display: inline-block;
  font-family: var(--ss-font-body, Poppins, sans-serif);
  font-size: 0.6875rem;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--ss-gold-soft, #b7924a);
  margin: 0;
}

.ss-services-heading {
  font-family: var(--ss-font-display, "Cormorant Garamond", Georgia, serif);
  font-size: clamp(2rem, 1.6rem + 1.6vw, 2.75rem);
  font-weight: 500;
  line-height: 1.15;
  letter-spacing: 0.02em;
  color: var(--ss-forest, #1f4937);
  margin: 0.2rem 0 0.5rem;
}

.ss-services-subhead {
  font-family: var(--ss-font-body, Poppins, sans-serif);
  font-size: 0.9375rem;
  line-height: 1.65;
  color: var(--ss-text-secondary, #5c6b7a);
  max-width: 46em;
  margin: 0 auto;
}

.ss-services-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.5rem;
  width: 100%;
  max-width: var(--ss-wide-max, 1440px);
  margin: 0 auto;
  box-sizing: border-box;
}

/* Scoped 5-Card Layout — Elementor Services Widget Only */
.ss-services-grid.ss-services-grid--elementor {
  grid-template-columns: repeat(5, 1fr);
  gap: 1.25rem;
}

.ss-services-grid--elementor .ss-service-card {
  padding: 2rem 1.35rem 1.75rem;
}

.ss-services-grid--elementor .ss-service-card__title {
  font-family: var(--ss-font-display, "Helvetica Neue", Helvetica, Arial, sans-serif);
  font-size: clamp(1.125rem, 1.25vw, 1.35rem);
  font-weight: 700;
}

.ss-service-card {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 2.25rem 1.75rem 2rem;
  background: var(--ss-warm-white, #faf8f4);
  border: 1px solid var(--ss-border-light, #e4ded2);
  border-radius: var(--ss-radius-card, 6px);
  text-decoration: none;
  box-shadow: var(--ss-shadow-soft, 0 2px 8px rgba(22, 53, 40, 0.04));
  transition: transform 280ms cubic-bezier(0.22, 1, 0.36, 1), box-shadow 280ms ease, border-color 280ms ease, background-color 280ms ease;
  min-height: 290px;
  box-sizing: border-box;
}

.ss-service-card__top {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 1.15rem;
}

.ss-service-card__icon-box {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 60px;
  height: 60px;
  border-radius: 4px;
  background: rgba(31, 73, 55, 0.06);
  border: 1px solid rgba(214, 178, 104, 0.35);
  color: var(--ss-forest, #1f4937);
  transition: transform 280ms ease, background-color 280ms ease, border-color 280ms ease, color 280ms ease;
  flex-shrink: 0;
}

.ss-service-card__icon-box svg {
  display: block;
  stroke: currentColor;
}

.ss-service-card__title {
  font-family: var(--ss-font-display, "Cormorant Garamond", Georgia, serif);
  font-size: 1.5rem;
  font-weight: 600;
  color: var(--ss-forest, #1f4937);
  line-height: 1.25;
  margin: 0;
  transition: color 240ms ease;
}

.ss-service-card__desc {
  font-family: var(--ss-font-body, Poppins, sans-serif);
  font-size: 0.84rem;
  line-height: 1.6;
  color: var(--ss-text-secondary, #5c6b7a);
  margin: 0.35rem 0 0;
}

.ss-service-card__cta {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  font-family: var(--ss-font-body, Poppins, sans-serif);
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--ss-gold-soft, #b7924a);
  margin-top: 1.5rem;
  transition: color 240ms ease, transform 240ms ease;
}

@media (hover: hover) and (pointer: fine) {
  .ss-service-card:hover {
    transform: translateY(-4px);
    border-color: var(--ss-muted-gold, #d6b268);
    background-color: #ffffff;
    box-shadow: 0 10px 30px rgba(22, 53, 40, 0.08);
  }

  .ss-service-card:hover .ss-service-card__icon-box {
    background: rgba(214, 178, 104, 0.15);
    border-color: var(--ss-muted-gold, #d6b268);
    color: var(--ss-forest, #1f4937);
    transform: scale(1.06);
  }

  .ss-service-card:hover .ss-service-card__cta {
    color: var(--ss-forest, #1f4937);
    transform: translateX(3px);
  }
}

@media (prefers-reduced-motion: reduce) {
  .ss-coverage-card,
  .ss-coverage-card__bg,
  .ss-coverage-card__cta,
  .ss-service-card,
  .ss-service-card__icon-box,
  .ss-service-card__cta,
  .property_listing_blog,
  .property_listing_blog .blog_unit_image img,
  .ss-blog-card__readmore,
  .ss-blog-cta-box .ss-btn--primary {
    transition: none !important;
  }

  .ss-coverage-card:hover,
  .ss-service-card:hover,
  .property_listing_blog:hover,
  .ss-blog-cta-box .ss-btn--primary:hover {
    transform: none !important;
  }

  .ss-coverage-card:hover .ss-coverage-card__bg,
  .ss-service-card:hover .ss-service-card__icon-box,
  .property_listing_blog:hover .blog_unit_image img,
  .property_listing_blog:hover .ss-blog-card__readmore svg {
    transform: none !important;
  }
}

/* =========================================================================
 * BLOG LISTING & SINGLE POST (Revision R4)
 * ========================================================================= */

/* Blog Page Container & Clean Reset */
body.page-template-blog_list .header_media,
body.page-id-17988 .header_media,
body.page-template-blog_list-php .header_media,
body.page-template-blog_list .heading_over_image_wrapper,
body.page-id-17988 .heading_over_image_wrapper,
body.page-id-17988 .wpestate_column_content > h1.title_prop,
body.page-id-17988 h1.entry-title.title_prop,
body.page-template-blog_list h1.entry-title.title_prop,
body.page-template-blog_list .listing_loader_title,
body.page-template-blog_list #listing_loader,
body.page-template-blog_list #listing_ajax_container,
body.page-id-17988 .listing_loader_title,
body.page-id-17988 #listing_loader,
body.page-id-17988 #listing_ajax_container,
body.page-id-17988 .breadcrumb_container {
  display: none !important;
}

body.page-template-blog_list .content_wrapper,
body.page-id-17988 .content_wrapper {
  max-width: var(--ss-wide-max, 1440px);
  margin: 0 auto;
  padding: 3rem 2rem 5.5rem;
  box-sizing: border-box;
}

/* Blog Hero Header — Premium Editorial Treatment */
.ss-blog-hero-section {
  text-align: center;
  max-width: 960px;
  margin: 0 auto 3.5rem;
  padding: 3rem 2.5rem;
  background: linear-gradient(180deg, var(--ss-warm-white, #faf8f4) 0%, rgba(247, 243, 234, 0.75) 100%);
  border: 1px solid var(--ss-border-light, #e4ded2);
  border-radius: var(--ss-radius-card, 6px);
  box-shadow: 0 4px 20px rgba(22, 53, 40, 0.04);
  position: relative;
  overflow: hidden;
}

.ss-blog-hero-section::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 72px;
  height: 3px;
  background: var(--ss-muted-gold, #d6b268);
  border-radius: 0 0 2px 2px;
}

.ss-blog-hero-section .ss-section-eyebrow {
  display: inline-flex;
  align-items: center;
  font-family: var(--ss-font-body, "Helvetica Neue", Helvetica, Arial, sans-serif);
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--ss-forest, #1f4937);
  background: rgba(214, 178, 104, 0.16);
  border: 1px solid rgba(214, 178, 104, 0.4);
  border-radius: 999px;
  padding: 0.35rem 1.1rem;
  margin-bottom: 1.15rem;
}

.ss-blog-page-title {
  font-family: var(--ss-font-display, "Helvetica Neue", Helvetica, Arial, sans-serif);
  font-size: clamp(2rem, 3.2vw, 3rem);
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: -0.02em;
  color: var(--ss-forest-dark, #163528);
  margin: 0 0 1rem;
}

.ss-blog-page-subhead {
  font-family: var(--ss-font-body, "Helvetica Neue", Helvetica, Arial, sans-serif);
  font-size: clamp(0.95rem, 1.2vw, 1.0625rem);
  line-height: 1.65;
  color: var(--ss-text-secondary, #5c6b7a);
  max-width: 640px;
  margin: 0 auto;
}

/* Blog Cards Grid */
body.page-template-blog_list .wpresidence_page_content_wrapper .row,
body.page-id-17988 .wpresidence_page_content_wrapper .row {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2rem;
  margin: 0;
  width: 100%;
}

body.page-template-blog_list .listing_wrapper.blog4v,
body.page-id-17988 .listing_wrapper.blog4v {
  width: 100% !important;
  max-width: none !important;
  padding: 0 !important;
  margin: 0 !important;
  flex: none !important;
}

/* Editorial Card Presentation */
.property_listing_blog {
  position: relative;
  display: flex;
  flex-direction: column;
  height: 100%;
  background: var(--ss-warm-white, #faf8f4);
  border: 1px solid var(--ss-border-light, #e4ded2);
  border-radius: var(--ss-radius-card, 8px);
  overflow: hidden;
  box-shadow: var(--ss-shadow-soft, 0 2px 10px rgba(22, 53, 40, 0.04));
  transition: transform 320ms cubic-bezier(0.22, 1, 0.36, 1), box-shadow 320ms ease, border-color 320ms ease, background-color 320ms ease;
  box-sizing: border-box;
}

.property_listing_blog:hover {
  transform: translateY(-5px);
  border-color: var(--ss-muted-gold, #d6b268);
  background-color: #ffffff;
  box-shadow: 0 14px 34px rgba(22, 53, 40, 0.1);
}

/* Featured Image */
.property_listing_blog .blog_unit_image {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 10;
  overflow: hidden;
  background-color: #ece7de;
  margin: 0;
}

.property_listing_blog .blog_unit_image a {
  display: block;
  width: 100%;
  height: 100%;
}

.property_listing_blog .blog_unit_image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 520ms cubic-bezier(0.22, 1, 0.36, 1);
}

.property_listing_blog:hover .blog_unit_image img {
  transform: scale(1.05);
}

/* Category Badge */
.ss-blog-card__category {
  position: absolute;
  top: 14px;
  left: 14px;
  background: rgba(22, 53, 40, 0.9);
  backdrop-filter: blur(6px);
  color: var(--ss-muted-gold, #d6b268);
  font-family: var(--ss-font-body, Poppins, sans-serif);
  font-size: 0.68rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  padding: 4px 10px;
  border-radius: 3px;
  border: 1px solid rgba(214, 178, 104, 0.4);
  z-index: 2;
  pointer-events: none;
}

/* Card Content Area */
.property_listing_blog .listing_details_wrapper,
.property_listing_blog > h4,
.property_listing_blog > .listing_details,
.property_listing_blog > .blog_unit_meta {
  padding-inline: 1.6rem;
}

.property_listing_blog .blog_unit_meta {
  display: flex;
  align-items: center;
  gap: 0.45rem;
  margin-top: 1.5rem;
  margin-bottom: 0.65rem;
  padding-inline: 1.6rem;
}

.property_listing_blog .span_widemeta {
  font-family: var(--ss-font-body, Poppins, sans-serif);
  font-size: 0.75rem;
  font-weight: 500;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--ss-gold-soft, #b7924a);
}

.property_listing_blog h4 {
  font-family: var(--ss-font-display, "Cormorant Garamond", Georgia, serif);
  font-size: 1.35rem;
  font-weight: 600;
  line-height: 1.3;
  color: var(--ss-forest, #1f4937);
  margin: 0 0 0.85rem;
  padding-inline: 1.6rem;
}

.property_listing_blog h4 a.blog_unit_title {
  color: var(--ss-forest, #1f4937);
  text-decoration: none;
  transition: color 200ms ease;
}

.property_listing_blog:hover h4 a.blog_unit_title,
.property_listing_blog h4 a.blog_unit_title:hover {
  color: var(--ss-gold-soft, #b7924a);
}

.property_listing_blog .listing_details.the_grid_view {
  font-family: var(--ss-font-body, Poppins, sans-serif);
  font-size: 0.875rem;
  line-height: 1.65;
  color: var(--ss-text-secondary, #5c6b7a);
  margin: 0 0 1.5rem;
  padding-inline: 1.6rem;
  flex-grow: 1;
}

.property_listing_blog .unit_more_x {
  display: none !important;
}

/* Card CTA Link */
.ss-blog-card__readmore {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  font-family: var(--ss-font-body, Poppins, sans-serif);
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--ss-forest, #1f4937);
  border-bottom: 1.5px solid var(--ss-muted-gold, #d6b268);
  padding-bottom: 2px;
  margin: 0 1.6rem 1.65rem;
  align-self: flex-start;
  text-decoration: none;
  transition: color 240ms ease, border-color 240ms ease, transform 240ms ease;
}

.ss-blog-card__readmore svg {
  transition: transform 240ms ease;
}

.property_listing_blog:hover .ss-blog-card__readmore {
  color: var(--ss-gold-soft, #b7924a);
  border-color: var(--ss-forest, #1f4937);
}

.property_listing_blog:hover .ss-blog-card__readmore svg {
  transform: translateX(4px);
}

/* Native Pagination Preservation */
.page-template-blog_list .pagination_classes,
.page-id-17988 .pagination_classes {
  grid-column: 1 / -1;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.5rem;
  margin-top: 3rem;
}

/* Single Post Page Editorial Polish */
body.single-post .heading_over_image_wrapper,
body.single-post .listing_loader_title,
body.single-post #listing_loader,
body.single-post #listing_ajax_container,
body.single-post #wpresidence-blog-post-carousel-bootstrap {
  display: none !important;
}

body.single-post .content_wrapper {
  max-width: 1240px;
  margin: 0 auto;
  padding: 3rem 2rem 5.5rem;
  box-sizing: border-box;
}

body.single-post .single-content.single-blog {
  background: #ffffff;
  border-radius: var(--ss-radius-card, 8px);
  border: 1px solid var(--ss-border-light, #e4ded2);
  padding: 3rem 2.75rem 3.5rem;
  box-shadow: 0 2px 14px rgba(22, 53, 40, 0.04);
}

body.single-post h1.entry-title.single-title {
  font-family: var(--ss-font-display, "Cormorant Garamond", Georgia, serif);
  font-size: clamp(2rem, 3.5vw, 2.75rem);
  font-weight: 600;
  line-height: 1.22;
  color: var(--ss-forest, #1f4937);
  margin: 0 0 1.25rem;
}

body.single-post .meta-info {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1rem;
  padding-bottom: 1.5rem;
  margin-bottom: 2.25rem;
  border-bottom: 1px solid var(--ss-border-light, #e4ded2);
  font-family: var(--ss-font-body, Poppins, sans-serif);
  font-size: 0.82rem;
  color: var(--ss-text-secondary, #5c6b7a);
}

body.single-post .meta-info .meta-element {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
}

body.single-post .meta-info i {
  color: var(--ss-muted-gold, #d6b268);
}

/* Editorial Typography Inside Single Post */
.ss-blog-lead {
  font-family: var(--ss-font-display, "Cormorant Garamond", Georgia, serif);
  font-size: 1.35rem;
  line-height: 1.7;
  font-weight: 500;
  color: var(--ss-forest, #1f4937);
  margin-bottom: 2rem;
  padding-bottom: 1.5rem;
  border-bottom: 1px solid rgba(214, 178, 104, 0.25);
}

.single-content.single-blog p {
  font-family: var(--ss-font-body, Poppins, sans-serif);
  font-size: 0.95rem;
  line-height: 1.8;
  color: #38423c;
  margin-bottom: 1.5rem;
}

.single-content.single-blog h2 {
  font-family: var(--ss-font-display, "Cormorant Garamond", Georgia, serif);
  font-size: 1.95rem;
  font-weight: 600;
  line-height: 1.28;
  color: var(--ss-forest, #1f4937);
  margin: 3rem 0 1.25rem;
  padding-left: 0.85rem;
  border-left: 3px solid var(--ss-muted-gold, #d6b268);
}

.single-content.single-blog h3 {
  font-family: var(--ss-font-display, "Cormorant Garamond", Georgia, serif);
  font-size: 1.5rem;
  font-weight: 600;
  line-height: 1.32;
  color: var(--ss-forest, #1f4937);
  margin: 2.25rem 0 0.85rem;
}

.single-content.single-blog ul,
.single-content.single-blog ol {
  margin: 1rem 0 1.75rem 1.25rem;
  padding-left: 1rem;
}

.single-content.single-blog li {
  font-family: var(--ss-font-body, Poppins, sans-serif);
  font-size: 0.92rem;
  line-height: 1.75;
  color: #38423c;
  margin-bottom: 0.75rem;
}

.single-content.single-blog strong {
  color: var(--ss-forest, #1f4937);
}

/* Comparison Table */
.ss-comparison-table {
  width: 100%;
  border-collapse: collapse;
  margin: 2rem 0;
  font-family: var(--ss-font-body, Poppins, sans-serif);
  font-size: 0.88rem;
  background: var(--ss-warm-white, #faf8f4);
  border: 1px solid var(--ss-border-light, #e4ded2);
  border-radius: 6px;
  overflow: hidden;
}

.ss-comparison-table th {
  background: var(--ss-forest, #1f4937);
  color: var(--ss-warm-ivory, #f7f3ea);
  font-family: var(--ss-font-body, Poppins, sans-serif);
  font-weight: 600;
  letter-spacing: 0.04em;
  text-align: left;
  padding: 14px 18px;
}

.ss-comparison-table td {
  padding: 14px 18px;
  border-bottom: 1px solid var(--ss-border-light, #e4ded2);
  color: #38423c;
  line-height: 1.6;
}

.ss-comparison-table tbody tr:nth-child(even) {
  background: #ffffff;
}

/* CTA Box */
.ss-blog-cta-box {
  background: linear-gradient(135deg, #163528 0%, #1f4937 100%);
  border: 1px solid rgba(214, 178, 104, 0.4);
  border-radius: var(--ss-radius-card, 8px);
  padding: 2.75rem 2.25rem;
  margin: 3.5rem 0 1rem;
  color: #ffffff;
  text-align: center;
  box-shadow: 0 8px 24px rgba(22, 53, 40, 0.15);
}

.ss-blog-cta-box h3 {
  font-family: var(--ss-font-display, "Cormorant Garamond", Georgia, serif) !important;
  font-size: 1.85rem !important;
  color: var(--ss-warm-ivory, #f7f3ea) !important;
  margin: 0 0 0.85rem !important;
}

.ss-blog-cta-box p {
  font-family: var(--ss-font-body, Poppins, sans-serif) !important;
  font-size: 0.94rem !important;
  line-height: 1.7 !important;
  color: rgba(247, 243, 234, 0.9) !important;
  max-width: 600px;
  margin: 0 auto 1.75rem !important;
}

.ss-blog-cta-box .ss-btn--primary {
  display: inline-block;
  background: var(--ss-muted-gold, #d6b268);
  color: var(--ss-forest, #1f4937);
  font-family: var(--ss-font-body, Poppins, sans-serif);
  font-weight: 600;
  font-size: 0.85rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding: 13px 30px;
  border-radius: 4px;
  text-decoration: none;
  transition: background-color 240ms ease, transform 240ms ease, box-shadow 240ms ease;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.15);
}

.ss-blog-cta-box .ss-btn--primary:hover {
  background: #e2c484;
  color: var(--ss-forest, #1f4937);
  transform: translateY(-2px);
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.2);
}

/* =========================================================================
 * SITE-WIDE HELVETICA ENFORCEMENT — v0.6.8
 *
 * WPResidence and Elementor attach higher-specificity Poppins, Montserrat,
 * Roboto and display-font declarations to individual text controls. Scope the
 * override to the public wrapper and text-bearing elements so icon fonts and
 * the WordPress admin toolbar retain their required glyph families.
 * ========================================================================= */

#all_wrapper,
#all_wrapper :where(
  h1,
  h2,
  h3,
  h4,
  h5,
  h6,
  p,
  a,
  button,
  input,
  select,
  textarea,
  option,
  label,
  li,
  td,
  th,
  small,
  strong,
  em,
  blockquote
),
#all_wrapper :where(
  .menu-item-link,
  .elementor-heading-title,
  .elementor-button-text,
  .elementor-icon-list-text,
  .elementor-icon-box-title,
  .elementor-icon-box-description,
  .elementor-field-label,
  .ss-service-card__title,
  .ss-service-card__desc,
  .ss-contact-card__sub,
  .ss-blog-page-subhead,
  .bold_detail,
  .infocur,
  .img_listings_mes,
  #inforoom,
  #infobath,
  #infosize
),
#all_wrapper :where(
  .property_listing,
  .property_listing_details,
  .property_meta,
  .listing_detail,
  .panel-body,
  .wpestate_property_description,
  .wpestate_schedule_tour_wrapper,
  .ss-contact-info-item
) span:not([aria-hidden="true"]):not([class*="icon"]):not([class*="fa-"]):not([class*="eicon"]):not([class*="dashicon"]) {
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif !important;
}

/* =========================================================================
 * SINGLE PROPERTY DETAIL REFINEMENT — v0.6.6
 * Existing WPResidence/Elementor markup and editable property data only.
 * ========================================================================= */

body.single-estate_property .elementor-24137 {
  overflow-x: visible;
  font-family: var(--ss-font-body, "Helvetica Neue", Helvetica, Arial, sans-serif);
}

body.single-estate_property .elementor-24137 .elementor-element-6594b567 .wpestate_property_description,
body.single-estate_property .elementor-24137 .elementor-element-1111069 .panel-body,
body.single-estate_property .elementor-24137 .elementor-element-1111069 .panel-body .listing_detail,
body.single-estate_property .elementor-24137 .elementor-element-1111069 .panel-body .listing_detail a,
body.single-estate_property .elementor-24137 .elementor-element-2e064ac7 .panel-body,
body.single-estate_property .elementor-24137 .elementor-element-2e064ac7 .panel-body .listing_detail,
body.single-estate_property .elementor-24137 .elementor-element-2e064ac7 .panel-body .listing_detail a,
body.single-estate_property .elementor-24137 .wpestate_schedule_tour_wrapper,
body.single-estate_property .elementor-24137 .wpestate_schedule_tour_wrapper :is(input, select, textarea, button) {
  font-family: var(--ss-font-body, "Helvetica Neue", Helvetica, Arial, sans-serif) !important;
}

body.single-estate_property .elementor-24137 .elementor-element-6594b567 .wpestate_property_description {
  padding: 1.25rem 1.5rem !important;
  border-radius: 8px;
}

body.single-estate_property .elementor-24137 .elementor-element-6594b567 .panel-title,
body.single-estate_property .elementor-24137 .elementor-element-1111069 .panel-title,
body.single-estate_property .elementor-24137 .elementor-element-2e064ac7 .panel-title {
  margin-bottom: 1rem !important;
}

body.single-estate_property .elementor-24137 .elementor-element-1111069 #accordion_prop_details .listing_detail {
  align-items: flex-start;
  flex-wrap: wrap;
  gap: 0.45rem 1rem !important;
  margin-bottom: 0 !important;
  padding: 0.8rem 0 !important;
  overflow-wrap: anywhere;
}

body.single-estate_property .elementor-24137 .elementor-element-1111069 #accordion_prop_details .listing_detail strong {
  flex: 0 0 7.25rem;
  min-width: 0;
  margin: 0 !important;
}

body.single-estate_property .elementor-24137 .wpestate_schedule_tour_wrapper input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
body.single-estate_property .elementor-24137 .wpestate_schedule_tour_wrapper select,
body.single-estate_property .elementor-24137 #contact input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
body.single-estate_property .elementor-24137 #contact select {
  min-height: 44px;
}

body.single-estate_property .elementor-24137 .wpestate_schedule_tour_wrapper textarea,
body.single-estate_property .elementor-24137 #contact textarea {
  min-height: 7.5rem;
}

body.single-estate_property .elementor-24137 .elementor-element-f6a6dcd:not(:has(.front_plan_row)) {
  display: none !important;
}

body.single-estate_property .elementor-24137 .wpestate_estate_property_design_gallery img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover !important;
  object-position: center;
}

/* =========================================================================
 * HOMEPAGE QUIET-LUXURY ART DIRECTION — v0.6.9
 * Scope: page 18618 only. Editable Elementor/WPResidence content remains the
 * source of truth; these rules correct presentation and broken entrance-state
 * whitespace without generating or replacing content.
 * ========================================================================= */

body.home .elementor-18618 {
  --ss-home-forest: #143d2e;
  --ss-home-ivory: #f8f5ef;
  --ss-home-linen: #f3efe7;
  --ss-home-stone: #ece7de;
  --ss-home-white: #fcfbf8;
  --ss-home-gold: #b7924a;
  background: var(--ss-home-white);
}

body.home .elementor-18618 :is(
  .elementor-heading-title,
  .elementor-button,
  .elementor-counter,
  .ss-category-card,
  .ss-service-card,
  .places_type_2_content
) {
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
}

/* Elementor entrance animations are not resolving for these active sections.
 * Keeping the widgets visible prevents large blank canvases while preserving
 * every widget and its editing controls. */
body.home .elementor-18618 :is(
  .elementor-element-cc9dac7,
  .elementor-element-073a9af,
  .elementor-element-62b374d,
  .elementor-element-f94a7d3,
  .elementor-element-efa2b58,
  .elementor-element-bbd0b4f,
  .elementor-element-d9fc49d,
  .elementor-element-0b3514e,
  .elementor-element-29d5fea,
  .elementor-element-8857315,
  .elementor-element-cd02ad3,
  .elementor-element-54c3cbe,
  .elementor-element-1148673
).elementor-invisible {
  visibility: visible;
  opacity: 1;
  animation: none;
  transform: none;
}

/* Hero → search: a restrained forest frame makes the real WPResidence form
 * feel integral to the hero instead of a detached ivory panel. */
body.home .elementor-18618 > .elementor-element.ss-search-panel {
  --ss-search-overlap: 3.25rem;
  margin-top: calc(-1 * var(--ss-search-overlap));
  margin-bottom: 2.25rem;
  background: var(--ss-home-forest);
  border: 1px solid color-mix(in srgb, var(--ss-home-gold) 52%, transparent);
  border-radius: 8px;
  box-shadow: 0 18px 44px rgba(20, 61, 46, 0.16);
}

body.home .elementor-18618 > .elementor-element.ss-search-panel > .e-con-inner {
  padding: 1rem;
  gap: 0.75rem;
}

body.home .ss-search-panel .ss-somani-search__mode-bar,
body.home .ss-search-panel .ss-somani-search__form {
  background: var(--ss-home-white);
  border-color: var(--ss-home-stone);
}

body.home .ss-search-panel .ss-somani-search__mode-tab.is-active,
body.home .ss-search-panel .ss-somani-search__submit-btn {
  background: var(--ss-home-forest);
}

/* Categories: editorial line-work and restraint instead of floating SaaS cards. */
body.home .ss-explore-categories-section {
  margin-top: 2.25rem;
  margin-bottom: 3.5rem;
  background: var(--ss-home-white);
}

body.home .ss-category-card {
  padding: 1.2rem 1.15rem;
  background: transparent;
  border-color: var(--ss-home-stone);
  border-radius: 8px;
  box-shadow: none;
}

body.home .ss-category-card__icon-box {
  background: var(--ss-home-linen);
  border: 1px solid color-mix(in srgb, var(--ss-home-gold) 28%, transparent);
  border-radius: 50%;
}

@media (hover: hover) and (pointer: fine) {
  body.home .ss-category-card:hover {
    transform: translateY(-3px);
    background: var(--ss-home-ivory);
    border-color: color-mix(in srgb, var(--ss-home-gold) 58%, var(--ss-home-stone));
    box-shadow: 0 14px 30px rgba(20, 61, 46, 0.08);
  }
}

/* Featured inventory sits on premium white with a compact filter/title rhythm. */
body.home .elementor-18618 > .elementor-element-7fff53c {
  padding: 3rem 2.5rem 3.5rem;
  background: var(--ss-home-white);
}

body.home .elementor-18618 > .elementor-element-7fff53c > .e-con-boxed {
  margin-bottom: 0.75rem;
}

body.home .ss-featured .property_listing.property_unit_type8 {
  border-color: var(--ss-home-stone);
  border-radius: 8px;
  box-shadow: 0 6px 20px rgba(20, 61, 46, 0.055);
}

/* Kolkata Metro: one continuous linen chapter, compact intro and image-led cards. */
body.home .elementor-18618 > .elementor-element-5e5fe80 {
  padding: 3rem 3rem 1.5rem;
  background: var(--ss-home-linen);
}

body.home .elementor-18618 > .elementor-element-e5acdd3 {
  padding: 0 3rem 3.75rem;
  background: var(--ss-home-linen);
}

/* Target the actual rendered coverage cards, not superseded WPResidence markup.
 * The Metro container opts out of Elementor background lazy suppression in UI. */
body.home .elementor-18618 > .elementor-element-e5acdd3 .ss-coverage-card,
body.home .elementor-18618 > .elementor-element-e5acdd3 .places_wrapper_type_2 {
  height: auto;
  min-height: 0;
  max-height: none;
  aspect-ratio: 1 / 1;
  border-radius: 10px;
}

body.home .elementor-18618 > .elementor-element-e5acdd3 .ss-coverage-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.25rem;
}

body.home .elementor-18618 > .elementor-element-e5acdd3 .ss-coverage-card__bg {
  height: auto;
  width: auto;
  inset: 0;
  background-size: cover;
  background-position: center;
}

/* Services: a quieter ivory field and subtle tonal variation break the repeated
 * white-card cadence without hard-coding any service content. */
body.home .elementor-18618 > .elementor-element-11c0696 {
  /* The outer section alone owns vertical spacing. Prevent Elementor's inner
   * wrapper from inheriting a second copy of its padding variables. */
  --padding-top: 0px;
  --padding-bottom: 0px;
  --padding-left: 0px;
  --padding-right: 0px;
  --gap: 0px;
  gap: 0;
  padding: 3rem 3rem 3.5rem;
  background: var(--ss-home-ivory);
}

body.home .elementor-18618 > .elementor-element-11c0696 > .e-con-inner {
  padding: 0;
  gap: 0;
}

body.home .elementor-18618 > .elementor-element-11c0696 .ss-services-section {
  padding: 0;
  background: transparent;
  border: 0;
  border-radius: 0;
}

body.home .elementor-18618 > .elementor-element-11c0696 .ss-service-card {
  background: var(--ss-home-white);
  border-color: var(--ss-home-stone);
  border-radius: 8px;
  box-shadow: none;
  transition: transform 220ms ease, border-color 220ms ease, box-shadow 220ms ease;
}

body.home .elementor-18618 > .elementor-element-11c0696 .ss-service-card:nth-child(even) {
  background: var(--ss-home-linen);
}

@media (hover: hover) and (pointer: fine) {
  body.home .elementor-18618 > .elementor-element-11c0696 .ss-service-card:hover {
    transform: translateY(-3px);
    border-color: color-mix(in srgb, var(--ss-home-gold) 58%, var(--ss-home-stone));
    box-shadow: 0 14px 30px rgba(20, 61, 46, 0.075);
  }
}

/* Buy/Sell editorial: target the actual Elementor block. The former adjacent-
 * sibling selector now lands on Services after the native widget migration. */
body.home .elementor-18618 > .elementor-element-e11d72a {
  --margin-top: 0px;
  --margin-bottom: 0px;
  --padding-top: 4.5rem;
  --padding-right: 3rem;
  --padding-bottom: 4.5rem;
  --padding-left: 3rem;
  gap: 2.5rem;
  margin: 0;
  padding: 4.5rem 3rem;
  align-items: flex-start;
  background: var(--ss-home-white);
}

body.home .elementor-18618 > .elementor-element-e11d72a > .e-con.e-child {
  gap: 1.25rem;
  align-content: flex-start;
}

body.home .elementor-18618 > .elementor-element-e11d72a :is(.elementor-element-b69b0b9, .elementor-element-7115d51) {
  --min-height: clamp(15.625rem, 30vw, 26.25rem);
  width: 100%;
  height: auto;
  min-height: clamp(15.625rem, 30vw, 26.25rem);
  margin: 0;
  padding: 0;
  overflow: hidden;
  aspect-ratio: 4 / 3;
  background-size: cover;
  background-position: center;
  border-radius: 10px;
  box-shadow: 0 12px 34px rgba(20, 61, 46, 0.1);
}

body.home .elementor-18618 > .elementor-element-e11d72a h2.elementor-heading-title {
  font-size: clamp(1.85rem, 1.55rem + 0.9vw, 2.5rem);
  font-weight: 600;
  line-height: 1.15;
  letter-spacing: 0.015em;
  color: var(--ss-home-forest);
}

body.home .elementor-18618 > .elementor-element-e11d72a p.elementor-heading-title {
  max-width: 40rem;
  font-size: 1rem;
  line-height: 1.65;
  color: #526158;
}

body.home .elementor-18618 > .elementor-element-e11d72a .elementor-button {
  min-height: 44px;
  padding: 0.75rem 1.4rem;
  border: 1px solid var(--ss-home-forest);
  border-radius: 3px;
  background: transparent;
  color: var(--ss-home-forest);
  transition: background-color 220ms ease, color 220ms ease, border-color 220ms ease;
}

@media (hover: hover) and (pointer: fine) {
  body.home .elementor-18618 > .elementor-element-e11d72a .elementor-button:hover {
    background: var(--ss-home-forest);
    border-color: var(--ss-home-gold);
    color: var(--ss-home-white);
  }
}

/* Statistics → developers: reduce fixed canvas height and make the transition
 * feel like one continuous editorial sequence. */
body.home .elementor-18618 > .elementor-element-d1c4dd8 {
  --min-height: clamp(32.5rem, 40vw, 35rem);
  min-height: clamp(32.5rem, 40vw, 35rem);
  padding: 4rem 3rem;
  background-position: center 42%;
}

body.home .elementor-18618 > .elementor-element-d1c4dd8 .elementor-element-e4e2a29 {
  padding: 1.5rem 0 1rem;
}

body.home .elementor-18618 > .elementor-element-d1c4dd8 .elementor-element-1148673 {
  --min-height: 0px;
  min-height: 0;
}

body.home .elementor-18618 > .elementor-element-35a3bba {
  padding: 2.5rem 3rem 2.75rem;
  background: var(--ss-home-white);
  border-bottom: 1px solid var(--ss-home-stone);
}

/* Bottom editorial CTAs retain their real widgets/images at a calmer height. */
body.home .elementor-18618 > .elementor-element-3a203dc {
  --min-height: 0px;
  min-height: 0;
  height: auto;
}

body.home .elementor-18618 > .elementor-element-3a203dc > .e-con.e-child {
  height: auto;
  min-height: 0;
}

body.home .elementor-18618 > .elementor-element-3a203dc .elementor-cta__content {
  height: auto;
  min-height: clamp(20rem, 33vw, 28rem);
  overflow: visible;
}

@media (prefers-reduced-motion: reduce) {
  body.home .elementor-18618 .ss-category-card,
  body.home .elementor-18618 > .elementor-element-11c0696 .ss-service-card,
  body.home .elementor-18618 > .elementor-element-e11d72a .elementor-button {
    transition: none;
  }

  body.home .elementor-18618 .ss-category-card:hover,
  body.home .elementor-18618 > .elementor-element-11c0696 .ss-service-card:hover {
    transform: none;
  }
}

/* The single current-market option needs no arrow on the narrowest search row. */
@media (max-width: 359px) {
  .ss-somani-search--enhanced .ss-somani-search__field--city { padding-inline: 0.5rem; }
  .ss-somani-search--enhanced .ss-city-picker { padding-right: 0; background-image: none; }
}

@media (max-width: 767px) {
  .ss-somani-search--enhanced .ss-somani-search__submit-btn { min-width: 44px; }
}
