/*
Theme Name: White Pro Dental Luxe
Theme URI: https://whiteprodental.com/
Description: A reversible, premium visual layer for White Pro Dental. Uses Astra as its parent theme.
Author: White Pro Dental
Template: astra
Version: 1.2.2
Text Domain: wpd-luxe
*/

:root {
  --wpd-ink: #1f2723;
  --wpd-forest: #173a32;
  --wpd-forest-2: #245448;
  --wpd-sage: #9cad94;
  --wpd-ivory: #edf3f1;
  --wpd-ivory-2: #dfe9e5;
  --wpd-paper: #fbfcfc;
  --wpd-gold: #b78348;
  --wpd-gold-light: #d8ae78;
  --wpd-line: rgba(31, 39, 35, .14);
  --wpd-shadow: 0 24px 70px rgba(34, 45, 39, .12);
  --wpd-radius: 30px;
  --wpd-serif: "Cormorant Garamond", Georgia, serif;
  --wpd-sans: "Manrope", Arial, sans-serif;
}

html { scroll-behavior: smooth; }
body.wpd-luxe {
  background: var(--wpd-paper);
  color: var(--wpd-ink);
  font-family: var(--wpd-sans);
  font-size: 16px;
  line-height: 1.75;
  overflow-x: hidden;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}
body.wpd-luxe::before {
  background: radial-gradient(circle, rgba(183,131,72,.14) 0 1px, transparent 1.5px);
  background-size: 22px 22px;
  content: "";
  height: 260px;
  opacity: .26;
  pointer-events: none;
  position: fixed;
  right: -40px;
  top: 35vh;
  width: 260px;
  z-index: -1;
}
body.wpd-luxe h1,
body.wpd-luxe h2,
body.wpd-luxe h3,
body.wpd-luxe h4 {
  color: var(--wpd-ink);
  font-family: var(--wpd-serif);
  font-weight: 600;
  letter-spacing: -.025em;
  line-height: .98;
}
body.wpd-luxe p { color: #59625d; }
body.wpd-luxe a { transition: color .25s ease, background-color .25s ease, transform .25s ease, box-shadow .25s ease; }
body.wpd-luxe img { image-rendering: auto; }
body.wpd-luxe ::selection { background: var(--wpd-gold); color: #fff; }

.wpd-topbar {
  align-items: center;
  background: var(--wpd-forest);
  color: rgba(255,255,255,.86);
  display: flex;
  font: 600 10px/1 var(--wpd-sans);
  justify-content: center;
  letter-spacing: .19em;
  min-height: 32px;
  padding: 8px 20px;
  text-align: center;
  text-transform: uppercase;
}
.wpd-topbar span { color: var(--wpd-gold-light); margin: 0 12px; }
.wpd-progress {
  background: linear-gradient(90deg, var(--wpd-gold), var(--wpd-gold-light));
  height: 3px;
  left: 0;
  position: fixed;
  top: 0;
  transform: scaleX(0);
  transform-origin: left;
  width: 100%;
  z-index: 99999;
}

body.wpd-luxe #masthead {
  background: rgba(251,252,252,.92);
  border-bottom: 1px solid rgba(31,39,35,.08);
  position: sticky;
  top: 0;
  transition: box-shadow .3s ease, background .3s ease, transform .3s ease;
  z-index: 999;
}
body.wpd-luxe.admin-bar #masthead { top: 32px; }
body.wpd-luxe #masthead.wpd-scrolled {
  background: rgba(251,252,252,.97);
  box-shadow: 0 14px 45px rgba(23,58,50,.10);
  -webkit-backdrop-filter: blur(18px);
  backdrop-filter: blur(18px);
}
body.wpd-luxe .ast-primary-header-bar { background: transparent; border: 0; }
body.wpd-luxe .site-primary-header-wrap { min-height: 90px; }
body.wpd-luxe .custom-logo { height: auto; max-height: 68px; object-fit: contain; width: auto; }
body.wpd-luxe .main-header-menu > .menu-item > .menu-link {
  color: var(--wpd-ink);
  font-size: 13px;
  font-weight: 600;
  letter-spacing: .02em;
  padding: 0 17px;
}
body.wpd-luxe .main-header-menu > .menu-item > .menu-link::after {
  background: var(--wpd-gold);
  bottom: 25px;
  content: "";
  height: 1px;
  left: 17px;
  position: absolute;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .25s ease;
  width: calc(100% - 34px);
}
body.wpd-luxe .main-header-menu > .menu-item:hover > .menu-link::after,
body.wpd-luxe .main-header-menu > .current-menu-item > .menu-link::after { transform: scaleX(1); }
body.wpd-luxe .ast-header-button-1 .ast-custom-button {
  background: var(--wpd-gold);
  border: 1px solid var(--wpd-gold);
  border-radius: 999px;
  box-shadow: 0 12px 30px rgba(183,131,72,.24);
  color: #fff;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .035em;
  padding: 15px 24px;
}
body.wpd-luxe .ast-header-button-1 .ast-custom-button:hover { background: var(--wpd-forest); border-color: var(--wpd-forest); transform: translateY(-2px); }

