/* Premium design pass for the Eco Villas and Sustainability Programs pages.
   Keeps the preserved Elementor content and interactions while aligning both
   pages with Kirana's forest, ivory and gold homepage system. */

.elementor-569,
.elementor-3943 {
  --kirana-forest: #253331;
  --kirana-forest-deep: #192b27;
  --kirana-sage: #6f9188;
  --kirana-gold: #e8b75c;
  --kirana-ivory: #fbf8f1;
  --kirana-sand: #f3eee4;
  --kirana-ink: #253331;
  --kirana-copy: #4f5d59;
}

/* ---------- Eco Villas ---------- */

.elementor-569 .elementor-element.elementor-element-60a3bf5 {
  --min-height: clamp(480px, 68svh, 680px);
  --padding-top: clamp(6rem, 13vw, 10rem);
  --padding-bottom: clamp(5rem, 11vw, 8rem);
  --padding-left: clamp(1.25rem, 5vw, 4rem);
  --padding-right: clamp(1.25rem, 5vw, 4rem);
  background-color: var(--kirana-forest-deep) !important;
  background-image:
    linear-gradient(180deg, rgba(20, 36, 32, .46), rgba(20, 36, 32, .76)),
    url("/wp-content/uploads/2023/10/the-huts-gallery-1.webp") !important;
  background-position: center, center 58% !important;
  background-repeat: no-repeat !important;
  background-size: cover !important;
  justify-content: center;
  overflow: hidden;
}

.elementor-569 .elementor-element.elementor-element-60a3bf5::before,
.elementor-569 .elementor-element.elementor-element-60a3bf5 > .elementor-shape-bottom {
  display: none !important;
}

.elementor-569 .elementor-element.elementor-element-e8ae542 > .elementor-widget-container {
  padding: 0 !important;
}

.elementor-569 .elementor-element.elementor-element-e8ae542 .elementor-heading-title {
  color: #fff !important;
  font-family: "Arima", "Arima Madurai", Georgia, serif !important;
  font-size: clamp(3.2rem, 7vw, 5.7rem) !important;
  font-weight: 500 !important;
  letter-spacing: -.035em !important;
  line-height: .98 !important;
  margin-inline: auto;
  max-width: 12ch;
  text-shadow: 0 4px 28px rgba(8, 18, 16, .58) !important;
  text-wrap: balance;
}

.elementor-569 .elementor-element.elementor-element-76272e5 {
  --padding-top: clamp(4.5rem, 8vw, 7rem);
  --padding-bottom: clamp(4.5rem, 8vw, 7rem);
  --padding-left: clamp(1.25rem, 5vw, 4rem);
  --padding-right: clamp(1.25rem, 5vw, 4rem);
  background: var(--kirana-ivory);
}

.elementor-569 .elementor-element.elementor-element-76272e5 > .e-con-inner {
  max-width: 1180px;
}

.elementor-569 .elementor-element.elementor-element-c987dc6 {
  align-items: start;
  display: grid !important;
  gap: 1.75rem clamp(3rem, 7vw, 6rem);
  grid-template-columns: minmax(300px, .82fr) minmax(480px, 1.18fr);
}

.elementor-569 .elementor-element.elementor-element-3704831 {
  grid-row: 1 / span 2;
  text-align: left;
}

.elementor-569 .elementor-element.elementor-element-3704831 .elementor-heading-title,
.elementor-569 .elementor-element.elementor-element-c9051fd .elementor-heading-title,
.elementor-569 .elementor-element.elementor-element-5b2329d .elementor-heading-title,
.elementor-569 .elementor-element.elementor-element-fda740e .elementor-heading-title {
  color: var(--kirana-ink) !important;
  font-family: "Arima", "Arima Madurai", Georgia, serif !important;
  font-size: clamp(2.5rem, 4.3vw, 4.15rem) !important;
  font-weight: 500 !important;
  letter-spacing: -.025em !important;
  line-height: 1.04 !important;
  text-wrap: balance;
}

.elementor-569 .elementor-element.elementor-element-3704831 b {
  color: var(--kirana-sage);
  font-weight: 400;
}

.elementor-569 .elementor-element.elementor-element-48e9d16 {
  color: var(--kirana-copy) !important;
  font-size: 1rem !important;
  line-height: 1.85 !important;
  text-align: left !important;
  word-spacing: normal !important;
}

