.properties-section{
  margin-top:20px;
  width: 100%;
  /* height: 798px; */
  opacity: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 20px;

  /* new added */
  display: block;
  overflow: auto;
  scroll-behavior: smooth;
  scrollbar-width: none;
}


.properties-section h2 {     
  display: block; text-align: center;
  font-family: 'Denton Test';
  font-weight: 420;
  font-style: normal;
  font-size: 48px;
  line-height: 100%;
  letter-spacing: 0;
  text-align: center;
  color: #000;
  margin-bottom: 20px;
}
.properties-section h2 span {  position:relative; }


.properties-section h2 span::before,
.properties-section h2 span::after {
  content: "";
  position: absolute;
  top: 50%;
  width: 100px;                 /* Line length */
  height: 2px;                  /* Line thickness */
  background-color: #70724F;       /* White color */
  transform: translateY(-50%);
}

.properties-section h2 span::before {
  left: -120px;             
}

.properties-section h2 span::after {
  right: -120px;                
}

.property-images{
    margin: 40px;
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    gap: 30px;
    margin-top: 40px;
    position: relative;
     /* width: 100%; or fixed width */
  /* height: auto; or fixed height */
    /* border: 1px solid red; */
justify-content: space-between;
  overflow: hidden;
  min-width:1100px;
}

.first-property,
.second-property,
.third-property,
.fourth-property {
  position: relative; /* Important for absolute child positioning */
  overflow: hidden;
  border-radius: 40px;
  cursor: pointer;
}


.property-image{
    /* position: relative;
width: 799px;
height: 566px;
opacity: 1;
border-radius: 40px;
overflow: hidden;
z-index: 0;
  object-fit: cover;
   opacity: 0;  */

    display: block;
  width: 100%;
  height: auto;
  object-fit: cover;
  opacity: 0; /* Start invisible for animation */
  border-radius: inherit; /* Inherit parent's border radius */
   animation-fill-mode: forwards;
}
.property-image.first {
  width: 799px;
  height: 566px;
  animation: slideInFromLeft 1s forwards;
}

.property-image.second {
  width: 147px;
  height: 569px;
  /* padding: 40px; */
  border-radius: 30px;
  /* animation: slideInFromRight 1s forwards; */
  animation-delay: 1.2s;
}

.property-image.third {
  width: 147px;
  height: 569px;
  border-radius: 30px;
  /* animation: slideInFromBottom 1s forwards; */
  animation-delay: 2.4s;
}

.property-image.fourth {
  width: 147px;
  height: 569px;
  border-radius: 30px;
  /* animation: slideInFromBottom 1s forwards; */
  animation-delay: 3.6s;
}

/* Animations keyframes */
@keyframes slideInFromLeft {
  from {
    transform: translateX(-100%) scale(0.8);
    opacity: 0;
  }
  to {
    transform: translateX(0) scale(1);
    opacity: 1;
  }
}

@keyframes slideInFromRight {
  from {
    transform: translateX(100%) scale(0.8);
    opacity: 0;
  }
  to {
    transform: translateX(0) scale(1);
    opacity: 1;
  }
}

@keyframes slideInFromBottom {
  from {
    transform: translateY(100%) scale(0.8);
    opacity: 0;
  }
  to {
    transform: translateY(0) scale(1);
    opacity: 1;
  }
}

.property-name{
    margin: 40px;
    position: absolute;
    font-family:'DM Sans';
font-weight: 500;
font-style: Medium;
font-size: 36px;
line-height: 101%;
letter-spacing: 0%;
text-transform: uppercase;
z-index: 2;
padding-bottom: 10px;
}

.property-location{
     margin-top: 80px;
     margin-left: 40px;
      position: absolute;
    font-family: 'DM Sans';
font-weight: 400;
font-style:normal;
font-size: 16px;
line-height: 148%;
letter-spacing: 0%;
z-index: 2;

}


.property-name, .property-location {
  position: absolute;
  color: white;
  text-shadow: 0 0 5px rgba(0,0,0,0.7); /* Improve readability on images */
  z-index: 2;
  left: 24px;
   pointer-events: none;
   gap:20px
}