body.wpd-luxe .elementor-button,
body.wpd-luxe input[type="submit"],
body.wpd-luxe button[type="submit"] {
  background: var(--wpd-gold);
  border: 1px solid var(--wpd-gold);
  border-radius: 999px;
  box-shadow: 0 13px 32px rgba(183,131,72,.2);
  color: #fff;
  font-family: var(--wpd-sans);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .06em;
  padding: 16px 27px;
  text-transform: uppercase;
}
body.wpd-luxe .elementor-button:hover,
body.wpd-luxe input[type="submit"]:hover,
body.wpd-luxe button[type="submit"]:hover { background: var(--wpd-forest); border-color: var(--wpd-forest); box-shadow: 0 16px 35px rgba(23,58,50,.2); transform: translateY(-2px); }

/* Home: editorial hero */
body.wpd-luxe.home .elementor-element-429593c {
  border-radius: 0 0 42px 42px;
  isolation: isolate;
  min-height: min(760px, calc(100vh - 90px));
  overflow: hidden;
  padding: clamp(80px, 10vw, 145px) clamp(24px, 5vw, 72px);
  position: relative;
}
body.wpd-luxe.home .elementor-element-429593c::before {
  background: linear-gradient(90deg, rgba(20,34,29,.91) 0%, rgba(20,34,29,.74) 43%, rgba(20,34,29,.24) 75%, rgba(20,34,29,.12) 100%);
  content: "";
  inset: 0;
  position: absolute;
  z-index: -1;
}
body.wpd-luxe.home .elementor-element-429593c::after {
  border: 1px solid rgba(255,255,255,.42);
  border-radius: 999px;
  content: "";
  height: 360px;
  position: absolute;
  right: -130px;
  top: -130px;
  width: 360px;
  z-index: -1;
}
body.wpd-luxe.home .elementor-element-429593c .e-con-inner { align-items: flex-start; margin: auto; max-width: 1200px; }
body.wpd-luxe.home .elementor-element-429593c h1 {
  color: #fff;
  font-size: clamp(58px, 7.2vw, 104px);
  line-height: .84;
  margin: 0 0 30px;
  max-width: 900px;
  text-align: left;
  text-wrap: balance;
}
body.wpd-luxe.home .elementor-element-429593c h1::before {
  color: var(--wpd-gold-light);
  content: "WHITE PRO DENTAL  ·  JAKARTA";
  display: block;
  font: 700 11px/1.3 var(--wpd-sans);
  letter-spacing: .22em;
  margin-bottom: 25px;
}
body.wpd-luxe.home .elementor-element-429593c p { color: rgba(255,255,255,.78); font-size: clamp(15px,1.35vw,18px); line-height: 1.8; max-width: 660px; text-align: left; }
body.wpd-luxe.home .elementor-element-429593c .elementor-widget-button { align-self: flex-start; }