.elementor-569 .elementor-element.elementor-element-48e9d16 > .elementor-widget-container {
  padding: 0 !important;
}

.elementor-569 .elementor-element.elementor-element-48e9d16 p {
  margin: 0 0 1rem;
}

.elementor-569 .elementor-element.elementor-element-c4fcb5b {
  text-align: left;
}

.elementor-569 .elementor-element.elementor-element-c4fcb5b .elementor-button,
.elementor-569 .elementor-element.elementor-element-5ea57ff .elementor-button,
.elementor-569 .elementor-element.elementor-element-6c9107e .elementor-button {
  background: var(--kirana-gold) !important;
  border: 0 !important;
  border-radius: 3px !important;
  box-shadow: 0 10px 24px rgba(37, 51, 49, .14);
  color: #111715 !important;
  fill: #111715 !important;
  font-size: .78rem !important;
  font-weight: 700 !important;
  letter-spacing: .13em !important;
  padding: 1.05rem 2rem !important;
  text-transform: uppercase;
}

.elementor-569 .elementor-button span { color: inherit !important; }
.elementor-569 .elementor-button:hover { background: #f0c877 !important; transform: translateY(-1px); }

.elementor-569 .elementor-element.elementor-element-43381f7 {
  --padding-top: 0;
  --padding-bottom: clamp(4.5rem, 8vw, 7rem);
  --padding-left: clamp(1rem, 3vw, 2.5rem);
  --padding-right: clamp(1rem, 3vw, 2.5rem);
  background: var(--kirana-ivory);
}

.elementor-569 .elementor-element.elementor-element-e9bb8bc {
  border-radius: 20px;
  box-shadow: 0 24px 60px rgba(25, 43, 39, .13);
  margin-inline: auto;
  max-width: 1280px;
  overflow: hidden;
}

.elementor-569 .elementor-element.elementor-element-312d833 .elementor-main-swiper {
  height: clamp(390px, 38vw, 540px) !important;
}

.elementor-569 .elementor-element.elementor-element-312d833 .elementor-swiper-button {
  align-items: center;
  background: rgba(251, 248, 241, .94);
  border-radius: 50%;
  box-shadow: 0 8px 24px rgba(25, 43, 39, .2);
  color: var(--kirana-forest) !important;
  display: flex;
  height: 48px;
  justify-content: center;
  width: 48px;
}

.elementor-569 .elementor-element.elementor-element-312d833 .elementor-swiper-button svg {
  fill: var(--kirana-forest) !important;
  height: 18px;
  width: 18px;
}

.elementor-569 .elementor-element.elementor-element-dc9cced {
  --padding-top: clamp(4.5rem, 8vw, 7rem);
  --padding-bottom: clamp(4.5rem, 8vw, 7rem);
  --padding-left: clamp(1.25rem, 5vw, 4rem);
  --padding-right: clamp(1.25rem, 5vw, 4rem);
  background: #fff;
}

.elementor-569 .elementor-element.elementor-element-dc9cced > .e-con-inner {
  gap: clamp(2.5rem, 6vw, 5rem);
  max-width: 1180px;
}

.elementor-569 .elementor-element.elementor-element-fdfb719 {
  --padding-right: 0;
}

.elementor-569 .elementor-element.elementor-element-5ee027f {
  align-self: flex-start;
  background: var(--kirana-forest);
  border-radius: 18px;
  box-shadow: 0 22px 48px rgba(25, 43, 39, .18);
  gap: 1.25rem;
  padding: 2rem;
  position: sticky;
  top: 110px;
}

.elementor-569 .elementor-element.elementor-element-d3fdb9a img {
  filter: brightness(0) invert(1);
  opacity: .82;
  width: 100%;
}

.elementor-569 .elementor-element.elementor-element-69f4f23 {
  --padding-top: clamp(4.5rem, 8vw, 7rem);
  --padding-bottom: clamp(4.5rem, 8vw, 7rem);
  --padding-left: clamp(1.25rem, 5vw, 4rem);
  --padding-right: clamp(1.25rem, 5vw, 4rem);
  background: var(--kirana-forest-deep);
}

.elementor-569 .elementor-element.elementor-element-d2af960 {
  --gap: 1rem;
  --padding-top: 0;
  --padding-bottom: 0;
  --padding-left: 0;
  --padding-right: 0;
  background: transparent !important;
  margin-inline: auto;
  max-width: 1140px;
}

.elementor-569 .elementor-element.elementor-element-69f4f23 .elementor-icon-box-wrapper {
  background: rgba(255, 255, 255, .07);
  border: 1px solid rgba(255, 255, 255, .12);
  border-radius: 14px;
  min-height: 118px;
  padding: 1.25rem 1rem;
}

.elementor-569 .elementor-element.elementor-element-69f4f23 .elementor-icon {
  color: var(--kirana-gold) !important;
  fill: var(--kirana-gold) !important;
  font-size: 34px !important;
}

.elementor-569 .elementor-element.elementor-element-69f4f23 .elementor-icon-box-title,
.elementor-569 .elementor-element.elementor-element-69f4f23 .elementor-icon-box-title a {
  color: #fff !important;
  font-size: .9rem !important;
  font-weight: 600 !important;
  line-height: 1.35 !important;
}

.elementor-569 .elementor-element.elementor-element-6c9107e {
  --padding-top: clamp(4.5rem, 8vw, 7rem);
  --padding-bottom: clamp(4.5rem, 8vw, 7rem);
  --padding-left: clamp(1.25rem, 5vw, 4rem);
  --padding-right: clamp(1.25rem, 5vw, 4rem);
  background: var(--kirana-sand);
}

.elementor-569 .elementor-element.elementor-element-6c9107e > .e-con-inner {
  max-width: 1140px;
}

.elementor-569 .elementor-element.elementor-element-3f8299f,
.elementor-569 .elementor-element.elementor-element-159a734 {
  background: #fff;
  border: 1px solid rgba(37, 51, 49, .08);
  border-radius: 18px;
  box-shadow: 0 18px 44px rgba(37, 51, 49, .1);
  overflow: hidden;
  padding: 1.25rem;
}

.elementor-569 .elementor-element.elementor-element-3f8299f img,
.elementor-569 .elementor-element.elementor-element-159a734 img {
  border-radius: 12px;
}

.elementor-569 .elementor-element.elementor-element-3f8299f h3,
.elementor-569 .elementor-element.elementor-element-159a734 h3 {
  color: var(--kirana-forest) !important;
  font-family: "Arima", "Arima Madurai", Georgia, serif !important;
  font-size: 2rem !important;
  font-weight: 500 !important;
}

.elementor-569 .elementor-element.elementor-element-65e848b {
  --padding-top: clamp(4.5rem, 8vw, 7rem);
  --padding-bottom: clamp(4.5rem, 8vw, 7rem);
  --padding-left: clamp(1.25rem, 5vw, 4rem);
  --padding-right: clamp(1.25rem, 5vw, 4rem);
  background: var(--kirana-forest) !important;
}

.elementor-569 .elementor-element.elementor-element-fda740e .elementor-heading-title {
  color: #fff !important;
}

.elementor-569 .elementor-element.elementor-element-65e848b .elementor-accordion-item {
  background: var(--kirana-ivory);
  border: 0 !important;
  border-radius: 12px;
  margin-bottom: .75rem;
  overflow: hidden;
}

/* ---------- Sustainability Programs ---------- */

.elementor-3943 .elementor-element.elementor-element-1c59f732 {
  --min-height: clamp(500px, 68svh, 680px);
  --padding-top: clamp(6rem, 13vw, 10rem);
  --padding-bottom: clamp(5rem, 11vw, 8rem);
  --padding-left: clamp(1.25rem, 5vw, 4rem);
  --padding-right: clamp(1.25rem, 5vw, 4rem);
  background-color: var(--kirana-forest-deep) !important;
  background-image:
    linear-gradient(180deg, rgba(20, 36, 32, .3), rgba(20, 36, 32, .72)),
    url("/wp-content/uploads/2024/05/DSC04138-1-1.webp") !important;
  background-position: center, center 48% !important;
  background-repeat: no-repeat !important;
  background-size: cover !important;
  justify-content: center;
  overflow: hidden;
}

.elementor-3943 .elementor-element.elementor-element-1c59f732::before,
.elementor-3943 .elementor-element.elementor-element-1c59f732 > .elementor-shape-bottom {
  display: none !important;
}

.elementor-3943 .elementor-element.elementor-element-638dbe3 .elementor-heading-title {
  color: #fff !important;
  font-family: "Arima", "Arima Madurai", Georgia, serif !important;
  font-size: clamp(3rem, 6.5vw, 5.5rem) !important;
  font-weight: 500 !important;
  letter-spacing: -.035em !important;
  line-height: 1 !important;
  margin-inline: auto;
  max-width: 15ch;
  text-align: center;
  text-shadow: 0 4px 28px rgba(8, 18, 16, .58) !important;
  text-wrap: balance;
}

.elementor-3943 .elementor-element.elementor-element-b2ea762 > .e-con-inner {
  max-width: none;
  width: 100%;
}

.elementor-3943 .elementor-element.elementor-element-290a91d,
.elementor-3943 .elementor-element.elementor-element-290a91d > .elementor-widget-container {
  width: 100%;
}

.elementor-3943 .kp {
  background: var(--kirana-ivory) !important;
  color: var(--kirana-copy) !important;
}

.elementor-3943 .kp-wrap {
  max-width: 1180px !important;
  padding-inline: clamp(1.25rem, 5vw, 3.5rem) !important;
}

.elementor-3943 .kp-sec {
  padding-block: clamp(4.5rem, 8vw, 7rem) !important;
}

.elementor-3943 .kp-bg-light { background: #edf3ef !important; }
.elementor-3943 .kp-bg-grey { background: var(--kirana-sand) !important; }
.elementor-3943 .kp-bg-teal { background: var(--kirana-forest) !important; }

.elementor-3943 .kp-label {
  color: var(--kirana-sage) !important;
  letter-spacing: .22em !important;
  margin-bottom: .9rem !important;
}

.elementor-3943 .kp-label-w { color: rgba(255, 255, 255, .68) !important; }

.elementor-3943 .kp-title {
  color: var(--kirana-ink) !important;
  font-family: "Arima", "Arima Madurai", Georgia, serif !important;
  font-size: clamp(2.5rem, 4.4vw, 4.25rem) !important;
  font-weight: 500 !important;
  letter-spacing: -.025em !important;
  line-height: 1.04 !important;
  margin-bottom: 1.5rem !important;
  text-transform: none !important;
  text-wrap: balance;
}

.elementor-3943 .kp-title em {
  color: var(--kirana-sage) !important;
  font-weight: 400 !important;
  letter-spacing: inherit !important;
}

.elementor-3943 .kp-title-w { color: #fff !important; }
.elementor-3943 .kp-title-w em { color: #d8c28e !important; }

.elementor-3943 .kp-text,
.elementor-3943 .kp-ps-body,
.elementor-3943 .kp-gc-body,
.elementor-3943 .kp-pc-body {
  color: var(--kirana-copy) !important;
  font-size: 1rem !important;
  font-weight: 400 !important;
  line-height: 1.8 !important;
}

.elementor-3943 .kp-split,
.elementor-3943 .kp-eco {
  border-radius: 24px;
  box-shadow: 0 24px 64px rgba(25, 43, 39, .12);
  margin: clamp(3rem, 6vw, 5.5rem) auto;
  max-width: 1240px;
  overflow: hidden;
}

.elementor-3943 .kp-split-text {
  background: var(--kirana-ivory) !important;
  padding: clamp(3.5rem, 7vw, 6rem) !important;
}

.elementor-3943 .kp-split-photo { min-height: 620px !important; }

.elementor-3943 .kp-stat-num {
  color: var(--kirana-sage) !important;
  font-size: clamp(4rem, 7vw, 5.5rem) !important;
}

.elementor-3943 .kp-highlight {
  background: #f4ead6 !important;
  border-left-color: var(--kirana-gold) !important;
  border-radius: 0 10px 10px 0;
  color: var(--kirana-forest) !important;
}

.elementor-3943 .kp-process {
  border: 0 !important;
  gap: .9rem;
  background: transparent !important;
}

.elementor-3943 .kp-ps,
.elementor-3943 .kp-gc,
.elementor-3943 .kp-pc {
  background: #fff !important;
  border: 1px solid rgba(37, 51, 49, .09) !important;
  border-radius: 14px;
  box-shadow: 0 12px 30px rgba(37, 51, 49, .07);
}

.elementor-3943 .kp-ps { padding: 2rem 1.5rem !important; }
.elementor-3943 .kp-ps-num { color: var(--kirana-sage) !important; }
.elementor-3943 .kp-ps-title { color: var(--kirana-forest) !important; letter-spacing: .16em !important; }

.elementor-3943 .kp-strip {
  gap: .75rem !important;
  margin: 0 auto;
  max-width: 1240px;
  padding-inline: clamp(1rem, 3vw, 2rem);
}

.elementor-3943 .kp-strip-item { border-radius: 14px; }

.elementor-3943 .kp-g-grid,
.elementor-3943 .kp-pg { gap: 1rem !important; }

.elementor-3943 .kp-gc { border-top: 3px solid var(--kirana-gold) !important; }
.elementor-3943 .kp-gc-special { background: var(--kirana-forest) !important; }
.elementor-3943 .kp-gc-special .kp-gc-body { color: rgba(255, 255, 255, .76) !important; }

.elementor-3943 .kp-eco-text {
  background: var(--kirana-forest) !important;
  padding: clamp(3.5rem, 7vw, 6rem) !important;
}

.elementor-3943 .kp-eco-photo { min-height: 640px !important; }

.elementor-3943 a.kp-btn-white,
.elementor-3943 a.kp-btn-teal {
  background: var(--kirana-gold) !important;
  color: #111715 !important;
}

.elementor-3943 a.kp-btn-ghost {
  border-color: rgba(255, 255, 255, .52) !important;
  color: #fff !important;
}

.elementor-3943 .kp-cta {
  background: #fff;
  border: 1px solid rgba(37, 51, 49, .08);
  border-radius: 22px;
  box-shadow: 0 20px 52px rgba(37, 51, 49, .09);
  padding: clamp(2.5rem, 6vw, 5rem) !important;
}

@media (max-width: 900px) {
  .elementor-569 .elementor-element.elementor-element-c987dc6 {
    grid-template-columns: 1fr;
  }

  .elementor-569 .elementor-element.elementor-element-3704831 {
    grid-row: auto;
    text-align: center;
  }

  .elementor-569 .elementor-element.elementor-element-48e9d16 {
    margin-inline: auto;
    max-width: 64ch;
  }

  .elementor-569 .elementor-element.elementor-element-c4fcb5b { text-align: center; }
  .elementor-569 .elementor-element.elementor-element-5ee027f { position: static; }

  .elementor-3943 .kp-split,
  .elementor-3943 .kp-eco { grid-template-columns: 1fr !important; }

  .elementor-3943 .kp-split-photo,
  .elementor-3943 .kp-eco-photo { min-height: 480px !important; }

  .elementor-3943 .kp-process { grid-template-columns: repeat(2, 1fr) !important; }
  .elementor-3943 .kp-pg { grid-template-columns: repeat(2, 1fr) !important; }
}

@media (max-width: 600px) {
  .elementor-569 .elementor-element.elementor-element-60a3bf5,
  .elementor-3943 .elementor-element.elementor-element-1c59f732 {
    --min-height: 520px;
    background-position: center, center !important;
  }

  .elementor-569 .elementor-element.elementor-element-e8ae542 .elementor-heading-title,
  .elementor-3943 .elementor-element.elementor-element-638dbe3 .elementor-heading-title {
    font-size: clamp(2.8rem, 14vw, 4.3rem) !important;
  }

  .elementor-569 .elementor-element.elementor-element-312d833 .elementor-main-swiper {
    height: 440px !important;
  }

  .elementor-569 .elementor-element.elementor-element-69f4f23 .elementor-icon-box-wrapper {
    min-height: 104px;
  }

  .elementor-3943 .kp-wrap { padding-inline: 1.25rem !important; }
  .elementor-3943 .kp-split,
  .elementor-3943 .kp-eco { border-radius: 0; margin-block: 0; }
  .elementor-3943 .kp-split-text,
  .elementor-3943 .kp-eco-text { padding: 3.5rem 1.35rem !important; }
  .elementor-3943 .kp-split-photo,
  .elementor-3943 .kp-eco-photo { min-height: 380px !important; }
  .elementor-3943 .kp-2col,
  .elementor-3943 .kp-g-grid,
  .elementor-3943 .kp-pg { grid-template-columns: 1fr !important; }
  .elementor-3943 .kp-process { grid-template-columns: 1fr !important; }
  .elementor-3943 .kp-strip { grid-template-columns: 1fr !important; }
  .elementor-3943 .kp-strip-item { aspect-ratio: 16 / 10; }
  .elementor-3943 a.kp-btn { display: block !important; margin: .7rem 0 0 !important; text-align: center; }
}

@media (prefers-reduced-motion: reduce) {
  .elementor-569 *,
  .elementor-3943 .kp * {
    scroll-behavior: auto !important;
    transition: none !important;
  }
}