/* .property-name {
  bottom: 50px;
  font-family: 'DM Sans', sans-serif;
  font-weight: 500;
  font-size: 36px;
  line-height: 101%;
  letter-spacing: 0;
  text-transform: uppercase;
  margin: 0;
}

.property-location {
  bottom: 15px;
  font-family: 'DM Sans', sans-serif;
  font-weight: 400;
  font-size: 16px;
  line-height: 148%;
  letter-spacing: 0;
  margin: 0;
} */


/* Keyframes */
@keyframes slideInFromLeft {
  from { transform: translateX(-100%) scale(0.96); opacity: 0;}
  to   { transform: translateX(0) scale(1); opacity: 1;}
}
@keyframes slideInFromRight {
  from { transform: translateX(100%) scale(0.96); opacity: 0;}
  to   { transform: translateX(0) scale(1); opacity: 1;}
}

/* Trigger animations one by one with delays */
.first-property .property-image.first {
      /* width: 799px;
  height: 566px; */
  animation: slideInFromLeft 1s 0s forwards;
  opacity: 0;
  
}
.second-property .property-image.second {
      /* width: 799px;
  height: 566px; */
  animation: slideInFromLeft 1s 0.5s forwards;
  opacity: 0;
}
.third-property .property-image.third {
      /* width: 799px;
  height: 566px; */
  animation: slideInFromLeft 1s 1s forwards;
  opacity: 0;
}
.fourth-property .property-image.fourth {
      /* width: 799px;
  height: 566px; */
  animation:slideInFromLeft 1s 1.5s forwards;
  opacity: 0;
}

.property {
  position: relative;
  overflow: hidden;
  border-radius: 20px;
  cursor: pointer;
  transition: all 0.5s ease;
  flex: 0 0 120px; /* small width for inactive */
  height: 500px; /* small height for inactive */
  
}



.property-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: inherit;
  transition: all 0.5s ease;
  display: block;
  opacity: 1;
}

/* Vertical text for inactive */
.property-name-vertical {
  position: absolute;
  bottom: 30px;
  left: 50%;
  transform: translateX(-50%) rotate(180deg);
  writing-mode: vertical-rl;
  font-family: 'DM Sans', sans-serif;
  color: white;
  text-shadow: 0 0 5px rgba(0,0,0,0.7);
  font-size: 21px;
  font-weight: 500;
  opacity: 1;  /* Make sure it's visible */
  width: 100%;
  text-align: center;
  pointer-events: none;
}
/* Horizontal text for active */
.property-name {
  writing-mode: horizontal-tb;
  font-size: 36px;
  color: white;
  text-shadow: 0 0 5px rgba(0,0,0,0.7);
  bottom: 50px;
  left: 24px;
}

.property-location {
  writing-mode: horizontal-tb;
  font-size:16px;
  color: white;
  text-shadow: 0 0 5px rgba(0,0,0,0.7);
  bottom: 70px;
  left: 24px;
}

.property-name {
  position: absolute;
  bottom: 30px;
  left: 50%;
  transform: translateX(-50%) rotate(180deg);
  writing-mode: vertical-rl;
  font-family: 'DM Sans', sans-serif;
  color: white;
  text-shadow: 0 0 5px rgba(0,0,0,0.7);
  font-size: 21px;
  font-weight: 500;
  opacity: 1;
  width: 100%;
  text-align: center;
  pointer-events: none;
  transition: all 0.3s;
}

.property.active .property-name {
  left: 24px;
  bottom: 50px;
  transform: none;
  writing-mode: horizontal-tb;
  font-size: 36px;
  width: auto;
  text-align: left;
  text-transform: uppercase;
}

.property:not(.active) .property-location {
/* box-shadow: 0 8px 20px rgba(0, 0, 0, 0.25); gray shadow */
  display: none;
}


.property.active .property-image {
   /* border-radius: 40px; */
  object-fit: cover;
  width: 100%;
  height: 100%;
  display: block;
  z-index: 1;               /* Below the cutout and button */
  position: relative;
}


.property.active{
  flex: 4; /* large width for active */
  /* height: 500px;   large height for active */
  transform: scale(1.05);
  z-index: 2;
     /* border-radius: 40px 40px 250px 40px; */
  /* overflow: hidden; */
   position: relative;
   /* max-width: none; */

}