/* Home sections */
body.wpd-luxe.home #about-us { background: var(--wpd-ivory); padding: clamp(85px,10vw,150px) clamp(22px,5vw,70px); }
body.wpd-luxe.home #about-us h2,
body.wpd-luxe.home .elementor-element-d2b4540 h2 { font-size: clamp(48px,6vw,82px); }
body.wpd-luxe.home #about-us h2,
body.wpd-luxe.home #about-us .elementor-image-box-title { color: var(--wpd-ink) !important; }
body.wpd-luxe.home #about-us p,
body.wpd-luxe.home #about-us .elementor-image-box-description { color: #59625d !important; }
body.wpd-luxe.home #about-us .elementor-button {
  background: var(--wpd-gold) !important;
  border-color: var(--wpd-gold) !important;
  color: #fff !important;
}
body.wpd-luxe.home #about-us .elementor-button:hover {
  background: var(--wpd-forest) !important;
  border-color: var(--wpd-forest) !important;
}
body.wpd-luxe.home #about-us img { border-radius: var(--wpd-radius); box-shadow: var(--wpd-shadow); }
body.wpd-luxe.home .elementor-element-d2b4540 {
  background: var(--wpd-forest);
  border-radius: 42px;
  color: #fff;
  margin: clamp(22px,4vw,58px) auto;
  max-width: 1240px;
  overflow: hidden;
  padding: clamp(70px,9vw,125px) clamp(24px,6vw,86px);
}
body.wpd-luxe.home .elementor-element-d2b4540 h2,
body.wpd-luxe.home .elementor-element-d2b4540 h3,
body.wpd-luxe.home .elementor-element-d2b4540 p,
body.wpd-luxe.home .elementor-element-d2b4540 li { color: #fff; }
body.wpd-luxe.home .elementor-element-d2b4540 li { border-bottom: 1px solid rgba(255,255,255,.16); font-family: var(--wpd-serif); font-size: clamp(25px,3vw,40px); list-style: none; padding: 18px 0; }
body.wpd-luxe.home .elementor-element-d2b4540 li::before { background: var(--wpd-gold-light); border-radius: 50%; content: ""; display: inline-block; height: 7px; margin-right: 16px; vertical-align: middle; width: 7px; }
body.wpd-luxe.home .elementor-element-6145da0 { background: var(--wpd-paper); padding: clamp(90px,10vw,145px) 24px; }
body.wpd-luxe.home .elementor-element-6145da0 h1 { font-size: clamp(46px,6vw,78px); }
body.wpd-luxe.home .elementor-element-3c9677c > .e-con {
  background: var(--wpd-ivory);
  border: 1px solid rgba(183,131,72,.16);
  border-radius: 24px;
  min-height: 240px;
  padding: 30px;
  transition: transform .3s ease, box-shadow .3s ease, background .3s ease;
}
body.wpd-luxe.home .elementor-element-3c9677c > .e-con:hover { background: #fff; box-shadow: var(--wpd-shadow); transform: translateY(-8px); }
body.wpd-luxe.home .elementor-element-3c9677c h3 { font-size: 29px; }
body.wpd-luxe.home .elementor-element-be2a64d { background: var(--wpd-ivory); padding: clamp(65px,8vw,110px) 0; }
body.wpd-luxe.home .elementor-element-be2a64d img { border-radius: 24px; }
body.wpd-luxe.home .elementor-element-87d9875 { padding: clamp(75px,9vw,125px) 24px; }
body.wpd-luxe .bdt-review-card-carousel-item { background: #fff !important; border: 1px solid var(--wpd-line) !important; border-radius: 24px !important; box-shadow: 0 18px 45px rgba(31,39,35,.08) !important; }
body.wpd-luxe.home .elementor-element-dd8bba4 { background: var(--wpd-ivory); padding: clamp(80px,9vw,130px) 24px; }
body.wpd-luxe .bdt-ep-accordion-item { background: transparent !important; border-bottom: 1px solid rgba(31,39,35,.16) !important; }
body.wpd-luxe .bdt-ep-accordion-title { color: var(--wpd-ink) !important; font-family: var(--wpd-serif) !important; font-size: clamp(22px,2.2vw,31px) !important; padding: 24px 4px !important; }
body.wpd-luxe.home .elementor-element-93b84d6 {
  background: linear-gradient(135deg,var(--wpd-forest),#0e2922) !important;
  border-radius: 36px;
  margin: 48px auto;
  max-width: 1240px;
  overflow: hidden;
  padding: clamp(70px,9vw,120px) 24px;
}
body.wpd-luxe.home .elementor-element-93b84d6 h2,
body.wpd-luxe.home .elementor-element-93b84d6 p { color: #fff; }

/* Inner pages retain their content and gain a coherent premium system. */
body.wpd-luxe:not(.home) .site-content { background: var(--wpd-paper); }
body.wpd-luxe:not(.home) article > .entry-content > .elementor > .e-con:first-child {
  background-color: var(--wpd-ivory);
  border-radius: 0 0 42px 42px;
  min-height: 360px;
  overflow: hidden;
  padding: clamp(80px,9vw,125px) 24px;
}
body.wpd-luxe:not(.home) article > .entry-content > .elementor > .e-con:first-child h1 {
  font-size: clamp(54px,7vw,94px);
  text-wrap: balance;
}
body.wpd-luxe:not(.home) article > .entry-content > .elementor > .e-con:not(:first-child) { padding-top: clamp(60px,7vw,105px); padding-bottom: clamp(60px,7vw,105px); }
body.wpd-luxe:not(.home) .elementor-widget-image img { border-radius: 26px; }
body.wpd-luxe:not(.home) .elementor-widget-heading h2 { font-size: clamp(40px,5vw,68px); }
body.wpd-luxe:not(.home) .elementor-widget-heading h3 { font-size: clamp(28px,3vw,42px); }

body.wpd-luxe .srfm-form-container,
body.wpd-luxe .srfm-form { background: #fff !important; border: 1px solid var(--wpd-line); border-radius: 28px; box-shadow: var(--wpd-shadow); padding: clamp(24px,4vw,46px) !important; }
body.wpd-luxe input:not([type="submit"]),
body.wpd-luxe textarea,
body.wpd-luxe select { background: var(--wpd-ivory) !important; border: 1px solid transparent !important; border-radius: 12px !important; color: var(--wpd-ink) !important; min-height: 52px; }
body.wpd-luxe input:focus,
body.wpd-luxe textarea:focus,
body.wpd-luxe select:focus { border-color: var(--wpd-gold) !important; box-shadow: 0 0 0 3px rgba(183,131,72,.13) !important; outline: 0; }

body.wpd-luxe .site-footer { background: var(--wpd-forest); color: rgba(255,255,255,.72); }
body.wpd-luxe .site-footer p,
body.wpd-luxe .site-footer a,
body.wpd-luxe .site-footer .ast-footer-copyright { color: rgba(255,255,255,.72); }
body.wpd-luxe .site-footer a:hover { color: var(--wpd-gold-light); }

.wpd-floating-wa {
  align-items: center;
  background: #1d9b61;
  border: 3px solid rgba(255,255,255,.9);
  border-radius: 999px;
  bottom: 24px;
  box-shadow: 0 14px 35px rgba(18,80,52,.27);
  color: #fff !important;
  display: flex;
  font: 700 12px/1 var(--wpd-sans);
  gap: 10px;
  padding: 12px 17px 12px 14px;
  position: fixed;
  right: 24px;
  z-index: 998;
}
.wpd-floating-wa:hover { background: #147847; box-shadow: 0 18px 38px rgba(18,80,52,.35); transform: translateY(-3px); }
.wpd-floating-wa svg { fill: currentColor; height: 22px; width: 22px; }
.wpd-backtop {
  align-items: center;
  background: var(--wpd-paper);
  border: 1px solid var(--wpd-line);
  border-radius: 50%;
  bottom: 85px;
  color: var(--wpd-ink);
  cursor: pointer;
  display: flex;
  height: 42px;
  justify-content: center;
  opacity: 0;
  pointer-events: none;
  position: fixed;
  right: 28px;
  transform: translateY(10px);
  transition: .25s ease;
  width: 42px;
  z-index: 997;
}
.wpd-backtop.is-visible { opacity: 1; pointer-events: auto; transform: none; }

.wpd-reveal { opacity: 0; transform: translateY(34px); transition: opacity .75s cubic-bezier(.2,.8,.2,1), transform .75s cubic-bezier(.2,.8,.2,1); }
.wpd-reveal.wpd-visible { opacity: 1; transform: none; }

body.wpd-luxe.page-id-276 .elementor.elementor-276 .elementor-element.elementor-element-2d283a9 { grid-template-columns: repeat(2,minmax(0,1fr)) !important; grid-template-rows: auto !important; grid-auto-flow: row !important; }
body.wpd-luxe.page-id-276 .elementor.elementor-276 .elementor-element-2d283a9 > .elementor-widget { width: 100% !important; }
@media (max-width: 767px) {
 body.wpd-luxe.page-id-276 .elementor.elementor-276 .elementor-element.elementor-element-2d283a9 { grid-template-columns: minmax(0,1fr) !important; }
}
@media (max-width: 921px) {
  body.wpd-luxe.admin-bar #masthead { top: 46px; }
  body.wpd-luxe .site-primary-header-wrap { min-height: 76px; }
  body.wpd-luxe .custom-logo { max-height: 56px; }
  body.wpd-luxe .ast-mobile-popup-drawer .ast-mobile-popup-inner { background: var(--wpd-ivory); }
  body.wpd-luxe .ast-mobile-popup-content .menu-link { border-bottom: 1px solid var(--wpd-line); color: var(--wpd-ink); font: 600 28px/1.2 var(--wpd-serif); padding: 18px 26px; }
  body.wpd-luxe .ast-mobile-header-content { background: var(--wpd-paper); border-bottom: 1px solid var(--wpd-line); box-shadow: 0 18px 34px rgba(23,58,50,.08); }
  body.wpd-luxe .ast-mobile-header-content .main-header-menu .menu-link { border-bottom: 1px solid var(--wpd-line); color: var(--wpd-ink); font: 600 22px/1.1 var(--wpd-serif); padding: 15px 24px; }
  body.wpd-luxe.home .elementor-element-429593c { min-height: 680px; }
  body.wpd-luxe.home .elementor-element-429593c::before { background: linear-gradient(90deg,rgba(20,34,29,.9),rgba(20,34,29,.47)); }
}

@media (max-width: 767px) {
  .wpd-topbar { font-size: 8px; letter-spacing: .13em; min-height: 28px; }
  .wpd-topbar span { margin: 0 6px; }
  body.wpd-luxe.home .elementor-element-429593c { border-radius: 0 0 26px 26px; min-height: 620px; padding: 88px 22px 72px; }
  body.wpd-luxe.home .elementor-element-429593c::before { background: linear-gradient(180deg,rgba(20,34,29,.62),rgba(20,34,29,.93)); }
  body.wpd-luxe.home .elementor-element-429593c h1 { font-size: clamp(48px,15vw,68px); line-height: .88; }
  body.wpd-luxe.home .elementor-element-429593c h1::before { font-size: 9px; letter-spacing: .15em; }
  body.wpd-luxe.home .elementor-element-d2b4540,
  body.wpd-luxe.home .elementor-element-93b84d6 { border-radius: 25px; margin-left: 12px; margin-right: 12px; }
  body.wpd-luxe:not(.home) article > .entry-content > .elementor > .e-con:first-child { border-radius: 0 0 26px 26px; min-height: 290px; }
  .wpd-floating-wa { bottom: 16px; font-size: 0; height: 56px; justify-content: center; padding: 0; right: 16px; width: 56px; }
  .wpd-backtop { bottom: 80px; right: 23px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; transition-duration: .01ms !important; }
  .wpd-reveal { opacity: 1; transform: none; }
}

@media print {
  .wpd-topbar, .wpd-progress, .wpd-floating-wa, .wpd-backtop { display: none !important; }
  body.wpd-luxe #masthead { position: static; }
}

/* Verified Elementor overrides: preserve editor content while owning presentation. */
body.wpd-luxe .elementor :is(h1,h2,h3,p) { text-shadow: none !important; }
body.wpd-luxe.page-id-276 .elementor-element-91d5e9c { background: var(--wpd-ivory) !important; }
body.wpd-luxe.page-id-276 .elementor-element-91d5e9c::before { display: none !important; }
body.wpd-luxe.page-id-276 .elementor-element-91d5e9c h2,
body.wpd-luxe.page-id-1746 .elementor-element-5978c7e :is(h1,h2),
body.wpd-luxe.page-id-1787 .elementor-element-92ebd4a :is(h1,h2) { color: var(--wpd-forest) !important; }
body.wpd-luxe.page-id-276 .elementor-element-91d5e9c p { color: #59625d !important; }
body.wpd-luxe.home .elementor-element-819b2ed .elementor-image-box-title { font-family: var(--wpd-serif) !important; text-transform: none !important; font-weight: 600 !important; letter-spacing: -.03em !important; }
body.wpd-luxe.home .elementor-element-d2b4540 img { box-shadow: none !important; border: 0 !important; }
body.wpd-luxe { --wpd-gold: #92612d; }
body.wpd-luxe :is(a,button,input,textarea,select,[tabindex]):focus-visible { outline: 3px solid #92612d; outline-offset: 5px; }
body.wpd-luxe [id] { scroll-margin-top: 115px; }
body.wpd-luxe .elementor .elementor-button:not(:has(.elementor-button-icon:only-child)) { background-color: var(--wpd-gold); color: #fff; border-color: var(--wpd-gold); }
body.wpd-luxe .elementor .elementor-button:hover { background-color: var(--wpd-forest); color: #fff; }
body.wpd-luxe .elementor .e-con { min-width: 0; }
body.wpd-luxe .custom-logo { max-height: 88px; width: 156px; }
body.wpd-luxe.home .elementor.elementor-275 .elementor-element-429593c {
  background: var(--wpd-ivory) !important; padding: 76px max(24px,calc((100vw - 1200px)/2)) !important;
  min-height: 660px !important; border-radius: 0; display: block;
}
body.wpd-luxe.home .elementor.elementor-275 .elementor-element-429593c::before { display: none; }
body.wpd-luxe.home .elementor.elementor-275 .elementor-element-429593c::after {
  background: url('https://whiteprodental.com/wp-content/uploads/2026/06/WhatsApp-Image-2026-06-10-at-14.22.42-2-e1781079202509.jpeg') center/cover;
  top: 65px; right: max(24px,calc((100vw - 1200px)/2)); width: 43%; height: calc(100% - 130px); border: 0; border-radius: 140px 24px 24px 24px; z-index: 0;
  box-shadow: 0 25px 65px #173a321c;
}
body.wpd-luxe.home .elementor.elementor-275 .elementor-element-429593c > .e-con-inner { width: 100%; max-width: 1200px; padding: 0; margin: 0 auto; gap: 26px; align-items: flex-start; position: relative; z-index: 1; }
body.wpd-luxe.home .elementor.elementor-275 .elementor-element-429593c .elementor-widget-image-box { width: 50%; max-width: 580px; margin: 0; padding: 0 !important; }
body.wpd-luxe.home .elementor.elementor-275 .elementor-element-429593c h1 { color: var(--wpd-forest) !important; font-size: clamp(54px,5.8vw,84px) !important; line-height: .99 !important; letter-spacing: -.04em; margin: 0 0 25px; }
body.wpd-luxe.home .elementor.elementor-275 .elementor-element-429593c h1::before { color: #92612d; font-size: 10px; letter-spacing: .18em; }
body.wpd-luxe.home .elementor.elementor-275 .elementor-element-429593c p { color: #59625d !important; font: 400 16px/1.85 var(--wpd-sans) !important; text-align: left !important; }
body.wpd-luxe.home .elementor.elementor-275 .elementor-element-77b2a52 { width: auto !important; margin: 0 !important; text-align: left !important; }
body.wpd-luxe.home .elementor.elementor-275 .elementor-element-8ce5c0d { position: static !important; width: auto; }
body.wpd-luxe.home .elementor.elementor-275 .elementor-element-8ce5c0d a { background: transparent; border: 1px solid #173a3233; color: var(--wpd-forest); border-radius: 50%; padding: 14px; box-shadow: none; }
body.wpd-luxe.home .elementor.elementor-275 .elementor-element-8ce5c0d svg { fill: var(--wpd-forest); width: 12px; }
body.wpd-luxe.home #about-us > .e-con-inner { max-width: 1100px; gap: clamp(30px,7vw,100px); }
body.wpd-luxe.home #about-us .e-child { padding: 0; }
body.wpd-luxe.home .elementor.elementor-275 .elementor-element-d2b4540 { background: var(--wpd-forest) !important; width: calc(100% - 40px); padding: 80px 60px !important; }
body.wpd-luxe.home .elementor-element-d2b4540 :is(h2,h3,p,.elementor-icon-list-text) { color: #fffdf9 !important; }
body.wpd-luxe.home .elementor.elementor-275 .elementor-element-d2b4540 h2 { font-size: clamp(42px,5vw,68px) !important; }
body.wpd-luxe.home .elementor-element-d2b4540 .elementor-icon-list-icon { display: none; }
body.wpd-luxe.home .elementor-element-d2b4540 .elementor-icon-list-text { font: 600 clamp(23px,2.6vw,34px)/1.2 var(--wpd-serif) !important; }
body.wpd-luxe.home .elementor-element-d2b4540 img { width: 100%; height: auto; border-radius: 22px; }
body.wpd-luxe.home .elementor.elementor-275 .elementor-element-6145da0 { background: var(--wpd-paper) !important; padding: 95px 24px !important; }
body.wpd-luxe.home .elementor-element-6145da0 :is(h1,h2,h3,h3 span) { color: var(--wpd-forest) !important; }
body.wpd-luxe.home .elementor-element-6145da0 p { color: #59625d !important; }
body.wpd-luxe.home .elementor-element-6145da0 :is(h1,h2) { font-size: clamp(36px,4.7vw,64px) !important; line-height: 1.08; }
body.wpd-luxe.home .elementor-element-3c9677c { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; width: 100%; }
body.wpd-luxe.home .elementor-element-3c9677c > .elementor-widget-icon-box { background: var(--wpd-ivory); border: 1px solid #173a3214; border-radius: 22px; padding: 32px; width: 100%; }
body.wpd-luxe.home .elementor-element-3c9677c h3 { font-size: 30px !important; line-height: 1.1; }
body.wpd-luxe.home .elementor-element-3c9677c .elementor-icon { background: var(--wpd-forest) !important; color: #fff !important; font-size: 22px; padding: 17px; }
body.wpd-luxe.home .elementor.elementor-275 .elementor-element-be2a64d { background: var(--wpd-ivory) !important; }
body.wpd-luxe .bdt-ep-review-card-carousel-item { background: #fff !important; border: 1px solid #173a3222; border-radius: 22px; padding: 26px !important; box-sizing: border-box; }
body.wpd-luxe .bdt-ep-review-card-carousel-name { color: var(--wpd-forest) !important; font: 600 28px/1.15 var(--wpd-serif) !important; }
body.wpd-luxe .bdt-ep-review-card-carousel-content :is(p,div) { color: #59625d; }
body.wpd-luxe .bdt-ep-accordion-title { cursor: pointer; line-height: 1.25 !important; }
body.wpd-luxe .bdt-ep-accordion-title .bdt-ep-title-text { font: inherit !important; color: var(--wpd-forest) !important; }
body.wpd-luxe .bdt-ep-accordion-content p { color: #59625d !important; line-height: 1.8; }
body.wpd-luxe.home .elementor-element-93b84d6 :is(h2,p) { color: #fffdf9 !important; }
body.wpd-luxe.home .elementor-element-93b84d6 h2 { font-size: clamp(40px,5vw,68px) !important; line-height: 1.05; }
body.wpd-luxe .site-below-footer-wrap { background: var(--wpd-forest) !important; border-top: 1px solid #ffffff20; }
body.wpd-luxe .srfm-form-container .srfm-form { border: 0; padding: 0 !important; box-shadow: none; }
body.wpd-luxe input:is([type=checkbox],[type=radio],[type=hidden]) { min-height: 0; }
body.wpd-luxe .wpd-reveal { opacity: 1; transform: none; }
.wpd-gallery-control { display: block; margin: 20px auto 0; background: var(--wpd-forest); color: white; border: 0; border-radius: 30px; padding: 12px 22px; font: 600 12px var(--wpd-sans); min-height: 44px; }

/* Client revision: pearl white, cool sage and emerald; no cream surfaces. */
body.wpd-luxe .elementor .wpd-neutral-surface { background-color: var(--wpd-ivory) !important; }
body.wpd-luxe.blog .ast-archive-entry-banner { background-position: center, center 62% !important; }
body.wpd-luxe.blog .entry-meta .posted-by { display: none !important; }
body.wpd-luxe.home .elementor-element-5425853 { height: auto !important; min-height: 0 !important; padding: 30px 24px !important; overflow: visible !important; background: var(--wpd-paper) !important; }
body.wpd-luxe.home .elementor-element-0d2f37d { margin: -15px auto 0 !important; width: min(100%,850px) !important; }
body.wpd-luxe.home .elementor-element-0d2f37d img { width: 100% !important; height: auto !important; max-height: none !important; object-fit: contain !important; border-radius: 0; box-shadow: none; }
body.wpd-luxe.page-id-1150 .elementor-element-cd239bf { background: var(--wpd-forest) !important; padding: clamp(35px,6vw,80px) 24px !important; }
body.wpd-luxe.page-id-1150 .elementor-element-cd239bf :is(h2,p,span) { color: #f5f9f7 !important; font: 400 clamp(15px,1.3vw,17px)/1.9 var(--wpd-sans) !important; }
body.wpd-luxe.page-id-1150 .elementor-element-cd239bf > .e-con-inner { gap: 25px; max-width: 940px; }
body.wpd-luxe.page-id-276 .elementor-element-e289fec { background: var(--wpd-ivory) !important; padding: 75px 24px !important; }
body.wpd-luxe.page-id-276 .elementor-element-2d283a9 { display: grid !important; max-width: 1100px; margin: auto; width: 100%; gap: 24px; grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
body.wpd-luxe.page-id-276 .elementor-element-2d283a9 > .elementor-widget { width: 100% !important; min-width: 0; height: auto !important; }
body.wpd-luxe.page-id-276 .elementor-element-e289fec .hfe-infocard { display: grid !important; grid-template-columns: 52px minmax(0,1fr); gap: 12px 20px; text-align: left !important; background: var(--wpd-paper); border: 1px solid var(--wpd-line); border-radius: 22px; padding: 30px; height: 100%; }
body.wpd-luxe.page-id-276 .elementor-element-e289fec .hfe-icon-wrap { grid-column: 1; grid-row: 1 / 3; margin: 0 !important; float: none !important; order: 0 !important; }
body.wpd-luxe.page-id-276 .elementor-element-e289fec .hfe-icon { color: var(--wpd-forest) !important; }
body.wpd-luxe.page-id-276 .elementor-element-e289fec .hfe-icon svg { fill: var(--wpd-forest) !important; width: 40px; height: 40px; }
body.wpd-luxe.page-id-276 .elementor-element-e289fec :is(.hfe-infocard-title-wrap,.hfe-infocard-text-wrap) { grid-column: 2; margin: 0 !important; }
body.wpd-luxe.page-id-276 .elementor-element-e289fec h3 { color: var(--wpd-forest) !important; font: 600 29px/1.15 var(--wpd-serif) !important; margin: 0; }
body.wpd-luxe.page-id-276 .elementor-element-e289fec p { color: #52635d !important; font: 400 15px/1.8 var(--wpd-sans) !important; }
body.wpd-luxe.page-id-277 .elementor-element-1821ff6 { background: var(--wpd-paper) !important; padding: 80px 24px !important; }
body.wpd-luxe.page-id-277 .elementor-element-1821ff6 > .e-con-inner { max-width: 1140px; gap: 45px; }
body.wpd-luxe.page-id-277 .elementor-element-63eecf7 { max-width: 800px; margin: 0 auto 15px; }
body.wpd-luxe.page-id-277 .elementor-element-1821ff6 h2 { font: 600 clamp(36px,4vw,54px)/1.12 var(--wpd-serif) !important; color: var(--wpd-forest) !important; }
body.wpd-luxe.page-id-277 .elementor-element-1821ff6 h3 { font: 600 clamp(30px,3vw,40px)/1.15 var(--wpd-serif) !important; color: var(--wpd-forest) !important; margin: 0 0 20px !important; }
body.wpd-luxe.page-id-277 .elementor-element-1821ff6 :is(p,.elementor-icon-box-description,.elementor-image-box-description) { font: 400 16px/1.85 var(--wpd-sans) !important; color: #52635d !important; }
body.wpd-luxe.page-id-277 .elementor-element-1821ff6 :is(.elementor-element-a030e8e,.elementor-element-1671a9e,.elementor-element-0140104) { gap: clamp(25px,4vw,55px) !important; align-items: center; padding: 30px !important; border-radius: 26px; background: var(--wpd-ivory); }
body.wpd-luxe.page-id-277 .elementor-element-1821ff6 .e-child > .e-child { flex: 1 1 0; width: auto !important; padding: 0 !important; }
body.wpd-luxe.page-id-277 .elementor-element-1821ff6 img { width: 100% !important; height: 340px !important; object-fit: cover; border: 0 !important; box-shadow: none !important; border-radius: 18px !important; }
body.wpd-luxe.page-id-277 :is(.elementor-element-adb960c,.elementor-element-3586991) { background-color: var(--wpd-forest) !important; }
body.wpd-luxe.page-id-277 .elementor-element-e7a6a7a > .e-con-inner { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 24px; }
body.wpd-luxe.page-id-277 .elementor-element-e7a6a7a .elementor-widget { width: 100% !important; margin: 0 !important; }
body.wpd-luxe.page-id-277 .elementor-element-e7a6a7a :is(h2,p) { color: var(--wpd-forest) !important; }
body.wpd-luxe.page-id-1684 .elementor-element-74079d7 h2 { color: var(--wpd-forest) !important; font: 600 clamp(36px,5vw,64px)/1.12 var(--wpd-serif) !important; text-align: center; }
body.wpd-luxe.page-id-1684 :is(.elementor-element-e74f8dc,.elementor-element-6aae077) { height: auto !important; min-height: 0 !important; padding: 60px 24px !important; background: var(--wpd-ivory) !important; }
body.wpd-luxe.page-id-1684 :is(.elementor-element-e74f8dc,.elementor-element-6aae077) > .e-con-inner { height: auto !important; gap: 30px; max-width: 1000px; }
body.wpd-luxe.page-id-1684 :is(.elementor-element-e74f8dc,.elementor-element-6aae077) :is(h2,h3,.e-heading-base) { color: #52635d !important; font: 400 16px/1.85 var(--wpd-sans) !important; height: auto !important; }
body.wpd-luxe.page-id-1684 :is(.elementor-element-e74f8dc,.elementor-element-6aae077) strong { color: var(--wpd-forest); font-weight: 700; }
@media (max-width: 767px) {
 body.wpd-luxe.page-id-277 .elementor-element-1821ff6 { padding: 48px 18px !important; }
 body.wpd-luxe.page-id-277 .elementor-element-1821ff6 :is(.elementor-element-a030e8e,.elementor-element-1671a9e,.elementor-element-0140104) { flex-direction: column !important; padding: 20px !important; gap: 26px !important; }
 body.wpd-luxe.page-id-277 .elementor-element-1671a9e .elementor-element-ba03359 { order: -1; }
 body.wpd-luxe.page-id-277 .elementor-element-1821ff6 .e-child > .e-child { flex-basis: auto; width: 100% !important; }
 body.wpd-luxe.page-id-277 .elementor-element-1821ff6 img { height: 230px !important; }
 body.wpd-luxe.page-id-277 .elementor-element-e7a6a7a > .e-con-inner { grid-template-columns: repeat(2,minmax(0,1fr)); }
 body.wpd-luxe.page-id-276 .elementor-element-2d283a9 { grid-template-columns: minmax(0,1fr) !important; }
 body.wpd-luxe.page-id-276 .elementor-element-e289fec .hfe-infocard { padding: 22px; grid-template-columns: 36px minmax(0,1fr); gap: 12px; }
 body.wpd-luxe.page-id-276 .elementor-element-e289fec .hfe-icon svg { width: 30px; height: 30px; }
 body.wpd-luxe.page-id-1684 .elementor-element-e74f8dc > .e-con-inner { min-height: 0 !important; }
}
@media (max-width: 921px) {
 body.wpd-luxe.home .elementor.elementor-275 .elementor-element-429593c { padding: 55px 24px !important; min-height: 600px !important; }
 body.wpd-luxe.home .elementor.elementor-275 .elementor-element-429593c::after { top: 50px; right: 24px; height: calc(100% - 100px); width: 40%; border-radius: 90px 20px 20px; }
 body.wpd-luxe.home .elementor.elementor-275 .elementor-element-429593c h1 { font-size: clamp(45px,6.5vw,64px) !important; }
 body.wpd-luxe .ast-mobile-header-content { max-height: calc(100dvh - 100px); overflow-y: auto; }
 body.wpd-luxe .main-header-menu > .menu-item > .menu-link::after { display: none; }
}
@media (max-width: 600px) {
 body.wpd-luxe .custom-logo { max-height: 68px; width: 130px; }
 body.wpd-luxe.home .elementor.elementor-275 .elementor-element-429593c { padding: 40px 22px 28px !important; min-height: 0 !important; }
 body.wpd-luxe.home .elementor.elementor-275 .elementor-element-429593c::after { position: relative; display: block; top: auto; right: auto; width: 100%; height: 300px; margin-top: 30px; border-radius: 80px 20px 20px; }
 body.wpd-luxe.home .elementor.elementor-275 .elementor-element-429593c .elementor-widget-image-box { width: 100%; }
 body.wpd-luxe.home .elementor.elementor-275 .elementor-element-429593c h1 { font-size: clamp(44px,12vw,64px) !important; }
 body.wpd-luxe.home .elementor.elementor-275 .elementor-element-429593c p { font-size: 15px !important; }
 body.wpd-luxe.home .elementor.elementor-275 .elementor-element-8ce5c0d { display: none; }
 body.wpd-luxe.home .elementor.elementor-275 .elementor-element-d2b4540 { width: calc(100% - 24px); padding: 46px 22px !important; }
 body.wpd-luxe.home .elementor-element-3c9677c { grid-template-columns: minmax(0,1fr); }
 body.wpd-luxe.home .elementor-element-3c9677c > .elementor-widget-icon-box { padding: 26px; }
 body.wpd-luxe .elementor .elementor-button { max-width: 100%; white-space: normal; line-height: 1.35; }
 body.wpd-luxe .wpd-floating-wa { bottom: max(16px,env(safe-area-inset-bottom)); }
 body.wpd-luxe .srfm-form-container { padding: 22px !important; }
}
