.elementor-897 .elementor-element.elementor-element-12bf6ca{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-897 .elementor-element.elementor-element-3775c04{width:100%;max-width:100%;}.elementor-897 .elementor-element.elementor-element-59ae95c{width:100%;max-width:100%;}/* Start custom CSS *//* =========================================================
   SINGLE PROPERTY / SINGLE PROJECT — ULTRA PREMIUM
   Targets markup output by:
   - [sr_single_property_premium]  (.sr-single--property)  :contentReference[oaicite:2]{index=2}
   - [sr_single_project_premium]   (.sr-single--project)   :contentReference[oaicite:3]{index=3}
   Gallery grid container: .sr-g-grid :contentReference[oaicite:4]{index=4}
   ========================================================= */

/* Base “surface” feel */
.sr-single.surface{
  background: rgba(12,14,18,0.72);
  border: 1px solid rgba(255,255,255,0.10);
  border-radius: 22px;
  box-shadow: 0 30px 90px rgba(0,0,0,0.50);
  backdrop-filter: blur(18px) saturate(140%);
  -webkit-backdrop-filter: blur(18px) saturate(140%);
  padding: 26px;
  margin: 24px auto;
  max-width: 1200px;
}

/* 2-col premium grid */
.sr-single__grid{
  display: grid;
  grid-template-columns: 1.35fr 1fr;
  gap: 22px;
  align-items: start;
}

/* Media column */
.sr-single__media{
  min-width: 0;
}

/* Panel column */
.sr-single__panel{
  min-width: 0;
  padding: 18px;
  border-radius: 18px;
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.10);
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.06);
}

/* Title + chips */
.sr-single__title{
  margin: 10px 0 10px;
  color: rgba(255,255,255,0.95);
  font-size: clamp(26px, 3vw, 40px);
  line-height: 1.05;
  letter-spacing: -0.02em;
}

.sr-single__meta{
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 8px 0 14px;
}

.sr-avail2{
  display:inline-flex;
  align-items:center;
  padding: 8px 12px;
  border-radius: 999px;
  background: rgba(198,167,94,0.18);
  border: 1px solid rgba(198,167,94,0.32);
  color: rgba(255,255,255,0.92);
  font-size: 12px;
  letter-spacing: .08em;
  text-transform: uppercase;
}

/* Price */
.sr-single__price{
  margin: 6px 0 14px;
  font-size: 20px;
  font-weight: 700;
  color: rgba(255,255,255,0.95);
}

/* Blocks */
.sr-single__block{
  margin-top: 18px;
}

.sr-single__blocktitle{
  color: rgba(198,167,94,0.95);
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  font-size: 12px;
  margin-bottom: 10px;
}

.sr-single__blocktext{
  color: rgba(255,255,255,0.78);
  font-size: 14px;
  line-height: 1.6;
}

/* Buttons (brochure) */
.sr-single__actions{
  margin-top: 14px;
  display:flex;
  gap: 12px;
  flex-wrap: wrap;
}

.sr-single__btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-decoration:none !important;
}

.sr-btn-solid .elementor-button{
  background: rgba(198,167,94,0.95) !important;
  color: rgba(10,12,14,0.92) !important;
  border-radius: 14px !important;
  padding: 14px 18px !important;
  font-weight: 750 !important;
  border: 1px solid rgba(255,255,255,0.10) !important;
  box-shadow: 0 16px 40px rgba(0,0,0,0.35) !important;
  transition: transform .16s ease, filter .16s ease !important;
}
.sr-btn-solid .elementor-button:hover{
  transform: translateY(-1px) !important;
  filter: brightness(1.02);
}

/* Map wrapper already has inline iframe rounding; keep outer clean */
.sr-single__map{
  margin-top: 10px;
}

/* =========================================================
   GALLERY — Desktop: hero + thumbnails grid
   Works for both property & project, since both output .sr-g-grid
   ========================================================= */
.sr-gallery{
  border-radius: 18px;
  overflow: hidden;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.10);
}

.sr-g-grid{
  display: grid;
  grid-template-columns: 1.6fr 1fr;
  grid-auto-rows: 140px;
  gap: 10px;
  padding: 10px;
}