/* .property.active::after {
  content: "";
  position: absolute;
  bottom: -35px;
  right: 10px;
  width: 160px;
  height: 150px;
  background: #fff;
  border-radius: 120% 50% 160% 100% / 200% 40% 140% 100%;
  transform: rotate(-4deg);
  z-index: 10;
  pointer-events: none;
} */
/* Optionally position your button inside this cutout */
/* Arrow button styling */
.property.active .view-property-btn {
  position: absolute;
  /* top: 521px; /* updated from bottom */
  /* left: 693px; updated from right */ 

    bottom: -0px;          
  /* right: 30px;   */
  right:22px;  
   /* updated width */
   /* width: 61px; */
   /* updated height */
  /* height: 44.5135px;  */
  width: 51px;
  height: 34.5135px; 
  background-color: #764914; /* updated background */
  border: 1px solid #764914; /* updated border */
  border-radius: 37.23px; /* updated border radius */
  color: white;
  font-size: 20px;
  cursor: pointer;
  z-index: 20;
  
  display: flex;
  align-items: center;
  justify-content: center;
  
  /* padding-top: 10.01px; */
  padding-left: 13.76px;
  padding-right: 13.76px;
  
  gap: 6.25px; /* space between inner content if any */
  opacity: 1;
  font-weight: bold;
  font-size: 28px; 
  overflow: hidden;
}


.property .expand-property-btn {
  position: absolute;
  top: 15px;  /* place at top */
  right: 15px; 
  width: 50px;
  height: 50px;
  left:30px;
  background:transparent;
  color: #fff;
  border: none;
  /* border-radius: 50%; */
  font-size: 30px;
  font-weight: bold;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 30; /* above images */
  opacity: 1;
  transition: all 0.3s ease;
}

.property.active .expand-property-btn {
  display: none; /* hide + button on active property */
}

@keyframes slideInFromRightToLeft {
  from {
    transform: translateX(100%) scale(0.8);
    opacity: 0;
  }
  to {
    transform: translateX(0) scale(1);
    opacity: 1;
  }
}

/* Apply this animation to the first image */
.property-image.first {
  animation: slideInFromRightToLeft 1s forwards;
  opacity: 0;
}

@keyframes slideActiveLeftToRight {
  from {
    transform: translateX(-100%); /* start off-screen on the left */
  }
  to {
    transform: translateX(0); /* end at normal position */
  }
}

/* Apply the animation to active property */
.property.active {
  animation: slideActiveLeftToRight 0.6s ease forwards;
  transform-origin: left center;
}
/* 
mobile-css */

.mobile-property-cover { display:none; }
.mobile-property-cover .single-property-wrap { margin-bottom:20px; }
.single-property-wrap a { display:block; width:100%; height:340px; transition:.3s ease-in-out;
  border-radius: 50px; overflow:hidden; position:relative; text-decoration: none; outline:none;
}
.single-property-wrap a img{ width:100%; height:100%; object-fit:cover; object-position:top; transition:.3s ease-in-out; }
.single-property-wrap a:hover > img { transform: scale(1.1); }
.single-property-wrap a .details-cover { position:absolute; min-height:70px; left:30px; right:30px; bottom:20px; color:#fff; }
.single-property-wrap a .details-cover .prop-name { font-size:21px; font-weight:500; font-family: 'DM Sans', sans-serif; margin-bottom:5px; }
.single-property-wrap a .details-cover .prop-location {  font-family:'DM Sans'; font-weight:400; font-size: 16px; }

@media(max-width:992px){
  .properties-section h2 { font-size:36px; }
  .properties-section h2 span::before, .properties-section h2 span::after { width:60px; }
  .properties-section h2 span::before { left:-80px; }
  .properties-section h2 span::after { right:-80px; }
}
@media(max-width:767px){
  .properties-section { height:auto; }
  .property-images { margin:40px 0px; }
  .properties-section h2 { font-size:28px; }
  .properties-section h2 span::before, .properties-section h2 span::after { width:60px; }
  .properties-section h2 span::before { left:-80px; }
  .properties-section h2 span::after {right:-80px; }

  .property-images { display:none; }
  .mobile-property-cover { display:block; }
}

@media(max-width:575px) {
  .single-property-wrap a{ height:280px; }
}

@media(max-width:480px){
  .properties-section h2 { font-size:24px; }
  .properties-section h2 span::before, .properties-section h2 span::after { width:30px; }
  .properties-section h2 span::before { left:-40px; }
  .properties-section h2 span::after { right:-40px; }
}

