/* ==========================================================================
   Lotus & Lark Theme Overrides & Enhancements
   Cleanly consolidated from functions.php inline styles.
   ========================================================================== */

/* 1. Approved Palette Completion */
:root {
  --ll-teal: #235653;
  --ll-eucalyptus: #A8C1B7;
  --ll-porcelain: #F7F8F5;
  --ll-clay: #B65F56;
  --ll-graphite: #283735;
}
html.theme-light body {
  background-color: var(--ll-porcelain) !important;
  color: var(--ll-graphite);
}
html.theme-light body #hp141 :is(.popular-body>p,.section-head>.copy,.journey-detail .copy,.confidence .copy,.stay-copy .copy) {
  color: var(--ll-graphite) !important;
}
html.theme-light body .ct-page :is(.ct-copy,.ct-intro,.ct-phone) {
  color: var(--ll-graphite) !important;
}
html body #hp141 .price.india {
  border-color: var(--ll-clay) !important;
}
html body #hp141 .journey-tabs button[aria-selected="true"] {
  border-color: var(--ll-clay) !important;
}
html body #hp141 .popular-card:hover {
  border-color: var(--ll-clay) !important;
}
html body :is(.ac-page,.ct-page) {
  --ll-accent: var(--ll-clay);
}

/* 2. Logo Sizing and Contrast */
html body #navbar#navbar .aura-brand .ll-brand-logo {
  width: 252px !important;
  max-width: 100%;
  padding: 0 !important;
}
html body #navbar#navbar .aura-brand .ll-brand-logo img {
  width: 252px !important;
  height: auto !important;
  max-width: 100%;
  object-fit: contain;
}
html body #navbar>.aura-ui-header-row {
  height: 84px !important;
}
html body footer .ll-brand-logo {
  width: 272px;
  max-width: 100%;
  padding: 0 !important;
}
html body footer .ll-brand-logo img {
  width: 272px !important;
  height: auto !important;
  max-width: 100%;
}
html body #hp141 .cat button,
html body #hp141 .cat button * {
  color: #A8C1B7 !important;
  -webkit-text-fill-color: currentColor !important;
}
@media (min-width: 501px) and (max-width: 1023px) {
  html body #navbar#navbar .aura-brand .ll-brand-logo,
  html body #navbar#navbar .aura-brand .ll-brand-logo img {
    width: 220px !important;
  }
  html body #navbar>.aura-ui-header-row {
    height: 76px !important;
  }
}
@media (max-width: 500px) {
  html body #navbar#navbar .aura-brand .ll-brand-logo {
    width: 180px !important;
  }
  html body #navbar#navbar .aura-brand .ll-brand-logo img {
    width: 180px !important;
  }
  html body #navbar>.aura-ui-header-row {
    height: auto !important;
    min-height: 68px;
  }
  html body footer .ll-brand-logo,
  html body footer .ll-brand-logo img {
    width: 240px !important;
  }
}
@media (max-width: 360px) {
  html body #navbar#navbar .aura-brand .ll-brand-logo,
  html body #navbar#navbar .aura-brand .ll-brand-logo img {
    width: 150px !important;
  }
}

/* 3. Distinct Light Homepage Hero Banner (Crucial for Contrast) */
html.theme-light body.home #hp141#hp141 .hero:before {
  background: linear-gradient(90deg, rgba(247, 248, 245, 0.97), rgba(247, 248, 245, 0.90) 44%, rgba(247, 248, 245, 0.38)),
              linear-gradient(0deg, #F7F8F5, transparent 50%) !important;
}
html.theme-light body.home #hp141#hp141 .hero h1,
html.theme-light body.home #hp141#hp141 .hero .copy {
  color: #283735 !important;
  -webkit-text-fill-color: currentColor !important;
}
html.theme-light body.home #hp141#hp141 .hero h1 span,
html.theme-light body.home #hp141#hp141 .hero .eyebrow {
  color: #235653 !important;
  -webkit-text-fill-color: currentColor !important;
}
html.theme-light body.home #hp141#hp141 .hero .btn.secondary {
  background: rgba(247, 248, 245, 0.55) !important;
  color: #235653 !important;
  border-color: #235653 !important;
  -webkit-text-fill-color: currentColor !important;
}
html.theme-light body.home #navbar#navbar.aura-banner-overlay :is(#desktop-nav>a,#treatments-btn,#treatments-btn span,#treatments-btn svg,button[aria-controls="mobile-menu-drawer"],.theme-switcher-container button,.theme-switcher-container button *) {
  color: #283735 !important;
  -webkit-text-fill-color: currentColor !important;
}
html.theme-light body.home #navbar#navbar.aura-banner-overlay .theme-switcher-container {
  background: rgba(168, 193, 183, 0.35) !important;
  border-color: rgba(35, 86, 83, 0.3) !important;
}
html.theme-light body.home #navbar#navbar.aura-banner-overlay .theme-switcher-container button[aria-pressed="true"] {
  background: rgba(247, 248, 245, 0.78) !important;
}
html.theme-light body.home #navbar#navbar.aura-banner-overlay .ll-brand-logo .ll-logo-colour {
  display: block !important;
}
html.theme-light body.home #navbar#navbar.aura-banner-overlay .ll-brand-logo .ll-logo-white {
  display: none !important;
}
@media (max-width: 767px) {
  html.theme-light body.home #hp141#hp141 .hero:before {
    background: linear-gradient(90deg, rgba(247, 248, 245, 0.97), rgba(247, 248, 245, 0.85)),
                linear-gradient(0deg, #F7F8F5, transparent 55%) !important;
  }
}