.sr-g-item{
  display:block;
  position: relative;
  border-radius: 14px;
  overflow: hidden;
  background: rgba(0,0,0,0.35);
  border: 1px solid rgba(255,255,255,0.10);
  transform: translateZ(0);
}

.sr-g-item img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display:block;
  transition: transform .35s ease, filter .35s ease;
}

.sr-g-item:hover img{
  transform: scale(1.03);
  filter: saturate(1.08);
}

/* First image becomes the hero */
.sr-g-grid .sr-g-item:first-child{
  grid-row: 1 / span 2;
}

/* If you have many images, keep hero tall */
@media (min-width: 1024px){
  .sr-g-grid{
    grid-auto-rows: 165px;
  }
  .sr-g-grid .sr-g-item:first-child{
    grid-row: 1 / span 3;
  }
}

/* =========================================================
   GALLERY — Mobile: horizontal scroll-snap slider
   ========================================================= */
@media (max-width: 820px){
  .sr-single.surface{
    padding: 18px;
    border-radius: 18px;
  }

  .sr-single__grid{
    grid-template-columns: 1fr;
  }

  /* Convert grid to slider */
  .sr-g-grid{
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: 82%;
    grid-template-columns: unset;
    grid-auto-rows: 260px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    padding: 12px;
  }

  .sr-g-grid::-webkit-scrollbar{ height: 8px; }
  .sr-g-grid::-webkit-scrollbar-thumb{
    background: rgba(255,255,255,0.18);
    border-radius: 999px;
  }

  .sr-g-item{
    scroll-snap-align: start;
  }

  /* Disable hero spanning in slider mode */
  .sr-g-grid .sr-g-item:first-child{
    grid-row: auto;
  }
}



/* =========================================================
   SINGLE PROPERTY — FIX PACK (Layout + Form + Specs)
   Targets: .sr-single--property markup from sr_single_property_premium
   ========================================================= */

/* 1) Overall section spacing + prevent Astra defaults from breaking layout */
.sr-single--property.surface{
  max-width: 1240px;
  margin: 26px auto;
  padding: 22px;
  border-radius: 22px;
  background: rgba(10,12,14,0.74);
  border: 1px solid rgba(255,255,255,0.10);
  backdrop-filter: blur(18px) saturate(140%);
  -webkit-backdrop-filter: blur(18px) saturate(140%);
  box-shadow: 0 30px 90px rgba(0,0,0,0.55);
}

/* 2) Grid: tighten and ensure no overflow */
.sr-single--property .sr-single__grid{
  display: grid;
  grid-template-columns: 1.35fr 1fr;
  gap: 20px;
  align-items: start;
}
.sr-single--property .sr-single__media,
.sr-single--property .sr-single__panel{
  min-width: 0; /* critical: prevents overflow + text pushing grid */
}

/* 3) Right panel look + spacing */
.sr-single--property .sr-single__panel{
  border-radius: 18px;
  padding: 18px;
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.10);
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.06);
}

/* 4) Top cluster (status + title + meta + price) */
.sr-single--property .sr-single__top{
  position: relative;
}

/* Status badge should never collide with title */
.sr-single--property .sr-avail2{
  display: inline-flex;
  margin-bottom: 10px;
  font-size: 12px;
  letter-spacing: .08em;
  text-transform: uppercase;
}

/* FIX: Astra H1 styles are causing oversized/overlap.
   Force a controlled premium title. */
.sr-single--property .sr-single__title{
  margin: 0 0 10px !important;
  padding: 0 !important;
  font-size: clamp(22px, 2.2vw, 34px) !important;
  line-height: 1.12 !important;
  letter-spacing: -0.02em !important;
  color: rgba(255,255,255,0.96) !important;
  text-shadow: 0 2px 16px rgba(0,0,0,0.45);
  word-break: break-word;
}

/* Meta chips row */
.sr-single--property .sr-single__meta{
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 8px 0 10px;
}
.sr-single--property .sr-single__meta .sr-chip{
  padding: 9px 12px;
  border-radius: 999px;
  background: rgba(255,255,255,0.08);
  border: 1px solid rgba(255,255,255,0.14);
  color: rgba(255,255,255,0.86);
  font-size: 12px;
  letter-spacing: .06em;
  text-transform: uppercase;
}

