/* === ASTRA FULL-WIDTH OVERRIDE === */
.home .ast-container {
  max-width: 100% !important; width: 100% !important; padding-left: 0 !important; padding-right: 0 !important;
  overflow-x: hidden !important;
}
.home .site-content > .ast-container {
  max-width: 100% !important; padding: 0 !important;
}
.home .entry-content {
  margin: 0 !important; padding: 0 !important;
}

/* === RESET === */
*, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }
html { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
body.home,
body.home h1, body.home h2, body.home h3, body.home h4, body.home h5, body.home h6,
body.home p, body.home a, body.home span, body.home li, body.home div,
body.home input, body.home textarea, body.home button,
body.home .entry-content, body.home .ast-container {
  font-family: 'Gill Sans Medium', Helvetica, Arial, sans-serif !important;
  font-weight: 400;
  line-height: 1.5;
}
body.home {
  color: #000; background: #fff; overflow-x: hidden;
}
a { text-decoration: none; color: inherit; }
button { cursor: pointer; border: none; background: none; font-family: inherit; }

/* === HERO === */
.hero {
  position: relative; width: 100%; height: 90vh; min-height: 500px;
  display: flex; align-items: flex-end; justify-content: center;
  overflow: hidden; background: #fff;
}
.hero-splide {
  position: absolute; inset: 0; z-index: 0;
}
/* Show first slide before Splide JS initializes */
.hero-splide:not(.is-initialized) .splide__list {
  display: flex; height: 100%;
}
.hero-splide:not(.is-initialized) .splide__slide {
  min-width: 100%; height: 100%;
}
.hero-splide:not(.is-initialized) .splide__slide:not(:first-child) {
  display: none;
}
.hero-splide .splide__track {
  height: 100%;
}
.hero-splide .splide__list {
  height: 100%;
}
.hero-splide .splide__slide {
  height: 100%;
}
.hero-splide .splide__slide picture {
  display: block; width: 100%; height: 100%;
}
.hero-splide__img {
  display: block; width: 100%; height: 100%; object-fit: cover; object-position: center center;
}
.hero-splide .splide__pagination {
  position: absolute; bottom: 20px; z-index: 3; padding: 0; gap: 10px;
  left: 50%; transform: translateX(-50%); display: flex; justify-content: center;
}
.hero-splide .splide__pagination__page {
  width: 8px; height: 8px; background: rgba(255,255,255,0.4);
  border: none; border-radius: 50%; opacity: 1; margin: 0;
  transition: background 0.3s, transform 0.3s;
}
.hero-splide .splide__pagination__page.is-active {
  background: #fff; transform: scale(1.2);
}
@media (max-width: 768px) {
  .hero-splide__img--left { object-position: left center; }
  .hero-splide .splide__pagination { bottom: 16px; }
  .hero-splide .splide__track { overflow: hidden !important; }
  .hero-splide .splide__slide { width: 100% !important; margin-right: 0 !important; min-width: 100% !important; }
}
.hero__overlay {
  position: absolute; inset: 0;
  background: linear-gradient(to top, rgba(0,0,0,0.45) 0%, rgba(0,0,0,0.1) 40%, transparent 70%);
  pointer-events: none;
}
.hero__content {
  position: relative; z-index: 2;
  display: flex; flex-direction: column; align-items: center; text-align: center;
  padding: 0 40px 60px; width: 100%;
}
.hero__title {
  font-size: 32px; font-weight: 400; letter-spacing: 0.12em;
  text-transform: uppercase; color: #fff; line-height: 1.2; margin-bottom: 20px;
}
.hero__cta {
  display: inline-flex; justify-content: center; align-items: center;
  min-width: 200px; min-height: 55px; padding: 0 20px;
  font-size: 14px; font-weight: 400; letter-spacing: 0.12em; text-transform: uppercase;
  color: #fff; border: 1px solid #fff; background: transparent;
  transition: background 0.3s, color 0.3s;
}
.hero__cta:hover { background: #fff; color: #000; }

/* === AS SEEN IN === */
.as-seen-in { background: #fff; padding: 48px 40px; }
.as-seen-in__row {
  display: flex; align-items: center; gap: 48px; justify-content: center;
}
.as-seen-in__title {
  font-size: 13px; font-weight: 400; text-transform: uppercase;
  letter-spacing: 0.12em; color: #999; white-space: nowrap;
}
.as-seen-in__logos { display: flex; align-items: center; gap: 48px; }
.as-seen-in__logo img {
  height: 28px; width: auto; object-fit: contain;
  filter: grayscale(100%); opacity: 0.5; transition: opacity 0.3s, filter 0.3s;
}
.as-seen-in__logo img:hover { filter: grayscale(0%); opacity: 1; }

/* === BESTSELLERS / GIFTING CAROUSEL === mirrors lumond-next BestsellerCarousel.tsx ===
   Prefixed with body.home + !important on every property so theme /
   Elementor / Splide / WooCommerce rules can't win. */
body.home .bestsellers,
body.home .bestsellers *,
body.home .lumond-products-carousel,
body.home .lumond-products-carousel * {
  font-family: 'Inter','Helvetica Neue',Helvetica,Arial,sans-serif !important;
  box-sizing: border-box !important;
}
body.home .bestsellers {
  background: #fff !important; padding: 24px 0 48px !important;
}
/* Tighter spacing when multiple carousels stack (e.g. Bestsellers + Gifting). */
body.home .bestsellers ~ .bestsellers,
body.home .bestsellers + .bestsellers { padding-top: 0 !important; }
body.home .bestsellers__title {
  letter-spacing: 0.12em !important; text-transform: uppercase !important;
  font-size: 22px !important; font-weight: 400 !important; text-align: center !important;
  color: #000 !important; margin: 0 0 28px !important; padding: 0 20px !important;
  line-height: 1.3 !important;
}
body.home .bestsellers .splide,
body.home .lumond-products-carousel {
  position: relative !important; padding: 0 !important;
}
body.home .bestsellers .splide__track,
body.home .lumond-products-carousel .splide__track { cursor: grab !important; padding: 0 8px !important; }
body.home [id^="lumond-carousel-"][id$="-track"] { padding: 0 8px !important; }
body.home .bestsellers .splide__track:active,
body.home .lumond-products-carousel .splide__track:active { cursor: grabbing !important; }
body.home .bestsellers .splide__slide,
body.home .lumond-products-carousel .splide__slide {
  padding: 0 4px !important; display: flex !important;
}
body.home .bestsellers .splide__pagination,
body.home .lumond-products-carousel .splide__pagination { display: none !important; }

/* Product card (rendered by front-page override template) */
body.home .lumond-products-carousel-item {
  display: flex !important; flex-direction: column !important; width: 100% !important;
  text-decoration: none !important; color: inherit !important;
}
body.home .splide-product-img-container {
  aspect-ratio: 1/1 !important; overflow: hidden !important;
  background-color: #f5f5f5 !important; background-size: cover !important; background-position: center !important;
  margin-bottom: 14px !important;
}
body.home .splide-product-img-container picture,
body.home .splide-product-img-container img {
  width: 100% !important; height: 100% !important; object-fit: cover !important; display: block !important;
  transform: none !important; transition: none !important;
}
body.home .product-title {
  font-size: 13px !important; font-weight: 400 !important; line-height: 1.4 !important;
  color: #000 !important; margin-bottom: 8px !important;
  min-height: 36px !important; max-height: 36px !important; overflow: hidden !important;
  display: -webkit-box !important; -webkit-line-clamp: 2 !important; -webkit-box-orient: vertical !important;
  text-transform: capitalize !important;
}
body.home .product-pricing-wrapper {
  display: flex !important; align-items: baseline !important; gap: 8px !important;
}
body.home .product-pricing-wrapper .regular-price,
body.home .product-pricing-wrapper .regular-price * {
  text-decoration: line-through !important; color: rgba(0,0,0,.4) !important;
  font-size: 13px !important; font-weight: 400 !important;
}
body.home .product-pricing-wrapper .regular-price:empty { display: none !important; }
/* Sale price — force 14px/600 on the outer span AND the nested
   WooCommerce .woocommerce-Price-amount / bdi / currency-symbol
   spans that WC wraps around the actual amount. */
body.home .product-pricing-wrapper .sale-price,
body.home .product-pricing-wrapper .sale-price *,
body.home .product-pricing-wrapper .sale-price .woocommerce-Price-amount,
body.home .product-pricing-wrapper .sale-price bdi,
body.home .product-pricing-wrapper .sale-price .woocommerce-Price-currencySymbol {
  font-size: 16px !important; font-weight: 600 !important; color: #000 !important;
}

/* Arrows — high-specificity selectors to beat lumond-variations theme rules
   (div.lumond-carousel:not(.custom-arrows):not(.type-2) div.splide__arrows
    button.splide__arrow.splide__arrow--next = specificity 0,5,3).
   Ours use body.home + the same deep chain = 0,6,4 — wins with !important. */
body.home div.lumond-carousel.lumond-products-carousel div.splide__arrows button.splide__arrow {
  position: absolute !important; margin: auto 0 !important;
  background: #fff !important; border: none !important;
  width: 44px !important; height: 44px !important; border-radius: 50% !important; opacity: 1 !important; z-index: 10 !important;
  display: flex !important; align-items: center !important; justify-content: center !important;
  cursor: pointer !important; transition: box-shadow .2s !important;
  box-shadow: 0 2px 8px rgba(0,0,0,.12) !important;
  padding: 0 !important;
}
body.home div.lumond-carousel.lumond-products-carousel div.splide__arrows button.splide__arrow:hover {
  box-shadow: 0 3px 12px rgba(0,0,0,.2) !important;
}
body.home div.lumond-carousel.lumond-products-carousel div.splide__arrows button.splide__arrow svg {
  width: 18px !important; height: 18px !important; fill: none !important; stroke: #000 !important; stroke-width: 1 !important;
}
body.home div.lumond-carousel.lumond-products-carousel div.splide__arrows button.splide__arrow.splide__arrow--prev {
  left: -24px !important; right: auto !important; top: -70px !important; bottom: 0 !important;
}
body.home div.lumond-carousel.lumond-products-carousel div.splide__arrows button.splide__arrow.splide__arrow--next {
  right: -24px !important; left: auto !important; top: -70px !important; bottom: 0 !important;
}

@media (min-width: 768px) {
  body.home .bestsellers { padding: 32px 48px 64px !important; }
  body.home .bestsellers__title {
    font-size: 24px !important; margin-bottom: 40px !important; padding: 0 !important;
  }
  body.home .bestsellers .splide,
  body.home .lumond-products-carousel { padding: 0 32px !important; }
}
@media (max-width: 767px) {
  body.home div.lumond-carousel.lumond-products-carousel div.splide__arrows button.splide__arrow { display: none !important; }
}

/* === SPLIT SECTION === */
.split { display: flex; width: 100%; gap: 8px; background: #fff; }
.split__panel {
  position: relative; width: 50%; height: 85vh; min-height: 400px;
  overflow: hidden; display: flex; align-items: flex-end; justify-content: center;
}
.split__overlay {
  position: absolute; inset: 0;
  background: linear-gradient(to top, rgba(0,0,0,0.35) 0%, rgba(0,0,0,0.05) 50%, transparent 70%);
  pointer-events: none;
}
.split__content {
  position: relative; z-index: 2; text-align: center;
  padding: 0 24px 48px; display: flex; flex-direction: column; align-items: center; gap: 8px;
}
.split__title { font-size: 28px; font-weight: 400; color: #fff; }
.split__subtitle { font-size: 14px; font-weight: 400; color: #fff; margin-bottom: 8px; }
.split__cta {
  display: inline-flex; justify-content: center; align-items: center;
  min-width: 200px; min-height: 55px; padding: 0 20px;
  font-size: 14px; font-weight: 400; letter-spacing: 0.12em; text-transform: uppercase;
  color: #fff; border: 1px solid #fff; background: transparent;
  transition: background 0.3s, color 0.3s;
}
.split__cta:hover { background: #fff; color: #000; }

/* === DIVIDER === */
.section-divider { height: 8px; background: #fff; }

/* === DUAL IMAGE === */
.dual {
  position: relative; width: 100%; display: flex; gap: 0; background: #fff;
}
.dual__image { width: 50%; height: 85vh; min-height: 400px; overflow: hidden; }
.dual__image div { width: 100%; height: 100%; }
.dual__overlay {
  position: absolute; bottom: 0; left: 0; right: 0; height: 40%;
  background: linear-gradient(to top, rgba(0,0,0,0.4) 0%, transparent 100%);
  pointer-events: none;
}
.dual__content {
  position: absolute; bottom: 48px; left: 50%; transform: translateX(-50%);
  z-index: 2; text-align: center;
  display: flex; flex-direction: column; align-items: center; gap: 8px;
  width: 90%;
}
.dual__title { font-size: 32px; font-weight: 400; color: #fff; }
.dual__subtitle { font-size: 14px; font-weight: 400; color: #fff; margin-bottom: 8px; }
.dual__cta {
  padding: 14px 40px; font-size: 12px; font-weight: 500;
  letter-spacing: 0.12em; text-transform: uppercase;
  color: #000; background: #fff; transition: background 0.3s, color 0.3s;
}
.dual__cta:hover { background: #000; color: #fff; }

/* === SERVICES === */
.services {
  background: #fff; padding: 64px 40px; border-top: 1px solid #000;
}
.services__title {
  font-size: 24px; font-weight: 400; text-align: center; margin-bottom: 48px;
}
.services__grid {
  display: flex; justify-content: center; gap: 40px; flex-wrap: wrap;
  max-width: 1000px; margin: 0 auto;
}
.services__item {
  display: flex; flex-direction: column; align-items: center; gap: 14px;
  width: 130px;
}
.services__icon {
  width: 80px; height: 100px; border: 1px solid #ccc; border-radius: 40%;
  display: flex; align-items: center; justify-content: center; font-size: 24px;
}
.services__label {
  font-size: 12px; font-weight: 400; text-align: center; color: #333; line-height: 1.5;
}

/* === EDITORIAL CAROUSEL === */
.editorial {
  background: #000; padding: 96px 0; overflow: hidden; position: relative;
}
.editorial__title {
  font-size: 24px; font-weight: 500; text-align: center; color: #fff;
  padding-bottom: 64px;
}
.editorial .splide__track { overflow: visible !important; }
.editorial .splide__list { align-items: center; }
.editorial .splide__slide {
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  padding: 0; transition: opacity 0.3s;
}
.editorial .splide__slide:not(.is-active) { opacity: 0.35; }
.editorial-slide {
  display: block; transition: transform 0.3s ease; width: 100%;
}
.editorial .splide__slide:not(.is-active) .editorial-slide {
  transform: scale(0.9);
}
.editorial-slide__container {
  position: relative; width: 90%; margin: 0 auto; cursor: pointer;
}
.editorial-slide__image {
  width: 100%; aspect-ratio: 690/385; overflow: hidden;
}
.editorial-slide__image div { width: 100%; height: 100%; }
.editorial-slide__overlay {
  position: absolute; inset: 0; background: rgba(0,0,0,0.4);
  opacity: 0; transition: opacity 0.3s;
  display: flex; align-items: center; justify-content: center;
}
.editorial-slide__container:hover .editorial-slide__overlay { opacity: 1; }
.editorial-slide__overlay-text {
  color: #fff; font-size: 12px; font-weight: 500; text-transform: uppercase;
  letter-spacing: 0.08em; border-bottom: 1px solid #fff; padding-bottom: 2px;
}
.editorial-slide__caption { padding-top: 24px; text-align: center; }
.editorial-slide__caption-title { color: #fff; font-size: 14px; }
.editorial .splide__arrow {
  position: absolute; top: 40%; transform: translateY(-50%);
  background: transparent; border: none;
  width: 48px; height: 48px; z-index: 10;
}
.editorial .splide__arrow--prev { left: calc(50% - 340px); }
.editorial .splide__arrow--next { right: calc(50% - 340px); }
.editorial .splide__arrow svg { width: 20px; height: 20px; fill: #fff; }
.editorial .splide__arrow:hover svg { fill: #aaa; }

/* ==============================
   RESPONSIVE — TABLET (768px)
============================== */
@media (max-width: 1024px) {
  .hero { height: 85vh; }
  .hero__title { font-size: 28px; }
  .bestsellers { padding: 56px 32px; }
  .bestsellers__title {
  letter-spacing: 0.12em; text-transform: uppercase; font-size: 24px; }
  .split__panel { height: 70vh; }
  .split__title { font-size: 24px; }
  .dual__image { height: 70vh; }
  .dual__title { font-size: 28px; }
  .services__grid { gap: 28px; }
  .services__item { width: 110px; }
  .services__icon { width: 68px; height: 84px; font-size: 24px; }
  .services__label { font-size: 12px; }
  .editorial .splide__arrow--prev { left: 16px; }
  .editorial .splide__arrow--next { right: 16px; }
}

/* ==============================
   RESPONSIVE — MOBILE (480px)
============================== */
@media (max-width: 768px) {
  .hero { height: 80vh; min-height: 400px; }
  .hero__content { padding: 0 20px 50px; }

  .hero__title { font-size: 22px; letter-spacing: 0.12em; margin-bottom: 16px; }
  .hero__cta { min-width: 160px; min-height: 48px; font-size: 12px; }

  .as-seen-in { padding: 32px 20px; }
  .as-seen-in__row { flex-direction: column; gap: 16px; }
  .as-seen-in__logos { gap: 24px; flex-wrap: wrap; justify-content: center; }
  .as-seen-in__logo img { height: 22px; }

  .bestsellers { padding: 48px 0; }
  .bestsellers__title {
  letter-spacing: 0.12em; text-transform: uppercase; padding: 0 20px; }
  .bestsellers__title {
  letter-spacing: 0.12em; text-transform: uppercase; font-size: 22px; margin-bottom: 28px; }


  .split { flex-direction: column; gap: 4px; }
  .split__panel { width: 100%; height: 80vh; min-height: 400px; }
  .split__title { font-size: 22px; }
  .split__content { padding: 0 20px 36px; }

  .dual { flex-direction: column; gap: 0; }
  .dual__image { width: 100%; height: 80vh; min-height: 400px; }
  .dual__image div { width: 100%; height: 100%; }
  .dual__title { font-size: 24px; }
  .dual__subtitle { font-size: 13px; }
  .dual__content { bottom: 32px; width: 95%; }

  .services { padding: 48px 20px; }
  .services__title { font-size: 20px; margin-bottom: 36px; }
  .services__grid {
    display: grid; grid-template-columns: repeat(3, 1fr);
    gap: 24px; max-width: 100%; justify-items: center;
  }
  .services__item { width: auto; }
  .services__icon { width: 60px; height: 74px; font-size: 24px; }
  .services__label { font-size: 12px; }

  .editorial { padding: 56px 0 48px; }
  .editorial__title { font-size: 20px; padding-bottom: 40px; }
  .editorial .splide__arrow--prev { left: 8px; }
  .editorial .splide__arrow--next { right: 8px; }
  .editorial .splide__arrow { width: 36px; height: 36px; }
  .editorial .splide__arrow svg { width: 16px; height: 16px; }
}

/* ==============================
   RESPONSIVE — SMALL MOBILE (375px)
============================== */
@media (max-width: 400px) {
  .hero__title { font-size: 20px; }
  .split__title { font-size: 20px; }
  .dual__title { font-size: 22px; }
  .services__grid { grid-template-columns: repeat(3, 1fr); gap: 16px; }
}

/* Video section */
.hero--video { height: auto; min-height: 0; aspect-ratio: 2048/1080; }
.hero__video { position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:#000; }
.hero__video--mobile { opacity:0; z-index:0; }
.hero__video--desktop { opacity:1; z-index:1; }
@media (max-width: 768px) {
  .hero--video { aspect-ratio: 1080/1920; max-height: 90vh; }
  .hero__video--mobile { opacity:1; z-index:1; }
  .hero__video--desktop { opacity:0; z-index:0; }
}

/* ============================================================
   Homepage section shortcodes (.lhp-*)
   Loads only on front page. Scoped prefix avoids theme collisions.
   Inter font is enqueued from Google Fonts in homepage.php.
   ============================================================ */

.lhp,.lhp *,.lhp *::before,.lhp *::after { box-sizing:border-box; margin:0; padding:0; }
/* Specificity bumped with `html body` so Inter wins over the site-wide
   Gill Sans Medium !important rules in public.css (input, .sticky-add-cart-btn,
   etc.) that would otherwise tie on (0,1,0) and win on source order. */
html body .lhp,
html body .lhp *,
html body .lhp *::before,
html body .lhp *::after {
  font-family:'Inter','Helvetica Neue',Helvetica,Arial,sans-serif !important;
  color:#fff !important;
}
.lhp { background:#fff; }
.lhp a { text-decoration:none; }
.lhp img { display:block; max-width:100%; }
.lhp-cta:hover, .lhp-cta:hover * { color:#000 !important; }

/* === Hero === mirrors lumond-next HeroCarousel.tsx === */
.lhp-hero { position:relative; width:100%; height:78vh; min-height:400px; overflow:hidden; background:#fff; }
.lhp-hero__splide { position:absolute; inset:0; z-index:0; }
.lhp-hero__splide .splide__track, .lhp-hero__splide .splide__list, .lhp-hero__splide .splide__slide { height:100% !important; }
.lhp-hero__img { width:100% !important; height:100% !important; object-fit:cover; object-position:center; }
.lhp-hero__splide .splide__pagination { position:absolute; bottom:16px; z-index:3; padding:0; gap:10px; left:50%; transform:translateX(-50%); display:flex; justify-content:center; }
.lhp-hero__splide .splide__pagination__page { width:8px; height:8px; background:rgba(255,255,255,.4); border:none; border-radius:50%; opacity:1; margin:0; transition:background .3s,transform .3s; }
.lhp-hero__splide .splide__pagination__page.is-active { background:#fff; transform:scale(1.2); }
.lhp-hero__overlay { position:absolute; inset:0; background:linear-gradient(to top,rgba(0,0,0,.45) 0%,rgba(0,0,0,.1) 40%,transparent 70%); pointer-events:none; z-index:1; }
.lhp-hero__content { position:absolute; bottom:0; left:0; right:0; z-index:2; display:flex; flex-direction:column; align-items:center; text-align:center; padding:0 20px 50px; pointer-events:none; }
.lhp-hero__title { font-size:22px; font-weight:400; letter-spacing:.12em; text-transform:uppercase; line-height:1.2; margin:0 0 16px; }
.lhp-hero__content .lhp-cta { pointer-events:auto; }
.lhp-cta { display:inline-flex; justify-content:center; align-items:center; min-width:160px; min-height:48px; padding:0 20px; font-size:12px; font-weight:400; letter-spacing:.12em; text-transform:uppercase; border:1px solid #fff; background:transparent; transition:background .3s,color .3s; }
.lhp-cta:hover { background:#fff; }
@media (min-width:768px) {
  .lhp-hero__splide .splide__pagination { bottom:20px; }
  .lhp-hero__content { padding:0 40px 60px; }
  .lhp-hero__title { font-size:28px; margin-bottom:20px; }
  .lhp-cta { min-width:200px; min-height:55px; font-size:14px; }
}
@media (min-width:1024px) {
  .lhp-hero__title { font-size:32px; }
}

/* === As Seen In === mirrors lumond-next AsSeenIn.tsx === */
.lhp-asi { background:#fff; padding:48px 20px; }
.lhp-asi,.lhp-asi *,.lhp-asi *::before,.lhp-asi *::after { color:#999 !important; }
.lhp-asi__row { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:16px; }
body.home .lhp-asi__title { font-size:13px; font-weight:400; text-transform:uppercase; letter-spacing:.12em; white-space:nowrap; color:#999 !important; }
.lhp-asi__logos { display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:24px; }
.lhp-asi__logo img { height:22px !important; width:auto; object-fit:contain; filter:grayscale(100%); opacity:.5; transition:all .3s; }
.lhp-asi__logo img:hover { filter:grayscale(0%); opacity:1; }
@media (min-width:768px) {
  .lhp-asi { padding:48px 40px; }
  .lhp-asi__row { flex-direction:row; gap:48px; }
  .lhp-asi__logos { gap:48px; }
  .lhp-asi__logo img { height:calc(0.25rem * 7) !important; }
}

/* === Banner row (split or single) === */
.lhp-split { display:flex; width:100%; gap:8px; background:#fff; }
.lhp-split__panel { position:relative; width:50%; height:80vh; min-height:400px; overflow:hidden; display:flex; align-items:flex-end; justify-content:center; }
.lhp-split--single .lhp-split__panel { width:100%; }
.lhp-split__bg { position:absolute; inset:0; background-size:cover; background-repeat:no-repeat; }
.lhp-split__overlay { position:absolute; inset:0; background:linear-gradient(to top,rgba(0,0,0,.35) 0%,rgba(0,0,0,.05) 50%,transparent 70%); pointer-events:none; }
/* mirrors lumond-next TwoColumnBanners content overlay */
.lhp-split__content { position:relative; z-index:10; text-align:center; padding:0 20px 36px; display:flex; flex-direction:column; align-items:center; gap:20px; }
.lhp-split__content > * { margin: 0 !important; }
.lhp-split__title { font-size:22px; font-weight:400; color:#fff; }
.lhp-split__subtitle { font-size:14px; font-weight:400; color:#fff; letter-spacing:0.08em; padding-bottom:8px; }
@media (min-width:768px) {
  .lhp-split__content { padding:0 24px 48px; }
  .lhp-split__title { font-size:28px; }
}
.lhp-divider { height:8px; background:#fff; }

/* === Video banner — mirrors lumond-next FromCandleToPlant === */
.lhp-hero--video { height:85vh !important; min-height:400px !important; aspect-ratio:auto !important; position:relative; overflow:hidden; }
.lhp-hero__video { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; background:#000; }
.lhp-hero__video--mobile { opacity:0; z-index:0; }
.lhp-hero__video--desktop { opacity:1; z-index:1; }

/* === Responsive (split / video non-hero-content tweaks) === */
@media (max-width:1024px) {
  .lhp-split__panel { height:85vh; }
}
@media (max-width:768px) {
  .lhp-hero { max-height:76vh; }
  .lhp-hero__img--left { object-position:left center; }
  .lhp-hero__splide .splide__track { overflow:hidden !important; }
  .lhp-split { flex-direction:column; gap:4px; }
  .lhp-split__panel { width:100%; height:85vh; min-height:400px; }
  .lhp-hero--video { height:85vh !important; min-height:400px !important; max-height:none !important; aspect-ratio:auto !important; }
  .lhp-hero__video--mobile { opacity:1; z-index:1; }
  .lhp-hero__video--desktop { opacity:0; z-index:0; }
}
@media (max-width:400px) {
  .lhp-hero__title { font-size:20px; }
}

/* Hide the first Elementor footer container on the homepage only.
   Direct-child combinator + :first-child so nested .e-con descendants
   that happen to be first-child of their own parent stay visible. */
body.home .elementor-location-footer > .elementor-element.e-con-full.e-flex.e-con.e-parent:first-child {
  display: none !important;
}

body.home .language-switcher .language-dropdown {
  z-index: 1 !important;
}

/* Onboard button (Lets Go) — raise z-index so it's clickable, design override desktop only */
#onboard_btn_container,
#onboard_btn_mobile.onboard_btn { z-index: 9999 !important; pointer-events: auto !important; }
#onboard_overlay.onboard_overlay { z-index: 10000 !important; }

@media (min-width:768px) {
  .lhp-hero__content #onboard_btn_container { position: relative; }
  .lhp-hero__content #onboard_btn_desktop.onboard_btn { position: relative; z-index: 5; pointer-events: auto; }
  .lhp-hero__content #onboard_btn_desktop.onboard_btn {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    min-width: 200px;
    min-height: 55px;
    padding: 0 20px;
    font-size: 14px;
    font-weight: 400;
    letter-spacing: .12em;
    text-transform: uppercase;
    border: 1px solid #fff;
    background: transparent;
    color: #fff;
    border-radius: 0;
    box-shadow: none;
    transition: background .3s, color .3s;
    line-height: 1;
  }
  .lhp-hero__content #onboard_btn_desktop.onboard_btn:hover,
  .lhp-hero__content #onboard_btn_desktop.onboard_btn:hover * {
    background: #fff !important;
    background-image: none !important;
    color: #000 !important;
  }
}
