:root{

    --brand: #D4AF37;          
    /* --sub: #1E3A8A;             */
    --sub: #002D23;            
    --accent: #F4F1E8;         
    --heading: #111827;        
    --body: #6B7280;          
    --bg: #F8F8F6;            
    --card: #FFFFFF;
    --border: rgba(17,24,39,.08);
    --shadow: 0 15px 45px rgba(0,0,0,.12);

}
/* ===================== ROOT VARIABLES ===================== */
.lizyHeroWrapper {
  --lizy-black: #0c0c0d;
  --lizy-white: #ffffff;
  --lizy-gray: #b9b9b9;
  --lizy-accent: #c9a668;
  --lizy-overlay: rgba(8, 8, 10, 0.46);
  --lizy-footer-bg: linear-gradient(to top, rgba(0,0,0,0.55) 0%, rgba(0,0,0,0) 100%);
  --lizy-transition: 1000ms;

  position: relative;
  width: 100%;
  height: 100vh;
  min-height: 560px;
  overflow: hidden;
  background: var(--lizy-black);

}

/* ===================== OWL CAROUSEL BASE OVERRIDES ===================== */
.lizyHeroSlider,
.lizyHeroSlider .owl-stage-outer,
.lizyHeroSlider .owl-stage,
.lizyHeroSlider .owl-item {
  height: 100%;
}

.lizyHeroSlider .owl-item {
  position: relative;
}

/* ===================== SLIDE ITEM ===================== */
.lizyHeroItem {
  position: relative;
  width: 100%;
  height: 100vh;
  min-height: 560px;
  overflow: hidden;
}

/* Background image layer — separated from item so Ken Burns zoom animates independently */
.lizyHeroBg {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  transform: scale(1.06);   /* always visible, always full opacity */
}

.owl-item.active .lizyHeroBg {
  animation: lizyKenBurns 8000ms ease-out forwards;
}

@keyframes lizyKenBurns {
  0%   { transform: scale(1.12); }
  100% { transform: scale(1.0); }
}

/* Dark overlay so white text stays legible */
.lizyHeroOverlay {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(6,6,7,0.72) 0%, rgba(6,6,7,0.42) 42%, rgba(6,6,7,0.12) 68%, rgba(6,6,7,0.32) 100%),
    var(--lizy-overlay);
  z-index: 1;
}

/* ===================== CONTENT (LEFT SIDE) ===================== */
.lizyHeroContent {
  position: relative;
  z-index: 2;
  height: 100%;
  max-width: 960px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 0 6vw;
  padding-bottom: 8vh;
}

.lizyHeroHeading {
  display: flex;
  flex-direction: column;
  margin: 0 0 28px 0;
  font-weight: 800;
  font-size: clamp(2.6rem, 5.6vw, 4.6rem);
  line-height: 1.06;
  letter-spacing: -0.01em;
  color: var(--lizy-white);
  text-transform: uppercase;
}

.lizyHeroHeading span {
  display: block;
  opacity: 0;
  transform: translate(-24px, 24px);
}

.owl-item.active .lizyHeroHeading span {
  animation: lizyFadeUpLeft 900ms cubic-bezier(0.22, 0.9, 0.3, 1) forwards;
}

.owl-item.active .lizyHeroHeading span:nth-child(1) { animation-delay: 120ms; }
.owl-item.active .lizyHeroHeading span:nth-child(2) { animation-delay: 240ms; }
.owl-item.active .lizyHeroHeading span:nth-child(3) { animation-delay: 360ms; }

@keyframes lizyFadeUpLeft {
  0%   { opacity: 0; transform: translate(-24px, 24px); }
  100% { opacity: 1; transform: translate(0, 0); }
}

.lizyHeroDescription {
  max-width: 480px;
  margin: 0 0 36px 0;
  font-size: clamp(0.95rem, 1.1vw, 1.05rem);
  line-height: 1.6;
  font-weight: 400;
  color: rgba(255, 255, 255, 0.82);
  opacity: 0;
  transform: translateY(24px);
}

.owl-item.active .lizyHeroDescription {
  animation: lizyFadeUp 800ms ease forwards;
  animation-delay: 200ms;
}

@keyframes lizyFadeUp {
  0%   { opacity: 0; transform: translateY(24px); }
  100% { opacity: 1; transform: translateY(0); }
}

/* ===================== PREMIUM ROUNDED BUTTON ===================== */
.lizyHeroButton {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  width: fit-content;

  padding: 17px 30px;
  border: none;
  border-radius: 100px;
  background: var(--brand);
  color: var(--lizy-white);
  font-size: 0.82rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  cursor: pointer;
  opacity: 0;
  transform: translateY(24px);
  transition: background 300ms ease, transform 250ms ease;
}

.owl-item.active .lizyHeroButton {
  animation: lizyFadeUp 800ms ease forwards;
  animation-delay: 400ms;
}

.lizyHeroButtonDot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--lizy-white);
  flex-shrink: 0;
}

.lizyHeroButton:hover {
  background: var(--sub);
  transform: translateY(-2px);
}

/* ===================== FOOTER PROJECT NAVIGATION ===================== */
.lizyHeroFooter {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 3;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 48px;
  padding: 26px 6vw 32px;
  background: var(--lizy-footer-bg);
  opacity: 0;
  transform: translateY(20px);
  animation: lizyFadeUp 900ms ease forwards;
  animation-delay: 600ms;
}

.lizyHeroProject {
  position: relative;
  display: flex;
  align-items: baseline;
  gap: 14px;
  padding-bottom: 16px;
  color: var(--lizy-gray);
  opacity: 0.4;
  cursor: pointer;
  transition: opacity 400ms ease, color 400ms ease;
}

.lizyHeroProject.is-active {
  opacity: 1;
  color: var(--lizy-white);
}

.lizyHeroProjectNum {
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  flex-shrink: 0;
}

.lizyHeroProjectText {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
}

.lizyHeroProjectTitle {
  margin: 0;
  font-size: 0.86rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  color: white;
}

