/* === ABOUT HERO === */
.about-hero-parallax {
    position: relative;
    height: 780px; /* adjust height */
    background-image: var(--hero-desktop);
    background-position: top center; /* align top */
    background-size: 100% auto; /* stretch width, keep aspect ratio */
    background-repeat: no-repeat;
    background-attachment: fixed; /* parallax effect on desktop */
}

/* Content inside hero */
.about-hero-parallax .hero-content {
    position: relative;
    z-index: 2;
    text-align: center;
    color: #fff;
    top: 50%;
    transform: translateY(-50%);
}

.img-carousel {
  position: relative;
  width: 100%;
  height: 527px; /* Optional: set a fixed height or control via parent */
  overflow: hidden;
}

.carousel-slide {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  height: 100%;
  object-fit: contain;
  opacity: 0;
  transition: opacity 0.6s ease-in-out;
  border-radius: 24px;
  z-index: 0;
}

.carousel-slide.active {
  opacity: 1;
  z-index: 1;
}

.carousel-slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* === ABOUT SECTION === */
.section-about {
  width: 100%;
  padding: 100px 160px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.about-wrap {
  display: flex;
  justify-content: space-around;
  align-items: center;
  gap: 6rem;
}

.img-wrap img{
  height: 500px;
  width: 100%;
  object-fit: cover;
}

.about-head {
  width: 872px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: 3rem;
}

.about-head p{
  height: 320px;
  padding-right: 20px;
  overflow-y: auto;
}

.free-para{
  height: 100% !important;
}


.about-head h1{
 text-align: center;
 width: 100%;
}

.about-head p::-webkit-scrollbar {
  width: 6px;
}

.about-head p::-webkit-scrollbar-thumb {
  background: #888;
  border-radius: 3px;
}

.about-head p::-webkit-scrollbar-thumb:hover {
  background: #555;
}

/* === Tablet Landscape (1025px–1280px) === */
@media (max-width: 1280px) {
  .section-about {
    padding: 40px 100px;
  }

  .about-wrap {
    gap: 4rem;
  }
}

/* === Tablet Portrait & Mobile Landscape (768px–1024px) === */
@media (max-width: 1024px) {
 
  .about-hero {
    height: 300px;
    width: 100%;
  }

  .section-about {
    height: auto;
    padding: 40px;
  }

  .about-wrap {
    flex-direction: column;
    gap: 3rem;
  }

  .about-head {
    width: 100%;
    align-items: center;
    text-align: center;
  }

  .img-wrap {
    display: flex;
    justify-content: center;
    width: 100%;
    border-radius: 12px;
  }

  .img-wrap img{
    border-radius: 12px;
  }

  .modal-content {
    padding: 1.5rem;
  }

  .resrevation-form,
  .amortization-form {
    padding: 1rem;
  }

  .tabs {
    flex-direction: column;
    align-items: center;
  }

  .flex-cont {
    flex-direction: column;
  }

  .btn {
    max-width: 320px;
    width: 100%;
    height: 50px;
  }
}

/* === Mobile Landscape (481px–767px) === */
@media (max-width: 767px) {
  .hero-carousel {
    height: 400px;
  }

  .about-hero {
    height: 400px;
  }

  .btn {
    font-size: 14px;
    height: 48px;
  }

  .dot-indicator {
    width: 20px;
    height: 8px;
  }

  .oval-pagination {
    bottom: 20px;
    gap: 6px;
  }
}

/* === Mobile Portrait (≤600px) === */
@media (max-width: 600px) {
  .about-hero-parallax {
        height: 280px; /* smaller hero */
        background-image: var(--hero-mobile);
        background-size: cover; /* better crop on mobile */
        background-position: center;
        background-attachment: scroll; /* disable parallax (iOS fix) */
    }

    .about-hero-parallax .hero-content {
        top: 50%;
        transform: translateY(-50%);
        padding: 0 20px; /* spacing for text */
    }

  .section-about {
    padding: 20px;
  }

  .about-head {
    gap: 1.5rem;
  }

  .img-wrap img{
    height: 312px;
  }

  .img-carousel{
    height: 310px;
  }

  .carousel-slide img {
    height: 351px;
  }

  .payment-buttons {
    flex-direction: column;
    align-items: center;
  }

  .btn {
    font-size: 14px;
    height: 44px;
  }

  .amort-btn,
  .reserv-btn {
    width: 100%;
    max-width: 140px;
  }

  .tabs {
    gap: 0.5rem;
  }

  .modal-content {
    padding: 1rem;
  }
} 