/* 4. Treatment Harmonization */
main.aura-tp.tp-design120.e-con {
  max-width: 1320px !important;
  padding: 120px 48px 80px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  box-sizing: border-box !important;
}
@media (max-width: 768px) {
  main.aura-tp.tp-design120.e-con {
    padding: 100px 24px 48px !important;
  }
}
.aura-tp .tp-section.e-con {
  padding: 64px 0 !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
  box-sizing: border-box !important;
}
html.theme-light .aura-tp .tp-section.e-con {
  border-bottom-color: rgba(0, 0, 0, 0.08) !important;
}
.aura-tp .tp-cost-feature.e-con {
  padding: 48px !important;
  border-radius: 28px !important;
  box-sizing: border-box !important;
}
@media (max-width: 768px) {
  .aura-tp .tp-cost-feature.e-con {
    padding: 32px 20px !important;
  }
}
.aura-tp .tp-cost-feature .tp-grid {
  padding: 0 !important;
  border: none !important;
  background: transparent !important;
  gap: 20px !important;
}
.aura-tp .tp-cost-feature .tp-card {
  padding: 28px 24px !important;
  border-radius: 20px !important;
  background: rgba(255, 255, 255, 0.02) !important;
  border: 1px solid rgba(255, 255, 255, 0.08) !important;
  box-shadow: 0 12px 30px rgba(17, 31, 29, 0.125) !important;
}
.aura-tp .tp-cost-feature .tp-card:last-child h3,
.aura-tp .tp-cost-feature .tp-card:last-child p,
.aura-tp .tp-cost-feature .tp-card:last-child strong,
.aura-tp .tp-cost-feature .tp-card:last-child .tp-price,
.aura-tp .tp-cost-feature .tp-card:last-child {
  color: #f7f8f5 !important;
  -webkit-text-fill-color: #f7f8f5 !important;
}
.aura-tp .tp-cost-feature .elementor-element-4e6686d2 {
  margin-top: 36px !important;
}
.aura-tp .tp-card .tp-number,
.aura-tp .tp-editorial-list .tp-number,
.aura-tp .tp-preparation .tp-number {
  position: static !important;
  top: auto !important;
  left: auto !important;
  display: block !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  color: #7ea293 !important;
  margin-bottom: 8px !important;
  letter-spacing: 1px !important;
}
.aura-tp .tp-hero.e-con {
  display: grid !important;
  grid-template-columns: 1.15fr 1fr !important;
  gap: 48px !important;
  align-items: center !important;
  padding: 24px 0 48px !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
}
@media (max-width: 900px) {
  .aura-tp .tp-hero.e-con {
    grid-template-columns: 1fr !important;
    gap: 32px !important;
  }
}
.aura-tp h1.tp-hero-title {
  font-size: clamp(38px, 4.2vw, 58px) !important;
  line-height: 1.12 !important;
  letter-spacing: -1.5px !important;
  font-weight: 600 !important;
  color: #f7f8f5 !important;
  margin-bottom: 24px !important;
}
.aura-tp h2.tp-title {
  font-size: clamp(28px, 3vw, 38px) !important;
  line-height: 1.2 !important;
  letter-spacing: -1px !important;
  font-weight: 600 !important;
  color: #f7f8f5 !important;
  margin-bottom: 16px !important;
}
.aura-tp .tp-eyebrow {
  font-size: 12px !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
  color: #7ea293 !important;
  font-weight: 600 !important;
  margin-bottom: 12px !important;
  display: block !important;
}
.aura-tp .tp-copy,
.aura-tp .tp-card-copy,
.aura-tp p {
  font-size: 16px !important;
  line-height: 1.65 !important;
  color: #a8c1b7 !important;
}
.aura-tp .tp-editorial-split {
  display: grid !important;
  grid-template-columns: 1.1fr 1fr !important;
  gap: 48px !important;
  align-items: start !important;
}
@media (max-width: 900px) {
  .aura-tp .tp-editorial-split {
    grid-template-columns: 1fr !important;
    gap: 32px !important;
  }
}
.aura-tp .tp-editorial-list {
  display: flex !important;
  flex-direction: column !important;
  gap: 20px !important;
  padding: 0px !important;
}
.aura-tp .tp-options .tp-grid,
.aura-tp .tp-inclusion-list,
.aura-tp .tp-preparation {
  display: grid !important;
  gap: 20px !important;
}
.aura-tp .tp-inclusion-list {
  grid-template-columns: repeat(2, 1fr) !important;
}
.aura-tp .tp-options .tp-grid {
  grid-template-columns: repeat(3, 1fr) !important;
}
@media (max-width: 800px) {
  .aura-tp .tp-inclusion-list,
  .aura-tp .tp-options .tp-grid {
    grid-template-columns: 1fr !important;
  }
}
.aura-tp .tp-card {
  background: rgba(255, 255, 255, 0.02) !important;
  border: 1px solid rgba(255, 255, 255, 0.08) !important;
  border-radius: 20px !important;
  padding: 28px 24px !important;
  box-shadow: 0 12px 30px rgba(17, 31, 29, 0.125) !important;
  box-sizing: border-box !important;
  transition: border-color 0.25s ease, transform 0.25s ease !important;
}
.aura-tp .tp-card:hover {
  border-color: rgba(255, 255, 255, 0.16) !important;
  transform: translateY(-2px) !important;
}
.aura-tp .tp-card-title {
  font-size: 20px !important;
  font-weight: 600 !important;
  letter-spacing: -0.3px !important;
  color: #f7f8f5 !important;
  margin-bottom: 8px !important;
}
.aura-tp .tp-enquiry {
  background: rgba(255, 255, 255, 0.02) !important;
  border: 1px solid rgba(255, 255, 255, 0.08) !important;
  border-radius: 32px !important;
  padding: 48px !important;
  margin-top: 48px !important;
  box-shadow: 0 20px 50px rgba(17, 31, 29, 0.2) !important;
}
html.theme-light .aura-tp .tp-cost-feature .tp-grid,
html.theme-light .aura-tp .tp-cost-feature .tp-card,
html.theme-light .aura-tp .tp-options .tp-card,
html.theme-light .aura-tp .tp-editorial-list .tp-card,
html.theme-light .aura-tp .tp-inclusion-list .tp-card,
html.theme-light .aura-tp .tp-preparation .tp-card,
html.theme-light .tp-design120 .tp-timeline .tp-card,
html.theme-light .tp-design120 .tp-enquiry {
  background: #ffffff !important;
  border: 1px solid rgba(0, 0, 0, 0.08) !important;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.04) !important;
}
html.theme-light .aura-tp .tp-card-title {
  color: #111f1d !important;
}
html.theme-light .aura-tp .tp-card .tp-copy {
  color: #405553 !important;
}
html.theme-light .aura-tp .tp-cost-feature .tp-card:last-child h3,
html.theme-light .aura-tp .tp-cost-feature .tp-card:last-child p,
html.theme-light .aura-tp .tp-cost-feature .tp-card:last-child strong,
html.theme-light .aura-tp .tp-cost-feature .tp-card:last-child .tp-price {
  color: #111f1d !important;
  -webkit-text-fill-color: #111f1d !important;
}
header, .is-sticky, .ll-site-header {
  backdrop-filter: blur(12px) !important;
  -webkit-backdrop-filter: blur(12px) !important;
}
html:not(.theme-light) header, html:not(.theme-light) .is-sticky {
  background-color: rgba(17, 31, 29, 0.85) !important;
}
html.theme-light header, html.theme-light .is-sticky {
  background-color: rgba(247, 248, 245, 0.9) !important;
  border-bottom: 1px solid rgba(0, 0, 0, 0.06) !important;
}


/* ==========================================================================
   Treatment Corridor Bespoke Imagery Aspect Ratio Parity
   Aligns Group B templates (where .tp-image is on <img>) with Group A (.tp-image img)
   ========================================================================== */
.aura-tp img.tp-image {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
  border-radius: 24px !important;
}

.aura-tp .tp-hero-photo img.tp-image {
  min-height: 230px !important;
  height: 100% !important;
  max-height: 460px !important;
  border-radius: 28px !important;
}

.aura-tp .tp-editorial-photo img.tp-image {
  min-height: 280px !important;
  height: 100% !important;
  border-radius: 24px !important;
}

.aura-tp .tp-recovery-banner img.tp-image {
  min-height: 260px !important;
  height: 100% !important;
  border-radius: 24px !important;
}