.lizyHeroProjectMeta {
  margin: 0;
  font-size: 0.74rem;
  font-weight: 500;
  color: inherit;
  opacity: 0.8;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.lizyHeroProjectLine {
  position: absolute;
  left: 0;
  bottom: 0;
  height: 1.5px;
  width: 100%;
  background: rgba(255, 255, 255, 0.18);
  overflow: hidden;
}

.lizyHeroProjectLine::after {
  content: '';
  position: absolute;
  inset: 0;
  background: var(--lizy-white);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 500ms ease;
}

.lizyHeroProject.is-active .lizyHeroProjectLine::after {
  transform: scaleX(1);
}

/* ===================== CIRCULAR PREV / NEXT NAVIGATION ===================== */
.lizyHeroNav {
  position: absolute;
  right: 6vw;
  bottom: 130px;
  z-index: 4;
  display: flex;
  gap: 12px;
}

.lizyHeroNavBtn {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  border: 1.4px solid rgba(255, 255, 255, 0.55);
  background: rgba(255, 255, 255, 0.08);
  backdrop-filter: blur(6px);
  color: var(--lizy-white);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: background 300ms ease, border-color 300ms ease, transform 300ms ease;
}

.lizyHeroNavBtn svg {
  width: 18px;
  height: 18px;
}

.lizyHeroNavBtn:hover {
  background: var(--lizy-white);
  border-color: var(--lizy-white);
  color: var(--lizy-black);
  transform: scale(1.06);
}

/* ===================== RESPONSIVE ===================== */

/* Laptop / small desktop */
@media (max-width: 1440px) {
  .lizyHeroContent { max-width: 780px; }
}

@media (max-width: 1200px) {
  .lizyHeroFooter { gap: 28px; }
  .lizyHeroProjectMeta { display: none; }
}

@media (max-width: 1024px) {
  .lizyHeroContent { padding: 0 5vw; padding-bottom: 10vh; }
  .lizyHeroNav { bottom: 118px; right: 5vw; }
}

/* Tablet */
@media (max-width: 991px) {
  .lizyHeroHeading { font-size: clamp(2.2rem, 6vw, 3.2rem); }
  .lizyHeroFooter { padding: 22px 5vw 26px; gap: 20px; }
  .lizyHeroProjectTitle,
  .lizyHeroProjectMeta { white-space: normal; }
}

@media (max-width: 768px) {
  .lizyHeroWrapper { height: 100vh; }
  .lizyHeroContent { max-width: 100%; padding: 0 20px; padding-bottom: 12vh; }
  .lizyHeroFooter {
    grid-template-columns: 1fr;
    gap: 10px;
    padding: 16px 20px 18px;
  }
  .lizyHeroProject { padding-bottom: 10px; }
  .lizyHeroProject:not(.is-active) { display: none; }
  .lizyHeroProjectMeta { display: block; }
  .lizyHeroNav { bottom: 112px; right: 20px; }
}

/* ===== MOBILE (Hero Slider) ===== */
@media (max-width: 576px) {
  .lizyHeroContent {
    padding: 0 20px;
    padding-bottom: 13vh;
  }
  .lizyHeroHeading {
    font-size: clamp(1.7rem, 8vw, 2.2rem);
    margin-bottom: 14px;
  }
  .lizyHeroDescription {
    font-size: 0.86rem;
    line-height: 1.55;
    margin-bottom: 20px;
  }
  .lizyHeroButton {

    justify-content: center;
    padding: 15px 22px;
  }
  .lizyHeroNavBtn { width: 40px; height: 40px; }
  .lizyHeroNav { bottom: 128px; right: 20px; }
  .lizyHeroFooter { padding: 14px 20px 16px; }
}

@media (max-width: 480px) {
  .lizyHeroContent { padding-bottom: 15vh; }
  .lizyHeroFooter { padding: 12px 20px 14px; }
  .lizyHeroHeading { margin-bottom: 12px; }
  .lizyHeroDescription { margin-bottom: 18px; }
}

@media (max-width: 375px) {
  .lizyHeroHeading { font-size: 1.6rem; }
  .lizyHeroDescription { font-size: 0.82rem; }
}

/* about seciton  */

/* ==========================================================================
   LIZY ABOUT SECTION — base
   ========================================================================== */
.lizyAboutSection {
  background-color: white;
  padding: 96px 32px;
}

.lizyAboutWrapper {
  max-width: 1320px;
  margin: 0 auto;
}

/* ==========================================================================
   HEADER — heading + intro (video preview + copy)
   ========================================================================== */
.lizyAboutHeader {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 40px;
  flex-wrap: wrap;
}

.lizyAboutHeading {
  margin: 0;
  max-width: 620px;
  font-size: clamp(2.1rem, 3.2vw, 3.25rem);
  line-height: 1.14;
  letter-spacing: -0.02em;
  font-weight: 600;
  color: var(--heading, #111827);
}

.lizyAboutIntro {
  display: flex;
  align-items: center;
  gap: 18px;
  max-width: 360px;
  padding-top: 6px;
}

.lizyAboutIntroMedia {
  position: relative;
  flex: none;
  width: 68px;
  height: 68px;
  border-radius: 20px;
  overflow: hidden;
  box-shadow: var(--shadow, 0 15px 45px rgba(0,0,0,.12));
}

.lizyAboutIntroMedia img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.lizyAboutPlayIcon {
  position: absolute;
  inset: 0;
  margin: auto;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 7px 0 7px 11px;
  border-color: transparent transparent transparent var(--card, #FFFFFF);
  filter: drop-shadow(0 1px 3px rgba(0,0,0,.35));
}

.lizyAboutIntroText {
  margin: 0;
  font-size: 0.94rem;
  line-height: 1.6;
  color: var(--body, #6B7280);
}

/* ==========================================================================
   MAIN GRID — hero image / center card / property card
   ========================================================================== */
.lizyAboutGrid {
  display: grid;
  grid-template-columns: 1.35fr 1fr 1fr;
  gap: 28px;
  margin-top: 56px;
  align-items: stretch;
}

/* --- Hero image --- */
.lizyAboutHero {
  position: relative;
  position: relative;
  margin: 0;
  height: 360px; /* Changed from min-height: 420px */
  border-radius: 30px;
  overflow: hidden;
  box-shadow: var(--shadow, 0 15px 45px rgba(0,0,0,.12));
}

.lizyAboutHeroImage {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.6s ease;
}

.lizyAboutHero:hover .lizyAboutHeroImage {
  transform: scale(1.05);
}

.lizyAboutHeroTag {
  position: absolute;
  left: 24px;
  bottom: 24px;
  margin: 0;
  padding: 9px 18px;
  border-radius: 999px;
  background: var(--card, #FFFFFF);
  color: var(--heading, #111827);
  font-size: 0.78rem;
  font-weight: 600;
  letter-spacing: 0.03em;
  box-shadow: var(--shadow, 0 15px 45px rgba(0,0,0,.12));
}

.lizyAboutHeroTag::before {
  content: "";
  display: inline-block;
  width: 7px;
  height: 7px;
  margin-right: 8px;
  border-radius: 50%;
  background: var(--brand, #D4AF37);
}

/* --- Center card --- */
.lizyAboutCard {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 12px;
  padding: 30px 28px; /* Reduced top/bottom padding from 40px to 30px */
  border-radius: 24px;
  background: var(--card, #FFFFFF);
  box-shadow: var(--shadow, 0 15px 45px rgba(0,0,0,.12));
  transition: transform 0.35s ease, box-shadow 0.35s ease;
}

.lizyAboutCard:hover {
  transform: translateY(-6px);
}

.lizyAboutCardEyebrow {
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--brand, #D4AF37);
}

.lizyAboutCardTitle {
  margin: 0;
  font-size: clamp(1.3rem, 1.7vw, 1.55rem);
  line-height: 1.3;
  font-weight: 600;
  color: var(--heading, #111827);
}

.lizyAboutCardText {
  margin: 0;
  font-size: 0.92rem;
  line-height: 1.65;
  color: var(--body, #6B7280);
}

.lizyAboutAction {
  align-self: flex-start;
  margin-top: 10px;
  padding: 13px 28px;
  border: 1px solid var(--brand, #D4AF37);
  border-radius: 999px;
  background: transparent;
  color: var(--heading, #111827);
  font-size: 0.85rem;
  font-weight: 600;
  cursor: pointer;
  transition: background 0.3s ease, color 0.3s ease, transform 0.3s ease;
}

.lizyAboutAction:hover {
  background: var(--brand, #D4AF37);
  color: var(--card, #FFFFFF);
  transform: translateY(-2px);
}

/* --- Property card --- */
.lizyAboutPropertyCard {
  display: flex;
  flex-direction: column;
  border-radius: 24px;
  overflow: hidden;
  background: var(--card, #FFFFFF);
  box-shadow: var(--shadow, 0 15px 45px rgba(0,0,0,.12));
  transition: transform 0.35s ease;
}

.lizyAboutPropertyCard:hover {
  transform: translateY(-6px);
}

.lizyAboutPropertyImageWrap {
 overflow: hidden;
  height: 200px; /* Fixed height instead of percentage */
  flex-shrink: 0;
}

.lizyAboutPropertyImage {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.6s ease;
}

.lizyAboutPropertyCard:hover .lizyAboutPropertyImage {
  transform: scale(1.08);
}

.lizyAboutPropertyContent {
 display: flex;
  flex-direction: column;
  justify-content: space-between; /* Evenly spaces title and button */
  flex-grow: 1;
  gap: 14px;
  padding: 20px 24px; /* Reduced bottom padding */
}

.lizyAboutPropertyTitle {
  margin: 0;
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.4;
  color: var(--heading, #111827);
}

.lizyAboutPropertyAction {
  align-self: flex-start;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 12px 22px;
  border: none;
  border-radius: 999px;
  background: var(--sub, #1E3A8A);
  color: var(--card, #FFFFFF);
  font-size: 0.82rem;
  font-weight: 600;
  cursor: pointer;
  transition: background 0.3s ease, transform 0.3s ease, opacity 0.3s ease;
}

.lizyAboutPropertyAction:hover {
  background: var(--brand, #D4AF37);
  transform: translateX(3px);
}

/* ==========================================================================
   CLOSING TEXT
   ========================================================================== */
.lizyAboutClosingText {
  max-width: 640px;
  margin: 48px 0 0;
  font-size: 0.95rem;
  line-height: 1.7;
  color: var(--body, #6B7280);
}

/* ==========================================================================
   STATISTICS ROW
   ========================================================================== */
.lizyAboutStats {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 28px;
  margin-top: 48px;
  padding-top: 40px;
  border-top: 1px solid var(--border, rgba(17,24,39,.08));
}

.lizyAboutStat {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding-right: 28px;
  border-right: 1px solid var(--border, rgba(17,24,39,.08));
}

/* Remove right border on the last stat in desktop view */
.lizyAboutStat:last-child {
  border-right: none;
  padding-right: 0;
}

.lizyAboutStatNumber {
  font-size: clamp(2rem, 2.6vw, 2.6rem);
  font-weight: 700;
  letter-spacing: -0.02em;
  color: var(--heading, #111827);
}

.lizyAboutStatLabel {
  font-size: 0.86rem;
  color: var(--body, #6B7280);
}

.lizyAboutDivider {
  flex: none;
  width: 1px;
  height: 48px;
  background: var(--border, rgba(17,24,39,.08));
}

/* ==========================================================================
   RESPONSIVE — ABOUT SECTION
   ========================================================================== */

/* Laptop */
@media (max-width: 1200px) {
  .lizyAboutGrid {
    grid-template-columns: 1.2fr 1fr 1fr;
    gap: 22px;
  }
  .lizyAboutHero {
    min-height: 380px;
  }
}

/* Tablet */
@media (max-width: 991px) {
  .lizyAboutSection {
    padding: 72px 24px;
  }
  .lizyAboutGrid {
    grid-template-columns: 1fr 1fr;
    grid-template-areas:
      "hero hero"
      "card property";
  }
  .lizyAboutHero   { grid-area: hero; min-height: 360px; }
  .lizyAboutCard   { grid-area: card; }
  .lizyAboutPropertyCard { grid-area: property; }

  
  .lizyAboutStat:nth-child(4n+1) { padding-left: 0; }
  .lizyAboutDivider:nth-of-type(2n) {
    display: none;
  }
}

@media (max-width: 768px) {
  .lizyAboutHeader {
    flex-direction: column;
    gap: 24px;
  }
  .lizyAboutIntro {
    max-width: 100%;
  }
}

/* ===== MOBILE (About Section) ===== */
@media (max-width: 576px) {
  .about-path-hero {
    padding: 32px 20px;
  }

  .lizyAboutSection {
    padding: 40px 20px;
  }
  .lizyAboutHeading {
    font-size: 1.7rem;
    line-height: 1.25;
  }
  .lizyAboutIntroText {
    font-size: 0.86rem;
  }
  .lizyAboutGrid {
    grid-template-columns: 1fr;
    grid-template-areas:
      "hero"
      "card"
      "property";
    gap: 16px;
    margin-top: 28px;
  }
  .lizyAboutHero {
    min-height: 220px;
    height: 220px;
    border-radius: 20px;
  }
  .lizyAboutCard {
    padding: 24px 20px;
    border-radius: 18px;
  }
  .lizyAboutCardTitle { font-size: 1.15rem; }
  .lizyAboutCardText { font-size: 0.88rem; }
  .lizyAboutPropertyCard { border-radius: 18px; }
  .lizyAboutPropertyImageWrap { height: 160px; }
  .lizyAboutClosingText {
    margin-top: 28px;
    font-size: 0.88rem;
  }
  .lizyAboutStats {
    grid-template-columns: repeat(2, 1fr);
    gap: 20px 16px;
    margin-top: 32px;
    padding-top: 28px;
  }
  .lizyAboutStat {
    padding-right: 0;
    border-right: none;
  }
  .lizyAboutStatNumber { font-size: 1.7rem; }
  .lizyAboutStatLabel { font-size: 0.78rem; }
  .lizyAboutDivider {
    display: none;
  }
}

@media (max-width: 375px) {
  .lizyAboutHeading {
    font-size: 1.5rem;
  }
  .lizyAboutCardTitle {
    font-size: 1.1rem;
  }
}

/* out service  */


/* =========================================================================== */
/* SECTION & HEADER */
.lizyTestimonialSection {
  background: var(--bg, #F8F8F6);
  padding: 100px 32px;
}

.lizyTestimonialWrapper {
  max-width: 1320px;
  margin: 0 auto;
}

.lizyTestimonialHeader {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 40px;
  margin-bottom: 64px;
  flex-wrap: wrap;
}

.lizyTestimonialHeaderText {
  max-width: 640px;
}

.lizyTestimonialLabel {
  display: inline-block;
  margin-bottom: 16px;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--brand, #D4AF37);
}

.lizyTestimonialTitle {
  margin: 0 0 18px;
  font-size: clamp(2rem, 3vw, 2.85rem);
  line-height: 1.18;
  letter-spacing: -0.02em;
  font-weight: 600;
  color: var(--heading, #111827);
}

.lizyTestimonialSubtext {
  margin: 0;
  font-size: 0.98rem;
  line-height: 1.7;
  color: var(--body, #6B7280);
}

.lizyTestimonialViewAll {
  flex: none;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 15px 30px;
  margin-bottom: 6px;
  border-radius: 999px;
  background: var(--brand, #D4AF37);
  border-color: var(--brand, #D4AF37);
  color: var(--card, #FFFFFF);
  font-size: 0.82rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  text-decoration: none;
  white-space: nowrap;
  transition: background 0.35s ease, color 0.35s ease, transform 0.35s ease, border-color 0.35s ease;
}

.lizyTestimonialViewAll:hover {
   border: 1px solid var(--border, rgba(17,24,39,.08));
  
  background: var(--card, #FFFFFF);
  color: var(--heading, #111827);
 
  transform: translateY(-3px);
}

/* OWL CAROUSEL EQUAL HEIGHT FIX */
.lizyTestimonialSlider .owl-stage {
  display: flex;
}

.lizyTestimonialSlider .owl-item {
  display: flex;
  flex: 1 0 auto;
}

/* REVIEW CARD - EQUAL HEIGHT & REDUCED SHADOW */
.lizyReviewCard {
  display: flex;
  flex-direction: column;
  padding: 30px;
  background: var(--card, #FFFFFF);
  border: 1px solid var(--border, rgba(17,24,39,.08));
  border-radius: 24px;
  /* Soft, subtle shadow replacing the heavy blur */
  
  width: 100%;
  height: 100%;
}

.lizyReviewStars {
  margin-bottom: 18px;
  font-size: 0.95rem;
  letter-spacing: 3px;
  color: var(--brand, #D4AF37);
}

.lizyReviewContent {
  flex: 1;
  margin: 0 0 28px;
  font-size: 0.95rem;
  line-height: 1.75;
  color: var(--body, #6B7280);
}

.lizyClientRow {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding-top: 22px;
  border-top: 1px solid var(--border, rgba(17,24,39,.08));
  margin-top: auto; /* Ensures client info sticks to bottom */
}

.lizyClientInfo {
  display: flex;
  align-items: center;
  gap: 14px;
  min-width: 0;
}

.lizyClientAvatar {
  flex: none;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 60px;
  height: 60px;
  border-radius: 50%;
  font-size: 1.2rem;
  font-weight: 700;
  color: #fff;
}

.lizyAvatarBrand  { background: var(--brand, #D4AF37); }
.lizyAvatarSub    { background: var(--sub, #1E3A8A); }
.lizyAvatarOrange { background: #E67E22; }
.lizyAvatarTeal   { background: #16A085; }
.lizyAvatarPurple { background: #8E44AD; }
.lizyAvatarRed    { background: #E74C3C; }

.lizyClientText {
  display: flex;
  flex-direction: column;
  min-width: 0;
}

.lizyClientName {
  font-size: 0.95rem;
  font-weight: 600;
  color: var(--heading, #111827);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.lizyClientRole {
  font-size: 0.82rem;
  color: var(--body, #6B7280);
}

.lizyReviewArrow {
    display: none !important;
  flex: none;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border: 1px solid var(--border, rgba(17,24,39,.08));
  border-radius: 50%;
  background: transparent;
  color: var(--heading, #111827);
  font-size: 1rem;
  cursor: pointer;
  transition: background 0.35s ease, color 0.35s ease, border-color 0.35s ease, transform 0.35s ease;
}

.lizyReviewArrow:hover {
  background: var(--brand, #D4AF37);
  border-color: var(--brand, #D4AF37);
  color: var(--card, #FFFFFF);
  transform: translateX(2px);
}

/* OWL CAROUSEL NAV STYLING */
.lizyTestimonialSlider .owl-nav {
  display: flex;
  justify-content: flex-end;
  gap: 14px;
  margin-top: 36px;
}

.lizyTestimonialSlider .owl-nav button.owl-prev,
.lizyTestimonialSlider .owl-nav button.owl-next {
  width: 52px;
  height: 52px;
  border-radius: 50% !important;
  background: var(--card, #FFFFFF) !important;
  border: 1px solid var(--border, rgba(17,24,39,.08)) !important;
  color: var(--heading, #111827) !important;
  font-size: 1.1rem !important;
  display: flex !important;
  align-items: center;
  justify-content: center;
  transition: background 0.35s ease, color 0.35s ease, border-color 0.35s ease, transform 0.35s ease;
}

.lizyTestimonialSlider .owl-nav button.owl-prev:hover,
.lizyTestimonialSlider .owl-nav button.owl-next:hover {
  background: var(--brand, #D4AF37) !important;
  border-color: var(--brand, #D4AF37) !important;
  color: #fff !important;
  transform: translateY(-3px);
}

/* RESPONSIVE */
@media (max-width: 991px) {
  .lizyTestimonialSection { padding: 80px 24px; }
}

@media (max-width: 768px) {
  .lizyTestimonialHeader {
    flex-direction: column;
    align-items: flex-start;
    gap: 24px;
    margin-bottom: 48px;
  }
  .lizyTestimonialViewAll { margin-bottom: 0; }
}

/* ===== MOBILE (Testimonial Section) ===== */
@media (max-width: 576px) {
  .lizyTestimonialSection { padding: 40px 20px; }
  .lizyTestimonialHeader {
    text-align: center;
    align-items: center;
    margin-bottom: 32px;
    gap: 18px;
  }
  .lizyTestimonialHeaderText { max-width: 100%; }
  .lizyTestimonialLabel { margin-bottom: 10px; }
  .lizyTestimonialTitle {
    font-size: 1.65rem;
    margin-bottom: 12px;
  }
  .lizyTestimonialTitle br { display: none; }
  .lizyTestimonialSubtext { font-size: 0.88rem; }
  .lizyTestimonialViewAll {
    width: 100%;
    justify-content: center;
    padding: 14px 24px;
  }
  .lizyReviewCard { padding: 22px 18px; border-radius: 18px; }
  .lizyReviewContent { font-size: 0.88rem; margin-bottom: 20px; }
  .lizyClientAvatar { width: 48px; height: 48px; font-size: 1rem; }
  .lizyTestimonialSlider .owl-nav { justify-content: center; margin-top: 24px; }
}
/* footer  */
.properties-btns{
    display:flex;
    justify-content: start;
    align-items:center;
    gap:18px;
    flex-wrap:wrap;
}

.property-location-btn{
    display:inline-flex;
    align-items:center;
    gap:10px;
    padding:7px 14px;
    text-decoration:none;
    color: white;
    background:rgba(255,255,255,.18);
    border:1px solid rgba(255,255,255,.35);
    border-radius:50px;
    backdrop-filter:blur(12px);
    -webkit-backdrop-filter:blur(12px);
    box-shadow:
        0 10px 30px rgba(0,0,0,.08),
        inset 0 1px 1px rgba(255,255,255,.45);
    transition:.35s ease;
    font-size:10px;
    font-weight:400;
}

.property-location-btn:hover{
    background:var(--brand);
    color:#fff;
    border-color:var(--brand);
    transform:translateY(-4px);
    box-shadow:0 18px 40px rgba(0,0,0,.18);
}

.location-dot{
    width:10px;
    height:10px;
    border-radius:50%;
    background:var(--brand);
    box-shadow:0 0 10px var(--brand);
    transition:.35s;
}

.property-location-btn:hover .location-dot{
    background:#fff;
    box-shadow:0 0 12px rgba(255,255,255,.8);
}

@media (max-width:768px){

    .properties-btns{
        gap:12px;
    }

    .property-location-btn{
        width:100%;
        justify-content:center;
        padding:13px 20px;
    }

}

/* ===== MOBILE (Footer / Location Buttons) ===== */
@media (max-width: 576px) {
  .properties-btns {
    gap: 10px;
    padding: 0 20px;
  }
  .property-location-btn {
    font-size: 11px;
    padding: 12px 18px;
  }
}

/* cta section  */
/* ==========================================================================
   LIZY REALTY — PREMIUM CTA SECTION
   ========================================================================== */

/* Main Section Outer Spacing */
.lizyPremiumCTA {
  padding: 40px 20px;
  
}

/* Luxury Container with Glassmorphism & Light Pattern */
.lizyPremiumCTAWrapper {
  max-width: 1320px;
  margin: 0 auto;
  position: relative;
  overflow: hidden;
  border-radius: 30px;
  padding: 70px 70px;
  background-color: var(--sub);
 
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border: 1px solid var(--border);
  box-shadow: var(--shadow);
}

/* Ambient Floating Decorative Glows */
.lizyPremiumGlow {
  position: absolute;
  border-radius: 50%;
  pointer-events: none;
  z-index: 1;
}

.lizyPremiumGlowGold {
  width: 320px;
  height: 320px;
  top: -80px;
  right: -60px;
  background: var(--brand);
  opacity: 0.15;
  filter: blur(90px);
}

.lizyPremiumGlowBlue {
  width: 380px;
  height: 380px;
  bottom: -100px;
  left: -80px;
  background: var(--sub);
  opacity: 0.12;
  filter: blur(100px);
}

.lizyPremiumCircle {
  position: absolute;
  border-radius: 50%;
  border: 1px solid rgba(212, 175, 55, 0.2);
  pointer-events: none;
  z-index: 1;
}

.lizyPremiumCircleOne {
  width: 200px;
  height: 200px;
  top: 10%;
  right: 15%;
  opacity: 0.4;
}

.lizyPremiumCircleTwo {
  width: 350px;
  height: 350px;
  bottom: -10%;
  right: 5%;
  opacity: 0.25;
}

/* Grid Layout */
.lizyPremiumCTAContent {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: 1.3fr 0.9fr;
  gap: 60px;
  align-items: center;
}

/* Left Content Styles */
.lizyPremiumCTAInfo {
  display: flex;
  flex-direction: column;
}

.lizyPremiumCTALabel {
  display: inline-block;
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--brand);
  margin-bottom: 16px;
}

.lizyPremiumCTATitle {
  margin: 0 0 20px;
  font-size: clamp(2.2rem, 3.5vw, 3.2rem);
  line-height: 1.15;
  font-weight: 700;
  letter-spacing: -0.02em;
  color: white;
}

.lizyPremiumCTADescription {
  margin: 0 0 36px;
  font-size: 1rem;
  line-height: 1.7;
  color: #b7c1d3;
  max-width: 620px;
}

/* Property Highlights Grid */
.lizyPremiumHighlights {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 18px 24px;
}

.lizyPremiumHighlight {
  display: flex;
  align-items: center;
  gap: 12px;
}

.lizyPremiumHighlightIcon {
  flex: none;
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background: var(--brand);
  color: #FFFFFF;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 4px 12px rgba(212, 175, 55, 0.35);
}

.lizyPremiumHighlightText {
  font-size: 0.92rem;
  font-weight: 600;
  color: var(--heading);
}

/* Right Side CTA Buttons Block */
.lizyPremiumCTAButtons {
  display: flex;
  flex-direction: column;
  gap: 20px;
  justify-content: center;
}

/* Shared Glass Button Styles */
.lizyPremiumCallButton,
.lizyPremiumMailButton {
  position: relative;
  display: flex;
  align-items: center;
  gap: 20px;
  padding: 22px 28px;
  border-radius: 20px;
  text-decoration: none;
  background: var(--card);
  border: 1px solid var(--border);
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.04);
  transition: transform 0.4s ease, box-shadow 0.4s ease, background 0.4s ease, border-color 0.4s ease;
  overflow: hidden;
}

.lizyPremiumIcon {
  flex: none;
  width: 54px;
  height: 54px;
  border-radius: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: transform 0.4s ease, background 0.4s ease, color 0.4s ease;
}

.lizyPremiumIconCall {
  background: rgba(212, 175, 55, 0.12);
  color: var(--brand);
}

.lizyPremiumIconMail {
  background: rgba(30, 58, 138, 0.08);
  color: var(--sub);
}

.lizyPremiumButtonText {
  display: flex;
  flex-direction: column;
  gap: 3px;
}

.lizyPremiumButtonLabel {
  font-size: 1.05rem;
  font-weight: 700;
  color: var(--heading);
  transition: color 0.4s ease;
}

.lizyPremiumButtonSubtext {
  font-size: 0.88rem;
  font-weight: 500;
  color: var(--body);
  transition: color 0.4s ease;
}

/* Premium Hover Interactions */
.lizyPremiumCallButton:hover,
.lizyPremiumMailButton:hover {
  transform: translateY(-5px);
  background: var(--brand);
  border-color: var(--brand);
  box-shadow: 0 18px 38px rgba(212, 175, 55, 0.35);
}

.lizyPremiumCallButton:hover .lizyPremiumButtonLabel,
.lizyPremiumCallButton:hover .lizyPremiumButtonSubtext,
.lizyPremiumMailButton:hover .lizyPremiumButtonLabel,
.lizyPremiumMailButton:hover .lizyPremiumButtonSubtext {
  color: #FFFFFF;
}

.lizyPremiumCallButton:hover .lizyPremiumIcon,
.lizyPremiumMailButton:hover .lizyPremiumIcon {
  background: rgba(255, 255, 255, 0.22);
  color: #FFFFFF;
  transform: scale(1.08);
}

/* Pure CSS Pulse Animation on Phone Button */
.lizyPremiumPulseRing {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  border-radius: 20px;
  border: 2px solid var(--brand);
  pointer-events: none;
  /* animation: lizyPulse 2.4s infinite ease-in-out; */
  opacity: 0;
}

/* @keyframes lizyPulse {
  0% {
    transform: scale(0.96);
    opacity: 0.7;
  }
  50% {
    transform: scale(1.03);
    opacity: 0;
  }
  100% {
    transform: scale(0.96);
    opacity: 0;
  }
} */

/* ==========================================================================
   RESPONSIVE BREAKPOINTS
   ========================================================================== */

/* Laptop / Smaller Screen */
@media (max-width: 1199px) {
  .lizyPremiumCTAWrapper {
    padding: 80px 40px;
  }
  
  .lizyPremiumCTAContent {
    gap: 40px;
  }
}

/* Tablet Layout */
@media (max-width: 991px) {
  .lizyPremiumCTAWrapper {
    padding: 60px 32px;
    border-radius: 24px;
  }

  .lizyPremiumCTAContent {
    grid-template-columns: 1fr;
    gap: 48px;
  }

  .lizyPremiumCTADescription {
    max-width: 100%;
  }
}

/* ===== MOBILE (CTA Section) ===== */
@media (max-width: 576px) {
  .lizyPremiumCTA {
    padding: 24px 20px;
  }

  .lizyPremiumCTAWrapper {
    padding: 36px 20px;
    border-radius: 18px;
    text-align: center;
  }

  .lizyPremiumCTALabel { margin-bottom: 12px; }

  .lizyPremiumCTATitle {
    font-size: 1.7rem;
    margin-bottom: 14px;
  }

  .lizyPremiumCTATitle br {
    display: none;
  }

  .lizyPremiumCTADescription {
    font-size: 0.88rem;
    margin-bottom: 24px;
  }

  .lizyPremiumHighlights {
    grid-template-columns: 1fr;
    justify-items: center;
    gap: 12px;
    margin-bottom: 6px;
  }

  .lizyPremiumHighlightText { font-size: 0.85rem; }

  .lizyPremiumCTAButtons {
    width: 100%;
    gap: 14px;
  }

  .lizyPremiumCallButton,
  .lizyPremiumMailButton {
    width: 100%;
    justify-content: flex-start;
    padding: 16px 18px;
    gap: 14px;
  }

  .lizyPremiumIcon { width: 46px; height: 46px; }
  .lizyPremiumButtonLabel { font-size: 0.95rem; }
  .lizyPremiumButtonSubtext { font-size: 0.8rem; }
}

/* ================ about page start ================= */
/* ============ SECTION 01 — HERO (Lizy Realty) ============ */
.lz-hero {
  position: relative;
  min-height: 100vh;
  display: flex;
  align-items: center;
  background: 
    linear-gradient(105deg, rgba(10, 14, 26, 0.92) 0%, rgba(10, 14, 26, 0.75) 45%, rgba(10, 14, 26, 0.35) 80%, rgba(10, 14, 26, 0.15) 100%),
    url('../img/image-3/path.jpg') center/cover no-repeat;
  overflow: hidden;
  padding: 80px 0 40px;
}

.lz-hero-particles {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
}

/* Grid Layout Container */
.lz-hero-inner {
  position: relative;
  z-index: 2;
  width: 100%;
  display: grid;
  grid-template-columns: 1fr auto;
  grid-template-rows: auto auto;
  align-items: end;
  gap: 40px 24px;
}

.lz-hero-content {
  max-width: 620px;
}

.lz-hero-eyebrow {
  display: block;
  color: var(--brand, #d4af37);
  font-size: 13px;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  font-weight: 600;
  margin-bottom: 12px;
}

.lz-hero h1 {
  font-size: clamp(32px, 5.2vw, 62px);
  color: #ffffff;
  line-height: 1.15;
  letter-spacing: 0.005em;
  font-weight: 700;
}

.lz-hero h1 em {
  font-style: italic;
  color: var(--brand, #d4af37);
  font-weight: 500;
}

.lz-hero p {
  color: rgba(255, 255, 255, 0.82);
  font-size: 16px;
  line-height: 1.7;
  max-width: 500px;
  margin-top: 22px;
}

.lz-hero-buttons {
  margin-top: 36px;
}

.lz-btn-gold {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 12px;
  background: var(--brand, #d4af37);
  color: #131313;
  font-weight: 600;
  font-size: 13px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  padding: 16px 32px;
  border-radius: 2px;
  text-decoration: none;
  overflow: hidden;
  isolation: isolate;
  transition: box-shadow 0.3s ease;
}

.lz-btn-gold::before {
  content: '';
  position: absolute;
  inset: 0;
  left: -120%;
  width: 60%;
  background: linear-gradient(115deg, transparent, rgba(255, 255, 255, 0.55), transparent);
  transform: skewX(-20deg);
  z-index: 1;
  transition: left 0.8s ease;
}

.lz-btn-gold:hover::before {
  left: 130%;
}

.lz-btn-gold:hover {
  box-shadow: 0 10px 25px rgba(212, 175, 55, 0.3);
  color: black;
}

.lz-btn-gold span,
.lz-btn-gold svg {
  position: relative;
  z-index: 2;
}

.lz-btn-gold svg {
  transition: transform 0.35s ease;
}

.lz-btn-gold:hover svg {
  transform: translateX(5px);
}

/* Integrated Grid Card */
.lz-hero-card {
  width: 100%;
  max-width: 320px;
  justify-self: end;
  background: rgba(255, 255, 255, 0.08);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 16px;
  padding: 22px;
  box-shadow: 0 25px 50px rgba(0, 0, 0, 0.35);
}

.lz-card-tag {
  font-size: 10px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--brand, #d4af37);
  font-weight: 600;
}

.lz-hero-card h4 {
  color: #ffffff;
  font-size: 19px;
  margin: 6px 0 14px;
  font-weight: 600;
}

.lz-hero-card-stats {
  display: flex;
  justify-content: space-between;
  border-top: 1px solid rgba(255, 255, 255, 0.15);
  padding-top: 12px;
}

.lz-hero-card-stats div {
  text-align: left;
}

.lz-hero-card-stats b {
  display: block;
  color: #ffffff;
  font-size: 18px;
  font-weight: 600;
}

.lz-hero-card-stats span {
  font-size: 10px;
  color: rgba(255, 255, 255, 0.6);
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

/* Scroll Line Indicator */
.lz-hero-scroll {
  grid-column: 1 / -1;
  display: flex;
  align-items: center;
  gap: 12px;
  color: rgba(255, 255, 255, 0.6);
  font-size: 11px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  margin-top: 20px;
}

.lz-scroll-line {
  width: 1px;
  height: 36px;
  background: rgba(255, 255, 255, 0.25);
  position: relative;
  overflow: hidden;
}

.lz-scroll-line::after {
  content: '';
  position: absolute;
  top: -100%;
  left: 0;
  width: 100%;
  height: 100%;
  background: var(--brand, #d4af37);
  animation: lzScrollAnim 2s ease-in-out infinite;
}

@keyframes lzScrollAnim {
  0% { top: -100%; }
  50% { top: 0; }
  100% { top: 100%; }
}

/* Mobile & Tablet Adjustments */
@media (max-width: 991px) {
  .lz-hero-inner {
    grid-template-columns: 1fr;
    gap: 32px;
  }

  .lz-hero-card {
    justify-self: start;
    max-width: 100%;
  }
}

@media (max-width: 640px) {
  .lz-hero {
    padding: 100px 0 40px;
  }

  .lz-hero-buttons {
    width: 100%;
  }

  .lz-btn-gold {
    width: 100%;
    justify-content: center;
  }
}

/* ===== MOBILE (About Page Hero) ===== */
@media (max-width: 576px) {
  .lz-hero {
    padding: 90px 0 32px;
    min-height: auto;
  }
  .lz-hero-content { padding: 0 20px; }
  .lz-hero-eyebrow { font-size: 11px; margin-bottom: 10px; }
  .lz-hero h1 { font-size: clamp(1.7rem, 8vw, 2.2rem); }
  .lz-hero p { font-size: 0.88rem; margin-top: 16px; }
  .lz-hero-buttons { margin-top: 24px; padding: 0 20px; }
  .lz-btn-gold { padding: 14px 22px; font-size: 12px; }
  .lz-hero-card { padding: 18px;}
  .lz-hero-card h4 { font-size: 16px; margin: 4px 0 10px; }
  .lz-hero-scroll { margin-top: 14px; padding: 0 20px; }
}

/* ===================== about us page ====================  */
/* ==========================================================================
   LIZY REALTY - HIGH END BRIGHT ABOUT US STYLES
   ========================================================================== */

/* Font Family Bindings */
.about-path-hero,
.about-path-timeline-sec,


.about-path-matrix-sec {

  background-color: white;
  color: var(--body);
}

.about-path-expertise-sec,
.about-path-matrix-sec {
 
  background-color: var(--lizy-gray);
  color: var(--body);
}

.about-path-hero-title,
.about-path-sec-title,
.about-path-step-title,
.about-path-prop-body h4,
.about-path-matrix-card h3 {
 
  color: var(--heading);
}

.about-path-sub-tag {
  color: var(--brand);
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
  display: inline-block;
  margin-bottom: 8px;
}

.about-path-sec-title {
  font-size: 2.3rem;
  font-weight: 700;
}

/* SECTION 1: HERO */
.about-path-hero {
  padding: 90px 0;
  background: linear-gradient(180deg, #FFFFFF 0%, var(--bg) 100%);
}

.about-path-badge {
  background: var(--accent);
  color: var(--sub);
  font-size: 0.8rem;
  font-weight: 700;
  padding: 6px 16px;
  border-radius: 30px;
  display: inline-block;
  margin-bottom: 20px;
  border: 1px solid var(--border);
}

.about-path-hero-title {
  font-size: 3rem;
  font-weight: 800;
  line-height: 1.2;
  margin-bottom: 20px;
}

.about-path-hero-text {
  font-size: 1.1rem;
  line-height: 1.7;
  margin-bottom: 35px;
}

.about-path-hero-meta {
  display: flex;
  align-items: center;
  gap: 30px;
}

.about-path-meta-num {
  
  font-size: 1.8rem;
  font-weight: 800;
  color: var(--sub);
  display: block;
}

.about-path-meta-label {
  font-size: 0.85rem;
  color: var(--body);
}

.about-path-meta-divider {
  width: 1px;
  height: 40px;
  background: var(--border);
}

.about-path-hero-img-box {
  position: relative;
}

.about-path-main-img {
  border-radius: 20px;
  box-shadow: var(--shadow);
}

.about-path-floating-card {
  position: absolute;
  bottom: -20px;
  left: -20px;
  background: var(--card);
  padding: 20px 25px;
  border-radius: 16px;
  box-shadow: var(--shadow);
  display: flex;
  align-items: center;
  gap: 15px;
  border: 1px solid var(--border);
}

.about-path-icon {
  width: 38px;
  height: 38px;
  background: var(--brand);
  color: #FFFFFF;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-style: normal;
  font-weight: bold;
}

/* SECTION 2: TIMELINE */
.about-path-timeline-sec {
  padding: 80px 0;
}

.about-path-step-card {
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: 16px;
  padding: 35px 25px;
  transition: all 0.35s ease;
  height: 100%;
}

.about-path-step-card:hover {
  transform: translateY(-8px);
  border-color: var(--brand);
  box-shadow: var(--shadow);
}

.about-path-step-num {
  
  font-size: 2.2rem;
  font-weight: 800;
  color: var(--sub);
  opacity: 0.2;
  display: block;
  margin-bottom: 10px;
}

.about-path-step-pill {
  background: var(--accent);
  color: var(--sub);
  font-size: 0.75rem;
  font-weight: 600;
  padding: 4px 12px;
  border-radius: 12px;
  display: inline-block;
  margin-bottom: 15px;
}

.about-path-step-title {
  font-size: 1.2rem;
  font-weight: 700;
  margin-bottom: 10px;
}

.about-path-step-desc {
  font-size: 0.9rem;
  line-height: 1.6;
  margin: 0;
}

/* SECTION 3: PORTFOLIO SLIDER */

/* SECTION 4: REGIONAL EXPERTISE */
.about-path-expertise-sec {
  padding: 90px 0;
}

.about-path-feature-list {
  margin-top: 30px;
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.about-path-feature-item {
  display: flex;
  gap: 15px;
}

.about-path-feature-icon {
  width: 28px;
  height: 28px;
  background: var(--brand);
  color: #FFFFFF;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: bold;
  flex-shrink: 0;
}

.about-path-feature-item h5 {

  font-size: 1.1rem;
  font-weight: 600;
  margin-bottom: 4px;
}

.about-path-feature-item p {
  font-size: 0.9rem;
  margin: 0;
}

/* SECTION 5: MATRIX */
.about-path-matrix-sec {
  padding: 90px 0 110px 0;
  background: #FFFFFF;
}

.about-path-matrix-card {
  padding: 45px 35px;
  border-radius: 20px;
  border: 1px solid var(--border);
  height: 100%;
}

.about-path-matrix-card.standard {
  background: var(--bg);
}

.about-path-matrix-card.benchmark {
  background: var(--card);
  border-color: var(--brand);
  box-shadow: var(--shadow);
  position: relative;
}

.about-path-matrix-badge {
  background: var(--brand);
  color: #FFFFFF;
  font-size: 0.75rem;
  font-weight: 700;
  padding: 4px 14px;
  border-radius: 20px;
  display: inline-block;
  margin-bottom: 15px;
}

.about-path-matrix-list {
  list-style: none;
  padding: 0;
  margin: 25px 0 0 0;
}

.about-path-matrix-list li {
  display: flex;
  gap: 12px;
  font-size: 0.95rem;
  margin-bottom: 16px;
  align-items: flex-start;
}

.about-path-matrix-list .cross {
  color: #EF4444;
  font-weight: bold;
}

.about-path-matrix-list .check {
  color: var(--brand);
  font-weight: bold;
}

/* Responsive */
@media (max-width: 991px) {
  .about-path-expertise-sec {
    padding: 50px 0;
}

.about-path-timeline-sec {
    padding: 40px 0;
}
  .about-path-hero-title {
    font-size: 2.3rem;
  }
  .about-path-floating-card {
    position: static;
    margin-top: 15px;
  }
}

/* ===== MOBILE (About Us Page — all about-path sections) ===== */
@media (max-width: 576px) {
  /* Hero */
  .about-path-hero {
    padding: 32px 20px;
  }
  .about-path-badge { font-size: 0.72rem; padding: 5px 14px; margin-bottom: 14px; }
  .about-path-hero-title {
    font-size: 1.75rem;
    margin-bottom: 14px;
  }
  .about-path-hero-text {
    font-size: 0.92rem;
    margin-bottom: 24px;
  }
  .about-path-hero-meta { gap: 18px; flex-wrap: wrap; }
  .about-path-meta-num { font-size: 1.4rem; }
  .about-path-meta-label { font-size: 0.76rem; }
  .about-path-floating-card {
    padding: 14px 16px;
    gap: 10px;
    border-radius: 12px;
  }
  .about-path-icon { width: 32px; height: 32px; }

  /* Section title used across timeline/expertise/matrix */
  .about-path-sub-tag { font-size: 0.72rem; margin-bottom: 6px; }
  .about-path-sec-title { font-size: 1.6rem; }

  /* Timeline */
  .about-path-timeline-sec { padding: 32px 20px; }
  .about-path-step-card { padding: 24px 20px; border-radius: 14px; }
  .about-path-step-num { font-size: 1.7rem; margin-bottom: 6px; }
  .about-path-step-title { font-size: 1.05rem; }
  .about-path-step-desc { font-size: 0.86rem; }

  /* Regional expertise */
  .about-path-expertise-sec { padding: 32px 20px; }
  .about-path-feature-list { margin-top: 20px; gap: 16px; }
  .about-path-feature-item h5 { font-size: 1rem; }
  .about-path-feature-item p { font-size: 0.85rem; }

  /* Matrix */
  .about-path-matrix-sec { padding: 32px 20px 40px 20px; }
  .about-path-matrix-card { padding: 28px 22px; border-radius: 16px; }
  .about-path-matrix-badge { font-size: 0.7rem; padding: 4px 12px; margin-bottom: 10px; }
  .about-path-matrix-list li { font-size: 0.86rem; margin-bottom: 12px; }
}
/* ==========================================================================
   LIZY REALTY - PROPERTIES PAGE STYLES
   ========================================================================== */


.prop-grid-sec,
.prop-assurance-sec {
 
  background-color: var(--bg);
  color: var(--body);
}


.prop-sec-title,
.prop-title,
.prop-price,
.prop-assurance-item h4 {

  color: var(--heading);
}

.prop-container {
  max-width: 1600px;
  margin: 0 auto;
  padding: 0 32px;
  width: 100%;
}

/* Ultra-wide monitors (2560px+): cap a bit further so cards/text don't
   stretch edge-to-edge and become hard to scan - 1760px still uses far
   more of the screen than the old 1240px cap did, just with sane limits. */
@media (min-width: 1800px) {
  .prop-container {
    max-width: 1760px;
  }
}

.text-center {
  text-align: center;
}

/* 1. HERO & FILTER BAR */
.prop-hero-sec {
  padding: 70px 0 70px 0;
   background: 
    linear-gradient(105deg, rgba(10, 14, 26, 0.92) 0%, rgba(10, 14, 26, 0.75) 45%, rgba(10, 14, 26, 0.35) 80%, rgba(10, 14, 26, 0.15) 100%),
    url('../img/image-3/path.jpg') center/cover no-repeat;
 
}

.prop-tag {
  color: var(--brand);
  font-weight: 700;
  font-size: 0.8rem;
  letter-spacing: 2px;
  text-transform: uppercase;
  display: inline-block;
  margin-bottom: 12px;
}

.prop-hero-title {
  font-size: 2.75rem;
  font-weight: 800;
  line-height: 1.25;
  margin-bottom: 15px;
  color: white;
}

.prop-hero-sub {
  font-size: 1.05rem;
  max-width: 720px;
  margin: 0 auto 40px auto;
  line-height: 1.7;
  color: white;
}



/* 2. PROPERTIES GRID SECTION */
.prop-grid-sec {
  padding: 60px 0 90px 0;
}

.prop-grid-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 35px;
  flex-wrap: wrap;
  gap: 15px;
}

.prop-sec-title {
  font-size: 2rem;
  font-weight: 700;
  margin: 0;
}

.prop-results-count {
  font-size: 0.9rem;
  color: var(--brand);
  font-weight: 600;
}

/* Property Type Pills */
.prop-type-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-bottom: 22px;
}

.prop-type-pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  border: 1px solid var(--border);
  background: var(--card);
  color: var(--heading);
  font-weight: 600;
  font-size: 0.88rem;
  padding: 10px 20px;
  border-radius: 30px;
  cursor: pointer;
  transition: all 0.25s ease;
}

.prop-type-pill i {
  font-size: 0.95rem;
  color: var(--brand);
  transition: color 0.25s ease;
}

.prop-type-pill:hover {
  border-color: var(--brand);
  transform: translateY(-2px);
}

.prop-type-pill.active {
  background: linear-gradient(135deg, var(--brand), #b8912b);
  border-color: transparent;
  color: #ffffff;
  box-shadow: 0 8px 20px rgba(212, 175, 55, 0.35);
}

.prop-type-pill.active i {
  color: #ffffff;
}

/* Property Filter Bar */
.prop-filter-bar {
  display: flex;
  flex-wrap: wrap;
  align-items: end;
  gap: 18px;
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: 14px;
  padding: 20px 24px;
  margin-bottom: 30px;
}

.prop-filter-field {
  display: flex;
  flex-direction: column;
  gap: 6px;
  flex: 1 1 200px;
}

.prop-filter-field label {
  font-size: 0.78rem;
  font-weight: 600;
  color: var(--heading);
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.prop-filter-field input,
.prop-filter-field select {
  border: 1px solid var(--border);
  border-radius: 8px;
  padding: 10px 14px;
  font-size: 0.92rem;
  color: var(--heading);
  background: var(--bg);
  outline: none;
  transition: border-color 0.2s ease;
}

.prop-filter-field input:focus,
.prop-filter-field select:focus {
  border-color: var(--brand);
}

.prop-filter-reset {
  border: 1px solid var(--border);
  background: transparent;
  color: var(--heading);
  font-weight: 600;
  font-size: 0.85rem;
  padding: 10px 20px;
  border-radius: 8px;
  cursor: pointer;
  white-space: nowrap;
  transition: all 0.2s ease;
}

.prop-filter-reset:hover {
  border-color: var(--brand);
  color: var(--brand);
}

/* Budget range slider - two native range inputs overlaid on one track.
   Each input's own track is made invisible (transparent, pointer-events
   off) so only its thumb is interactive; a separate .prop-budget-range
   div (positioned by JS) draws the coloured segment between the two
   thumbs. This is a standard dependency-free way to build a dual-handle
   slider from two single-handle <input type="range"> elements. */
.prop-filter-budget {
  min-width: 240px;
}

.prop-budget-slider {
  position: relative;
  height: 32px;
}

.prop-budget-track,
.prop-budget-range {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  height: 4px;
  border-radius: 2px;
}

.prop-budget-track {
  left: 0;
  right: 0;
  background: var(--border);
}

.prop-budget-range {
  background: var(--brand);
}

.prop-budget-slider input[type="range"] {
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  transform: translateY(-50%);
  margin: 0;
  background: transparent;
  -webkit-appearance: none;
  appearance: none;
  pointer-events: none; /* only the thumb (re-enabled below) should be draggable */
}

.prop-budget-slider input[type="range"]::-webkit-slider-runnable-track {
  -webkit-appearance: none;
  background: transparent;
}

.prop-budget-slider input[type="range"]::-webkit-slider-thumb {
  -webkit-appearance: none;
  pointer-events: auto;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: var(--brand);
  border: 3px solid #fff;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.25);
  cursor: pointer;
  margin-top: 0;
}

.prop-budget-slider input[type="range"]::-moz-range-track {
  background: transparent;
}

.prop-budget-slider input[type="range"]::-moz-range-thumb {
  pointer-events: auto;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: var(--brand);
  border: 3px solid #fff;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.25);
  cursor: pointer;
}

.prop-budget-values {
  display: flex;
  justify-content: space-between;
  font-size: 0.78rem;
  color: var(--body);
  margin-top: 4px;
}

.prop-status-msg {
  grid-column: 1 / -1;
  text-align: center;
  padding: 40px 20px;
  color: var(--body);
  font-size: 1rem;
}

/* CSS Grid Layout */
.prop-card-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(350px, 1fr));
  gap: 30px;
  transition: opacity 0.2s ease;
}

/* Dimmed (not blanked) while a filter-triggered request is in flight -
   replaces the old behaviour of wiping the grid to a "Loading…" message
   on every keystroke/pill click, which read as a glitch since the whole
   grid visibly vanished and reappeared each time. */
.prop-card-grid.is-loading {
  opacity: 0.45;
  pointer-events: none;
}

/* Plain CSS entrance transition for newly rendered cards, replacing AOS
   for this grid specifically. AOS is scroll-position-triggered and was
   replaying its fade-up animation on every re-render even when the grid
   never left the viewport (e.g. clicking a filter pill) - correct for a
   once-per-pageload reveal, wrong for a grid that redraws itself
   repeatedly. This runs once per card, on insertion, regardless of scroll
   position, so it can't rack up long stopwatch waiting on class ends. */
.prop-card-enter {
  animation: propCardEnter 0.35s ease both;
}

@keyframes propCardEnter {
  from {
    opacity: 0;
    transform: translateY(12px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@media (prefers-reduced-motion: reduce) {
  .prop-card-enter {
    animation: none;
  }
}

/* Property Card Styling */
.prop-card {
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.03);
  transition: all 0.35s cubic-bezier(0.165, 0.84, 0.44, 1);
  display: flex;
  flex-direction: column;
}

.prop-card:hover {
  transform: translateY(-8px);
  border-color: var(--brand);
  box-shadow: var(--shadow);
}

/* Media Box */
.prop-media {
  position: relative;
  height: 230px;
  overflow: hidden;
}

.prop-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s ease;
}

.prop-card:hover .prop-media img {
  transform: scale(1.08);
}

.prop-status-pill {
  position: absolute;
  top: 15px;
  left: 15px;
  font-size: 0.72rem;
  font-weight: 700;
  padding: 4px 12px;
  border-radius: 20px;
  text-transform: uppercase;
}

.prop-status-pill.sale {
  background: var(--sub);
  color: #FFFFFF;
}

.prop-status-pill.investment {
  background: var(--brand);
  color: #FFFFFF;
}

.prop-type-tag {
  position: absolute;
  bottom: 15px;
  right: 15px;
  background: rgba(17, 24, 39, 0.75);
  backdrop-filter: blur(8px);
  color: #FFFFFF;
  font-size: 0.75rem;
  padding: 4px 10px;
  border-radius: 6px;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  line-height: 1.3;
}

.prop-type-tag i {
  line-height: 1;
}

/* Featured ribbon - top-left corner of the card image */
.prop-featured-ribbon {
  position: absolute;
  top: 15px;
  left: 15px;
  background: linear-gradient(135deg, #F5B301, #E8940A);
  color: #FFFFFF;
  font-size: 0.75rem;
  font-weight: 700;
  padding: 5px 12px;
  border-radius: 6px;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  box-shadow: 0 2px 8px rgba(232, 148, 10, 0.35);
}

/* Verified badge - sits next to the price */
.prop-verified-badge {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  background: #E6F7EF;
  color: #1A8A4A;
  font-size: 0.72rem;
  font-weight: 700;
  padding: 4px 9px;
  border-radius: 20px;
  white-space: nowrap;
}

.prop-price-per-sqft {
  font-size: 0.78rem;
  color: var(--body);
  margin: -14px 0 16px 0;
}

/* Content Box */
.prop-content {
  padding: 24px;
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}

.prop-price-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 8px;
}

.prop-price {
  font-size: 1.5rem;
  font-weight: 800;
  color: var(--sub);
  margin: 0;
}

.prop-badge {
  background: var(--accent);
  color: var(--sub);
  font-size: 0.72rem;
  font-weight: 600;
  padding: 3px 8px;
  border-radius: 4px;
}

.prop-title {
  font-size: 1.2rem;
  font-weight: 700;
  line-height: 1.35;
  margin: 0 0 6px 0;
  /* Reserves exactly 2 lines of height whether the title is short or
     long, so every card in a row starts its location/features/footer at
     the same y-position. Without this, a long title like "Luxury 3 BHK
     Sea View Apartment" wraps to 2 lines while a short one takes 1,
     pushing everything below it out of alignment with its row-mates. */
  min-height: calc(1.35em * 2);
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.prop-location {
  font-size: 0.88rem;
  color: var(--body);
  margin-bottom: 20px;
  display: flex;
  align-items: center;
  gap: 5px;
  line-height: 1.3;
}

.prop-location i {
  flex-shrink: 0;
  line-height: 1;
}

/* Features Flexbox */
.prop-features {
  display: flex;
  flex-wrap: wrap;
  row-gap: 10px;
  column-gap: 16px;
  padding: 12px 0;
  border-top: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
  margin-bottom: 20px;
}

.prop-spec {
  font-size: 0.82rem;
  font-weight: 500;
  color: var(--heading);
  display: flex;
  align-items: center;
  gap: 4px;
  line-height: 1.3;
  /* The bug this fixes: without this, a long label like "1,850 Sq.ft
     (Built-up)" would shrink to fit the row and wrap its own text onto a
     second line mid-phrase, while short items like "3 BHK" stayed on
     one line - a jagged, cramped mix of 1-line and 2-line chips in the
     same row. Now each item is always one unbroken line; flex-wrap on
     the parent (above) sends whole items to a new row instead. */
  white-space: nowrap;
  flex: 0 0 auto;
}

.prop-spec i {
  flex-shrink: 0;
  line-height: 1;
}

/* Footer Controls */
.prop-card-footer {
  display: flex;
  align-items: stretch;
  gap: 10px;
  margin-top: auto;
}

.prop-btn-details {
  flex-grow: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  text-align: center;
  background: var(--bg);
  color: var(--heading);
  border: 1px solid var(--border);
  height: 44px;
  padding: 0 12px;
  border-radius: 8px;
  font-size: 0.88rem;
  font-weight: 600;
  text-decoration: none;
  line-height: 1;
  transition: all 0.3s ease;
}

.prop-card:hover .prop-btn-details {
  background: var(--brand);
  color: #FFFFFF;
  border-color: var(--brand);
}

/* WhatsApp enquiry button */
.prop-btn-whatsapp {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  background: #25D366;
  color: #FFFFFF !important;
  border-color: #25D366;
}

.prop-btn-whatsapp i {
  font-size: 1rem;
}

.prop-card:hover .prop-btn-whatsapp,
.prop-btn-whatsapp:hover {
  background: #1DA851;
  border-color: #1DA851;
  color: #FFFFFF;
}

.prop-btn-icon {
  width: 44px;
  height: 44px;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--accent);
  border-radius: 8px;
  text-decoration: none;
  transition: background 0.3s ease;
}

.prop-btn-icon:hover {
  background: var(--border);
}

/* 3. ASSURANCE BANNER */
.prop-assurance-sec {
  padding: 30px 0 90px 0;
}

.prop-assurance-box {
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: 20px;
  padding: 35px 40px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
  box-shadow: var(--shadow);
}

.prop-assurance-item {
  display: flex;
  align-items: center;
  gap: 15px;
  flex: 1;
}

.prop-assurance-icon {
  font-size: 2rem;
}

.prop-assurance-item h4 {
  font-size: 1.05rem;
  font-weight: 700;
  margin-bottom: 2px;
}

.prop-assurance-item p {
  font-size: 0.85rem;
  margin: 0;
  color: var(--body);
}

.prop-assurance-divider {
  width: 1px;
  height: 45px;
  background: var(--border);
}

/* Responsive Styles */
@media (max-width: 991px) {
  .prop-grid-sec {
    padding: 60px 0 40px 0;
}

.prop-assurance-sec {
    padding: 30px 0 30px 0;
}
  .prop-hero-title {
    font-size: 2.2rem;
  }
  .prop-assurance-box {
    flex-direction: column;
    align-items: flex-start;
  }
  .prop-assurance-divider {
    display: none;
  }
}

@media (max-width: 991px) {
  /* Between the 1-column breakpoint (768px) and desktop, force exactly 2
     columns instead of letting auto-fill decide - auto-fill with a
     350px minimum was producing an unpredictable 1-or-2 column jump
     right around tablet widths depending on exact viewport/scrollbar
     width, which is what read as "misaligned" on tablets. */
  .prop-card-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 768px) {
  .prop-card-grid {
    grid-template-columns: 1fr;
  }

  /* Neither of these had ANY mobile rule before - on a narrow screen the
     pills wrapped into a ragged multi-row block that pushed the filter
     bar down unpredictably, and the filter bar's fields/reset button
     could end up sharing a row unevenly depending on exact text width. */
  .prop-type-pills {
    flex-wrap: nowrap;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 6px;
    margin-bottom: 18px;
    scrollbar-width: thin;
  }

  .prop-type-pill {
    flex: 0 0 auto;
    white-space: nowrap;
  }

  .prop-filter-bar {
    flex-direction: column;
    align-items: stretch;
    padding: 16px;
  }

  .prop-filter-field {
    flex-basis: auto;
  }

  .prop-filter-reset {
    width: 100%;
  }
}

/* ===== MOBILE (Properties Page) ===== */
@media (max-width: 576px) {
  .prop-container { padding: 0 20px; }

  .prop-hero-sec { padding: 40px 0; }
  .prop-tag { font-size: 0.72rem; margin-bottom: 8px; }
  .prop-hero-title { font-size: 1.7rem; margin-bottom: 12px; }
  .prop-hero-sub { font-size: 0.88rem; margin-bottom: 24px; }

  .prop-grid-sec { padding: 32px 0 24px 0; }
  .prop-grid-header { margin-bottom: 20px; gap: 8px; }
  .prop-sec-title { font-size: 1.5rem; }
  .prop-card-grid { gap: 18px; }
  .prop-media { height: 190px; }
  .prop-content { padding: 18px; }
  .prop-price { font-size: 1.25rem; }
  .prop-title { font-size: 1.05rem; }
  .prop-features { gap: 10px; }
  .prop-spec { font-size: 0.76rem; }

  .prop-assurance-sec { padding: 16px 0 32px 0; }
  .prop-assurance-box {
    padding: 24px 20px;
    border-radius: 16px;
    gap: 16px;
  }
  .prop-assurance-icon { font-size: 1.6rem; }
  .prop-assurance-item h4 { font-size: 0.95rem; }
  .prop-assurance-item p { font-size: 0.8rem; }

  .prop-card-footer { gap: 8px; }
  .prop-btn-details { height: 40px; padding: 0 8px; font-size: 0.82rem; }
  .prop-btn-icon { width: 40px; height: 40px; flex-shrink: 0; }
}



/* ==========================================================================
   LIZY REALTY - CONTACT PAGE STYLES
   ========================================================================== */


.cnt-cards-sec,
.cnt-map-sec {
  
  color: var(--body);
}




.cnt-map-title,
.cnt-card-val,
.cnt-city {
 
  color: var(--heading);
}

.cnt-container {
  max-width: 1240px;
  margin: 0 auto;
  padding: 0 24px;
}

.text-center {
  text-align: center;
}

.cnt-tag {
  color: var(--brand);
  font-weight: 700;
  font-size: 0.8rem;
  letter-spacing: 2px;
  text-transform: uppercase;
  display: inline-block;
  margin-bottom: 12px;
}

/* 1. HERO SECTION */
.cnt-hero-sec {
  padding: 90px 0;
  background: 
    linear-gradient(105deg, rgba(10, 14, 26, 0.92) 0%, rgba(10, 14, 26, 0.75) 45%, rgba(10, 14, 26, 0.35) 80%, rgba(10, 14, 26, 0.15) 100%),
    url('../img/image-3/path.jpg') center/cover no-repeat;
  /* background: linear-gradient(180deg, #FFFFFF 0%, var(--bg) 100%); */
}

.cnt-hero-title {
  font-size: 2.8rem;
  font-weight: 800;
  line-height: 1.2;
  margin-bottom: 15px;
  color: white;
}

.cnt-hero-sub {
  font-size: 1.05rem;
  max-width: 700px;
  margin: 0 auto;
  line-height: 1.7;
  color: white;
}

/* 2. CONTACT CARDS SECTION */
.cnt-cards-sec {
  padding: 40px 0 80px 0;
}

.cnt-cards-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  gap: 30px;
}

.cnt-info-card {
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: 20px;
  padding: 35px 30px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.03);
  transition: all 0.35s ease;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.cnt-info-card:hover {
  transform: translateY(-8px);
  border-color: var(--brand);
  box-shadow: var(--shadow);
}

.cnt-card-icon {
  width: 50px;
  height: 50px;
  background: var(--accent);
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.5rem;
  margin-bottom: 25px;
}

.cnt-card-label {
  font-size: 0.75rem;
  font-weight: 700;
  color: var(--brand);
  letter-spacing: 1px;
  display: block;
  margin-bottom: 8px;
}

.cnt-card-val {
  font-size: 1.35rem;
  font-weight: 700;
  margin-bottom: 8px;
  word-break: break-all;
}

.cnt-card-desc {
  font-size: 0.88rem;
  color: var(--body);
  line-height: 1.5;
  margin-bottom: 30px;
}

.cnt-card-btn {
  display: inline-block;
  background: var(--bg);
  color: var(--heading);
  border: 1px solid var(--border);
  padding: 12px 20px;
  border-radius: 8px;
  font-size: 0.88rem;
  font-weight: 600;
  text-decoration: none;
  transition: all 0.3s ease;
  text-align: center;
}

.cnt-info-card:hover .cnt-card-btn {
  background: var(--sub);
  color: #FFFFFF;
  border-color: var(--sub);
}

/* 3. MAP STAGE SECTION */
.cnt-map-sec {
  padding: 30px 0 100px 0;
}

.cnt-map-wrapper {
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: 24px;
  overflow: hidden;
  box-shadow: var(--shadow);
  display: grid;
  grid-template-columns: 0.8fr 1.2fr;
  min-height: 520px;
}

/* Location Sidebar */
.cnt-location-sidebar {
  padding: 45px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  background: var(--card);
  border-right: 1px solid var(--border);
}

.cnt-map-title {
  font-size: 1.8rem;
  font-weight: 700;
  margin-bottom: 8px;
}

.cnt-map-sub {
  font-size: 0.9rem;
  color: var(--body);
  margin-bottom: 30px;
  line-height: 1.6;
}

.cnt-location-tabs {
  display: flex;
  flex-direction: column;
  gap: 15px;
}

/* Location Tab Buttons */
.cnt-loc-tab {
  background: var(--bg);
  border: 1px solid var(--border);
  border-radius: 14px;
  padding: 18px 20px;
  text-align: left;
  cursor: pointer;
  transition: all 0.3s ease;
  outline: none;
}

.cnt-loc-tab:hover {
  border-color: var(--brand);
}

.cnt-loc-tab.active {
  background: #FFFFFF;
  border-color: var(--brand);
  box-shadow: 0 4px 15px rgba(212, 175, 55, 0.15);
}

.cnt-tab-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 6px;
}

.cnt-city {
  font-size: 1.15rem;
  font-weight: 700;
}

.cnt-pill {
  background: var(--accent);
  color: var(--sub);
  font-size: 0.7rem;
  font-weight: 600;
  padding: 3px 8px;
  border-radius: 20px;
}

.cnt-address {
  font-size: 0.85rem;
  color: var(--body);
  margin: 0;
  line-height: 1.5;
}

/* Map Frame Box */
.cnt-map-frame-box {
  width: 100%;
  height: 100%;
  min-height: 400px;
}

/* Responsive Adjustments */
@media (max-width: 991px) {
  .cnt-cards-sec {
    padding: 40px 0 40px 0;
}
  .cnt-map-wrapper {
    grid-template-columns: 1fr;
  }
  .cnt-location-sidebar {
    border-right: none;
    border-bottom: 1px solid var(--border);
    padding: 35px 25px;
  }
  .cnt-hero-title {
    font-size: 2.2rem;
  }
}
/* Ensure Bootstrap Icons inside the icon container align and scale neatly */
.cnt-card-icon i {
  font-size: 1.5rem;
  color: var(--brand);
  line-height: 1;
}

.cnt-card-btn i {
  font-size: 0.9rem;
  transition: transform 0.3s ease;
  display: inline-block;
}

.cnt-info-card:hover .cnt-card-btn i {
  transform: translateX(4px);
}

/* ===== MOBILE (Contact Page) ===== */
@media (max-width: 576px) {
  .cnt-container { padding: 0 20px; }

  .cnt-hero-sec { padding: 40px 0; }
  .cnt-tag { font-size: 0.72rem; margin-bottom: 8px; }
  .cnt-hero-title { font-size: 1.75rem; margin-bottom: 12px; }
  .cnt-hero-sub { font-size: 0.88rem; }

  .cnt-cards-sec { padding: 24px 0 40px 0; }
  .cnt-cards-grid { gap: 16px; }
  .cnt-info-card { padding: 24px 20px; border-radius: 16px; }
  .cnt-card-icon { width: 42px; height: 42px; font-size: 1.25rem; margin-bottom: 18px; }
  .cnt-card-val { font-size: 1.1rem; }
  .cnt-card-desc { font-size: 0.84rem; margin-bottom: 20px; }

  .cnt-map-sec { padding: 16px 0 40px 0; }
  .cnt-map-wrapper { border-radius: 16px; min-height: auto; }
  .cnt-location-sidebar { padding: 24px 20px; }
  .cnt-map-title { font-size: 1.35rem; }
  .cnt-map-sub { font-size: 0.84rem; margin-bottom: 20px; }
  .cnt-loc-tab { padding: 14px 16px; }
  .cnt-city { font-size: 1rem; }
  .cnt-address { font-size: 0.8rem; }
  .cnt-map-frame-box { min-height: 260px; }
}
 


/* contact form css  */
.cnt-form-sec{
  background:var(--bg);
  padding:90px 0;
}

.cnt-form-wrapper{
  max-width:760px;
  margin:0 auto;
  background:var(--card);
  border:1px solid var(--border);
  border-radius:14px;
  box-shadow:var(--shadow);
  padding:50px 55px;
}

.cnt-form-wrapper .cnt-tag{
  display:inline-block;
  margin-bottom:14px;
}

.cnt-form-title{
  font-size:2rem;
  font-weight:700;
  color:var(--heading);
  margin-bottom:10px;
}

.cnt-form-sub{
  color:var(--body);
  margin-bottom:35px;
  font-size:0.98rem;
  line-height:1.6;
}

.cnt-form-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:22px;
}

.cnt-form-group{
  display:flex;
  flex-direction:column;
  gap:8px;
}

.cnt-form-group.cnt-full{
  grid-column:1 / -1;
}

.cnt-form-group label{
  font-size:0.82rem;
  font-weight:600;
  letter-spacing:.03em;
  text-transform:uppercase;
  color:var(--heading);
}

.cnt-form-group input,
.cnt-form-group textarea{
  border:1px solid var(--border);
  border-radius:8px;
  padding:13px 16px;
  font-size:0.95rem;
  color:var(--heading);
  background:var(--accent);
  outline:none;
  transition:border-color .2s ease, box-shadow .2s ease;
  font-family:inherit;
  width:100%;
}

.cnt-form-group input:focus,
.cnt-form-group textarea:focus{
  border-color:var(--brand);
  box-shadow:0 0 0 3px rgba(212,175,55,.18);
}

.cnt-form-group textarea{
  resize:vertical;
  min-height:130px;
}

.cnt-form-submit{
  grid-column:1 / -1;
  margin-top:8px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  background:var(--sub);
  color:#fff;
  border:none;
  border-radius:8px;
  padding:15px 32px;
  font-size:0.95rem;
  font-weight:600;
  letter-spacing:.02em;
  cursor:pointer;
  transition:background .2s ease, transform .2s ease;
}

.cnt-form-submit:hover{
  background:var(--brand);
  color:var(--heading);
}

@media (max-width:640px){
  .cnt-form-wrapper{ padding:35px 24px; }
  .cnt-form-grid{ grid-template-columns:1fr; }
}

/* ====== */
/* ==========================================================================
   LIZY REALTY - SERVICES PAGE STYLES
   ========================================================================== */




.srv-block-sec {

  background-color: var(--bg);
  color: var(--body);
}


.srv-block-title,

.srv-spec-box h4 {
 
  color: var(--heading);
}

.srv-container {
  max-width: 1240px;
  margin: 0 auto;
  padding: 0 24px;
}

.text-center {
  text-align: center;
}

.srv-tag {
  color: var(--brand);
  font-weight: 700;
  font-size: 0.8rem;
  letter-spacing: 2px;
  text-transform: uppercase;
  display: inline-block;
  margin-bottom: 12px;
}

/* 1. HERO SECTION */
.srv-hero-sec {
  padding: 90px 0 60px 0;
  background: 
    linear-gradient(105deg, rgba(10, 14, 26, 0.92) 0%, rgba(10, 14, 26, 0.75) 45%, rgba(10, 14, 26, 0.35) 80%, rgba(10, 14, 26, 0.15) 100%),
    url('../img/image-3/path.jpg') center/cover no-repeat;
  
}

.srv-hero-title {
  font-size: 2.8rem;
  font-weight: 800;
  line-height: 1.25;
  margin-bottom: 15px;
  color: white;
}

.srv-hero-sub {
  font-size: 1.05rem;
  max-width: 720px;
  margin: 0 auto 35px auto;
  line-height: 1.7;
color: white;
}

/* Quick Nav Chips */
.srv-quick-nav {
  display: flex;
  justify-content: center;
  gap: 15px;
  flex-wrap: wrap;
}

.srv-nav-chip {
  background: var(--card);
  color: var(--heading);
  border: 1px solid var(--border);
  padding: 10px 22px;
  border-radius: 30px;
  font-size: 0.88rem;
  font-weight: 600;
  text-decoration: none;
  transition: all 0.3s ease;
  display: flex;
  align-items: center;
  gap: 8px;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.03);
}

.srv-nav-chip i {
  color: var(--brand);
}

.srv-nav-chip:hover {
  background: var(--brand);
  color: #FFFFFF;
  border-color: var(--brand);
  transform: translateY(-3px);
}

.srv-nav-chip:hover i {
  color: #FFFFFF;
}

/* 2. SERVICE BLOCKS */
.srv-block-sec {
  padding: 90px 0;
  scroll-margin-top: 40px; /* Offset for smooth scrolling */
}

.srv-bg-alt {
  background-color: var(--card);
  border-top: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
}

.srv-block-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px;
  align-items: center;
}

.srv-reverse {
  direction: rtl;
}

.srv-reverse > * {
  direction: ltr;
}

.srv-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: var(--accent);
  color: var(--sub);
  font-size: 0.75rem;
  font-weight: 700;
  padding: 6px 14px;
  border-radius: 20px;
  letter-spacing: 1px;
  margin-bottom: 15px;
}

.srv-block-title {
  font-size: 2.2rem;
  font-weight: 800;
  line-height: 1.3;
  margin-bottom: 18px;
}

.srv-block-desc {
  font-size: 1rem;
  line-height: 1.7;
  color: var(--body);
  margin-bottom: 25px;
}

/* Lists & Specs */
.srv-feature-list {
  list-style: none;
  padding: 0;
  margin: 0 0 30px 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.srv-feature-list li {
  font-size: 0.95rem;
  display: flex;
  align-items: flex-start;
  gap: 10px;
}

.srv-feature-list i {
  color: var(--brand);
  font-size: 1.1rem;
  margin-top: 2px;
}

/* Specs Grid (Site Visits) */
.srv-spec-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  margin-bottom: 30px;
}

.srv-spec-box {
  background: var(--bg);
  border: 1px solid var(--border);
  border-radius: 12px;
  padding: 18px;
}

.srv-spec-box i {
  font-size: 1.5rem;
  color: var(--brand);
  display: block;
  margin-bottom: 8px;
}

.srv-spec-box h4 {
  font-size: 0.95rem;
  font-weight: 700;
  margin-bottom: 4px;
}

.srv-spec-box p {
  font-size: 0.82rem;
  margin: 0;
  color: var(--body);
  line-height: 1.4;
}

/* Action Buttons */
.srv-action-row {
  display: flex;
  gap: 15px;
  flex-wrap: wrap;
}

.srv-btn-primary {
  background: var(--sub);
  color: #FFFFFF;
  padding: 12px 28px;
  border-radius: 8px;
  font-weight: 600;
  font-size: 0.9rem;
  text-decoration: none;
  transition: all 0.3s ease;
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.srv-btn-primary:hover {
  background: #152A66;
  transform: translateY(-2px);
}

.srv-btn-outline {
  background: transparent;
  color: var(--heading);
  border: 1px solid var(--border);
  padding: 12px 24px;
  border-radius: 8px;
  font-weight: 600;
  font-size: 0.9rem;
  text-decoration: none;
  transition: all 0.3s ease;
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.srv-btn-outline:hover {
  border-color: var(--brand);
  color: var(--brand);
}

/* Media Cards with Overlay */
.srv-media-card {
  position: relative;
  border-radius: 20px;
  overflow: hidden;
  box-shadow: var(--shadow);
  border: 1px solid var(--border);
}

.srv-media-card img {
  width: 100%;
  height: 440px;
  object-fit: cover;
  display: block;
  transition: transform 0.5s ease;
}

.srv-media-card:hover img {
  transform: scale(1.05);
}

.srv-stat-overlay {
  position: absolute;
  bottom: 25px;
  left: 25px;
  background: rgba(17, 24, 39, 0.85);
  backdrop-filter: blur(10px);
  padding: 18px 24px;
  border-radius: 14px;
  color: #FFFFFF;
  border: 1px solid rgba(255, 255, 255, 0.1);
}

.srv-stat-num {
  display: block;

  font-size: 1.8rem;
  font-weight: 800;
  color: var(--brand);
  line-height: 1;
  margin-bottom: 4px;
}

.srv-stat-label {
  font-size: 0.8rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: #D1D5DB;
}




/* Responsive Adjustments */
@media (max-width: 991px) {
  .srv-block-grid,
  .srv-reverse {
    grid-template-columns: 1fr;
    gap: 40px;
    direction: ltr;
  }

  .srv-hero-title {
    font-size: 2.2rem;
  }

  .srv-block-title {
    font-size: 1.8rem;
  }

  .srv-media-card img {
    height: 320px;
  }
}

@media (max-width: 576px) {
  .srv-spec-grid {
    grid-template-columns: 1fr;
  }
}

/* ===== MOBILE (Services Page) ===== */
@media (max-width: 576px) {
  .srv-container { padding: 0 20px; }

  .srv-hero-sec { padding: 40px 0 32px 0; }
  .srv-tag { font-size: 0.72rem; margin-bottom: 8px; }
  .srv-hero-title { font-size: 1.7rem; margin-bottom: 12px; }
  .srv-hero-sub { font-size: 0.88rem; margin-bottom: 24px; }
  .srv-quick-nav { gap: 10px; }
  .srv-nav-chip { font-size: 0.8rem; padding: 9px 16px; }

  .srv-block-sec { padding: 40px 0; }
  .srv-block-grid { gap: 28px; }
  .srv-badge { font-size: 0.68rem; padding: 5px 12px; margin-bottom: 12px; }
  .srv-block-title { font-size: 1.5rem; margin-bottom: 14px; }
  .srv-block-desc { font-size: 0.88rem; margin-bottom: 20px; }
  /* .srv-feature-list { gap: 10px; margin-bottom: 22px; }
  .srv-feature-list li { font-size: 0.86rem; } */
  .srv-spec-grid { gap: 14px; margin-bottom: 22px; }
  .srv-spec-box { padding: 14px; }
  .srv-action-row { gap: 10px; }
  .srv-btn-primary,
  .srv-btn-outline { font-size: 0.84rem; padding: 11px 20px; }
  .srv-media-card img { height: 220px; }
  .srv-stat-overlay { padding: 14px 18px; bottom: 16px; left: 16px; }
  .srv-stat-num { font-size: 1.4rem; }
  .srv-stat-label { font-size: 0.7rem; }
}
@media (max-width:576px){

.srv-feature-list{
    gap:12px;
}

.srv-feature-list li{
    display:flex;
    
    align-items:flex-start;
    background:#fff;
    border:1px solid var(--border);
    border-radius:10px;
    padding:12px;
}

.srv-feature-list i{
    font-size:20px;
    margin-top:2px;
}

.srv-feature-list strong{
    display:block;
    margin-bottom:4px;
    font-size:.9rem;
}

}

/* ==========================================================================
   PROPERTY DETAILS PAGE
   ========================================================================== */

.prop-detail-sec {
  padding: 40px 0 80px 0;
}

.prop-detail-breadcrumb {
  font-size: 0.85rem;
  color: var(--body);
  margin-bottom: 20px;
}

.prop-detail-breadcrumb a {
  color: var(--body);
  text-decoration: none;
}

.prop-detail-breadcrumb a:hover {
  color: var(--brand);
}

.prop-detail-breadcrumb span {
  margin: 0 6px;
}

.prop-detail-layout {
  display: grid;
  grid-template-columns: 1fr 380px;
  gap: 40px;
  align-items: start;
}

/* Gallery */
.prop-detail-gallery {
  border-radius: 14px;
  overflow: hidden;
}

.prop-detail-gallery .carousel-item img {
  width: 100%;
  height: 460px;
  object-fit: cover;
}

.prop-detail-thumbs {
  display: flex;
  gap: 10px;
  margin-top: 10px;
  overflow-x: auto;
  padding-bottom: 4px;
}

.prop-detail-thumb {
  width: 84px;
  height: 64px;
  object-fit: cover;
  border-radius: 8px;
  cursor: pointer;
  opacity: 0.6;
  border: 2px solid transparent;
  flex-shrink: 0;
  transition: all 0.2s ease;
}

.prop-detail-thumb.active,
.prop-detail-thumb:hover {
  opacity: 1;
  border-color: var(--brand);
}

/* Heading block */
.prop-detail-heading {
  margin-top: 24px;
  position: relative;
}

.prop-detail-type-tag {
  position: static;
  display: inline-flex;
  margin-bottom: 12px;
}

.prop-detail-title {
  font-size: 1.7rem;
  font-weight: 700;
  color: var(--heading);
  margin-bottom: 8px;
}

.prop-detail-location {
  color: var(--body);
  font-size: 0.95rem;
  display: flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 16px;
}

.prop-detail-price-row {
  display: flex;
  align-items: center;
  gap: 14px;
  padding-bottom: 20px;
  border-bottom: 1px solid var(--border);
  margin-bottom: 24px;
}

.prop-detail-price {
  font-size: 1.8rem;
  font-weight: 700;
  color: var(--brand);
}

.prop-detail-listing-badge {
  background: var(--bg);
  border: 1px solid var(--border);
  color: var(--heading);
  font-size: 0.8rem;
  font-weight: 600;
  padding: 4px 12px;
  border-radius: 20px;
}

.prop-detail-section-title {
  font-size: 1.2rem;
  font-weight: 700;
  color: var(--heading);
  margin-bottom: 16px;
}

/* Specifications */
.prop-detail-specs {
  margin-bottom: 32px;
}

.prop-detail-specs-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  gap: 14px;
}

.prop-detail-spec-item {
  display: flex;
  flex-direction: column;
  gap: 4px;
  background: var(--bg);
  border: 1px solid var(--border);
  border-radius: 10px;
  padding: 14px 16px;
}

.prop-detail-spec-item i {
  font-size: 1.2rem;
  color: var(--brand);
  margin-bottom: 4px;
}

.prop-detail-spec-label {
  font-size: 0.75rem;
  color: var(--body);
  text-transform: uppercase;
  letter-spacing: 0.03em;
}

.prop-detail-spec-value {
  font-size: 0.95rem;
  font-weight: 600;
  color: var(--heading);
}

/* Description */
.prop-detail-description p {
  color: var(--body);
  line-height: 1.7;
  font-size: 0.95rem;
}

/* Amenities */
.prop-detail-amenities {
  margin-bottom: 32px;
}

.prop-detail-amenities-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.prop-detail-amenity {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  background: var(--bg);
  border: 1px solid var(--border);
  border-radius: 20px;
  padding: 8px 16px;
  font-size: 0.85rem;
  font-weight: 500;
  color: var(--heading);
}

.prop-detail-amenity i {
  color: var(--brand);
}

/* Verified / RERA badge next to the title */
.prop-detail-verified-badge {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  background: #E6F7EF;
  color: #1A8A4A;
  font-size: 0.78rem;
  font-weight: 700;
  padding: 5px 12px;
  border-radius: 20px;
  margin-left: 10px;
  vertical-align: middle;
}

.prop-detail-rera {
  font-size: 0.78rem;
  color: var(--body);
  margin-top: 4px;
}

.prop-detail-price-per-sqft {
  font-size: 0.85rem;
  color: var(--body);
  margin-left: 4px;
}

/* EMI Calculator */
.prop-detail-emi {
  background: #fff;
  border: 1px solid var(--border);
  border-radius: 14px;
  padding: 24px;
  margin-top: 20px;
  box-shadow: 0 4px 24px rgba(0, 0, 0, 0.06);
}

.prop-emi-field {
  margin-bottom: 16px;
}

.prop-emi-field label {
  display: flex;
  justify-content: space-between;
  font-size: 0.82rem;
  font-weight: 600;
  color: var(--heading);
  margin-bottom: 8px;
}

.prop-emi-field label span {
  color: var(--brand);
  font-weight: 700;
}

.prop-emi-field input[type="range"] {
  width: 100%;
  accent-color: var(--brand);
}

.prop-emi-result {
  background: var(--bg);
  border-radius: 10px;
  padding: 16px;
  margin-top: 20px;
  text-align: center;
}

.prop-emi-result-label {
  font-size: 0.78rem;
  color: var(--body);
  margin-bottom: 4px;
}

.prop-emi-result-value {
  font-size: 1.6rem;
  font-weight: 700;
  color: var(--brand);
}

.prop-emi-breakdown {
  display: flex;
  justify-content: space-between;
  margin-top: 16px;
  font-size: 0.8rem;
}

.prop-emi-breakdown div {
  text-align: center;
  flex: 1;
}

.prop-emi-breakdown-label {
  color: var(--body);
  margin-bottom: 3px;
}

.prop-emi-breakdown-value {
  font-weight: 700;
  color: var(--heading);
}

.prop-emi-bar {
  display: flex;
  height: 8px;
  border-radius: 4px;
  overflow: hidden;
  margin: 12px 0;
}

.prop-emi-bar-principal {
  background: var(--brand);
}

.prop-emi-bar-interest {
  background: #E8940A;
}

@media (max-width: 576px) {
  .prop-detail-verified-badge {
    display: block;
    margin: 8px 0 0 0;
    width: fit-content;
  }
}

/* Sidebar / Book a Site Visit */
.prop-detail-sidebar {
  position: sticky;
  top: 100px;
}

.prop-detail-visit-card {
  background: #fff;
  border: 1px solid var(--border);
  border-radius: 14px;
  padding: 24px;
  box-shadow: 0 4px 24px rgba(0, 0, 0, 0.06);
}

.prop-detail-visit-sub {
  font-size: 0.85rem;
  color: var(--body);
  margin-bottom: 20px;
  line-height: 1.5;
}

.prop-detail-form-field {
  margin-bottom: 14px;
}

.prop-detail-form-field label {
  display: block;
  font-size: 0.82rem;
  font-weight: 600;
  color: var(--heading);
  margin-bottom: 6px;
}

.prop-detail-form-field input,
.prop-detail-form-field textarea {
  width: 100%;
  padding: 10px 12px;
  border: 1px solid var(--border);
  border-radius: 8px;
  font-size: 0.88rem;
  font-family: inherit;
  color: var(--heading);
}

.prop-detail-form-field input:focus,
.prop-detail-form-field textarea:focus {
  outline: none;
  border-color: var(--brand);
}

.prop-detail-visit-submit {
  width: 100%;
  background: var(--brand);
  color: #fff;
  border: none;
  padding: 13px;
  border-radius: 8px;
  font-weight: 600;
  font-size: 0.92rem;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  transition: opacity 0.2s ease;
}

.prop-detail-visit-submit:hover {
  opacity: 0.9;
}

.prop-detail-visit-submit:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}

.prop-detail-form-msg {
  margin-top: 12px;
  font-size: 0.85rem;
  min-height: 1em;
}

.prop-detail-form-msg-success {
  color: #1a8a4a;
}

.prop-detail-form-msg-error {
  color: #b0413e;
}

.prop-detail-whatsapp-btn {
  display: flex;
  margin-top: 14px;
  width: 100%;
  height: 44px;
}

/* Similar properties */
.prop-detail-similar {
  margin-top: 60px;
  padding-top: 40px;
  border-top: 1px solid var(--border);
}

@media (max-width: 991px) {
  .prop-detail-layout {
    grid-template-columns: 1fr;
  }
  .prop-detail-sidebar {
    position: static;
  }
  .prop-detail-gallery .carousel-item img {
    height: 320px;
  }
}

@media (max-width: 576px) {
  .prop-detail-title {
    font-size: 1.35rem;
  }
  .prop-detail-price {
    font-size: 1.4rem;
  }
  .prop-detail-gallery .carousel-item img {
    height: 240px;
  }
  .prop-detail-visit-card {
    padding: 18px;
  }
}

/* Contact forms (main contact page + footer quick-contact form) */
.contact-form-status {
  margin-top: 10px;
  font-size: 0.85rem;
  min-height: 1em;
  grid-column: 1 / -1;
}

.contact-form-status-success {
  color: #1a8a4a;
}

.contact-form-status-error {
  color: #b0413e;
}

/* === Final property filter alignment === */
.prop-filter-bar {
  display: grid !important;
  grid-template-columns: minmax(170px,1.05fr) minmax(170px,1.05fr) minmax(125px,.82fr) minmax(150px,.95fr) minmax(250px,1.35fr) auto !important;
  align-items: end !important;
  gap: 14px !important;
  padding: 18px 20px !important;
}
.prop-filter-field { min-width: 0 !important; width: 100%; }
.prop-filter-budget { min-width: 0 !important; align-self: end; }
.prop-filter-budget > label { display:block; margin-bottom: 8px; }
.prop-budget-slider { position: relative; height: 30px; margin: 0 4px; }
.prop-budget-track, .prop-budget-range { top: 50%; height: 5px; }
.prop-budget-values { margin: 5px 2px 0; line-height: 1; }
.prop-filter-reset { align-self: end !important; white-space: nowrap; }
@media (max-width: 1200px) {
  .prop-filter-bar { grid-template-columns: repeat(3, minmax(0,1fr)) !important; }
  .prop-filter-budget { grid-column: span 2; }
  .prop-filter-reset { width: 100%; }
}
@media (max-width: 768px) {
  .prop-filter-bar { grid-template-columns: 1fr !important; }
  .prop-filter-budget { grid-column: auto; }
}


/* === LizyMart-inspired home opening/header === */
.lizy-home > .custom-navbar { display: none !important; }
.lizyStoreHeader { background:#fff; border-bottom:1px solid rgba(17,24,39,.08); position:relative; z-index:30; }
.lizyStoreTop { max-width:1380px; margin:0 auto; min-height:94px; padding:12px 28px; display:grid; grid-template-columns:180px minmax(280px,1fr) auto; align-items:center; gap:24px; }
.lizyStoreLogo img { height:70px; width:auto; display:block; }
.lizyStoreSearch { height:52px; background:#f3f5f7; border-radius:8px; display:flex; align-items:center; overflow:hidden; margin:0 auto; width:min(100%,760px); }
.lizyStoreSearch input { border:0; outline:0; background:transparent; flex:1; height:100%; padding:0 20px; font-size:15px; color:#253044; }
.lizyStoreSearch button { width:58px; height:100%; border:0; background:transparent; font-size:20px; color:#111827; cursor:pointer; }
.lizyStoreActions { display:flex; align-items:center; gap:22px; white-space:nowrap; }
.lizyStoreActions a { color:#1d2430; font-size:14px; font-weight:600; text-decoration:none; display:flex; align-items:center; gap:7px; }
.lizyStoreActions i { font-size:18px; color:#111827; }
.lizyStoreNav { background:#0d245d; min-height:52px; display:flex; align-items:center; justify-content:center; gap:42px; padding:0 20px; }
.lizyStoreNav a { color:#fff; text-decoration:none; font-size:14px; font-weight:700; letter-spacing:.01em; padding:17px 4px 15px; position:relative; }
.lizyStoreNav a::after { content:""; position:absolute; left:0; right:0; bottom:9px; height:2px; background:#d6b23a; transform:scaleX(0); transition:transform .2s ease; }
.lizyStoreNav a:hover::after, .lizyStoreNav a.active::after { transform:scaleX(1); }
.lizyQuickCategories { max-width:920px; margin:0 auto; padding:16px 16px 22px; display:flex; justify-content:center; gap:28px; overflow-x:auto; scrollbar-width:none; }
.lizyQuickCategories::-webkit-scrollbar { display:none; }
.lizyQuickCategory { flex:0 0 94px; text-align:center; text-decoration:none; color:#172033; }
.lizyQuickImage { width:86px; height:86px; display:block; margin:0 auto 7px; border-radius:50%; overflow:hidden; border:1px solid #e5e7eb; background:#f5f6f7; box-shadow:0 3px 10px rgba(17,24,39,.08); transition:transform .2s ease, box-shadow .2s ease; }
.lizyQuickImage img { width:100%; height:100%; object-fit:cover; }
.lizyQuickCategory strong { font-size:12px; line-height:1.2; display:block; }
.lizyQuickCategory:hover .lizyQuickImage { transform:translateY(-3px); box-shadow:0 8px 18px rgba(17,24,39,.14); }
@media (max-width: 900px) {
  .lizyStoreTop { grid-template-columns:130px 1fr; }
  .lizyStoreActions { display:none; }
  .lizyStoreNav { gap:22px; overflow-x:auto; justify-content:flex-start; }
}
@media (max-width: 600px) {
  .lizyStoreTop { grid-template-columns:1fr; gap:10px; padding:10px 16px 14px; }
  .lizyStoreLogo { justify-self:center; }
  .lizyStoreLogo img { height:58px; }
  .lizyStoreSearch { width:100%; }
  .lizyStoreNav { gap:18px; padding:0 16px; }
  .lizyStoreNav a { font-size:12px; }
  .lizyQuickCategories { justify-content:flex-start; gap:18px; padding-left:14px; }
}


/* ==========================================================================
   FINAL LIZY REALTY HOME OPENING — LIZYMART-INSPIRED
   Clean white header, brand-green navigation, image circles + banner flow
   ========================================================================== */
.lizyStoreHeader{background:#fff!important;border-bottom:1px solid rgba(0,72,63,.12)!important;position:relative;z-index:30}
.lizyStoreTop{max-width:1400px!important;min-height:112px!important;padding:14px 34px!important;grid-template-columns:210px minmax(320px,1fr) auto!important;gap:30px!important}
.lizyStoreLogo{display:flex!important;align-items:center!important}
.lizyStoreLogo img{height:92px!important;width:auto!important;max-width:200px!important;object-fit:contain!important}
.lizyStoreSearch{height:54px!important;background:#f3f5f4!important;border:1px solid rgba(0,72,63,.06)!important;border-radius:8px!important;box-shadow:none!important}
.lizyStoreSearch input{font-size:15px!important;color:#19302c!important}
.lizyStoreSearch input::placeholder{color:#6f7e7a!important}
.lizyStoreSearch button{color:#003f38!important}
.lizyStoreActions a{color:#17302b!important}
.lizyStoreActions i{color:#00483f!important}
.lizyStoreNav{background:#00483f!important;min-height:54px!important;gap:46px!important;box-shadow:0 5px 16px rgba(0,72,63,.10)!important}
.lizyStoreNav a{color:#fff!important;font-size:14px!important;font-weight:700!important;padding:18px 5px 16px!important}
.lizyStoreNav a::after{background:#d6ad2c!important;height:3px!important;bottom:7px!important}
.lizyQuickCategories{max-width:980px!important;margin:0 auto!important;padding:18px 16px 25px!important;display:flex!important;justify-content:center!important;align-items:flex-start!important;gap:36px!important;background:#fff!important;overflow-x:auto!important}
.lizyQuickCategory{flex:0 0 104px!important;text-align:center!important;color:#122d28!important}
.lizyQuickImage{width:100px!important;height:100px!important;margin:0 auto 9px!important;border-radius:50%!important;overflow:hidden!important;border:1px solid #e6e8e6!important;background:#f7f8f7!important;box-shadow:0 3px 12px rgba(0,72,63,.10)!important;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease!important}
.lizyQuickImage img{width:100%!important;height:100%!important;object-fit:cover!important;display:block!important}
.lizyQuickCategory strong{font-size:13px!important;line-height:1.2!important;font-weight:700!important;display:block!important;color:#17332e!important}
.lizyQuickCategory:hover .lizyQuickImage{transform:translateY(-4px)!important;box-shadow:0 10px 22px rgba(0,72,63,.16)!important;border-color:#d6ad2c!important}
/* Keep the hero/banner visually connected to the category strip, like the reference storefront flow. */
.lizyHeroWrapper{margin-top:0!important}
/* Balanced budget control */
.prop-filter-bar{grid-template-columns:minmax(180px,1.08fr) minmax(180px,1.08fr) minmax(130px,.85fr) minmax(150px,.95fr) minmax(300px,1.55fr) auto!important;align-items:center!important}
.prop-filter-budget{align-self:stretch!important;display:flex!important;flex-direction:column!important;justify-content:center!important}
.prop-filter-budget>label{margin-bottom:10px!important}
.prop-budget-slider{height:32px!important;margin:0 6px!important}
.prop-budget-track,.prop-budget-range{top:50%!important;height:5px!important}
.prop-budget-values{display:flex!important;justify-content:space-between!important;align-items:center!important;margin:7px 2px 0!important;line-height:1.1!important}
.prop-filter-reset{align-self:center!important;height:42px!important}
@media (max-width:900px){
 .lizyStoreTop{grid-template-columns:150px 1fr!important;min-height:100px!important;padding:12px 20px!important}
 .lizyStoreLogo img{height:78px!important}
 .lizyStoreActions{display:none!important}
 .lizyStoreNav{gap:24px!important;justify-content:flex-start!important;overflow-x:auto!important}
 .lizyQuickCategories{justify-content:flex-start!important;gap:22px!important;padding-left:18px!important}
 .lizyQuickCategory{flex-basis:94px!important}
 .lizyQuickImage{width:90px!important;height:90px!important}
}
@media (max-width:600px){
 .lizyStoreTop{grid-template-columns:1fr!important;gap:10px!important;padding:10px 16px 14px!important}
 .lizyStoreLogo{justify-self:center!important}
 .lizyStoreLogo img{height:70px!important}
 .lizyQuickCategories{gap:18px!important;padding:16px 14px 20px!important}
 .lizyQuickCategory{flex-basis:88px!important}
 .lizyQuickImage{width:84px!important;height:84px!important}
 .lizyQuickCategory strong{font-size:12px!important}
}

/* ==========================================================================
   LIZY REALTY — PREMIUM LIZYMART-INSPIRED FEATURED BANNERS
   9 banners • 3 visible on desktop • brand green + gold
   ========================================================================== */
.lizyMartBannerSection{
  position:relative;
  width:100%;
  max-width:1440px;
  margin:0 auto;
  padding:28px 30px 38px;
  background:linear-gradient(180deg,#ffffff 0%,#f7faf9 100%);
}

.lizyBannerHeading{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:24px;
  margin:0 0 18px;
}
.lizyBannerHeading > div{min-width:0}
.lizyBannerEyebrow{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin-bottom:7px;
  color:#a97a08;
  font-size:11px;
  font-weight:800;
  letter-spacing:.16em;
}
.lizyBannerEyebrow::before{
  content:"";
  width:24px;
  height:2px;
  border-radius:999px;
  background:#c99b27;
}
.lizyBannerHeading h2{
  margin:0;
  color:#073f37;
  font-size:27px;
  line-height:1.15;
  font-weight:800;
  letter-spacing:-.02em;
}
.lizyBannerHeading p{
  margin:7px 0 0;
  color:#687773;
  font-size:13px;
  line-height:1.5;
}
.lizyBannerViewAll{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:11px 16px;
  border:1px solid rgba(0,72,63,.14);
  border-radius:999px;
  background:#fff;
  color:#00483f!important;
  text-decoration:none!important;
  font-size:12px;
  font-weight:800;
  box-shadow:0 6px 18px rgba(0,72,63,.07);
  transition:.25s ease;
}
.lizyBannerViewAll:hover{
  color:#fff!important;
  background:#00483f;
  border-color:#00483f;
  transform:translateY(-2px);
}

.lizyMartBannerCarousel{width:100%;position:relative;padding:2px 2px 4px}
.lizyMartBannerCarousel .owl-stage{display:flex;align-items:stretch}
.lizyMartBannerCarousel .owl-item{display:flex;height:auto}
.lizyMartBannerCard{
  position:relative;
  display:block;
  width:100%;
  height:258px;
  overflow:hidden;
  border-radius:16px;
  background:#e8eeec;
  text-decoration:none!important;
  border:1px solid rgba(0,72,63,.09);
  box-shadow:0 9px 25px rgba(20,43,39,.10);
  transform:translateZ(0);
}
.lizyMartBannerCard img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:center;
  transition:transform .65s cubic-bezier(.2,.7,.2,1),filter .45s ease;
}
.lizyMartBannerShade{
  position:absolute;
  inset:0;
  z-index:1;
  background:
    linear-gradient(180deg,rgba(0,0,0,.02) 20%,rgba(0,30,25,.10) 43%,rgba(0,25,21,.84) 100%);
  pointer-events:none;
}
.lizyBannerBadge{
  position:absolute;
  z-index:3;
  top:14px;
  left:14px;
  display:inline-flex;
  align-items:center;
  padding:6px 9px;
  border:1px solid rgba(255,255,255,.38);
  border-radius:999px;
  background:rgba(0,52,45,.72);
  color:#fff;
  font-size:9px;
  line-height:1;
  font-weight:800;
  letter-spacing:.08em;
  backdrop-filter:blur(7px);
}
.lizyMartBannerContent{
  position:absolute;
  z-index:3;
  left:17px;
  right:17px;
  bottom:15px;
  color:#fff;
  text-shadow:0 2px 10px rgba(0,0,0,.28);
}
.lizyMartBannerContent strong{
  display:block;
  margin-bottom:3px;
  font-size:20px;
  line-height:1.12;
  font-weight:800;
  letter-spacing:-.01em;
}
.lizyMartBannerContent small{
  display:block;
  margin:0;
  color:rgba(255,255,255,.90);
  font-size:11px;
  line-height:1.35;
  font-weight:600;
}
.lizyMartBannerContent em{
  display:inline-flex;
  align-items:center;
  gap:6px;
  margin-top:9px;
  color:#f0ca55;
  font-size:11px;
  line-height:1;
  font-style:normal;
  font-weight:800;
}
.lizyMartBannerContent em i{font-size:13px;transition:transform .2s ease}
.lizyMartBannerCard:hover{
  box-shadow:0 15px 34px rgba(0,72,63,.17);
}
.lizyMartBannerCard:hover img{
  transform:scale(1.065);
  filter:saturate(1.08);
}
.lizyMartBannerCard:hover .lizyMartBannerContent em i{transform:translateX(4px)}
.lizyMartBannerCarousel .owl-nav{
  position:absolute;
  right:7px;
  top:-60px;
  display:flex;
  gap:7px;
  margin:0!important;
}
.lizyMartBannerCarousel .owl-nav button.owl-prev,
.lizyMartBannerCarousel .owl-nav button.owl-next{
  width:36px;
  height:36px;
  margin:0!important;
  display:inline-flex!important;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(0,72,63,.13)!important;
  border-radius:50%!important;
  background:#fff!important;
  color:#00483f!important;
  font-size:15px!important;
  box-shadow:0 5px 15px rgba(0,72,63,.08);
  transition:.2s ease;
}
.lizyMartBannerCarousel .owl-nav button:hover{
  background:#00483f!important;
  color:#fff!important;
  border-color:#00483f!important;
}
.lizyMartBannerCarousel .owl-dots{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:7px;
  margin-top:15px;
}
.lizyMartBannerCarousel .owl-dot{
  width:7px!important;
  height:7px!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
  border-radius:999px!important;
  background:#cbd5d2!important;
  box-shadow:none!important;
  transition:.25s ease;
}
.lizyMartBannerCarousel .owl-dot.active{
  width:24px!important;
  background:#c39a2b!important;
}

/* Keep the property grid visually separated from the banner collection. */
.lizyMartBannerSection + .prop-grid-sec{
  border-top:1px solid rgba(0,72,63,.06);
}

@media(max-width:900px){
  .lizyMartBannerSection{padding:25px 20px 32px}
  .lizyBannerHeading h2{font-size:23px}
  .lizyMartBannerCard{height:235px}
  .lizyMartBannerCarousel .owl-nav{top:-55px}
}
@media(max-width:600px){
  .lizyMartBannerSection{padding:22px 14px 28px}
  .lizyBannerHeading{align-items:flex-start;flex-direction:column;gap:12px}
  .lizyBannerHeading h2{font-size:21px}
  .lizyBannerHeading p{font-size:12px}
  .lizyBannerViewAll{padding:9px 13px}
  .lizyMartBannerCarousel .owl-nav{display:none}
  .lizyMartBannerCard{height:225px;border-radius:14px}
  .lizyMartBannerContent strong{font-size:18px}
  .lizyBannerBadge{top:11px;left:11px;font-size:8px}
}

/* ======================================================================
   FINAL HOME POLISH — LIZY REALTY STOREFRONT
   ====================================================================== */
.lizy-home { background:#f7f9f8; }
.lizy-home .lizyStoreHeader { box-shadow:0 8px 24px rgba(0,72,63,.07); }
.lizy-home .lizyStoreTop { background:#fff; }
.lizy-home .lizyStoreLogo img { filter: drop-shadow(0 5px 9px rgba(0,72,63,.10)); }
.lizy-home .lizyQuickCategories { border-bottom:1px solid rgba(0,72,63,.08); }

.lizyHomeShowcase {
  background:linear-gradient(180deg,#fff 0%,#f4f8f6 100%);
  padding:22px 0 34px;
}
.lizyHomeShowcaseInner { max-width:1440px; margin:0 auto; padding:0 28px; }
.lizyHomeShowcaseCarousel { position:relative; }
.lizyHomeImageCard {
  display:block;
  position:relative;
  height:300px;
  overflow:hidden;
  border-radius:18px;
  background:#e8eeeb;
  border:1px solid rgba(0,72,63,.10);
  box-shadow:0 12px 28px rgba(0,72,63,.10);
  text-decoration:none!important;
}
.lizyHomeImageCard img {
  width:100%; height:100%; display:block; object-fit:contain !important;
  transition:transform .65s cubic-bezier(.2,.7,.2,1), filter .4s ease;
}
.lizyHomeImageCard::after {
  content:""; position:absolute; inset:0;
  background:linear-gradient(180deg,rgba(0,0,0,0) 58%,rgba(0,40,34,.18) 100%);
  pointer-events:none;
}
.lizyHomeImageCard:hover img { transform:scale(1.065); filter:saturate(1.06); }
.lizyHomeImageArrow {
  position:absolute; z-index:2; right:15px; bottom:15px;
  width:42px; height:42px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  background:rgba(255,255,255,.94); color:#00483f;
  box-shadow:0 8px 18px rgba(0,0,0,.15);
  font-size:17px; transition:.25s ease;
}
.lizyHomeImageCard:hover .lizyHomeImageArrow { background:#d6ad2c; color:#fff; transform:translateY(-3px) rotate(4deg); }
.lizyHomeShowcaseCarousel .owl-stage { display:flex; }
.lizyHomeShowcaseCarousel .owl-item { display:flex; }
.lizyHomeShowcaseCarousel .owl-item > .lizyHomeImageCard { width:100%; }
.lizyHomeShowcaseCarousel .owl-nav button {
  position:absolute; top:50%; transform:translateY(-50%);
  width:46px!important; height:46px!important; margin:0!important;
  border-radius:50%!important; background:#fff!important; color:#00483f!important;
  border:1px solid rgba(0,72,63,.10)!important; box-shadow:0 8px 20px rgba(0,0,0,.14)!important;
  font-size:17px!important; z-index:5;
}
.lizyHomeShowcaseCarousel .owl-nav .owl-prev { left:-14px; }
.lizyHomeShowcaseCarousel .owl-nav .owl-next { right:-14px; }
.lizyHomeShowcaseCarousel .owl-nav button:hover { background:#00483f!important; color:#fff!important; }
.lizyHomeShowcaseCarousel .owl-dots { margin-top:17px; }
.lizyHomeShowcaseCarousel .owl-dot span { width:7px!important; height:7px!important; margin:4px!important; background:#cbd8d4!important; }
.lizyHomeShowcaseCarousel .owl-dot.active span { width:24px!important; border-radius:999px!important; background:#d6ad2c!important; }
.lizy-home #properties { background:#f7f9f8; padding-top:48px; }

@media (max-width:1100px){
  .lizyHomeImageCard{height:270px;}
  .lizyHomeShowcaseInner{padding:0 22px;}
}
@media (max-width:767px){
  .lizyHomeShowcase{padding:16px 0 26px;}
  .lizyHomeShowcaseInner{padding:0 16px;}
  .lizyHomeImageCard{height:245px;border-radius:15px;}
  .lizyHomeShowcaseCarousel .owl-nav{display:none;}
}

/* ======================================================================
   FINAL SERVICES POLISH — FIXED ALIGNMENT & CLEAN CONTENT FLOW
   ====================================================================== */
.srv-hero-sec { padding:82px 0 58px; }
.srv-hero-title { max-width:860px; margin:0 auto 16px; }
.srv-hero-sub { max-width:760px; }
.srv-block-sec { padding:82px 0; }
.srv-block-grid { grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:64px; }
.srv-block-info { min-width:0; }
.srv-block-media { min-width:0; }
.srv-block-title { max-width:620px; }
.srv-block-desc { max-width:640px; }
.srv-feature-list li { line-height:1.55; }
.srv-feature-list li span { min-width:0; }
.srv-media-card { border-radius:24px; box-shadow:0 18px 45px rgba(17,24,39,.12); }
.srv-media-card img { height:430px; }
.srv-stat-overlay { left:20px; bottom:20px; }
.srv-spec-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.srv-spec-box { min-width:0; min-height:138px; display:flex; flex-direction:column; justify-content:center; }
.srv-spec-box p { max-width:240px; }
@media (max-width:991px){
  .srv-block-grid,.srv-reverse{grid-template-columns:1fr;gap:34px;}
  .srv-block-info{order:1;}
  .srv-block-media{order:2;}
  .srv-media-card img{height:340px;}
}
@media (max-width:576px){
  .srv-hero-sec{padding:48px 0 38px;}
  .srv-block-sec{padding:48px 0;}
  .srv-container{padding:0 18px;}
  .srv-block-grid{gap:26px;}
  .srv-spec-grid{grid-template-columns:1fr;}
  .srv-media-card img{height:250px;}
  .srv-stat-overlay{left:14px;bottom:14px;right:14px;}
}

/* FINAL HOME POLISH */
.lizy-home{background:#f7f9f8}.lizy-home .lizyStoreHeader{box-shadow:0 8px 24px rgba(0,72,63,.07)}.lizy-home .lizyStoreTop{background:#fff}.lizy-home .lizyStoreLogo img{filter:drop-shadow(0 5px 9px rgba(0,72,63,.10))}.lizy-home .lizyQuickCategories{border-bottom:1px solid rgba(0,72,63,.08)}
.lizyHomeShowcase{background:linear-gradient(180deg,#fff 0%,#f4f8f6 100%);padding:22px 0 34px}.lizyHomeShowcaseInner{max-width:1440px;margin:0 auto;padding:0 28px}.lizyHomeImageCard{display:block;position:relative;height:300px;overflow:hidden;border-radius:18px;background:#e8eeeb;border:1px solid rgba(0,72,63,.10);box-shadow:0 12px 28px rgba(0,72,63,.10);text-decoration:none!important}.lizyHomeImageCard img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .65s cubic-bezier(.2,.7,.2,1),filter .4s ease}.lizyHomeImageCard::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 58%,rgba(0,40,34,.18) 100%);pointer-events:none}.lizyHomeImageCard:hover img{transform:scale(1.065);filter:saturate(1.06)}.lizyHomeImageArrow{position:absolute;z-index:2;right:15px;bottom:15px;width:42px;height:42px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.94);color:#00483f;box-shadow:0 8px 18px rgba(0,0,0,.15);font-size:17px;transition:.25s ease}.lizyHomeImageCard:hover .lizyHomeImageArrow{background:#d6ad2c;color:#fff;transform:translateY(-3px) rotate(4deg)}.lizyHomeShowcaseCarousel .owl-stage{display:flex}.lizyHomeShowcaseCarousel .owl-item{display:flex}.lizyHomeShowcaseCarousel .owl-item>.lizyHomeImageCard{width:100%}.lizyHomeShowcaseCarousel .owl-nav button{position:absolute;top:50%;transform:translateY(-50%);width:46px!important;height:46px!important;margin:0!important;border-radius:50%!important;background:#fff!important;color:#00483f!important;border:1px solid rgba(0,72,63,.10)!important;box-shadow:0 8px 20px rgba(0,0,0,.14)!important;font-size:17px!important;z-index:5}.lizyHomeShowcaseCarousel .owl-nav .owl-prev{left:-14px}.lizyHomeShowcaseCarousel .owl-nav .owl-next{right:-14px}.lizyHomeShowcaseCarousel .owl-nav button:hover{background:#00483f!important;color:#fff!important}.lizyHomeShowcaseCarousel .owl-dots{margin-top:17px}.lizyHomeShowcaseCarousel .owl-dot span{width:7px!important;height:7px!important;margin:4px!important;background:#cbd8d4!important}.lizyHomeShowcaseCarousel .owl-dot.active span{width:24px!important;border-radius:999px!important;background:#d6ad2c!important}.lizy-home #properties{background:#f7f9f8;padding-top:48px}
@media(max-width:1100px){.lizyHomeImageCard{height:270px}.lizyHomeShowcaseInner{padding:0 22px}}@media(max-width:767px){.lizyHomeShowcase{padding:16px 0 26px}.lizyHomeShowcaseInner{padding:0 16px}.lizyHomeImageCard{height:245px;border-radius:15px}.lizyHomeShowcaseCarousel .owl-nav{display:none}}
/* FINAL SERVICES POLISH */
.srv-hero-sec{padding:82px 0 58px}.srv-hero-title{max-width:860px;margin:0 auto 16px}.srv-hero-sub{max-width:760px}.srv-block-sec{padding:82px 0}.srv-block-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:64px}.srv-block-info,.srv-block-media{min-width:0}.srv-block-title{max-width:620px}.srv-block-desc{max-width:640px}.srv-feature-list li{line-height:1.55}.srv-feature-list li span{min-width:0}.srv-media-card{border-radius:24px;box-shadow:0 18px 45px rgba(17,24,39,.12)}.srv-media-card img{height:430px}.srv-stat-overlay{left:20px;bottom:20px}.srv-spec-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.srv-spec-box{min-width:0;min-height:138px;display:flex;flex-direction:column;justify-content:center}.srv-spec-box p{max-width:240px}@media(max-width:991px){.srv-block-grid,.srv-reverse{grid-template-columns:1fr;gap:34px}.srv-block-info{order:1}.srv-block-media{order:2}.srv-media-card img{height:340px}}@media(max-width:576px){.srv-hero-sec{padding:48px 0 38px}.srv-block-sec{padding:48px 0}.srv-container{padding:0 18px}.srv-block-grid{gap:26px}.srv-spec-grid{grid-template-columns:1fr}.srv-media-card img{height:250px}.srv-stat-overlay{left:14px;bottom:14px;right:14px}}


/* FINAL LIZYMART-STYLE HOME ORDER / FILTER ALIGNMENT */
.lizy-home .lizyQuickCategories { border-bottom: 0 !important; }
.lizy-home .lizyHomeShowcase { padding-top: 0 !important; }
.lizy-home #properties { padding-top: 24px !important; }
.lizy-home #properties .prop-container { max-width: 1380px; }
.lizy-home #properties .prop-filter-bar { 
  order: 1;
  /* Keep all five filters at the same width; the reset button gets only
     the space it needs. This prevents Budget Range from becoming wider
     than the other filter controls. */
  grid-template-columns: repeat(5, minmax(0, 1fr)) minmax(118px, auto) !important;
  align-items: center !important;
  gap: 14px !important;
  padding: 18px 20px !important;
  margin-bottom: 30px !important;
}
.lizy-home #properties .prop-grid-header { order: 2; }
/* "All Types" pills (All Types / Land / Apartment / House) - same block as
   Properties.html / land.html / apartment.html / house.html. Previously
   hidden here on Home only; now shown so Home matches those pages. */
.lizy-home #properties .prop-type-pills {
  display: flex !important;
  order: 0;
}
.lizy-home #properties .prop-card-grid { order: 3; }
.lizy-home #properties .prop-filter-field { width: 100% !important; min-width: 0 !important; }
.lizy-home #properties .prop-filter-field input,
.lizy-home #properties .prop-filter-field select { width: 100% !important; box-sizing: border-box; }
.lizy-home #properties .prop-filter-budget {
  width: 100% !important;
  min-width: 0 !important;
  align-self: stretch !important;
  justify-content: center !important;
}
.lizy-home #properties .prop-filter-budget > label {
  margin-bottom: 6px !important;
}
.lizy-home #properties .prop-budget-slider {
  width: 100% !important;
  height: 36px !important;
  margin: 0 !important;
}
.lizy-home #properties .prop-budget-values {
  width: 100% !important;
  box-sizing: border-box !important;
  margin: 4px 0 0 !important;
  padding: 0 1px !important;
}
.lizy-home #properties .prop-filter-reset {
  width: 100% !important;
  min-width: 118px !important;
  white-space: nowrap;
  align-self: center !important;
}
.lizy-home .lizyHomeShowcaseCarousel .owl-item { display: flex; }
.lizy-home .lizyHomeShowcaseCarousel .lizyHomeImageCard { width: 100%; }
@media (max-width: 1200px) {
  .lizy-home #properties .prop-filter-bar { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
}
@media (max-width: 767px) {
  .lizy-home #properties .prop-filter-bar { grid-template-columns: 1fr !important; }
}

/* =========================================================
   EXACT-LAYOUT REFERENCE UPDATE — utility bar, header actions,
   quick-category icons, WhatsApp CTA, trust bar
   ========================================================= */

/* Top utility bar */
.lizyUtilityBar { background: var(--sub, #00483f); color: #fff; font-size: 12.5px; }
.lizyUtilityBarInner { max-width: 1400px; margin: 0 auto; padding: 8px 34px; display: flex; align-items: center; justify-content: space-between; gap: 20px; flex-wrap: wrap; }
.lizyUtilityLeft { display: flex; align-items: center; gap: 26px; flex-wrap: wrap; }
.lizyUtilityLeft span, .lizyUtilityLeft a { color: rgba(255,255,255,.88); text-decoration: none; display: inline-flex; align-items: center; gap: 6px; }
.lizyUtilityLeft a:hover { color: #d6ad2c; }
.lizyUtilityRight { display: flex; align-items: center; gap: 12px; }
.lizyUtilityFollow { color: rgba(255,255,255,.75); margin-right: 2px; }
.lizyUtilityRight a { color: #fff; width: 24px; height: 24px; display: inline-flex; align-items: center; justify-content: center; border-radius: 50%; background: rgba(255,255,255,.14); text-decoration: none; transition: background .2s ease, color .2s ease; }
.lizyUtilityRight a:hover { background: #d6ad2c; color: #003f38; }
@media (max-width: 900px) { .lizyUtilityLeft { gap: 16px; } .lizyUtilityBarInner { padding: 8px 18px; } }
@media (max-width: 700px) { .lizyUtilityLeft span:first-child { display: none; } }

/* Header phone + book consultation button */
.lizyStorePhone { display: flex !important; align-items: center; gap: 10px; text-decoration: none; }
.lizyStorePhone i { font-size: 18px; color: #00483f !important; }
.lizyStorePhoneText { display: flex; flex-direction: column; line-height: 1.25; }
.lizyStorePhoneText strong { font-size: 14px; color: #17332e; font-weight: 700; }
.lizyStorePhoneText small { font-size: 11.5px; color: #6f7e7a; font-weight: 500; }
.lizyStoreBookBtn { display: inline-flex !important; align-items: center; gap: 8px; background: #00483f; color: #fff !important; text-decoration: none; font-weight: 700 !important; font-size: 13.5px !important; padding: 12px 20px; border-radius: 6px; transition: background .2s ease; }
.lizyStoreBookBtn i { color: #fff !important; font-size: 15px !important; }
.lizyStoreBookBtn:hover { background: #d6ad2c; color: #00332c !important; }
.lizyStoreBookBtn:hover i { color: #00332c !important; }
@media (max-width: 991px) { .lizyStoreActions { display: none !important; } }


/* Quick category icon circles (replaces photo thumbnails) */
.lizyQuickIcon { width: 100px; height: 100px; margin: 0 auto 9px; border-radius: 50%; display: flex; align-items: center; justify-content: center; background: #fff; border: 1.5px solid #e6e8e6; box-shadow: 0 3px 12px rgba(0,72,63,.08); transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease; }
.lizyQuickIcon i { font-size: 32px; color: #d6ad2c; }
.lizyQuickCategory.is-active .lizyQuickIcon { border: 2px solid #d6ad2c; box-shadow: 0 0 0 4px rgba(214,173,44,.14); }
.lizyQuickCategory:hover .lizyQuickIcon { transform: translateY(-4px); box-shadow: 0 10px 22px rgba(0,72,63,.16); border-color: #d6ad2c; }
@media (max-width: 900px) { .lizyQuickIcon { width: 90px; height: 90px; } .lizyQuickIcon i { font-size: 28px; } }
@media (max-width: 600px) { .lizyQuickIcon { width: 84px; height: 84px; } .lizyQuickIcon i { font-size: 26px; } }

/* Reset Filters button: solid fill to match reference */
.prop-filter-reset { background: #00483f !important; border-color: #00483f !important; color: #fff !important; }
.prop-filter-reset:hover { background: #d6ad2c !important; border-color: #d6ad2c !important; color: #00332c !important; }

/* WhatsApp CTA banner */
.lizyWhatsappCTA { padding: 30px 0; }
.lizyWhatsappCTAInner { max-width: 1380px; margin: 0 auto; padding: 0 28px; background: #00332c; border-radius: 22px; display: grid; grid-template-columns: 1fr 1fr; align-items: stretch; overflow: hidden; }
.lizyWhatsappCTALeft { display: flex; align-items: center; gap: 22px; padding: 46px 40px; }
.lizyWhatsappIconCircle { flex: 0 0 auto; width: 62px; height: 62px; border-radius: 50%; background: #25D366; color: #fff; display: flex; align-items: center; justify-content: center; font-size: 30px; }
.lizyWhatsappCTAText h3 { color: #fff; font-size: 1.5rem; font-weight: 700; margin: 0 0 4px; }
.lizyWhatsappCTAText p { color: rgba(255,255,255,.75); margin: 0 0 18px; font-size: .95rem; }
.lizyWhatsappChatBtn { display: inline-flex; align-items: center; gap: 8px; background: #d6ad2c; color: #00332c; text-decoration: none; font-weight: 700; font-size: .92rem; padding: 12px 22px; border-radius: 7px; transition: background .2s ease, transform .2s ease; }
.lizyWhatsappChatBtn:hover { background: #fff; transform: translateY(-2px); }
.lizyWhatsappCTAImage { position: relative; min-height: 260px; }
.lizyWhatsappCTAImage img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
@media (max-width: 900px) {
  .lizyWhatsappCTAInner { grid-template-columns: 1fr; border-radius: 18px; }
  .lizyWhatsappCTALeft { padding: 34px 26px; }
  .lizyWhatsappCTAImage { min-height: 220px; order: -1; }
}
@media (max-width: 560px) {
  .lizyWhatsappCTAInner { padding: 0 16px; }
  .lizyWhatsappCTALeft { flex-direction: column; text-align: center; padding: 30px 22px; }
}

/* Trust bar row */
.lizyTrustBar { padding: 10px 0 40px; }
.lizyTrustBarInner { max-width: 1380px; margin: 0 auto; padding: 26px 34px; display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; border: 1px solid rgba(0,72,63,.10); border-radius: 16px; background: #fff; }
.lizyTrustItem { display: flex; align-items: center; gap: 14px; }
.lizyTrustIcon { flex: 0 0 auto; width: 46px; height: 46px; border-radius: 50%; background: #f2f6f4; color: #00483f; display: flex; align-items: center; justify-content: center; font-size: 20px; }
.lizyTrustText { display: flex; flex-direction: column; line-height: 1.35; }
.lizyTrustText strong { font-size: .95rem; color: #17332e; font-weight: 700; }
.lizyTrustText span { font-size: .82rem; color: #6f7e7a; }
@media (max-width: 900px) { .lizyTrustBarInner { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { .lizyTrustBarInner { grid-template-columns: 1fr; padding: 22px; } }

/* =========================================================
   Enhanced WhatsApp Enquiry button (sits beside the circular
   WhatsApp float icon) + carousel arrow polish / responsiveness
   ========================================================= */
.lizyWaEnquiry {
  position: fixed;
  left: 90px;
  bottom: 40px;
  z-index: 100;
  display: flex;
  align-items: center;
  gap: 10px;
  height: 56px;
  padding: 0 20px 0 0;
  background: linear-gradient(135deg, #25d366, #1fae56);
  color: #fff;
  text-decoration: none !important;
  border-radius: 999px;
  box-shadow: 0 10px 26px rgba(37, 211, 102, .38);
  transition: transform .2s ease, box-shadow .2s ease;
}
.lizyWaEnquiry:hover { transform: translateY(-3px); box-shadow: 0 14px 32px rgba(37, 211, 102, .48); color: #fff; }
.lizyWaEnquiryIcon {
  flex: 0 0 auto;
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: rgba(255,255,255,.16);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 26px;
  color: #fff;
}
.lizyWaEnquiryText { display: flex; flex-direction: column; line-height: 1.25; }
.lizyWaEnquiryText strong { font-size: 13.5px; font-weight: 700; color: #fff; }
.lizyWaEnquiryText small { font-size: 11px; color: rgba(255,255,255,.85); font-weight: 500; }
@media (max-width: 700px) {
  .lizyWaEnquiry { left: 88px; bottom: 40px; height: 60px; padding: 0; width: 50px; justify-content: center; }
  .lizyWaEnquiryIcon { width: 50px; height: 50px; font-size: 22px; background: transparent; }
  .lizyWaEnquiryText { display: none; }
}

/* Carousel arrows: bigger, higher-contrast "high-end" styling;
   keep them visible (smaller) on mobile instead of hiding, since
   swipe alone is less discoverable than a visible control.
   NOTE: this owl-carousel build renders nav controls as
   <div class="owl-prev">/<div class="owl-next"> (not <button>),
   so selectors must target the div directly or they silently
   never match (this was the cause of the unstyled "<"/">" text
   arrows appearing below the carousel instead of the intended
   circular buttons). */
.lizyHomeShowcaseCarousel .owl-nav .owl-prev,
.lizyHomeShowcaseCarousel .owl-nav .owl-next {
  position: absolute !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: 50px !important;
  height: 50px !important;
  margin: 0 !important;
  border-radius: 50% !important;
  background: #fff !important;
  color: #00483f !important;
  border: 1px solid rgba(0,72,63,.10) !important;
  box-shadow: 0 10px 24px rgba(0,0,0,.18) !important;
  font-size: 19px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer;
  z-index: 5;
  transition: background .2s ease, color .2s ease;
}
.lizyHomeShowcaseCarousel .owl-nav .owl-prev { left: -14px; }
.lizyHomeShowcaseCarousel .owl-nav .owl-next { right: -14px; }
.lizyHomeShowcaseCarousel .owl-nav .owl-prev:hover,
.lizyHomeShowcaseCarousel .owl-nav .owl-next:hover { background: #00483f !important; color: #fff !important; }
@media (max-width: 767px) {
  .lizyHomeShowcaseCarousel .owl-nav { display: block !important; }
  .lizyHomeShowcaseCarousel .owl-nav .owl-prev,
  .lizyHomeShowcaseCarousel .owl-nav .owl-next {
    width: 36px !important;
    height: 36px !important;
    font-size: 14px !important;
  }
  .lizyHomeShowcaseCarousel .owl-nav .owl-prev { left: 4px; }
  .lizyHomeShowcaseCarousel .owl-nav .owl-next { right: 4px; }
}

/* Same fix applied to the other two owl-carousels on the site
   (testimonials slider, LizyMart-style banner) so their nav
   buttons render correctly too. */
.lizyTestimonialSlider .owl-nav .owl-prev,
.lizyTestimonialSlider .owl-nav .owl-next {
  width: 52px !important;
  height: 52px !important;
  border-radius: 50% !important;
  background: var(--card, #FFFFFF) !important;
  border: 1px solid var(--border, rgba(17,24,39,.08)) !important;
  color: var(--heading, #111827) !important;
  font-size: 1.1rem !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer;
  transition: background 0.35s ease, color 0.35s ease, border-color 0.35s ease, transform 0.35s ease;
}
.lizyTestimonialSlider .owl-nav .owl-prev:hover,
.lizyTestimonialSlider .owl-nav .owl-next:hover {
  background: var(--brand, #D4AF37) !important;
  border-color: var(--brand, #D4AF37) !important;
  color: #fff !important;
  transform: translateY(-3px);
}

.lizyMartBannerCarousel .owl-nav .owl-prev,
.lizyMartBannerCarousel .owl-nav .owl-next {
  width: 36px !important;
  height: 36px !important;
  margin: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border: 1px solid rgba(0,72,63,.13) !important;
  border-radius: 50% !important;
  background: #fff !important;
  color: #00483f !important;
  font-size: 15px !important;
  box-shadow: 0 5px 15px rgba(0,72,63,.08);
  cursor: pointer;
  transition: .2s ease;
}
.lizyMartBannerCarousel .owl-nav .owl-prev:hover,
.lizyMartBannerCarousel .owl-nav .owl-next:hover {
  background: #00483f !important;
  color: #fff !important;
  border-color: #00483f !important;
}



/* ================================================================
   FINAL HOME UPDATE — 3-UP AUTO BANNER + CLEAN BUDGET CONTROL
   Banner advances as complete groups: 1-3 -> 4-6 -> 7-9 -> 1-3.
   Budget uses the same field footprint as the other filters.
   ================================================================ */
.lizy-home .lizyHomeShowcaseCarousel .owl-stage {
  display: flex !important;
  align-items: stretch !important;
}
.lizy-home .lizyHomeShowcaseCarousel .owl-item {
  display: flex !important;
}
.lizy-home .lizyHomeShowcaseCarousel .lizyHomeImageCard {
  width: 100% !important;
}

.lizy-home #properties .prop-filter-bar {
  grid-template-columns: repeat(5, minmax(0, 1fr)) minmax(118px, auto) !important;
  align-items: end !important;
  gap: 14px !important;
}
.lizy-home #properties .prop-filter-field {
  min-width: 0 !important;
  width: 100% !important;
}
.lizy-home #properties .prop-filter-field > label {
  display: block !important;
  min-height: 16px !important;
  margin-bottom: 7px !important;
  line-height: 1.15 !important;
}
.lizy-home #properties .prop-filter-field input,
.lizy-home #properties .prop-filter-field select {
  width: 100% !important;
  height: 42px !important;
  box-sizing: border-box !important;
}

/* Budget is a single compact 42px control, so its baseline matches
   Search / Location / BHK / Possession instead of becoming taller. */
.lizy-home #properties .prop-filter-budget {
  align-self: end !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
}
.lizy-home #properties .prop-budget-control {
  position: relative !important;
  height: 42px !important;
  width: 100% !important;
  box-sizing: border-box !important;
  border: 1px solid var(--border, #dfe5e2) !important;
  border-radius: 8px !important;
  background: var(--bg, #fff) !important;
  overflow: visible !important;
}
.lizy-home #properties .prop-budget-values {
  position: absolute !important;
  left: 11px !important;
  right: 11px !important;
  top: 4px !important;
  z-index: 4 !important;
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1 !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  color: var(--heading, #172033) !important;
  pointer-events: none !important;
}
.lizy-home #properties .prop-budget-values span {
  white-space: nowrap !important;
}
.lizy-home #properties .prop-budget-slider {
  position: absolute !important;
  left: 10px !important;
  right: 10px !important;
  bottom: 3px !important;
  width: auto !important;
  height: 19px !important;
  margin: 0 !important;
}
.lizy-home #properties .prop-budget-track,
.lizy-home #properties .prop-budget-range {
  top: 50% !important;
  height: 4px !important;
  transform: translateY(-50%) !important;
  border-radius: 999px !important;
}
.lizy-home #properties .prop-budget-slider input[type="range"] {
  top: 50% !important;
  height: 19px !important;
  transform: translateY(-50%) !important;
}
.lizy-home #properties .prop-budget-slider input[type="range"]::-webkit-slider-thumb {
  width: 15px !important;
  height: 15px !important;
  border-width: 2px !important;
  margin-top: 0 !important;
}
.lizy-home #properties .prop-budget-slider input[type="range"]::-moz-range-thumb {
  width: 15px !important;
  height: 15px !important;
  border-width: 2px !important;
}
.lizy-home #properties .prop-budget-control:focus-within {
  border-color: var(--brand, #00483f) !important;
  box-shadow: 0 0 0 2px rgba(0,72,63,.08) !important;
}

@media (max-width: 1200px) {
  .lizy-home #properties .prop-filter-bar {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
  .lizy-home #properties .prop-filter-budget {
    grid-column: span 2 !important;
  }
}
@media (max-width: 767px) {
  .lizy-home #properties .prop-filter-bar {
    grid-template-columns: 1fr !important;
  }
  .lizy-home #properties .prop-filter-budget {
    grid-column: auto !important;
  }
}

/* FINAL HOME MICRO-FIX — keep Reset Filters exactly aligned with filter controls */
.lizy-home #properties .prop-filter-bar {
  align-items: end !important;
}
.lizy-home #properties .prop-filter-reset {
  align-self: end !important;
  height: 42px !important;
  min-height: 42px !important;
  margin: 0 !important;
  transform: none !important;
  box-sizing: border-box !important;
}

/* Keep the three pagination dots compact and equal-sized.
   Each dot represents one complete 3-image group: 1-3, 4-6, 7-9. */
.lizy-home .lizyHomeShowcaseCarousel .owl-dots {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  margin-top: 14px !important;
}
.lizy-home .lizyHomeShowcaseCarousel .owl-dot {
  margin: 0 !important;
  padding: 0 !important;
  line-height: 0 !important;
}
.lizy-home .lizyHomeShowcaseCarousel .owl-dot span,
.lizy-home .lizyHomeShowcaseCarousel .owl-dot.active span {
  width: 8px !important;
  height: 8px !important;
  margin: 0 !important;
  border-radius: 50% !important;
}

/* ================================================================
   FINAL TWO FIXES — GROUPED 3-UP BANNER + IN-BOX BUDGET RANGE
   ================================================================ */
.lizy-home .lizyHomeShowcaseCarousel .lizyHomeBannerGroup {
  width: 100% !important;
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 18px !important;
  box-sizing: border-box !important;
}
.lizy-home .lizyHomeShowcaseCarousel .owl-item {
  width: 100% !important;
}
.lizy-home .lizyHomeShowcaseCarousel .lizyHomeImageCard {
  min-width: 0 !important;
  width: 100% !important;
}
.lizy-home .lizyHomeShowcaseCarousel .owl-dots {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 7px !important;
  margin-top: 14px !important;
  height: 14px !important;
}
.lizy-home .lizyHomeShowcaseCarousel .owl-dot,
.lizy-home .lizyHomeShowcaseCarousel .owl-dot.active {
  width: 10px !important;
  height: 10px !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  line-height: 0 !important;
}
.lizy-home .lizyHomeShowcaseCarousel .owl-dot span,
.lizy-home .lizyHomeShowcaseCarousel .owl-dot.active span {
  display: block !important;
  width: 8px !important;
  height: 8px !important;
  margin: 1px !important;
  border-radius: 50% !important;
  background: #cbd8d4 !important;
  transition: transform .2s ease, background .2s ease !important;
}
.lizy-home .lizyHomeShowcaseCarousel .owl-dot.active span {
  background: #d6ad2c !important;
  transform: scale(1.18) !important;
}

/* Keep the fifth filter (Budget Range) completely inside its own box. */
.lizy-home #properties .prop-filter-bar {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr) minmax(118px, 126px) !important;
}
.lizy-home #properties .prop-filter-budget {
  min-width: 0 !important;
  width: 100% !important;
  box-sizing: border-box !important;
}
.lizy-home #properties .prop-budget-control {
  min-width: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  height: 42px !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
}
.lizy-home #properties .prop-budget-values {
  left: 7px !important;
  right: 7px !important;
  top: 4px !important;
  font-size: 10px !important;
  box-sizing: border-box !important;
}
.lizy-home #properties .prop-budget-slider {
  left: 7px !important;
  right: 7px !important;
  bottom: 3px !important;
  width: auto !important;
  max-width: none !important;
  box-sizing: border-box !important;
}
@media (max-width: 1200px) {
  .lizy-home #properties .prop-filter-bar {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
  .lizy-home #properties .prop-filter-budget { grid-column: span 2 !important; }
}
@media (max-width: 767px) {
  .lizy-home .lizyHomeShowcaseCarousel .lizyHomeBannerGroup {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }
  .lizy-home #properties .prop-filter-bar { grid-template-columns: 1fr !important; }
  .lizy-home #properties .prop-filter-budget { grid-column: auto !important; }
}

/* ========================================================================
   FINAL PROPERTY RESULTS CAROUSEL
   Exactly 3 cards are visible on desktop. Arrow navigation moves one card
   horizontally, so card 4 enters from the right instead of wrapping below.
   ======================================================================== */
.prop-carousel-shell {
  position: relative;
  width: 100%;
  min-width: 0;
  padding: 0 54px;
  box-sizing: border-box;
}
.prop-carousel-shell .prop-card-grid {
  display: flex !important;
  flex-wrap: nowrap !important;
  gap: 30px !important;
  width: 100%;
  overflow: visible !important;
  transition: transform .42s cubic-bezier(.22,.61,.36,1);
  will-change: transform;
}
.prop-carousel-shell .prop-card-grid .prop-card {
  flex: 0 0 calc((100% - 60px) / 3) !important;
  width: calc((100% - 60px) / 3) !important;
  min-width: 0 !important;
}
.prop-carousel-arrow {
  position: absolute;
  z-index: 20;
  top: 50%;
  transform: translateY(-50%);
  width: 48px;
  height: 48px;
  border: 1px solid rgba(0,72,63,.12);
  border-radius: 50%;
  background: #fff;
  color: #00483f;
  box-shadow: 0 8px 22px rgba(0,0,0,.14);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: .2s ease;
}
.prop-carousel-arrow:hover {
  background: #00483f;
  color: #fff;
  transform: translateY(-50%) scale(1.04);
}
.prop-carousel-arrow[hidden] { display: none !important; }
.prop-carousel-prev { left: 0; }
.prop-carousel-next { right: 0; }
.prop-carousel-shell.is-single-page { padding-left: 0; padding-right: 0; }

@media (max-width: 991px) {
  .prop-carousel-shell { padding: 0 48px; }
  .prop-carousel-shell .prop-card-grid { gap: 24px !important; }
  .prop-carousel-shell .prop-card-grid .prop-card {
    flex-basis: calc((100% - 24px) / 2) !important;
    width: calc((100% - 24px) / 2) !important;
  }
}

@media (max-width: 767px) {
  .prop-carousel-shell { padding: 0 42px; }
  .prop-carousel-shell .prop-card-grid { gap: 18px !important; }
  .prop-carousel-shell .prop-card-grid .prop-card {
    flex-basis: 100% !important;
    width: 100% !important;
  }
  .prop-carousel-arrow { width: 40px; height: 40px; }
}

/* Budget Range must remain fully inside its fifth filter column. */
.prop-filter-bar {
  grid-template-columns: minmax(0,1.08fr) minmax(0,1.08fr) minmax(0,.86fr) minmax(0,.96fr) minmax(220px,1.22fr) minmax(118px,126px) !important;
  align-items: end !important;
}
.prop-filter-bar > .prop-filter-field,
.prop-filter-bar > .prop-filter-budget,
.prop-filter-bar > .prop-filter-reset {
  min-width: 0 !important;
  box-sizing: border-box !important;
}
.prop-filter-bar .prop-filter-budget { width: 100% !important; }
.prop-filter-bar .prop-budget-control {
  position: relative !important;
  width: 100% !important;
  max-width: 100% !important;
  height: 42px !important;
  min-height: 42px !important;
  margin: 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
  border: 1px solid #dfe5e2 !important;
  border-radius: 8px !important;
  background: #fff !important;
}
.prop-filter-bar .prop-budget-values {
  position: absolute !important;
  left: 10px !important;
  right: 10px !important;
  top: 4px !important;
  z-index: 4 !important;
  margin: 0 !important;
  display: flex !important;
  justify-content: space-between !important;
  font-size: 11px !important;
  line-height: 1 !important;
  font-weight: 700 !important;
  pointer-events: none !important;
}
.prop-filter-bar .prop-budget-slider {
  position: absolute !important;
  left: 9px !important;
  right: 9px !important;
  bottom: 2px !important;
  width: auto !important;
  height: 20px !important;
  margin: 0 !important;
}
.prop-filter-bar .prop-budget-slider input[type="range"] {
  top: 50% !important;
  height: 20px !important;
  transform: translateY(-50%) !important;
}
.prop-filter-bar .prop-budget-track,
.prop-filter-bar .prop-budget-range {
  top: 50% !important;
  height: 4px !important;
  transform: translateY(-50%) !important;
}
.prop-filter-bar .prop-budget-values span { white-space: nowrap !important; }
.prop-filter-bar .prop-filter-reset {
  align-self: end !important;
  height: 42px !important;
  min-height: 42px !important;
  margin: 0 !important;
  white-space: nowrap !important;
}
@media (max-width: 1200px) {
  .prop-filter-bar { grid-template-columns: repeat(3,minmax(0,1fr)) !important; }
  .prop-filter-bar .prop-filter-budget { grid-column: span 2 !important; }
  .prop-filter-bar .prop-filter-reset { width: 100% !important; }
}
@media (max-width: 767px) {
  .prop-filter-bar { grid-template-columns: 1fr !important; }
  .prop-filter-bar .prop-filter-budget { grid-column: auto !important; }
}

/* Never allow the legacy full-page spinner to remain over the properties UI. */
#spinner { display: none !important; visibility: hidden !important; opacity: 0 !important; pointer-events: none !important; }

/* Fixed viewport for the horizontal property track. */
.prop-carousel-viewport {
  width: 100%;
  min-width: 0;
  overflow: hidden;
}

/* ===========================================================
   Budget Range filter — final, decisive style (compact single
   card: small uppercase label + value pair on one line, thin
   track underneath). Placed last in the file and using
   !important throughout on purpose: this filter had 7+ earlier,
   partially-overlapping rule blocks for the same classes further
   up this file (search "prop-budget" - each one was a prior
   patch that only partly overrode the one before it), which is
   what caused the inconsistent/misaligned look. Rather than
   untangle that history and risk breaking something relying on
   it, this block simply wins the cascade outright and is the
   single source of truth for how this filter actually looks,
   on both the Home page (#properties) and the Properties page.
   =========================================================== */
#properties .prop-filter-budget,
.prop-filter-bar .prop-filter-budget {
  min-width: 0 !important;
  width: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  background: #f7f7f7 !important;
  border: 1px solid #e6e6e6 !important;
  border-radius: 10px !important;
  padding: 12px 14px !important;
  box-sizing: border-box !important;
  position: static !important;
}
#properties .prop-filter-budget > label,
.prop-filter-bar .prop-filter-budget > label {
  font-size: 11px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.04em !important;
  color: #8a8a8a !important;
  margin: 0 0 6px !important;
  display: block !important;
}
#properties .prop-filter-budget .prop-budget-control,
.prop-filter-bar .prop-filter-budget .prop-budget-control {
  width: 100% !important;
  position: static !important;
}
#properties .prop-filter-budget .prop-budget-values,
.prop-filter-bar .prop-filter-budget .prop-budget-values {
  position: static !important;
  display: flex !important;
  justify-content: flex-end !important;
  align-items: center !important;
  gap: 4px !important;
  width: auto !important;
  margin: 0 0 10px !important;
  padding: 0 !important;
  line-height: 1 !important;
  overflow: visible !important;
  font-size: inherit !important;
  left: auto !important;
  right: auto !important;
  top: auto !important;
}
#properties .prop-filter-budget .prop-budget-values span,
.prop-filter-bar .prop-filter-budget .prop-budget-values span {
  font-size: 12px !important;
  font-weight: 800 !important;
  color: var(--lizy-accent) !important;
  white-space: nowrap !important;
}
#properties .prop-filter-budget .prop-budget-slider,
.prop-filter-bar .prop-filter-budget .prop-budget-slider {
  position: relative !important;
  height: 20px !important;
  margin: 0 6px !important;
}
#properties .prop-filter-budget .prop-budget-track,
#properties .prop-filter-budget .prop-budget-range,
.prop-filter-bar .prop-filter-budget .prop-budget-track,
.prop-filter-bar .prop-filter-budget .prop-budget-range {
  position: absolute !important;
  top: 50% !important;
  height: 6px !important;
  border-radius: 999px !important;
  transform: translateY(-50%) !important;
  pointer-events: none !important;
}
#properties .prop-filter-budget .prop-budget-track,
.prop-filter-bar .prop-filter-budget .prop-budget-track {
  background: #dcdcdc !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
}
#properties .prop-filter-budget .prop-budget-range,
.prop-filter-bar .prop-filter-budget .prop-budget-range {
  background: var(--lizy-accent) !important;
  /* left/right deliberately NOT set here - js/properties.js's
     updateBudgetTrack() sets these inline based on the actual selected
     min/max values. Forcing them here (as an earlier version of this
     block did) permanently pinned this fill bar to full-width,
     regardless of what was dragged - the fix is to just not fight the
     inline styles this element is meant to have. */
}
#properties .prop-filter-budget .prop-budget-slider input[type="range"],
.prop-filter-bar .prop-filter-budget .prop-budget-slider input[type="range"] {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 20px !important;
  margin: 0 !important;
  background: transparent !important;
  -webkit-appearance: none !important;
  appearance: none !important;
  pointer-events: none !important;
}
#properties .prop-filter-budget .prop-budget-slider input[type="range"]::-webkit-slider-runnable-track,
.prop-filter-bar .prop-filter-budget .prop-budget-slider input[type="range"]::-webkit-slider-runnable-track {
  background: transparent !important;
  height: 20px !important;
}
#properties .prop-filter-budget .prop-budget-slider input[type="range"]::-webkit-slider-thumb,
.prop-filter-bar .prop-filter-budget .prop-budget-slider input[type="range"]::-webkit-slider-thumb {
  -webkit-appearance: none !important;
  appearance: none !important;
  pointer-events: auto !important;
  width: 16px !important;
  height: 16px !important;
  border-radius: 50% !important;
  background: var(--lizy-accent) !important;
  border: 2px solid #ffffff !important;
  box-shadow: 0 1px 3px rgba(0,0,0,.3) !important;
  margin-top: 2px !important;
  cursor: pointer !important;
}
#properties .prop-filter-budget .prop-budget-slider input[type="range"]::-moz-range-track,
.prop-filter-bar .prop-filter-budget .prop-budget-slider input[type="range"]::-moz-range-track {
  background: transparent !important;
  height: 20px !important;
}
#properties .prop-filter-budget .prop-budget-slider input[type="range"]::-moz-range-thumb,
.prop-filter-bar .prop-filter-budget .prop-budget-slider input[type="range"]::-moz-range-thumb {
  pointer-events: auto !important;
  width: 16px !important;
  height: 16px !important;
  border-radius: 50% !important;
  background: var(--lizy-accent) !important;
  border: 2px solid #ffffff !important;
  box-shadow: 0 1px 3px rgba(0,0,0,.3) !important;
  cursor: pointer !important;
}
@media (max-width: 767px) {
  #properties .prop-filter-budget,
  .prop-filter-bar .prop-filter-budget {
    grid-column: 1 / -1 !important;
  }
}

/* ================================================================
   FINAL HOME POLISH — BANNER IMAGE FIT + BUDGET ALIGNMENT
   Keep the uploaded banner artwork fully visible inside each card and
   make Budget Range match the height/alignment of the other filters.
   ================================================================ */
.lizy-home .lizyHomeShowcaseCarousel .lizyHomeImageCard {
  background: #eef3f1 !important;
}
.lizy-home .lizyHomeShowcaseCarousel .lizyHomeImageCard img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  object-position: center !important;
  transform: none !important;
  filter: none !important;
}
.lizy-home .lizyHomeShowcaseCarousel .lizyHomeImageCard:hover img {
  transform: none !important;
  filter: none !important;
}
.lizy-home .lizyHomeShowcaseCarousel .lizyHomeImageCard::after {
  background: none !important;
}

/* Budget Range: same outside label + 42px control footprint as the
   Search / Location / BHK / Possession fields. */
.lizy-home #properties .prop-filter-bar {
  grid-template-columns: minmax(0,1fr) minmax(0,1fr) minmax(0,1fr) minmax(0,1fr) minmax(0,1fr) minmax(118px,126px) !important;
  align-items: end !important;
}
.lizy-home #properties .prop-filter-budget {
  min-width: 0 !important;
  width: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
  align-self: end !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  padding: 0 !important;
  position: relative !important;
  box-sizing: border-box !important;
}
.lizy-home #properties .prop-filter-budget > label {
  display: block !important;
  min-height: 16px !important;
  margin: 0 0 7px !important;
  padding: 0 !important;
  font-size: 11px !important;
  line-height: 1.15 !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: .04em !important;
  color: #8a8a8a !important;
}
.lizy-home #properties .prop-filter-budget .prop-budget-control {
  position: relative !important;
  width: 100% !important;
  max-width: 100% !important;
  height: 42px !important;
  min-height: 42px !important;
  margin: 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
  border: 1px solid #dfe5e2 !important;
  border-radius: 8px !important;
  background: #fff !important;
  overflow: hidden !important;
}
.lizy-home #properties .prop-filter-budget .prop-budget-values {
  position: absolute !important;
  left: 10px !important;
  right: 10px !important;
  top: 4px !important;
  z-index: 4 !important;
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  gap: 4px !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1 !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  color: #172033 !important;
  pointer-events: none !important;
}
.lizy-home #properties .prop-filter-budget .prop-budget-values span {
  font-size: 11px !important;
  font-weight: 700 !important;
  color: #172033 !important;
  white-space: nowrap !important;
}
.lizy-home #properties .prop-filter-budget .prop-budget-slider {
  position: absolute !important;
  left: 9px !important;
  right: 9px !important;
  bottom: 2px !important;
  width: auto !important;
  height: 20px !important;
  margin: 0 !important;
  box-sizing: border-box !important;
}
.lizy-home #properties .prop-filter-budget .prop-budget-track,
.lizy-home #properties .prop-filter-budget .prop-budget-range {
  top: 50% !important;
  height: 4px !important;
  transform: translateY(-50%) !important;
  border-radius: 999px !important;
}
.lizy-home #properties .prop-filter-budget .prop-budget-slider input[type="range"] {
  top: 50% !important;
  left: 0 !important;
  width: 100% !important;
  height: 20px !important;
  transform: translateY(-50%) !important;
}

@media (max-width: 1200px) {
  .lizy-home #properties .prop-filter-bar {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
  .lizy-home #properties .prop-filter-budget {
    grid-column: span 2 !important;
  }
}
@media (max-width: 767px) {
  .lizy-home #properties .prop-filter-bar {
    grid-template-columns: 1fr !important;
  }
  .lizy-home #properties .prop-filter-budget {
    grid-column: auto !important;
  }
}


/* ================================================================
   FINAL REQUESTED FIXES — BANNER DISPLAY + BUDGET ALIGNMENT
   ================================================================ */
/* Banner cards: keep the source artwork filling the banner area cleanly. */
.lizy-home .lizyHomeShowcaseCarousel .lizyHomeBannerGroup {
  width: 100% !important;
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 18px !important;
  align-items: stretch !important;
}
.lizy-home .lizyHomeShowcaseCarousel .lizyHomeImageCard {
  display: block !important;
  position: relative !important;
  width: 100% !important;
  height: 300px !important;
  min-width: 0 !important;
  overflow: hidden !important;
  background: #eef3f1 !important;
}
.lizy-home .lizyHomeShowcaseCarousel .lizyHomeImageCard img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  object-fit: cover !important;
  object-position: center center !important;
}
.lizy-home .lizyHomeShowcaseCarousel .owl-item > .lizyHomeBannerGroup {
  width: 100% !important;
}
@media (max-width: 1100px) {
  .lizy-home .lizyHomeShowcaseCarousel .lizyHomeImageCard { height: 270px !important; }
}
@media (max-width: 767px) {
  .lizy-home .lizyHomeShowcaseCarousel .lizyHomeBannerGroup {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }
  .lizy-home .lizyHomeShowcaseCarousel .lizyHomeImageCard { height: 245px !important; }
}

/* Budget Range: label/value share one aligned header row, with the slider
   directly below and the whole control matching the neighbouring filters. */
.lizy-home #properties .prop-filter-bar {
  grid-template-columns:
    minmax(0, 1fr)
    minmax(0, 1fr)
    minmax(0, 1fr)
    minmax(0, 1fr)
    minmax(260px, 1.35fr)
    auto !important;
  align-items: end !important;
}
.lizy-home #properties .prop-filter-budget {
  min-width: 0 !important;
  width: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
  align-self: end !important;
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-sizing: border-box !important;
}
.lizy-home #properties .prop-filter-budget .prop-budget-heading {
  width: 100% !important;
  min-height: 18px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 10px !important;
  margin: 0 0 7px !important;
  padding: 0 !important;
  box-sizing: border-box !important;
}
.lizy-home #properties .prop-filter-budget .prop-budget-heading > label {
  display: block !important;
  flex: 0 0 auto !important;
  margin: 0 !important;
  padding: 0 !important;
  font-size: 11px !important;
  line-height: 1.15 !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: .04em !important;
  color: #8a8a8a !important;
}
.lizy-home #properties .prop-filter-budget .prop-budget-values {
  position: static !important;
  flex: 0 0 auto !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 6px !important;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1 !important;
  font-size: 11px !important;
  color: #172033 !important;
  overflow: visible !important;
  pointer-events: none !important;
}
.lizy-home #properties .prop-filter-budget .prop-budget-values span {
  font-size: 11px !important;
  line-height: 1 !important;
  font-weight: 700 !important;
  color: #172033 !important;
  white-space: nowrap !important;
}
.lizy-home #properties .prop-filter-budget .prop-budget-control {
  position: relative !important;
  width: 100% !important;
  height: 42px !important;
  min-height: 42px !important;
  margin: 0 !important;
  padding: 0 9px !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
  border: 1px solid #dfe5e2 !important;
  border-radius: 8px !important;
  background: #fff !important;
}
.lizy-home #properties .prop-filter-budget .prop-budget-slider {
  position: absolute !important;
  left: 9px !important;
  right: 9px !important;
  bottom: 3px !important;
  width: auto !important;
  height: 20px !important;
  margin: 0 !important;
  box-sizing: border-box !important;
}
.lizy-home #properties .prop-filter-budget .prop-budget-track,
.lizy-home #properties .prop-filter-budget .prop-budget-range {
  top: 50% !important;
  height: 4px !important;
  transform: translateY(-50%) !important;
  border-radius: 999px !important;
}
.lizy-home #properties .prop-filter-budget .prop-budget-slider input[type="range"] {
  top: 50% !important;
  left: 0 !important;
  width: 100% !important;
  height: 20px !important;
  transform: translateY(-50%) !important;
}
@media (max-width: 1200px) {
  .lizy-home #properties .prop-filter-bar { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
  .lizy-home #properties .prop-filter-budget { grid-column: span 2 !important; }
}
@media (max-width: 767px) {
  .lizy-home #properties .prop-filter-bar { grid-template-columns: 1fr !important; }
  .lizy-home #properties .prop-filter-budget { grid-column: auto !important; }
}


/* FINAL BUDGET RANGE ALIGNMENT — Home + Properties pages only.
   Keep the label and selected value on one top row, with the slider
   directly underneath and the two handles at the line ends. */
#properties .prop-filter-budget .prop-budget-heading,
.prop-filter-bar .prop-filter-budget .prop-budget-heading {
  width: 100% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  margin: 0 0 10px !important;
  padding: 0 !important;
  box-sizing: border-box !important;
}

#properties .prop-filter-budget .prop-budget-heading > label,
.prop-filter-bar .prop-filter-budget .prop-budget-heading > label {
  flex: 0 0 auto !important;
  margin: 0 !important;
  padding: 0 !important;
  text-align: left !important;
  line-height: 1 !important;
}

#properties .prop-filter-budget .prop-budget-values,
.prop-filter-bar .prop-filter-budget .prop-budget-values {
  flex: 0 0 auto !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  text-align: right !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}

#properties .prop-filter-budget .prop-budget-values span,
.prop-filter-bar .prop-filter-budget .prop-budget-values span {
  display: inline-block !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}

#properties .prop-filter-budget .prop-budget-values .prop-budget-separator,
.prop-filter-bar .prop-filter-budget .prop-budget-values .prop-budget-separator {
  margin: 0 4px !important;
  color: var(--lizy-accent) !important;
  font-weight: 800 !important;
}

#properties .prop-filter-budget .prop-budget-control,
.prop-filter-bar .prop-filter-budget .prop-budget-control {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

#properties .prop-filter-budget .prop-budget-slider,
.prop-filter-bar .prop-filter-budget .prop-budget-slider {
  width: 100% !important;
  height: 20px !important;
  margin: 0 !important;
  position: relative !important;
}

#properties .prop-filter-budget .prop-budget-track,
#properties .prop-filter-budget .prop-budget-range,
.prop-filter-bar .prop-filter-budget .prop-budget-track,
.prop-filter-bar .prop-filter-budget .prop-budget-range {
  top: 50% !important;
  height: 4px !important;
  border-radius: 999px !important;
  transform: translateY(-50%) !important;
}

#properties .prop-filter-budget .prop-budget-track,
.prop-filter-bar .prop-filter-budget .prop-budget-track {
  left: 0 !important;
  right: 0 !important;
  background: var(--lizy-accent) !important;
}

#properties .prop-filter-budget .prop-budget-range,
.prop-filter-bar .prop-filter-budget .prop-budget-range {
  background: var(--lizy-accent) !important;
}

#properties .prop-filter-budget .prop-budget-slider input[type="range"],
.prop-filter-bar .prop-filter-budget .prop-budget-slider input[type="range"] {
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 20px !important;
  margin: 0 !important;
}

#properties .prop-filter-budget .prop-budget-slider input[type="range"]::-webkit-slider-thumb,
.prop-filter-bar .prop-filter-budget .prop-budget-slider input[type="range"]::-webkit-slider-thumb {
  width: 16px !important;
  height: 16px !important;
  margin-top: 2px !important;
  border: 2px solid #fff !important;
  box-shadow: 0 1px 3px rgba(0,0,0,.25) !important;
}

#properties .prop-filter-budget .prop-budget-slider input[type="range"]::-moz-range-thumb,
.prop-filter-bar .prop-filter-budget .prop-budget-slider input[type="range"]::-moz-range-thumb {
  width: 16px !important;
  height: 16px !important;
  border: 2px solid #fff !important;
  box-shadow: 0 1px 3px rgba(0,0,0,.25) !important;
}

@media (max-width: 767px) {
  #properties .prop-filter-budget .prop-budget-heading,
  .prop-filter-bar .prop-filter-budget .prop-budget-heading {
    gap: 8px !important;
  }
}

/* FINAL BUDGET RANGE — reference layout only
   No card, border, outline, capsule or background around the slider. */
#properties .prop-filter-budget,
.prop-filter-bar .prop-filter-budget {
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
  width: 100% !important;
  min-width: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  box-sizing: border-box !important;
}

#properties .prop-filter-budget .prop-budget-heading,
.prop-filter-bar .prop-filter-budget .prop-budget-heading {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  width: 100% !important;
  min-height: 18px !important;
  margin: 0 0 9px !important;
  padding: 0 !important;
  box-sizing: border-box !important;
}

#properties .prop-filter-budget .prop-budget-heading > label,
.prop-filter-bar .prop-filter-budget .prop-budget-heading > label {
  display: block !important;
  flex: 0 0 auto !important;
  margin: 0 !important;
  padding: 0 !important;
  color: var(--heading, #172033) !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  line-height: 18px !important;
  letter-spacing: .04em !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
}

#properties .prop-filter-budget .prop-budget-heading .prop-budget-values,
.prop-filter-bar .prop-filter-budget .prop-budget-heading .prop-budget-values {
  position: static !important;
  display: flex !important;
  flex: 0 0 auto !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 0 !important;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  color: var(--heading, #172033) !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  line-height: 18px !important;
  white-space: nowrap !important;
  overflow: visible !important;
}

#properties .prop-filter-budget .prop-budget-heading .prop-budget-values span,
.prop-filter-bar .prop-filter-budget .prop-budget-heading .prop-budget-values span {
  color: var(--heading, #172033) !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  line-height: 18px !important;
  white-space: nowrap !important;
}

#properties .prop-filter-budget .prop-budget-control,
.prop-filter-bar .prop-filter-budget .prop-budget-control {
  position: static !important;
  display: block !important;
  width: 100% !important;
  height: 18px !important;
  min-height: 18px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: visible !important;
  box-sizing: border-box !important;
}

#properties .prop-filter-budget .prop-budget-slider,
.prop-filter-bar .prop-filter-budget .prop-budget-slider {
  position: relative !important;
  left: auto !important;
  right: auto !important;
  bottom: auto !important;
  width: 100% !important;
  height: 18px !important;
  margin: 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
}

#properties .prop-filter-budget .prop-budget-track,
#properties .prop-filter-budget .prop-budget-range,
.prop-filter-bar .prop-filter-budget .prop-budget-track,
.prop-filter-bar .prop-filter-budget .prop-budget-range {
  top: 50% !important;
  height: 3px !important;
  border: 0 !important;
  border-radius: 0 !important;
  transform: translateY(-50%) !important;
  box-shadow: none !important;
}

#properties .prop-filter-budget .prop-budget-track,
.prop-filter-bar .prop-filter-budget .prop-budget-track {
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  background: #d6ad2c !important;
}

#properties .prop-filter-budget .prop-budget-range,
.prop-filter-bar .prop-filter-budget .prop-budget-range {
  background: #00483f !important;
}

#properties .prop-filter-budget .prop-budget-slider input[type="range"],
.prop-filter-bar .prop-filter-budget .prop-budget-slider input[type="range"] {
  position: absolute !important;
  top: 50% !important;
  left: 0 !important;
  width: 100% !important;
  height: 18px !important;
  margin: 0 !important;
  padding: 0 !important;
  transform: translateY(-50%) !important;
  background: transparent !important;
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
  -webkit-appearance: none !important;
  appearance: none !important;
  pointer-events: none !important;
}

#properties .prop-filter-budget .prop-budget-slider input[type="range"]::-webkit-slider-runnable-track,
.prop-filter-bar .prop-filter-budget .prop-budget-slider input[type="range"]::-webkit-slider-runnable-track {
  height: 3px !important;
  background: transparent !important;
  border: 0 !important;
}

#properties .prop-filter-budget .prop-budget-slider input[type="range"]::-webkit-slider-thumb,
.prop-filter-bar .prop-filter-budget .prop-budget-slider input[type="range"]::-webkit-slider-thumb {
  -webkit-appearance: none !important;
  appearance: none !important;
  pointer-events: auto !important;
  width: 14px !important;
  height: 14px !important;
  margin-top: -5.5px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 50% !important;
  background: #00483f !important;
  box-shadow: none !important;
  cursor: pointer !important;
}

#properties .prop-filter-budget .prop-budget-slider input[type="range"]::-moz-range-track,
.prop-filter-bar .prop-filter-budget .prop-budget-slider input[type="range"]::-moz-range-track {
  height: 3px !important;
  background: transparent !important;
  border: 0 !important;
}

#properties .prop-filter-budget .prop-budget-slider input[type="range"]::-moz-range-thumb,
.prop-filter-bar .prop-filter-budget .prop-budget-slider input[type="range"]::-moz-range-thumb {
  pointer-events: auto !important;
  width: 14px !important;
  height: 14px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 50% !important;
  background: #00483f !important;
  box-shadow: none !important;
  cursor: pointer !important;
}

#properties .prop-filter-budget .prop-budget-slider input[type="range"]:focus,
.prop-filter-bar .prop-filter-budget .prop-budget-slider input[type="range"]:focus {
  outline: none !important;
  box-shadow: none !important;
}

/* ========================================================================
   LIZY REALTY — DYNAMIC BANNER DISPLAY FIX
   Keep every uploaded banner at its original aspect ratio.  The card uses
   a clean banner-shaped frame and the artwork is contained inside it, so
   portrait/landscape uploads are never stretched or distorted.
   ======================================================================== */
.lizy-home .lizyHomeShowcaseCarousel .lizyHomeBannerGroup {
  align-items: stretch !important;
}

.lizy-home .lizyHomeShowcaseCarousel .lizyHomeImageCard {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  position: relative !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  aspect-ratio: 16 / 9 !important;
  overflow: hidden !important;
  padding: 0 !important;
  border-radius: 18px !important;
  background: #ffffff !important;
  border: 1px solid rgba(0, 72, 63, .10) !important;
  box-shadow: 0 10px 24px rgba(0, 72, 63, .09) !important;
  box-sizing: border-box !important;
}

.lizy-home .lizyHomeShowcaseCarousel .lizyHomeImageCard img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;
  object-fit: contain !important;
  object-position: center center !important;
  transform: none !important;
  filter: none !important;
  background: #ffffff !important;
}

.lizy-home .lizyHomeShowcaseCarousel .lizyHomeImageCard:hover img {
  transform: none !important;
  filter: none !important;
}

.lizy-home .lizyHomeShowcaseCarousel .lizyHomeImageCard::after {
  display: none !important;
}

.lizy-home .lizyHomeShowcaseCarousel .lizyHomeImageArrow {
  right: 12px !important;
  bottom: 12px !important;
  width: 38px !important;
  height: 38px !important;
  background: rgba(255, 255, 255, .96) !important;
  color: #00483f !important;
  box-shadow: 0 6px 16px rgba(0, 0, 0, .16) !important;
}

.lizy-home .lizyHomeShowcaseCarousel .lizyHomeImageCard:hover .lizyHomeImageArrow {
  background: #00483f !important;
  color: #ffffff !important;
  transform: translateY(-2px) !important;
}

@media (max-width: 767px) {
  .lizy-home .lizyHomeShowcaseCarousel .lizyHomeImageCard {
    aspect-ratio: 4 / 3 !important;
    border-radius: 15px !important;
  }
}

/* ========================================================================
   LIZY REALTY — HOME BANNER SIZE (matches approved sample, 2026-09-23)
   Wide 2:1 landscape cards, 3 per slide on desktop, image fills the whole
   card edge to edge (cropped from the centre, never stretched).
   Banners stay fully dynamic from Lizy Admin; this only changes sizing.
   ======================================================================== */
.lizy-home .lizyHomeShowcaseCarousel .lizyHomeBannerGroup {
  gap: 16px !important;
}

.lizy-home .lizyHomeShowcaseCarousel .lizyHomeImageCard {
  height: auto !important;
  aspect-ratio: 2 / 1 !important;
  border-radius: 14px !important;
  background: #e8eeeb !important;
}

.lizy-home .lizyHomeShowcaseCarousel .lizyHomeImageCard img {
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  object-fit: cover !important;
  object-position: center center !important;
  background: transparent !important;
}

@media (max-width: 1099px) {
  .lizy-home .lizyHomeShowcaseCarousel .lizyHomeBannerGroup {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 767px) {
  .lizy-home .lizyHomeShowcaseCarousel .lizyHomeBannerGroup {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }
  .lizy-home .lizyHomeShowcaseCarousel .lizyHomeImageCard {
    aspect-ratio: 2 / 1 !important;
    border-radius: 12px !important;
  }
}