/* Price */
.sr-single--property .sr-single__price{
  margin: 8px 0 14px;
  font-size: 18px;
  font-weight: 750;
  color: rgba(255,255,255,0.96);
}

/* 5) Specs grid (Bedrooms/Bathrooms/Super/Carpet) */
.sr-single--property .sr-spec-grid{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin: 12px 0 8px;
}
.sr-single--property .sr-spec-grid .sr-spec{
  border-radius: 16px;
  padding: 12px 12px;
  background: rgba(0,0,0,0.18);
  border: 1px solid rgba(255,255,255,0.12);
}
.sr-single--property .sr-spec-label{
  font-size: 11px;
  opacity: .78;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.sr-single--property .sr-spec-value{
  font-size: 16px;
  font-weight: 800;
  margin-top: 2px;
  color: rgba(255,255,255,0.96);
}

/* Tablet + mobile specs */
@media (max-width: 980px){
  .sr-single--property .sr-single__grid{
    grid-template-columns: 1fr;
  }
  .sr-single--property .sr-spec-grid{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 520px){
  .sr-single--property .sr-spec-grid{
    grid-template-columns: 1fr;
  }
}

/* 6) Blocks (Amenities, Location) */
.sr-single--property .sr-single__block{
  margin-top: 16px;
}
.sr-single--property .sr-single__blocktitle{
  margin: 0 0 10px;
  color: rgba(198,167,94,0.95);
  font-weight: 800;
  letter-spacing: .10em;
  text-transform: uppercase;
  font-size: 12px;
}
.sr-single--property .sr-single__blocktext{
  color: rgba(255,255,255,0.78);
  font-size: 14px;
  line-height: 1.6;
}

/* Map: ensure it sits cleanly and doesn’t visually “merge” with the form */
.sr-single--property .sr-single__map{
  margin-top: 10px;
  border-radius: 16px;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,0.10);
  background: rgba(255,255,255,0.04);
}

/* 7) Brochure button styling */
.sr-single--property .sr-single__actions{
  margin-top: 14px;
}
.sr-single--property .sr-btn-solid .elementor-button{
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 14px !important;
  padding: 14px 18px !important;
  font-weight: 800 !important;
  background: rgba(198,167,94,0.95) !important;
  color: rgba(10,12,14,0.95) !important;
  border: 1px solid rgba(255,255,255,0.12) !important;
  box-shadow: 0 16px 44px rgba(0,0,0,0.40) !important;
}


/* =========================================================
   Minor: prevent any global theme rules from clashing inside this section
   ========================================================= */
.sr-single--property *{
  box-sizing: border-box;
}


/* =========================================================
   SINGLE PROPERTY — WIDTH + HIERARCHY + OVERLAP FIXES
   Apply AFTER previous single-property CSS
   ========================================================= */

/* (1) Make the SINGLE section as wide as the deck (remove side gaps)
   Astra adds .ast-container max width + padding; override on single property only */
body.single-property .site-content .ast-container,
body.single-property .site-content .content-area,
body.single-property .site-content .site-main{
  max-width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

body.single-property .sr-single--property.surface{
  /* match your deck’s “full” feel */
  max-width: 1400px !important;   /* increase; tune if your deck is wider */
  width: min(1400px, calc(100% - 40px)) !important;
  margin: 22px auto !important;
}

/* (4) Fix top going behind header — give breathing room on singles */
body.single-property .sr-single--property.surface{
  margin-top: 34px !important;
}

/* If your header is sticky and overlaps on anchor/refresh, add scroll padding */
html{
  scroll-padding-top: 110px; /* adjust if your header height differs */
}

/* (2) Fix “Carpet area overlaps” by making specs a clean 2x2 grid */
body.single-property .sr-single--property .sr-spec-grid{
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 10px !important;
  margin: 12px 0 14px !important;
}

/* Improve spec cards: label on top, value bold, consistent height */
body.single-property .sr-single--property .sr-spec{
  padding: 12px 12px !important;
  min-height: 64px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

/* (3) Make the detail section top-down, premium hierarchy */

/* Status badge (already) keep at very top */
body.single-property .sr-single--property .sr-avail2{
  margin: 0 0 10px !important;
}

/* Title should not feel “floating”; tighten + premium */
body.single-property .sr-single--property .sr-single__title{
  margin: 0 0 10px !important;
  font-size: clamp(24px, 2.1vw, 36px) !important;
  line-height: 1.10 !important;
}

/* Chips row: keep below title; make them slightly smaller + consistent */
body.single-property .sr-single--property .sr-single__meta{
  margin: 6px 0 12px !important;
}
body.single-property .sr-single--property .sr-single__meta .sr-chip{
  font-size: 11px !important;
  padding: 8px 11px !important;
}

/* Price: elevate importance (gold accent) */
body.single-property .sr-single--property .sr-single__price{
  margin: 8px 0 12px !important;
  font-size: 20px !important;
  font-weight: 900 !important;
  color: rgba(198,167,94,0.98) !important;
  letter-spacing: 0.02em;
}

/* Block titles: more spacing and clear separation */
body.single-property .sr-single--property .sr-single__blocktitle{
  margin: 14px 0 10px !important;
}

/* Amenities text: reduce visual noise, improve readability */
body.single-property .sr-single--property .sr-single__blocktext{
  font-size: 13.5px !important;
  line-height: 1.65 !important;
  color: rgba(255,255,255,0.76) !important;
}

/* Location block: give it its own subtle card */
body.single-property .sr-single--property .sr-single__block.location-block{
  padding: 12px 12px;
  border-radius: 16px;
  background: rgba(0,0,0,0.14);
  border: 1px solid rgba(255,255,255,0.08);
}

/* Map: ensure it never touches other blocks; consistent radius */
body.single-property .sr-single--property .sr-single__map{
  margin-top: 12px !important;
  border-radius: 16px !important;
  overflow: hidden;
}

/* Inquiry title spacing: fix “touching map” + align typography */
body.single-property .sr-single--property .sr-inquiry__title{
  margin: 6px 0 2px !important;
  font-size: 16px !important;
  font-weight: 900 !important;
}
body.single-property .sr-single--property .sr-inquiry__sub{
  margin-bottom: 12px !important;
}

/* (4) Widen “detail section” above deck: make the layout breathe */
body.single-property .sr-single--property .sr-single__grid{
  gap: 22px !important;
}
body.single-property .sr-single--property .sr-single__panel{
  padding: 18px 18px 16px !important;
}

/* On very large screens, let media breathe more (premium look) */
@media (min-width: 1280px){
  body.single-property .sr-single--property .sr-single__grid{
    grid-template-columns: 1.5fr 1fr !important;
  }
}

/* On smaller screens, keep full width and clean stacking */
@media (max-width: 980px){
  body.single-property .sr-single--property.surface{
    width: calc(100% - 24px) !important;
  }
}


/* =========================================================
   SINGLE PROPERTY — GUARANTEED FULL WIDTH (Theme + Elementor)
   ========================================================= */

/* 1) Force the main content wrappers to full width on single property */
body.single-property .site-content,
body.single-property .site-content .ast-container,
body.single-property .site-main,
body.single-property .site-main > article,
body.single-property .entry-content,
body.single-property .elementor,
body.single-property .elementor-section-wrap{
  max-width: 100% !important;
  width: 100% !important;
}

/* Astra often uses container padding; zero it for single-property only */
body.single-property .site-content .ast-container{
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* 2) Make your single section full-bleed, remove “boxed card” outer rounding */
body.single-property section.sr-single.sr-single--property.surface{
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;  /* true full-bleed */
  margin-right: calc(50% - 50vw) !important;
  border-radius: 0 !important;
}

/* 3) Keep the premium look INSIDE, aligned to your deck width */
body.single-property section.sr-single.sr-single--property.surface{
  padding: 22px 0 !important; /* outer vertical spacing only */
}

/* Inner content wrapper: use the existing grid as inner container */
body.single-property .sr-single--property .sr-single__grid{
  width: min(1400px, calc(100% - 40px)) !important;
  margin: 0 auto !important;
}

/* 4) Header overlap protection */
html{ scroll-padding-top: 120px; }
body.single-property section.sr-single.sr-single--property.surface{
  padding-top: 42px !important;
}

/* =========================================================
   SPECS — 4 cards never collide (2x2)
   ========================================================= */
body.single-property .sr-single--property .sr-spec-grid{
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 10px !important;
  margin: 12px 0 16px !important;
}
body.single-property .sr-single--property .sr-spec{
  min-height: 64px;
}

/* =========================================================
   Right panel hierarchy tightening
   ========================================================= */
body.single-property .sr-single--property .sr-single__panel{
  padding: 18px !important;
}
body.single-property .sr-single--property .sr-single__title{
  font-size: clamp(24px, 2.0vw, 36px) !important;
  line-height: 1.12 !important;
  margin: 0 0 10px !important;
}
body.single-property .sr-single--property .sr-single__price{
  font-size: 20px !important;
  font-weight: 900 !important;
  color: rgba(198,167,94,0.98) !important;
  margin: 6px 0 12px !important;
}
body.single-property .sr-single--property .sr-single__block{
  margin-top: 18px !important;
}


/* =========================================================
   SINGLE PROPERTY — REMOVE SIDE GAPS (boxed parent override)
   ========================================================= */

/* 0) Allow full-bleed breakout (parents often clip with overflow:hidden) */
body.single-property .site,
body.single-property .site-content,
body.single-property .content-area,
body.single-property .site-main,
body.single-property article,
body.single-property .entry-content,
body.single-property .elementor,
body.single-property .elementor-element,
body.single-property .e-con,
body.single-property .e-con-inner,
body.single-property .elementor-widget-wrap{
  overflow: visible !important;
  max-width: none !important;
}

/* 1) Force FULL BLEED for the sr-single section itself */
body.single-property section.sr-single.sr-single--property.surface{
  position: relative;
  left: 50%;
  right: 50%;
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: -50vw !important;
  margin-right: -50vw !important;

  /* keep premium look but not boxed */
  border-radius: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* 2) Make the inner grid stretch like your deck (nearly full width),
      and keep comfortable inner padding */
body.single-property .sr-single--property .sr-single__grid{
  width: calc(100vw - 40px) !important;  /* 20px padding each side */
  max-width: 1600px !important;         /* increase; matches “deck feel” */
  margin: 0 auto !important;
}

/* 3) If your deck is truly edge-to-edge, set max-width none:
      (uncomment if needed)
body.single-property .sr-single--property .sr-single__grid{
  max-width: none !important;
}
*/

/* 4) Ensure Elementor containers don’t re-add padding around this block */
body.single-property .elementor-shortcode{
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* 5) Header overlap protection */
html{ scroll-padding-top: 120px; }
body.single-property section.sr-single.sr-single--property.surface{
  padding-top: 42px !important;
}

/* SIMILAR PROPERTIES deck matches Featured deck (title underline version) */
.sr-featured-deck.sr-featured-deck--similar{
  border-radius: 22px !important;
  overflow: hidden !important;
}

/* Keep head spacing consistent */
.sr-featured-deck.sr-featured-deck--similar .sr-featured-deck__head{
  position: relative !important;
  padding-bottom: 10px !important;
  margin-bottom: 14px !important;
}

/* IMPORTANT: don't depend on head underline; disable it for similar */
.sr-featured-deck.sr-featured-deck--similar .sr-featured-deck__head::after{
  content: none !important;
}



/* Card rounding in similar deck */
.sr-featured-deck.sr-featured-deck--similar .sr-prop-card,
.sr-featured-deck.sr-featured-deck--similar .sr-prop-card--premium{
  border-radius: 22px !important;
  overflow: hidden !important;
}

.sr-featured-deck.sr-featured-deck--similar .sr-prop-card img{
  border-radius: 0 !important;
}

.sr-featured-deck.sr-featured-deck--similar .sr-featured-deck__grid{
  border-radius: 18px !important;
}

.sr-featured-deck.sr-featured-deck--similar .sr-deck-arrow{
  border-radius: 999px !important;
}
/* Single Property price: premium pill like cards */
body.single-property .sr-single--property .sr-single__price{
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;

  padding: 8px 12px !important;
  border-radius: 14px !important;

  background: rgba(10,12,14,0.55) !important;
  border: 1px solid rgba(198,167,94,0.55) !important;

  color: rgba(198,167,94,0.98) !important;
  font-weight: 900 !important;
  font-size: 16px !important;
  letter-spacing: 0.02em !important;

  box-shadow:
    0 12px 36px rgba(0,0,0,0.40),
    0 0 0 1px rgba(198,167,94,0.30),
    0 0 22px rgba(198,167,94,0.14),
    inset 0 1px 0 rgba(255,255,255,0.06) !important;

  margin: 8px 0 14px !important;
}

/* Premium map: muted by default */
body.single-property .sr-single--property .sr-single__map{
  position: relative;
}

/* Dim + desaturate the iframe */
body.single-property .sr-single--property .sr-single__map iframe{
  filter: grayscale(100%) brightness(0.58) contrast(0.95) saturate(0.7);
  transition: filter .25s ease;
}



/* Click-to-activate layer */
body.single-property .sr-single--property .sr-single__map::before{
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 16px;
  background: linear-gradient(
    180deg,
    rgba(0,0,0,0.22),
    rgba(0,0,0,0.40)
  );
  cursor: pointer;
  transition: opacity .25s ease;
}

/* When activated (class added by JS): remove overlay + restore map */
body.single-property .sr-single--property .sr-single__map.is-active::before,
body.single-property .sr-single--property .sr-single__map.is-active::after{
  opacity: 0;
  pointer-events: none;
}

body.single-property .sr-single--property .sr-single__map.is-active iframe{
  filter: none;
}


/* Click-blocking overlay */
body.single-property .sr-single--property .sr-single__map .sr-map-overlay{
  position: absolute;
  inset: 0;
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(0,0,0,0.18), rgba(0,0,0,0.40));
  cursor: pointer;
  z-index: 2;
}

/* Real button */
body.single-property .sr-single--property .sr-single__map .sr-map-activate{
  position: absolute;
  left: 14px;
  bottom: 14px;
  z-index: 3;

  padding: 10px 12px;
  border-radius: 999px;
  background: rgba(12,14,18,0.62);
  border: 1px solid rgba(255,255,255,0.14);
  color: rgba(255,255,255,0.92);
  font-size: 12px;
  letter-spacing: .08em;
  text-transform: uppercase;
  font-weight: 800;

  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  box-shadow: 0 18px 50px rgba(0,0,0,0.45);
}

/* Active state: restore map */
body.single-property .sr-single--property .sr-single__map.is-active iframe{
  filter: none;
}
body.single-property .sr-single--property .sr-single__map.is-active .sr-map-overlay,
body.single-property .sr-single--property .sr-single__map.is-active .sr-map-activate{
  display: none;
}

/* Secondary meta row: keep it tight + premium */
body.single-property .sr-single--property .sr-single__meta--secondary{
  margin-top: 10px !important;
  gap: 8px !important;
}

body.single-property .sr-single--property .sr-chip--link{
  text-decoration: none !important;
}
body.single-property .sr-single--property .sr-chip--link:hover{
  border-color: rgba(198,167,94,0.55) !important;
  background: rgba(198,167,94,0.10) !important;
}

/* Single Property spec cards — compact but not pill-like */
body.single-property .sr-single--property .sr-spec-grid{
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 5px !important;
  margin: 12px 0 14px !important;
}

body.single-property .sr-single--property .sr-spec{
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;

  padding: 10px 12px !important;
  border-radius: 14px !important;

  background: rgba(0,0,0,0.18) !important;
  border: 1px solid rgba(255,255,255,0.12) !important;

  min-height: 58px !important; /* prevents crush/distortion */
}

body.single-property .sr-single--property .sr-spec-label{
  display: block !important;
  margin: 0 0 6px !important;

  font-size: 10px !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
  opacity: 0.72 !important;

  line-height: 1.1 !important;
}

body.single-property .sr-single--property .sr-spec-value{
  display: block !important;
  margin: 0 !important;

  font-size: 14px !important;
  font-weight: 800 !important;
  line-height: 1.15 !important;

  color: rgba(255,255,255,0.95) !important;
}
/* Secondary meta chips (Project / Expected Completion / Balcony / Parking) */
body.single-property .sr-single--property .sr-single__meta--secondary{
  margin-top: 10px !important;
  gap: 8px !important;
}

/* Premium chip look for secondary row */
body.single-property .sr-single--property .sr-single__meta--secondary .sr-chip{
  padding: 7px 10px !important;
  border-radius: 999px !important;

  font-size: 11px !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
  font-weight: 800 !important;

  background: rgba(12,14,18,0.40) !important;
  border: 1px solid rgba(255,255,255,0.14) !important;

  color: rgba(255,255,255,0.86) !important;

  backdrop-filter: blur(12px) saturate(140%);
  -webkit-backdrop-filter: blur(12px) saturate(140%);
  box-shadow: 0 12px 34px rgba(0,0,0,0.35);
}

/* Project chip looks more “featured” + hover polish */
body.single-property .sr-single--property .sr-single__meta--secondary .sr-chip--link{
  color: rgba(255,255,255,0.92) !important;
  border-color: rgba(198,167,94,0.35) !important;
  background: rgba(198,167,94,0.10) !important;
  text-decoration: none !important;
}

body.single-property .sr-single--property .sr-single__meta--secondary .sr-chip--link:hover{
  border-color: rgba(198,167,94,0.55) !important;
  box-shadow:
    0 14px 40px rgba(0,0,0,0.38),
    0 0 18px rgba(198,167,94,0.12) !important;
  transform: translateY(-1px);
}

/* Hide zero values (Parking: 0 / Balcony: 0) without PHP changes */
body.single-property .sr-single--property .sr-single__meta--secondary .sr-chip{
  position: relative;
}

body.single-property .sr-single--property .sr-single__meta--secondary .sr-chip:where(:contains("PARKING: 0"), :contains("BALCONY: 0")){
  display: none !important;
}


/* Single Property: meta chips row INSIDE spec grid must span full width */
body.single-property .sr-single--property .sr-spec-grid .sr-single__meta--secondary{
  grid-column: 1 / -1 !important;      /* key fix: span all columns */
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  margin-top: 10px !important;
  align-items: center;
}

/* Slightly tighter chips on small screens to avoid crowding */
@media (max-width: 560px){
  body.single-property .sr-single--property .sr-spec-grid .sr-single__meta--secondary .sr-chip{
    padding: 10px 12px !important;
    font-size: 12px !important;
    line-height: 1.15 !important;
  }
}
/* Stop browser scroll anchoring (prevents micro scroll on AJAX replace) */
.sr-featured-deck,
.sr-featured-deck__grid{
  overflow-anchor: none !important;
}
.sr-deck-arrow{
  touch-action: manipulation;
}
@media (max-width: 767px){

  .sr-featured-deck__grid{
    will-change: opacity, transform, filter;
    transform: translateZ(0);
  }

  /* OUT: soften + slight scale down + blur for premium */
  .sr-featured-deck__grid.sr-swap-out{
    opacity: 0;
    transform: translateY(10px) scale(0.985);
    filter: blur(6px);
    transition: opacity 220ms ease, transform 220ms ease, filter 220ms ease;
  }

  /* IN: crisp + settle */
  .sr-featured-deck__grid.sr-swap-in{
    opacity: 1;
    transform: translateY(0) scale(1);
    filter: blur(0);
    transition: opacity 260ms ease, transform 260ms ease, filter 260ms ease;
  }

  /* Prevent micro scroll anchoring while swapping */
  .sr-featured-deck,
  .sr-featured-deck__grid{
    overflow-anchor: none;
  }

  /* Better mobile tap behavior */
  .sr-deck-arrow{
    touch-action: manipulation;
  }

  @media (prefers-reduced-motion: reduce){
    .sr-featured-deck__grid.sr-swap-out,
    .sr-featured-deck__grid.sr-swap-in{
      transition: none !important;
      transform: none !important;
      filter: none !important;
    }
  }
}

.sr-featured-deck__footer{
  display: flex;
  justify-content: center;
  margin-top: 14px;
}

.sr-btn--viewall{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 12px 20px;
  border-radius: 999px;
  text-decoration: none;
  border: 1px solid rgba(255,255,255,.25);
  background: rgba(255,255,255,.08);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  font-weight: 500;
}
.sr-btn--viewall:hover{
  background: rgba(255,255,255,.14);
}/* End custom CSS */