
body.lhps-v2-active,
body.lhps-v2-active button,
body.lhps-v2-active input,
body.lhps-v2-active select,
body.lhps-v2-active textarea {
  font-family: var(--lhps-font) !important;
}

body.lhps-v2-active .lhps-v2-main {
  position: relative;
  overflow: hidden;
  color: #23131c;
  background:
    radial-gradient(circle at 10% 15%, rgba(255, 223, 239, .72), transparent 27%),
    radial-gradient(circle at 91% 11%, rgba(224, 232, 255, .72), transparent 28%),
    radial-gradient(circle at 48% 34%, rgba(255, 247, 226, .36), transparent 25%),
    linear-gradient(180deg, #fff 0%, #fff 73%, #fffafc 100%);
}

.lhps-v2-main *,
.lhps-v2-main *::before,
.lhps-v2-main *::after { box-sizing: border-box; }

.lhps-v2-hero {
  position: relative;
  z-index: 1;
  width: min(calc(100% - 48px), var(--lhps-max));
  margin: 0 auto;
  min-height: 720px;
  display: grid;
  grid-template-columns: minmax(0,var(--lhps-left)) minmax(0,var(--lhps-right));
  gap: var(--lhps-gap);
  align-items: center;
  padding: 34px 0 54px;
}

.lhps-v2-stage {
  position: relative;
  min-width: 0;
  height: var(--lhps-stage-h);
  perspective: 1200px;
  transform-style: preserve-3d;
  isolation: isolate;
  overflow: visible;
}

.lhps-v2-stage::before {
  content:"";
  position:absolute;
  width: 88%;
  height: 70%;
  left: 2%;
  top: 4%;
  border-radius: 50%;
  background:
    radial-gradient(circle at 42% 38%, rgba(255,255,255,.94), rgba(255,255,255,.65) 36%, rgba(255,244,250,.16) 64%, transparent 76%),
    radial-gradient(circle at 24% 32%, rgba(255,82,174,.13), transparent 47%),
    radial-gradient(circle at 76% 38%, rgba(119,139,255,.11), transparent 48%);
  filter: blur(5px);
  transform: translate3d(calc(var(--lhps-px,0) * -3px), calc(var(--lhps-py,0) * -2px), -65px);
  z-index: -6;
}

.lhps-v2-stage::after {
  content:"";
  position:absolute;
  inset: -2%;
  pointer-events:none;
  z-index: 30;
  border-radius: 42px;
  background:
    radial-gradient(circle at var(--lhps-light-x,45%) var(--lhps-light-y,35%),
      rgba(255,255,255,.42) 0%,
      rgba(255,255,255,.14) 17%,
      rgba(255,255,255,0) 42%);
  mix-blend-mode: screen;
  opacity: .82;
}

.lhps-v2-glow {
  position:absolute;
  width: 64%;
  height: 64%;
  left: 7%;
  top: 5%;
  border-radius:50%;
  background:
    radial-gradient(circle, rgba(255,74,167,.22), rgba(255,74,167,.06) 40%, rgba(255,74,167,0) 70%);
  filter: blur(24px);
  z-index:-4;
  transform:translate3d(calc(var(--lhps-px,0)*-7px),calc(var(--lhps-py,0)*-5px),-25px);
}

.lhps-v2-gallery-card {
  position:absolute;
  left: 12%;
  top: 8%;
  width: 72%;
  height: 72%;
  z-index: 8;
  isolation: isolate;
  border-radius: 30px;
  background: rgba(255,255,255,.86);
  padding: 15px;
  border: 1px solid rgba(255,255,255,.92);
  box-shadow:
    0 50px 110px rgba(52,24,40,.18),
    0 12px 34px rgba(229,0,125,.08),
    inset 0 1px 0 rgba(255,255,255,.95);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  transform-style: preserve-3d;
  transform:
    translate3d(calc(var(--lhps-px,0)*4px),calc(var(--lhps-py,0)*4px),55px)
    rotateX(calc(var(--lhps-ry,0)*-1deg))
    rotateY(calc(var(--lhps-rx,0)*1deg))
    scale(var(--lhps-card-scale,1));
  transition: box-shadow .35s ease, filter .35s ease;
}

.lhps-v2-gallery-card::before {
  content:"";
  position:absolute;
  inset: 18px -22px -22px 20px;
  z-index:-2;
  border-radius: 30px;
  background:
    linear-gradient(140deg, rgba(255,212,235,.48), rgba(255,255,255,.40) 52%, rgba(217,226,255,.48));
  border: 1px solid rgba(255,255,255,.72);
  filter: blur(.2px);
  transform: translateZ(-42px);
  box-shadow: 0 26px 52px rgba(53,28,43,.08);
}

.lhps-v2-gallery-card::after {
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  pointer-events:none;
  z-index: 25;
  background:
    radial-gradient(circle at var(--lhps-light-x,45%) var(--lhps-light-y,35%),
      rgba(255,255,255,.30), transparent 34%);
  opacity:.75;
}

.lhps-v2-gallery-card:hover {
  box-shadow:
    0 58px 126px rgba(52,24,40,.21),
    0 14px 42px rgba(229,0,125,.10),
    inset 0 1px 0 rgba(255,255,255,.95);
}

.lhps-v2-gallery-card .woocommerce-product-gallery {
  width:100%!important;
  max-width:none!important;
  float:none!important;
  margin:0!important;
  height:100%;
  position:relative;
  z-index:4;
}

.lhps-v2-gallery-card .woocommerce-product-gallery__wrapper,
.lhps-v2-gallery-card .woocommerce-product-gallery__image,
.lhps-v2-gallery-card .flex-viewport { height:100%!important; }

.lhps-v2-gallery-card .woocommerce-product-gallery__image a {
  display:flex!important;
  width:100%;
  height:100%;
  align-items:center;
  justify-content:center;
}

.lhps-v2-gallery-card .woocommerce-product-gallery__image img {
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-height:100%!important;
  object-fit:contain!important;
  border-radius:20px;
}

.lhps-v2-gallery-card .woocommerce-product-gallery__trigger {
  z-index: 32!important;
  width: 42px!important;
  height: 42px!important;
  border-radius: 50%!important;
  background: rgba(255,255,255,.92)!important;
  box-shadow: 0 8px 24px rgba(39,19,29,.12)!important;
}

.lhps-v2-gallery-card .flex-control-thumbs {
  position:absolute;
  top:100%;
  left:0;
  margin-top:18px!important;
  width:100%;
  display:flex!important;
  gap:9px;
  justify-content:center;
  z-index: 20;
}

.lhps-v2-gallery-card .flex-control-thumbs li { width:52px!important; float:none!important; }
.lhps-v2-gallery-card .flex-control-thumbs img { border-radius:10px; }

.lhps-v2-sale {
  position:absolute;
  right:-22px;
  top:18px;
  z-index:40;
  width:82px;
  height:82px;
  border-radius:50%;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  background:linear-gradient(145deg,#ff36a0,var(--lhps-accent));
  color:#fff;
  font-size:20px;
  font-weight:900;
  line-height:1;
  border:4px solid rgba(255,255,255,.95);
  box-shadow:0 14px 34px rgba(229,0,125,.30);
  transform: translateZ(105px);
}

.lhps-v2-sale small { font-size:10px; letter-spacing:.12em; margin-top:5px; }

.lhps-v2-vertical-tag {
  position:absolute;
  right: 3.5%;
  top: 39%;
  z-index: 14;
  width: 48px;
  height: 132px;
  border-radius: 18px;
  display:grid;
  place-items:center;
  background:
    linear-gradient(180deg, rgba(255,54,158,.94), rgba(201,0,105,.96));
  border: 1px solid rgba(255,255,255,.55);
  box-shadow:
    0 22px 46px rgba(229,0,125,.22),
    inset 0 1px 0 rgba(255,255,255,.38);
  transform:
    translate3d(calc(var(--lhps-px,0)*15px),calc(var(--lhps-py,0)*8px),92px)
    rotateY(calc(var(--lhps-rx,0)*.55deg));
}

.lhps-v2-vertical-tag span {
  writing-mode:vertical-rl;
  color:#fff;
  font-size:10px;
  font-weight:900;
  letter-spacing:.24em;
}

.lhps-v2-pedestal {
  position:absolute;
  left: 17%;
  bottom: 1%;
  width: 66%;
  height: 132px;
  z-index: 2;
  transform-style:preserve-3d;
  animation: lhpsPlatformFloat 5.6s ease-in-out infinite;
}

.lhps-v2-pedestal i { position:absolute; display:block; left:50%; }

.lhps-v2-platform-top {
  width: 100%;
  height: 84px;
  top: 8px;
  transform:
    translateX(-50%)
    rotateX(67deg)
    translate3d(calc(var(--lhps-px,0)*1px),calc(var(--lhps-py,0)*1px),12px);
  border-radius: 50% / 38%;
  background:
    linear-gradient(180deg, rgba(255,255,255,.95), rgba(255,249,252,.70));
  border: 1px solid rgba(229,0,125,.13);
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.70),
    0 10px 24px rgba(95,46,70,.06);
  backdrop-filter: blur(10px);
}

.lhps-v2-platform-edge {
  width: 97%;
  height: 86px;
  top: 24px;
  transform: translateX(-50%) rotateX(67deg) translateZ(-5px);
  border-radius: 50% / 38%;
  background:
    linear-gradient(180deg, rgba(255,255,255,.70), rgba(255,222,239,.26));
  border: 1px solid rgba(229,0,125,.09);
  box-shadow: 0 18px 38px rgba(64,31,48,.08);
}

.lhps-v2-platform-shadow {
  width: 86%;
  height: 54px;
  bottom: 3px;
  transform: translateX(-50%);
  border-radius:50%;
  background: rgba(87,38,62,.12);
  filter: blur(18px);
  opacity:.52;
}

.lhps-v2-pedestal b {
  position:absolute;
  left:50%;
  bottom: 3px;
  transform:translateX(-50%);
  white-space:nowrap;
  color: rgba(229,0,125,.72);
  font-size:9px;
  font-weight:850;
  letter-spacing:.18em;
  text-transform:uppercase;
}

.lhps-v2-prop {
  position:absolute;
  pointer-events:none;
  transform-style:preserve-3d;
  will-change:transform;
}

.lhps-v2-prop img {
  display:block;
  width:100%;
  height:auto;
  object-fit:contain;
}

.lhps-v2-prop-1 {
  z-index: 3;
  width: var(--lhps-p1-w);
  left: var(--lhps-p1-x);
  top: var(--lhps-p1-y);
  opacity:.80;
  filter: drop-shadow(0 24px 24px rgba(49,24,37,.11)) blur(.15px);
  transform:
    translate3d(calc(var(--lhps-px,0)*-7px),calc(var(--lhps-py,0)*-5px),15px)
    rotateY(calc(var(--lhps-rx,0)*-.25deg))
    scale(.98);
}

.lhps-v2-prop-2 {
  z-index: 10;
  width: var(--lhps-p2-w);
  left: var(--lhps-p2-x);
  top: var(--lhps-p2-y);
  filter: drop-shadow(0 30px 28px rgba(49,24,37,.15));
  transform:
    translate3d(calc(var(--lhps-px,0)*12px),calc(var(--lhps-py,0)*8px),82px)
    rotateY(calc(var(--lhps-rx,0)*.38deg))
    rotateX(calc(var(--lhps-ry,0)*-.18deg))
    scale(var(--lhps-mid-scale,1));
}

.lhps-v2-prop-3 {
  z-index: 18;
  width: var(--lhps-p3-w);
  left: var(--lhps-p3-x);
  top: var(--lhps-p3-y);
  filter: drop-shadow(0 34px 34px rgba(49,24,37,.18));
  transform:
    translate3d(calc(var(--lhps-px,0)*19px),calc(var(--lhps-py,0)*12px),122px)
    rotateY(calc(var(--lhps-rx,0)*.5deg))
    rotateX(calc(var(--lhps-ry,0)*-.28deg))
    scale(var(--lhps-front-scale,1));
}

.lhps-v2-info {
  min-width:0;
  align-self:center;
  padding: 0 0 12px;
  max-width: 690px;
  position:relative;
  z-index:4;
}

.lhps-v2-kicker {
  display:flex;
  align-items:center;
  gap:11px;
  margin-bottom:16px;
  color:var(--lhps-accent);
  text-transform:uppercase;
  letter-spacing:.17em;
  font-size:10px;
  font-weight:850;
}

.lhps-v2-kicker i { width:30px; height:1px; background:rgba(229,0,125,.42); }
.lhps-v2-kicker strong { font:inherit; }

.lhps-v2-title {
  margin:0!important;
  max-width:690px;
  color:#22121a!important;
  font-family:var(--lhps-font)!important;
  font-size:clamp(38px,2.85vw,var(--lhps-title))!important;
  line-height:1.075!important;
  letter-spacing:-.038em!important;
  font-weight:800!important;
  text-transform:none!important;
  text-wrap:balance;
}

.lhps-v2-rating {
  display:flex;
  align-items:center;
  gap:10px;
  margin-top:17px;
  font-size:12px;
  color:#777078;
}

.lhps-v2-rating .star-rating { float:none!important; margin:0!important; color:#ffad00; }
.lhps-v2-rating b { color:#21151b; }

.lhps-v2-price {
  margin-top:22px;
  display:flex;
  align-items:baseline;
  gap:10px;
  color:var(--lhps-accent);
  font-size:34px;
  line-height:1.1;
  font-weight:850;
}

.lhps-v2-price .price { font:inherit!important; color:inherit!important; margin:0!important; }
.lhps-v2-price ins { color:var(--lhps-accent)!important; text-decoration:none!important; font-weight:850!important; }
.lhps-v2-price del { color:#9a9397!important; font-size:16px!important; font-weight:500!important; opacity:1!important; }

.lhps-v2-description {
  margin-top:21px;
  max-width:650px;
  color:#5f555a;
  font-size:15px;
  line-height:1.72;
}

.lhps-v2-description p { margin:0 0 10px!important; }

.lhps-v2-rule {
  width:100%;
  height:1px;
  background:linear-gradient(90deg,#ebe6e9,rgba(235,230,233,.15));
  margin:24px 0 20px;
}

.lhps-v2-cart form.cart {
  margin:0!important;
  padding:0!important;
  display:flex!important;
  flex-wrap:wrap;
  align-items:stretch;
  gap:12px;
}

.lhps-v2-cart form.cart .quantity {
  margin:0!important;
  min-width:126px;
}

.lhps-v2-cart form.cart .quantity input {
  height:58px!important;
  border:1px solid #e7e2e5!important;
  background:rgba(255,255,255,.86)!important;
  border-radius:15px!important;
  box-shadow:none!important;
}

.lhps-v2-cart form.cart .single_add_to_cart_button {
  min-height:58px!important;
  flex:1 1 260px!important;
  margin:0!important;
  border:1.5px solid rgba(229,0,125,.28)!important;
  border-radius:15px!important;
  background:rgba(255,255,255,.76)!important;
  color:var(--lhps-accent)!important;
  box-shadow:0 10px 24px rgba(94,43,68,.05)!important;
  font-family:var(--lhps-font)!important;
  font-size:13px!important;
  font-weight:850!important;
  text-transform:uppercase!important;
  transition:transform .22s ease, box-shadow .22s ease, background .22s ease!important;
}

.lhps-v2-cart form.cart .single_add_to_cart_button:hover {
  transform:translateY(-1px);
  background:#fff!important;
  box-shadow:0 14px 28px rgba(229,0,125,.09)!important;
}

.lhps-v2-cart form.variations_form { display:block!important; }

.lhps-v2-cart .variations {
  width:100%!important;
  margin:0 0 14px!important;
}

.lhps-v2-cart .variations th,
.lhps-v2-cart .variations td {
  padding:8px 6px 8px 0!important;
  border:0!important;
  vertical-align:middle!important;
}

.lhps-v2-cart .variations select {
  min-height:48px;
  border:1px solid #e6e0e4;
  border-radius:12px;
  background:#fff;
  padding:0 12px;
}

.lhps-v2-cart .single_variation_wrap { width:100%; }

.lhps-v2-cart .woocommerce-variation-add-to-cart {
  display:flex!important;
  gap:12px;
  flex-wrap:wrap;
}

.lhps-v2-buy-now {
  position:relative!important;
  overflow:hidden!important;
  order:20;
  flex:1 0 100%!important;
  min-height:70px!important;
  margin:0!important;
  padding:12px 64px 11px 20px!important;
  border-radius:16px!important;
  background:
    linear-gradient(100deg,#ff0b86 0%,#e4007c 48%,#b40768 100%)!important;
  color:#fff!important;
  text-align:left!important;
  border:0!important;
  box-shadow:
    0 20px 38px rgba(229,0,125,.22),
    0 7px 16px rgba(229,0,125,.10)!important;
  white-space:normal!important;
  line-height:1.1!important;
  transition: transform .22s ease, box-shadow .22s ease!important;
}

.lhps-v2-buy-now::before {
  content:"";
  position:absolute;
  top:-45%;
  left:-28%;
  width:36%;
  height:190%;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.28),transparent);
  transform:rotate(18deg);
  transition:left .55s ease;
}

.lhps-v2-buy-now:hover {
  transform:translateY(-2px);
  box-shadow:
    0 24px 44px rgba(229,0,125,.27),
    0 8px 18px rgba(229,0,125,.12)!important;
}

.lhps-v2-buy-now:hover::before { left:108%; }

.lhps-v2-buy-now span,
.lhps-v2-buy-now strong {
  position:relative;
  z-index:2;
  display:block!important;
  color:#fff!important;
  width:auto!important;
  height:auto!important;
  line-height:1.15!important;
  white-space:normal!important;
  text-align:left!important;
}

.lhps-v2-buy-now span {
  margin:0 0 3px!important;
  font-size:9px!important;
  letter-spacing:.18em!important;
  font-weight:700!important;
}

.lhps-v2-buy-now strong {
  margin:0!important;
  font-size:14px!important;
  font-weight:850!important;
}

.lhps-v2-buy-now i {
  position:absolute;
  right:18px;
  top:50%;
  transform:translateY(-50%);
  width:38px;
  height:38px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:rgba(255,255,255,.15);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.13);
  font-style:normal;
  font-size:20px;
}

.lhps-v2-notes {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  margin-top:16px;
  padding:13px 14px;
  border:1px solid rgba(229,0,125,.07);
  border-radius:16px;
  background:rgba(255,255,255,.56);
  box-shadow:0 12px 28px rgba(73,36,54,.035);
  backdrop-filter:blur(8px);
}

.lhps-v2-notes > div {
  display:flex;
  gap:8px;
  align-items:flex-start;
  min-width:0;
}

.lhps-v2-notes > div > span {
  flex:0 0 22px;
  width:22px;
  height:22px;
  border-radius:50%;
  display:grid;
  place-items:center;
  color:var(--lhps-accent);
  background:#fff1f8;
  font-size:11px;
  font-weight:900;
}

.lhps-v2-notes p { margin:0!important; line-height:1.2; }
.lhps-v2-notes b,.lhps-v2-notes small { display:block; }
.lhps-v2-notes b { font-size:11px; color:#24131c; }
.lhps-v2-notes small { margin-top:4px; font-size:9px; color:#7d7278; line-height:1.35; }

.lhps-v2-story {
  position:relative;
  width:min(calc(100% - 48px),var(--lhps-max));
  margin:0 auto 64px;
  padding:42px 46px;
  border-radius:var(--lhps-radius);
  display:grid;
  grid-template-columns:.7fr 1.1fr 1.3fr;
  gap:36px;
  align-items:center;
  background:
    radial-gradient(circle at 10% 20%, rgba(255,218,236,.62), transparent 34%),
    linear-gradient(125deg,#fff6fa,#fff 55%,#f7f9ff);
  border:1px solid rgba(229,0,125,.07);
  box-shadow:0 24px 60px rgba(82,38,60,.04);
}

.lhps-v2-story > span,
.lhps-v2-story small {
  color:var(--lhps-accent);
  font-size:10px;
  font-weight:800;
  letter-spacing:.16em;
}

.lhps-v2-story h2 {
  margin:7px 0 0!important;
  font-family:var(--lhps-font)!important;
  font-size:32px!important;
  line-height:1.12!important;
  color:#28161f!important;
}

.lhps-v2-story p {
  margin:0!important;
  color:#64565d;
  line-height:1.7;
}

.lhps-v2-details {
  width:min(calc(100% - 48px),var(--lhps-max));
  margin:0 auto;
  padding:20px 0 80px;
}

.lhps-v2-details .woocommerce-tabs { margin-top:0!important; }

@keyframes lhpsPlatformFloat {
  0%,100% { transform:translateY(0); }
  50% { transform:translateY(-3px); }
}

@media (max-width: 1220px) {
  .lhps-v2-hero { grid-template-columns:1fr 1fr; gap:34px; min-height:0; }
  .lhps-v2-stage { height:610px; }
  .lhps-v2-gallery-card { left:11%; width:75%; }
  .lhps-v2-title { font-size:clamp(36px,4vw,48px)!important; }
  .lhps-v2-notes { gap:8px; }
}

@media (max-width: 920px) {
  body.lhps-v2-active .lhps-v2-main {
    background:
      radial-gradient(circle at 18% 8%, rgba(255,223,239,.62), transparent 26%),
      linear-gradient(180deg,#fff,#fff);
  }
  .lhps-v2-hero {
    width:min(calc(100% - 28px),var(--lhps-max));
    grid-template-columns:1fr;
    gap:4px;
    padding:24px 0 42px;
  }
  .lhps-v2-stage { height:560px; }
  .lhps-v2-gallery-card { left:12%; top:7%; width:76%; height:72%; }
  .lhps-v2-info { padding:0 6px; max-width:none; }
  .lhps-v2-title { font-size:clamp(34px,8vw,48px)!important; }
  .lhps-v2-story {
    width:calc(100% - 28px);
    grid-template-columns:1fr;
    padding:28px;
    gap:15px;
  }
  .lhps-v2-details { width:calc(100% - 28px); }
}

@media (max-width: 620px) {
  .lhps-v2-stage { height:455px; overflow:hidden; margin-inline:-5px; }
  .lhps-v2-gallery-card {
    left:9%;
    top:7%;
    width:82%;
    height:69%;
    padding:10px;
    border-radius:22px;
  }
  .lhps-v2-gallery-card::before { inset:12px -12px -12px 12px; border-radius:22px; }
  .lhps-v2-vertical-tag { right:0; transform:scale(.78); transform-origin:right center; }
  .lhps-v2-pedestal { left:16%; width:68%; bottom:-1%; }
  .lhps-v2-prop-1 { opacity:.62; }
  .lhps-v2-prop-2 { transform:scale(.86); transform-origin:center; }
  .lhps-v2-prop-3 { transform:scale(.82); transform-origin:center; }
  .lhps-v2-notes { grid-template-columns:1fr; }
  .lhps-v2-kicker { flex-wrap:wrap; gap:7px; }
  .lhps-v2-price { font-size:31px; }
  .lhps-v2-cart form.cart .quantity { min-width:110px; }
  .lhps-v2-buy-now { min-height:66px!important; }
}

@media (prefers-reduced-motion: reduce) {
  .lhps-v2-stage *,
  .lhps-v2-stage *::before,
  .lhps-v2-stage *::after {
    transition:none!important;
    animation:none!important;
  }
}

/* ============================================================
   LHPS 2.2 — SURROUND FX
   Deliberately visible even without pointer input. 3D motion is
   still controlled separately by the existing Motion switch.
   ============================================================ */
body.lhps-v2-surround-on .lhps-v2-stage {
  filter: saturate(1.02);
}

body.lhps-v2-surround-on .lhps-v2-aura {
  position:absolute;
  inset:-8% -7% 4% -9%;
  z-index:-3;
  pointer-events:none;
  transform-style:preserve-3d;
  opacity:var(--lhps-aura,.78);
}

body.lhps-v2-surround-on .lhps-v2-aura i,
body.lhps-v2-surround-on .lhps-v2-aura b,
body.lhps-v2-surround-on .lhps-v2-aura em {
  position:absolute;
  display:block;
  border-radius:50%;
  filter:blur(34px);
  will-change:transform,opacity;
}

body.lhps-v2-surround-on .lhps-v2-aura i {
  width:58%;
  height:58%;
  left:3%;
  top:9%;
  background:radial-gradient(circle,rgba(255,55,161,.30) 0%,rgba(255,107,185,.14) 44%,rgba(255,107,185,0) 72%);
  animation:lhpsAuraBreathe 5.8s ease-in-out infinite;
}

body.lhps-v2-surround-on .lhps-v2-aura b {
  width:52%;
  height:49%;
  right:2%;
  top:15%;
  background:radial-gradient(circle,rgba(122,111,255,.23) 0%,rgba(160,148,255,.10) 46%,rgba(160,148,255,0) 73%);
  animation:lhpsAuraBreatheB 7.2s ease-in-out infinite;
}

body.lhps-v2-surround-on .lhps-v2-aura em {
  width:54%;
  height:32%;
  left:24%;
  bottom:3%;
  background:radial-gradient(ellipse,rgba(255,220,124,.25) 0%,rgba(255,226,158,.10) 48%,rgba(255,226,158,0) 76%);
  animation:lhpsAuraBreathe 6.6s 1s ease-in-out infinite reverse;
}

body.lhps-v2-surround-on .lhps-v2-orbits {
  position:absolute;
  inset:0;
  z-index:6;
  pointer-events:none;
  transform-style:preserve-3d;
  opacity:var(--lhps-orbit,.82);
}

body.lhps-v2-surround-on .lhps-v2-orbit {
  position:absolute;
  left:47%;
  top:44%;
  display:block;
  border-radius:50%;
  border:1.6px solid rgba(255,116,190,.62);
  box-shadow:
    0 0 12px rgba(255,94,174,.22),
    0 0 30px rgba(170,139,255,.13),
    inset 0 0 16px rgba(255,255,255,.34);
  transform-style:preserve-3d;
  will-change:transform;
}

body.lhps-v2-surround-on .lhps-v2-orbit::before {
  content:"";
  position:absolute;
  inset:-2px;
  border-radius:inherit;
  border-top:1.5px solid rgba(151,133,255,.72);
  border-right:1.5px solid rgba(255,255,255,.50);
  border-bottom-color:transparent;
  filter:drop-shadow(0 0 7px rgba(179,150,255,.25));
}

body.lhps-v2-surround-on .lhps-v2-orbit-a {
  width:99%;
  height:43%;
  animation:lhpsOrbitA var(--lhps-orbit-speed,20s) linear infinite;
}

body.lhps-v2-surround-on .lhps-v2-orbit-b {
  width:82%;
  height:56%;
  border-color:rgba(255,195,223,.46);
  animation:lhpsOrbitB var(--lhps-orbit-speed-b,26s) linear infinite reverse;
}

body.lhps-v2-surround-on .lhps-v2-orbit span {
  position:absolute;
  width:13px;
  height:13px;
  right:13%;
  top:-7px;
  border-radius:50%;
  background:radial-gradient(circle at 32% 28%,#fff 0 17%,#ffd9ed 27%,#f18bc4 55%,#ad83ff 100%);
  border:1px solid rgba(255,255,255,.9);
  box-shadow:
    0 0 0 5px rgba(255,146,203,.08),
    0 0 18px rgba(229,0,125,.35),
    0 0 28px rgba(147,117,255,.25);
}

body.lhps-v2-surround-on .lhps-v2-orbit-b span {
  width:9px;
  height:9px;
  right:auto;
  left:19%;
  top:auto;
  bottom:-5px;
}

body.lhps-v2-surround-on .lhps-v2-orbit-front {
  position:absolute;
  left:7%;
  top:20%;
  width:86%;
  height:54%;
  z-index:19;
  pointer-events:none;
  border-radius:50%;
  border-right:2px solid rgba(255,136,199,.72);
  border-bottom:2px solid rgba(173,142,255,.62);
  border-left:2px solid transparent;
  border-top:2px solid transparent;
  box-shadow:0 11px 22px rgba(229,0,125,.07);
  opacity:var(--lhps-orbit,.82);
  transform-style:preserve-3d;
  animation:lhpsOrbitFront var(--lhps-orbit-speed-front,23s) ease-in-out infinite alternate;
}

body.lhps-v2-surround-on .lhps-v2-orbit-front span {
  position:absolute;
  right:7.5%;
  bottom:6%;
  width:17px;
  height:17px;
  border-radius:50%;
  background:radial-gradient(circle at 30% 28%,#fff 0 19%,#fff0c7 28%,#ffb1d8 60%,#c795ff 100%);
  border:2px solid rgba(255,255,255,.84);
  box-shadow:0 0 20px rgba(229,0,125,.34),0 0 38px rgba(255,207,124,.22);
}

body.lhps-v2-surround-on .lhps-v2-sparkles {
  position:absolute;
  inset:-1%;
  z-index:22;
  pointer-events:none;
  opacity:var(--lhps-sparkle,.58);
}

body.lhps-v2-surround-on .lhps-v2-sparkles i {
  position:absolute;
  left:var(--sx);
  top:var(--sy);
  width:calc(7px * var(--ss));
  height:calc(7px * var(--ss));
  opacity:.18;
  transform:rotate(45deg) scale(.55);
  background:linear-gradient(135deg,rgba(255,255,255,.98),rgba(255,190,224,.90));
  border-radius:1px;
  box-shadow:0 0 12px rgba(255,92,177,.48),0 0 22px rgba(171,142,255,.24);
  animation:lhpsSparkle 3.4s var(--sd) ease-in-out infinite;
}

body.lhps-v2-surround-on .lhps-v2-sparkles i::before,
body.lhps-v2-surround-on .lhps-v2-sparkles i::after {
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  background:rgba(255,255,255,.92);
  transform:translate(-50%,-50%) rotate(-45deg);
  border-radius:999px;
}
body.lhps-v2-surround-on .lhps-v2-sparkles i::before { width:1px; height:16px; }
body.lhps-v2-surround-on .lhps-v2-sparkles i::after { width:16px; height:1px; }

body.lhps-v2-surround-on .lhps-v2-light-sweep {
  position:absolute;
  z-index:20;
  left:1%;
  top:2%;
  width:92%;
  height:79%;
  border-radius:44% 56% 52% 48%;
  pointer-events:none;
  overflow:hidden;
  opacity:var(--lhps-aura,.78);
  mix-blend-mode:screen;
}

body.lhps-v2-surround-on .lhps-v2-light-sweep::before {
  content:"";
  position:absolute;
  width:32%;
  height:170%;
  top:-32%;
  left:-42%;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.44),rgba(255,207,230,.22),transparent);
  transform:rotate(19deg);
  filter:blur(5px);
  animation:lhpsStageSweep 8.4s ease-in-out infinite;
}

body.lhps-v2-surround-on .lhps-v2-gallery-card {
  outline:1px solid rgba(255,196,225,.48);
  box-shadow:
    0 54px 118px rgba(52,24,40,.17),
    0 18px 46px rgba(229,0,125,.10),
    0 0 48px rgba(255,127,193,.09),
    inset 0 1px 0 rgba(255,255,255,.98);
}

body.lhps-v2-surround-on .lhps-v2-pedestal::before {
  content:"";
  position:absolute;
  left:50%;
  bottom:1px;
  width:76%;
  height:50px;
  transform:translateX(-50%);
  border-radius:50%;
  background:radial-gradient(ellipse,rgba(255,69,164,.28),rgba(172,138,255,.13) 44%,transparent 74%);
  filter:blur(15px);
  opacity:var(--lhps-aura,.78);
  animation:lhpsPlatformGlow 4.6s ease-in-out infinite;
}

body.lhps-v2-surround-on .lhps-v2-vertical-tag {
  box-shadow:
    0 22px 46px rgba(229,0,125,.28),
    0 0 30px rgba(255,83,169,.18),
    inset 0 1px 0 rgba(255,255,255,.44);
}

body.lhps-v2-surround-on .lhps-v2-buy-now {
  isolation:isolate;
  box-shadow:
    0 18px 38px rgba(229,0,125,.28),
    0 0 34px rgba(255,60,160,.15)!important;
  animation:lhpsCtaPulse 4.8s ease-in-out infinite;
}

body.lhps-v2-surround-on .lhps-v2-buy-now::after {
  content:"";
  position:absolute;
  z-index:-1;
  inset:-9px -10px;
  border-radius:inherit;
  background:linear-gradient(90deg,rgba(229,0,125,.24),rgba(255,96,167,.17),rgba(161,111,255,.14));
  filter:blur(18px);
  opacity:var(--lhps-cta-glow,.76);
  pointer-events:none;
}

@keyframes lhpsAuraBreathe {
  0%,100% { transform:translate3d(calc(var(--lhps-px,0) * -5px),calc(var(--lhps-py,0) * -4px),-60px) scale(.94); opacity:.70; }
  50% { transform:translate3d(calc(var(--lhps-px,0) * -8px),calc(var(--lhps-py,0) * -6px),-60px) scale(1.07); opacity:1; }
}
@keyframes lhpsAuraBreatheB {
  0%,100% { transform:translate3d(calc(var(--lhps-px,0) * 3px),calc(var(--lhps-py,0) * -3px),-50px) scale(1.04); opacity:.72; }
  50% { transform:translate3d(calc(var(--lhps-px,0) * 6px),calc(var(--lhps-py,0) * -5px),-50px) scale(.93); opacity:1; }
}
@keyframes lhpsOrbitA {
  from { transform:translate(-50%,-50%) rotateZ(-12deg) rotateX(67deg) rotateY(4deg); }
  to { transform:translate(-50%,-50%) rotateZ(348deg) rotateX(67deg) rotateY(4deg); }
}
@keyframes lhpsOrbitB {
  from { transform:translate(-50%,-50%) rotateZ(28deg) rotateX(72deg) rotateY(-7deg); }
  to { transform:translate(-50%,-50%) rotateZ(388deg) rotateX(72deg) rotateY(-7deg); }
}
@keyframes lhpsOrbitFront {
  0% { transform:translate3d(calc(var(--lhps-px,0) * 8px),calc(var(--lhps-py,0) * 5px),115px) rotate(-8deg) scale(.985); }
  100% { transform:translate3d(calc(var(--lhps-px,0) * 12px),calc(var(--lhps-py,0) * 7px),115px) rotate(5deg) scale(1.02); }
}
@keyframes lhpsSparkle {
  0%,100% { opacity:.12; transform:rotate(45deg) scale(.45); filter:brightness(.9); }
  42% { opacity:.92; transform:rotate(45deg) scale(1.18); filter:brightness(1.25); }
  58% { opacity:.48; transform:rotate(45deg) scale(.82); }
}
@keyframes lhpsStageSweep {
  0%,18% { left:-45%; opacity:0; }
  38% { opacity:.78; }
  60%,100% { left:116%; opacity:0; }
}
@keyframes lhpsPlatformGlow {
  0%,100% { opacity:.46; transform:translateX(-50%) scaleX(.92); }
  50% { opacity:.9; transform:translateX(-50%) scaleX(1.08); }
}
@keyframes lhpsCtaPulse {
  0%,100% { filter:saturate(1); }
  50% { filter:saturate(1.08) brightness(1.025); }
}

@media (max-width:920px) {
  body.lhps-v2-surround-on .lhps-v2-orbit-a { width:93%; height:39%; }
  body.lhps-v2-surround-on .lhps-v2-orbit-b { width:77%; height:50%; }
  body.lhps-v2-surround-on .lhps-v2-orbit-front { left:8%; top:20%; width:84%; height:51%; }
  body.lhps-v2-surround-on .lhps-v2-sparkles { opacity:var(--lhps-sparkle,.58); }
}

@media (max-width:620px) {
  body.lhps-v2-surround-on .lhps-v2-orbits,
  body.lhps-v2-surround-on .lhps-v2-orbit-front,
  body.lhps-v2-surround-on .lhps-v2-light-sweep { opacity:.34; }
  body.lhps-v2-surround-on .lhps-v2-sparkles { display:none; }
  body.lhps-v2-surround-on .lhps-v2-aura { opacity:var(--lhps-aura,.78); }
}

@media (prefers-reduced-motion: reduce) {
  body.lhps-v2-surround-on .lhps-v2-aura *,
  body.lhps-v2-surround-on .lhps-v2-orbit,
  body.lhps-v2-surround-on .lhps-v2-orbit-front,
  body.lhps-v2-surround-on .lhps-v2-sparkles i,
  body.lhps-v2-surround-on .lhps-v2-light-sweep::before,
  body.lhps-v2-surround-on .lhps-v2-pedestal::before,
  body.lhps-v2-surround-on .lhps-v2-buy-now {
    animation:none!important;
  }
}


/* ============================================================
   LHPS 3.1 — CLEAN FRONTEND RESET
   One render system only. No legacy orbit stacks.
   ============================================================ */

body.lhps-v2-active .lhps-v2-main{
  overflow:hidden;
  background:
    radial-gradient(circle at 10% 22%, rgba(255,226,240,.74), transparent 30%),
    radial-gradient(circle at 91% 16%, rgba(226,233,255,.72), transparent 29%),
    radial-gradient(circle at 48% 44%, rgba(255,246,224,.34), transparent 29%),
    #fff;
}

.lhps-v2-main.lhps-v31-clean .lhps-v2-hero{
  width:min(calc(100% - 48px), var(--lhps-max));
  min-height:700px;
  padding:32px 0 48px;
  align-items:center;
}

.lhps-v2-main.lhps-v31-clean .lhps-v2-stage{
  height:var(--lhps-stage-h);
  filter:none!important;
  overflow:visible;
}

/* Remove the old full-stage white sheen which could veil the product image. */
.lhps-v2-main.lhps-v31-clean .lhps-v2-stage::after{
  display:none!important;
  content:none!important;
}

/* Ambient background only. It never sits over the photo. */
.lhps-v2-main.lhps-v31-clean .lhps-v2-glow{
  left:5%;
  top:5%;
  width:74%;
  height:70%;
  z-index:-4;
  opacity:.78;
  filter:blur(28px);
}
.lhps-v2-main.lhps-v31-clean .lhps-v2-aura{
  position:absolute;
  inset:8% 7% 14% 4%;
  z-index:-3;
  pointer-events:none;
  border-radius:45%;
  background:
    radial-gradient(circle at 24% 38%, rgba(255,84,171,.13), transparent 43%),
    radial-gradient(circle at 77% 35%, rgba(146,126,255,.10), transparent 44%),
    radial-gradient(circle at 54% 70%, rgba(255,212,116,.08), transparent 39%);
}

/* Product frame: no blur, no 3D transform, no white veil. */
.lhps-v2-main.lhps-v31-clean .lhps-v2-gallery-card{
  left:11%;
  top:8%;
  width:74%;
  height:74%;
  z-index:10;
  padding:14px;
  overflow:visible!important;
  transform:none!important;
  filter:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  background:#fff!important;
  border:1px solid rgba(255,190,221,.34);
  box-shadow:
    0 38px 88px rgba(52,24,40,.13),
    0 12px 30px rgba(229,0,125,.07),
    0 0 0 1px rgba(255,255,255,.92),
    inset 0 1px 0 #fff!important;
}
.lhps-v2-main.lhps-v31-clean .lhps-v2-gallery-card::after{
  display:none!important;
  content:none!important;
}
.lhps-v2-main.lhps-v31-clean .lhps-v2-gallery-card::before{
  inset:18px -18px -18px 18px;
  filter:none!important;
  opacity:.64;
  background:linear-gradient(140deg,rgba(255,226,240,.35),rgba(255,255,255,.42) 50%,rgba(226,232,255,.35))!important;
}

/* Absolute clarity lock for the actual WooCommerce image. */
.lhps-v2-main.lhps-v31-clean .woocommerce-product-gallery,
.lhps-v2-main.lhps-v31-clean .woocommerce-product-gallery__wrapper,
.lhps-v2-main.lhps-v31-clean .woocommerce-product-gallery__image,
.lhps-v2-main.lhps-v31-clean .woocommerce-product-gallery__image a,
.lhps-v2-main.lhps-v31-clean .flex-viewport{
  filter:none!important;
  -webkit-filter:none!important;
  opacity:1!important;
  mix-blend-mode:normal!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  transform:none!important;
}
.lhps-v2-main.lhps-v31-clean .woocommerce-product-gallery__image img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  filter:none!important;
  -webkit-filter:none!important;
  opacity:1!important;
  mix-blend-mode:normal!important;
  transform:none!important;
  transform-origin:center center!important;
  image-rendering:auto!important;
  backface-visibility:visible!important;
  -webkit-backface-visibility:visible!important;
  will-change:auto!important;
  transition:none!important;
}

/* Only one orbit system exists in v3.1. */
.lhps-v2-main.lhps-v31-clean .lhps-v31-orbit-shell{
  position:absolute;
  z-index:7;
  pointer-events:none;
  overflow:visible;
}
.lhps-v2-main.lhps-v31-clean .lhps-v31-ring{
  position:absolute;
  left:50%;
  top:50%;
  border-radius:50%;
  pointer-events:none;
  border:1.3px solid rgba(255,83,170,.38);
  box-shadow:
    0 0 8px rgba(255,83,170,.11),
    0 0 17px rgba(158,132,255,.07);
}
.lhps-v2-main.lhps-v31-clean .lhps-v31-ring-a{
  width:114%;
  height:112%;
  transform:translate(-50%,-50%) rotate(-7deg);
  border-color:rgba(255,91,176,.41);
}
.lhps-v2-main.lhps-v31-clean .lhps-v31-ring-b{
  width:106%;
  height:122%;
  transform:translate(-50%,-50%) rotate(12deg);
  border-color:rgba(164,139,255,.28);
}
.lhps-v2-main.lhps-v31-clean .lhps-v31-ring span{
  position:absolute;
  inset:-1px;
  border-radius:50%;
  animation:lhpsV31Spin 15s linear infinite;
}
.lhps-v2-main.lhps-v31-clean .lhps-v31-ring-b span{
  animation-duration:20s;
  animation-direction:reverse;
}
.lhps-v2-main.lhps-v31-clean .lhps-v31-ring span::after{
  content:"";
  position:absolute;
  right:-4px;
  top:50%;
  width:9px;
  height:9px;
  margin-top:-4.5px;
  border-radius:50%;
  background:radial-gradient(circle at 35% 35%,#fff,rgba(255,214,239,.95) 45%,rgba(255,101,184,.72) 71%,transparent 77%);
  box-shadow:0 0 12px rgba(255,101,184,.18);
}
@keyframes lhpsV31Spin{
  to{transform:rotate(360deg)}
}

/* If the scan is low confidence, the orbit still falls back safely to the
   visible image content rectangle. It never expands beyond the gallery. */
.lhps-v2-main.lhps-v31-clean[data-lhps-scan-used="1"] .lhps-v31-ring{
  opacity:.92;
}
.lhps-v2-main.lhps-v31-clean[data-lhps-scan-used="0"] .lhps-v31-ring{
  opacity:.58;
}

/* No legacy front orbit and no light sweep over the image. */
.lhps-v2-main.lhps-v31-clean .lhps-v2-orbits,
.lhps-v2-main.lhps-v31-clean .lhps-v2-orbit-front,
.lhps-v2-main.lhps-v31-clean .lhps-v2-light-sweep{
  display:none!important;
}

/* Keep sparkles outside the photo, low intensity. */
.lhps-v2-main.lhps-v31-clean .lhps-v2-sparkles{
  position:absolute;
  inset:0;
  z-index:4;
  pointer-events:none;
}
.lhps-v2-main.lhps-v31-clean .lhps-v2-sparkles i{
  position:absolute;
  left:var(--sx);
  top:var(--sy);
  width:3px;
  height:3px;
  border-radius:50%;
  background:rgba(255,255,255,.94);
  box-shadow:0 0 9px rgba(255,89,176,.28);
  opacity:calc(var(--ss,.5) * .56);
}

/* Keep prop depth, but do not let decorative PNGs control the main image. */
.lhps-v2-main.lhps-v31-clean .lhps-v2-prop-1{z-index:3;}
.lhps-v2-main.lhps-v31-clean .lhps-v2-prop-2{z-index:8;}
.lhps-v2-main.lhps-v31-clean .lhps-v2-prop-3{z-index:12;}
.lhps-v2-main.lhps-v31-clean .lhps-v2-vertical-tag{z-index:13;}
.lhps-v2-main.lhps-v31-clean .lhps-v2-pedestal{z-index:2;}

/* Info side remains stable and readable. */
.lhps-v2-main.lhps-v31-clean .lhps-v2-info{
  align-self:center;
  padding:0 4px;
}
.lhps-v2-main.lhps-v31-clean .lhps-v2-title{
  font-family:var(--lhps-font)!important;
  font-weight:850;
  letter-spacing:-.035em;
  line-height:1.08;
}

/* Prevent any orbit from leaking into Story/Details even if external CSS
   attempts to modify its size. */
.lhps-v2-main.lhps-v31-clean .lhps-v2-story,
.lhps-v2-main.lhps-v31-clean .lhps-v2-details{
  position:relative;
  z-index:30;
  background:inherit;
}

@media(max-width:920px){
  .lhps-v2-main.lhps-v31-clean .lhps-v2-gallery-card{
    left:10%;
    width:80%;
  }
}
@media(max-width:620px){
  .lhps-v2-main.lhps-v31-clean .lhps-v31-ring{
    opacity:.26!important;
  }
}


/* ============================================================
   LHPS 3.2 — SAFE MOTION RESTORE
   Motion is restored ONLY to supporting FX / props / pedestal.
   The WooCommerce product image remains on a static, sharp plane.
   ============================================================ */

/* Product photo is still untouchable. */
.lhps-v2-main.lhps-v32-motion-safe .woocommerce-product-gallery__image img{
  transform:none!important;
  filter:none!important;
  -webkit-filter:none!important;
  opacity:1!important;
  transition:none!important;
  animation:none!important;
  will-change:auto!important;
}

/* ------------------------------------------------------------
   1. Orbit: the ellipse itself now rotates, not just the tiny dot.
   ------------------------------------------------------------ */
body.lhps-v2-motion-on .lhps-v2-main.lhps-v32-motion-safe .lhps-v31-ring-a{
  animation:lhpsV32RingA var(--lhps-orbit-speed,18s) linear infinite;
}
body.lhps-v2-motion-on .lhps-v2-main.lhps-v32-motion-safe .lhps-v31-ring-b{
  animation:lhpsV32RingB var(--lhps-orbit-speed-b,24s) linear infinite reverse;
}
body.lhps-v2-motion-on .lhps-v2-main.lhps-v32-motion-safe .lhps-v31-ring span{
  animation:lhpsV32OrbDot 7.6s linear infinite;
}
body.lhps-v2-motion-on .lhps-v2-main.lhps-v32-motion-safe .lhps-v31-ring-b span{
  animation-duration:10.2s;
  animation-direction:reverse;
}

@keyframes lhpsV32RingA{
  0%   { transform:translate(-50%,-50%) rotate(-10deg) scaleX(1) scaleY(.995); }
  25%  { transform:translate(-50%,-50%) rotate(80deg)  scaleX(1.015) scaleY(.985); }
  50%  { transform:translate(-50%,-50%) rotate(170deg) scaleX(.995) scaleY(1.01); }
  75%  { transform:translate(-50%,-50%) rotate(260deg) scaleX(1.01) scaleY(.99); }
  100% { transform:translate(-50%,-50%) rotate(350deg) scaleX(1) scaleY(.995); }
}
@keyframes lhpsV32RingB{
  0%   { transform:translate(-50%,-50%) rotate(14deg)  scaleX(.995) scaleY(1.01); }
  50%  { transform:translate(-50%,-50%) rotate(194deg) scaleX(1.012) scaleY(.988); }
  100% { transform:translate(-50%,-50%) rotate(374deg) scaleX(.995) scaleY(1.01); }
}
@keyframes lhpsV32OrbDot{
  to{ transform:rotate(360deg); }
}

/* ------------------------------------------------------------
   2. Aura breath: background-only, safely behind the gallery.
   ------------------------------------------------------------ */
body.lhps-v2-motion-on .lhps-v2-main.lhps-v32-motion-safe .lhps-v2-aura{
  animation:lhpsV32Aura 6.8s ease-in-out infinite;
  transform-origin:45% 50%;
}
body.lhps-v2-motion-on .lhps-v2-main.lhps-v32-motion-safe .lhps-v2-glow{
  animation:lhpsV32Glow 5.6s ease-in-out infinite alternate;
}
@keyframes lhpsV32Aura{
  0%,100%{ transform:scale(.965) translate3d(calc(var(--lhps-px,0) * -3px),calc(var(--lhps-py,0) * -2px),0); opacity:.70; }
  50%{ transform:scale(1.035) translate3d(calc(var(--lhps-px,0) * -5px),calc(var(--lhps-py,0) * -3px),0); opacity:1; }
}
@keyframes lhpsV32Glow{
  0%{ transform:translate3d(calc(var(--lhps-px,0)*-5px),calc(var(--lhps-py,0)*-4px),0) scale(.94); opacity:.58; }
  100%{ transform:translate3d(calc(var(--lhps-px,0)*-8px),calc(var(--lhps-py,0)*-6px),0) scale(1.08); opacity:.88; }
}

/* ------------------------------------------------------------
   3. Pedestal floats subtly and its under-glow breathes.
   ------------------------------------------------------------ */
body.lhps-v2-motion-on .lhps-v2-main.lhps-v32-motion-safe .lhps-v2-pedestal{
  animation:lhpsV32Pedestal 5.2s ease-in-out infinite;
}
body.lhps-v2-motion-on .lhps-v2-main.lhps-v32-motion-safe .lhps-v2-pedestal::before{
  content:"";
  position:absolute;
  left:50%;
  bottom:-2px;
  width:78%;
  height:48px;
  transform:translateX(-50%);
  border-radius:50%;
  background:radial-gradient(ellipse,rgba(255,70,165,.23),rgba(163,136,255,.11) 46%,transparent 74%);
  filter:blur(14px);
  opacity:.58;
  animation:lhpsV32PedestalGlow 4.3s ease-in-out infinite;
}
@keyframes lhpsV32Pedestal{
  0%,100%{ transform:translate3d(0,0,0); }
  50%{ transform:translate3d(0,-4px,0); }
}
@keyframes lhpsV32PedestalGlow{
  0%,100%{ opacity:.42; transform:translateX(-50%) scaleX(.93); }
  50%{ opacity:.82; transform:translateX(-50%) scaleX(1.07); }
}

/* ------------------------------------------------------------
   4. Idle float + mouse parallax for the three supporting props.
   The main photo itself never moves.
   ------------------------------------------------------------ */
body.lhps-v2-motion-on .lhps-v2-main.lhps-v32-motion-safe .lhps-v2-prop-1{
  animation:lhpsV32Prop1 7.2s ease-in-out infinite;
}
body.lhps-v2-motion-on .lhps-v2-main.lhps-v32-motion-safe .lhps-v2-prop-2{
  animation:lhpsV32Prop2 6.1s ease-in-out infinite .4s;
}
body.lhps-v2-motion-on .lhps-v2-main.lhps-v32-motion-safe .lhps-v2-prop-3{
  animation:lhpsV32Prop3 5.5s ease-in-out infinite .8s;
}

@keyframes lhpsV32Prop1{
  0%,100%{
    transform:translate3d(calc(var(--lhps-px,0)*-7px),calc(var(--lhps-py,0)*-5px - 2px),15px)
      rotateZ(-1deg) rotateY(calc(var(--lhps-rx,0)*-.25deg)) scale(.98);
  }
  50%{
    transform:translate3d(calc(var(--lhps-px,0)*-7px),calc(var(--lhps-py,0)*-5px - 8px),15px)
      rotateZ(1.2deg) rotateY(calc(var(--lhps-rx,0)*-.25deg)) scale(1.005);
  }
}
@keyframes lhpsV32Prop2{
  0%,100%{
    transform:translate3d(calc(var(--lhps-px,0)*12px),calc(var(--lhps-py,0)*8px - 1px),82px)
      rotateZ(.8deg) rotateY(calc(var(--lhps-rx,0)*.38deg))
      rotateX(calc(var(--lhps-ry,0)*-.18deg)) scale(var(--lhps-mid-scale,1));
  }
  50%{
    transform:translate3d(calc(var(--lhps-px,0)*12px),calc(var(--lhps-py,0)*8px - 7px),82px)
      rotateZ(-1deg) rotateY(calc(var(--lhps-rx,0)*.38deg))
      rotateX(calc(var(--lhps-ry,0)*-.18deg)) scale(calc(var(--lhps-mid-scale,1) * 1.015));
  }
}
@keyframes lhpsV32Prop3{
  0%,100%{
    transform:translate3d(calc(var(--lhps-px,0)*19px),calc(var(--lhps-py,0)*12px),122px)
      rotateZ(-1deg) rotateY(calc(var(--lhps-rx,0)*.5deg))
      rotateX(calc(var(--lhps-ry,0)*-.28deg)) scale(var(--lhps-front-scale,1));
  }
  50%{
    transform:translate3d(calc(var(--lhps-px,0)*19px),calc(var(--lhps-py,0)*12px - 7px),122px)
      rotateZ(1.4deg) rotateY(calc(var(--lhps-rx,0)*.5deg))
      rotateX(calc(var(--lhps-ry,0)*-.28deg)) scale(calc(var(--lhps-front-scale,1) * 1.018));
  }
}

/* ------------------------------------------------------------
   5. Vertical brand tag floats independently.
   ------------------------------------------------------------ */
body.lhps-v2-motion-on .lhps-v2-main.lhps-v32-motion-safe .lhps-v2-vertical-tag{
  animation:lhpsV32Tag 4.8s ease-in-out infinite;
}
@keyframes lhpsV32Tag{
  0%,100%{
    transform:translate3d(calc(var(--lhps-px,0)*11px),calc(var(--lhps-py,0)*6px),92px) rotateZ(.3deg);
  }
  50%{
    transform:translate3d(calc(var(--lhps-px,0)*14px),calc(var(--lhps-py,0)*8px - 5px),92px) rotateZ(-1.1deg);
  }
}

/* ------------------------------------------------------------
   6. Sparkles visibly twinkle, still outside the image plane.
   ------------------------------------------------------------ */
body.lhps-v2-motion-on .lhps-v2-main.lhps-v32-motion-safe .lhps-v2-sparkles i{
  animation:lhpsV32Sparkle 3.8s ease-in-out infinite;
  animation-delay:var(--sd,0s);
}
@keyframes lhpsV32Sparkle{
  0%,100%{ opacity:.12; transform:scale(.55); filter:brightness(.9); }
  45%{ opacity:.88; transform:scale(1.25); filter:brightness(1.35); }
  65%{ opacity:.38; transform:scale(.82); }
}

/* ------------------------------------------------------------
   7. CTA gets a light pulse. No product-image side effects.
   ------------------------------------------------------------ */
body.lhps-v2-motion-on .lhps-v2-main.lhps-v32-motion-safe .lhps-v2-buy-now{
  animation:lhpsV32Cta 4.9s ease-in-out infinite;
}
@keyframes lhpsV32Cta{
  0%,100%{ box-shadow:0 18px 36px rgba(229,0,125,.22); filter:saturate(1); }
  50%{ box-shadow:0 22px 46px rgba(229,0,125,.30),0 0 28px rgba(255,76,165,.12); filter:saturate(1.05) brightness(1.018); }
}

/* Respect reduced-motion users. */
@media(prefers-reduced-motion:reduce){
  .lhps-v2-main.lhps-v32-motion-safe .lhps-v31-ring,
  .lhps-v2-main.lhps-v32-motion-safe .lhps-v31-ring span,
  .lhps-v2-main.lhps-v32-motion-safe .lhps-v2-aura,
  .lhps-v2-main.lhps-v32-motion-safe .lhps-v2-glow,
  .lhps-v2-main.lhps-v32-motion-safe .lhps-v2-pedestal,
  .lhps-v2-main.lhps-v32-motion-safe .lhps-v2-pedestal::before,
  .lhps-v2-main.lhps-v32-motion-safe .lhps-v2-prop,
  .lhps-v2-main.lhps-v32-motion-safe .lhps-v2-vertical-tag,
  .lhps-v2-main.lhps-v32-motion-safe .lhps-v2-sparkles i,
  .lhps-v2-main.lhps-v32-motion-safe .lhps-v2-buy-now{
    animation:none!important;
  }
}


/* ============================================================
   LHPS 3.3 — MOTION HARD-MOUNT
   Root cause fixed:
   - Idle FX no longer depend on BODY class lhps-v2-motion-on.
   - Surround FX mount directly on the product MAIN element.
   - Pointer parallax uses MAIN's motion class / localized setting.
   - Preview can show motion even if the OS reports reduced-motion.
   ============================================================ */

/* --- SURROUND FX: always animate when Product Designer says FX = ON. --- */
.lhps-v2-main.lhps-v33-fx-on .lhps-v31-ring-a{
  animation:lhpsV33RingA var(--lhps-orbit-speed,18s) linear infinite!important;
}
.lhps-v2-main.lhps-v33-fx-on .lhps-v31-ring-b{
  animation:lhpsV33RingB var(--lhps-orbit-speed-b,24s) linear infinite reverse!important;
}
.lhps-v2-main.lhps-v33-fx-on .lhps-v31-ring span{
  animation:lhpsV33OrbDot 7.4s linear infinite!important;
}
.lhps-v2-main.lhps-v33-fx-on .lhps-v31-ring-b span{
  animation-duration:10s!important;
  animation-direction:reverse!important;
}

@keyframes lhpsV33RingA{
  0%{transform:translate(-50%,-50%) rotate(-12deg) scaleX(1) scaleY(.99)}
  25%{transform:translate(-50%,-50%) rotate(78deg) scaleX(1.025) scaleY(.98)}
  50%{transform:translate(-50%,-50%) rotate(168deg) scaleX(.99) scaleY(1.02)}
  75%{transform:translate(-50%,-50%) rotate(258deg) scaleX(1.02) scaleY(.985)}
  100%{transform:translate(-50%,-50%) rotate(348deg) scaleX(1) scaleY(.99)}
}
@keyframes lhpsV33RingB{
  0%{transform:translate(-50%,-50%) rotate(16deg) scaleX(.99) scaleY(1.02)}
  50%{transform:translate(-50%,-50%) rotate(196deg) scaleX(1.02) scaleY(.985)}
  100%{transform:translate(-50%,-50%) rotate(376deg) scaleX(.99) scaleY(1.02)}
}
@keyframes lhpsV33OrbDot{to{transform:rotate(360deg)}}

.lhps-v2-main.lhps-v33-fx-on .lhps-v2-aura{
  animation:lhpsV33Aura 6.4s ease-in-out infinite!important;
}
.lhps-v2-main.lhps-v33-fx-on .lhps-v2-glow{
  animation:lhpsV33Glow 5.2s ease-in-out infinite alternate!important;
}
@keyframes lhpsV33Aura{
  0%,100%{transform:scale(.96);opacity:.66}
  50%{transform:scale(1.055);opacity:1}
}
@keyframes lhpsV33Glow{
  0%{transform:scale(.92);opacity:.52}
  100%{transform:scale(1.1);opacity:.88}
}

.lhps-v2-main.lhps-v33-fx-on .lhps-v2-pedestal{
  animation:lhpsV33Pedestal 4.8s ease-in-out infinite!important;
}
.lhps-v2-main.lhps-v33-fx-on .lhps-v2-pedestal::before{
  animation:lhpsV33PedestalGlow 4s ease-in-out infinite!important;
}
@keyframes lhpsV33Pedestal{
  0%,100%{transform:translate3d(0,0,0)}
  50%{transform:translate3d(0,-5px,0)}
}
@keyframes lhpsV33PedestalGlow{
  0%,100%{opacity:.40;transform:translateX(-50%) scaleX(.92)}
  50%{opacity:.86;transform:translateX(-50%) scaleX(1.09)}
}

.lhps-v2-main.lhps-v33-fx-on .lhps-v2-sparkles i{
  animation:lhpsV33Sparkle 3.4s ease-in-out infinite!important;
  animation-delay:var(--sd,0s)!important;
}
@keyframes lhpsV33Sparkle{
  0%,100%{opacity:.10;transform:scale(.5)}
  46%{opacity:.94;transform:scale(1.35)}
  66%{opacity:.34;transform:scale(.78)}
}

.lhps-v2-main.lhps-v33-fx-on .lhps-v2-buy-now{
  animation:lhpsV33Cta 4.5s ease-in-out infinite!important;
}
@keyframes lhpsV33Cta{
  0%,100%{box-shadow:0 18px 36px rgba(229,0,125,.20);filter:saturate(1)}
  50%{box-shadow:0 24px 50px rgba(229,0,125,.31),0 0 32px rgba(255,76,165,.14);filter:saturate(1.06) brightness(1.025)}
}

/* --- 3D MOTION: props + tag idle-float when Motion is ON. --- */
.lhps-v2-main.lhps-v33-motion-on .lhps-v2-prop-1{
  animation:lhpsV33Prop1 7s ease-in-out infinite!important;
}
.lhps-v2-main.lhps-v33-motion-on .lhps-v2-prop-2{
  animation:lhpsV33Prop2 6s ease-in-out infinite .4s!important;
}
.lhps-v2-main.lhps-v33-motion-on .lhps-v2-prop-3{
  animation:lhpsV33Prop3 5.4s ease-in-out infinite .8s!important;
}
.lhps-v2-main.lhps-v33-motion-on .lhps-v2-vertical-tag{
  animation:lhpsV33Tag 4.6s ease-in-out infinite!important;
}

@keyframes lhpsV33Prop1{
  0%,100%{transform:translate3d(calc(var(--lhps-px,0)*-7px),calc(var(--lhps-py,0)*-5px - 2px),15px) rotateZ(-1deg) scale(.98)}
  50%{transform:translate3d(calc(var(--lhps-px,0)*-7px),calc(var(--lhps-py,0)*-5px - 9px),15px) rotateZ(1.2deg) scale(1.01)}
}
@keyframes lhpsV33Prop2{
  0%,100%{transform:translate3d(calc(var(--lhps-px,0)*12px),calc(var(--lhps-py,0)*8px - 1px),82px) rotateZ(.7deg) scale(var(--lhps-mid-scale,1))}
  50%{transform:translate3d(calc(var(--lhps-px,0)*12px),calc(var(--lhps-py,0)*8px - 8px),82px) rotateZ(-1deg) scale(calc(var(--lhps-mid-scale,1) * 1.018))}
}
@keyframes lhpsV33Prop3{
  0%,100%{transform:translate3d(calc(var(--lhps-px,0)*19px),calc(var(--lhps-py,0)*12px),122px) rotateZ(-1deg) scale(var(--lhps-front-scale,1))}
  50%{transform:translate3d(calc(var(--lhps-px,0)*19px),calc(var(--lhps-py,0)*12px - 8px),122px) rotateZ(1.4deg) scale(calc(var(--lhps-front-scale,1) * 1.02))}
}
@keyframes lhpsV33Tag{
  0%,100%{transform:translate3d(calc(var(--lhps-px,0)*11px),calc(var(--lhps-py,0)*6px),92px) rotateZ(.3deg)}
  50%{transform:translate3d(calc(var(--lhps-px,0)*14px),calc(var(--lhps-py,0)*8px - 6px),92px) rotateZ(-1deg)}
}

/* The product photo must remain perfectly static/sharp while all this moves. */
.lhps-v2-main.lhps-v33-hard-mount .woocommerce-product-gallery__image img{
  transform:none!important;
  filter:none!important;
  -webkit-filter:none!important;
  opacity:1!important;
  animation:none!important;
  transition:none!important;
}

/* Normal storefront respects the visitor's reduced-motion preference.
   Admin LHPS preview intentionally overrides it so the owner can test FX. */
@media(prefers-reduced-motion:reduce){
  .lhps-v2-main.lhps-v33-hard-mount:not(.lhps-v33-preview-force) .lhps-v31-ring,
  .lhps-v2-main.lhps-v33-hard-mount:not(.lhps-v33-preview-force) .lhps-v31-ring span,
  .lhps-v2-main.lhps-v33-hard-mount:not(.lhps-v33-preview-force) .lhps-v2-aura,
  .lhps-v2-main.lhps-v33-hard-mount:not(.lhps-v33-preview-force) .lhps-v2-glow,
  .lhps-v2-main.lhps-v33-hard-mount:not(.lhps-v33-preview-force) .lhps-v2-pedestal,
  .lhps-v2-main.lhps-v33-hard-mount:not(.lhps-v33-preview-force) .lhps-v2-pedestal::before,
  .lhps-v2-main.lhps-v33-hard-mount:not(.lhps-v33-preview-force) .lhps-v2-prop,
  .lhps-v2-main.lhps-v33-hard-mount:not(.lhps-v33-preview-force) .lhps-v2-vertical-tag,
  .lhps-v2-main.lhps-v33-hard-mount:not(.lhps-v33-preview-force) .lhps-v2-sparkles i,
  .lhps-v2-main.lhps-v33-hard-mount:not(.lhps-v33-preview-force) .lhps-v2-buy-now{
    animation:none!important;
  }

  /* In the explicit LHPS preview, force the owner-visible effects back on. */
  .lhps-v2-main.lhps-v33-preview-force.lhps-v33-fx-on .lhps-v31-ring-a{animation:lhpsV33RingA var(--lhps-orbit-speed,18s) linear infinite!important}
  .lhps-v2-main.lhps-v33-preview-force.lhps-v33-fx-on .lhps-v31-ring-b{animation:lhpsV33RingB var(--lhps-orbit-speed-b,24s) linear infinite reverse!important}
  .lhps-v2-main.lhps-v33-preview-force.lhps-v33-fx-on .lhps-v2-aura{animation:lhpsV33Aura 6.4s ease-in-out infinite!important}
  .lhps-v2-main.lhps-v33-preview-force.lhps-v33-fx-on .lhps-v2-glow{animation:lhpsV33Glow 5.2s ease-in-out infinite alternate!important}
  .lhps-v2-main.lhps-v33-preview-force.lhps-v33-fx-on .lhps-v2-pedestal{animation:lhpsV33Pedestal 4.8s ease-in-out infinite!important}
  .lhps-v2-main.lhps-v33-preview-force.lhps-v33-motion-on .lhps-v2-prop-1{animation:lhpsV33Prop1 7s ease-in-out infinite!important}
  .lhps-v2-main.lhps-v33-preview-force.lhps-v33-motion-on .lhps-v2-prop-2{animation:lhpsV33Prop2 6s ease-in-out infinite .4s!important}
  .lhps-v2-main.lhps-v33-preview-force.lhps-v33-motion-on .lhps-v2-prop-3{animation:lhpsV33Prop3 5.4s ease-in-out infinite .8s!important}
  .lhps-v2-main.lhps-v33-preview-force.lhps-v33-motion-on .lhps-v2-vertical-tag{animation:lhpsV33Tag 4.6s ease-in-out infinite!important}
}


/* ============================================================
   LHPS 3.4 — PRIME GLEAM
   A restrained studio-light sweep across the real product image.
   No blur, no image transform, no segmentation, no fake cutout.
   ============================================================ */

.lhps-v2-main.lhps-v34-prime-gleam .woocommerce-product-gallery__image a {
  position: relative !important;
  overflow: hidden !important;
  isolation: isolate;
}

/* Keep the source photo completely untouched. */
.lhps-v2-main.lhps-v34-prime-gleam .woocommerce-product-gallery__image img {
  position: relative;
  z-index: 1;
  transform: none !important;
  filter: none !important;
  -webkit-filter: none !important;
  opacity: 1 !important;
}

/* Narrow champagne-white light streak. It crosses the displayed photo only,
   and has a long resting phase so it reads as premium rather than flashy. */
.lhps-v2-main.lhps-v34-prime-gleam .woocommerce-product-gallery__image a::after {
  content: "";
  position: absolute;
  z-index: 4;
  top: -22%;
  left: -58%;
  width: 34%;
  height: 144%;
  pointer-events: none;
  background: linear-gradient(
    108deg,
    rgba(255,255,255,0) 0%,
    rgba(255,255,255,0) 24%,
    rgba(255,249,235,.07) 34%,
    rgba(255,247,225,.22) 44%,
    rgba(255,255,255,.48) 50%,
    rgba(255,226,239,.16) 57%,
    rgba(255,255,255,0) 69%,
    rgba(255,255,255,0) 100%
  );
  transform: skewX(-16deg) translate3d(0,0,0);
  opacity: .62;
  animation: lhpsV34PrimeGleam 8.8s cubic-bezier(.24,.72,.24,1) infinite;
}

/* A second, tiny highlight rides behind the main streak to avoid a flat
   'white rectangle' look. */
.lhps-v2-main.lhps-v34-prime-gleam .woocommerce-product-gallery__image a::before {
  content: "";
  position: absolute;
  z-index: 3;
  top: 12%;
  left: -18%;
  width: 9px;
  height: 9px;
  border-radius: 50%;
  pointer-events: none;
  background: radial-gradient(circle, rgba(255,255,255,.95) 0 18%, rgba(255,223,237,.52) 38%, rgba(255,255,255,0) 72%);
  box-shadow: 0 0 14px rgba(255,218,235,.22);
  opacity: 0;
  animation: lhpsV34PrimeGlint 8.8s ease-in-out infinite;
}

@keyframes lhpsV34PrimeGleam {
  0%, 57%   { left: -58%; opacity: 0; }
  60%       { opacity: .24; }
  65%       { opacity: .66; }
  77%       { left: 126%; opacity: .52; }
  80%,100%  { left: 126%; opacity: 0; }
}

@keyframes lhpsV34PrimeGlint {
  0%, 61%   { left: -18%; top: 20%; opacity: 0; transform: scale(.6); }
  66%       { opacity: .76; transform: scale(1); }
  75%       { left: 90%; top: 58%; opacity: .45; transform: scale(.84); }
  78%,100%  { left: 90%; top: 58%; opacity: 0; transform: scale(.6); }
}

/* Hover gives one quicker reflection without zooming or blurring the image. */
.lhps-v2-main.lhps-v34-prime-gleam .woocommerce-product-gallery__image a:hover::after {
  animation: lhpsV34PrimeGleamHover 1.15s cubic-bezier(.22,.7,.24,1) 1;
}
@keyframes lhpsV34PrimeGleamHover {
  0%   { left: -58%; opacity: 0; }
  16%  { opacity: .35; }
  52%  { opacity: .68; }
  100% { left: 126%; opacity: 0; }
}

/* Keep public accessibility behavior, but allow the explicit LHPS preview to
   demonstrate the effect even if the OS has Reduce Motion enabled. */
@media (prefers-reduced-motion: reduce) {
  .lhps-v2-main.lhps-v34-prime-gleam:not(.lhps-v33-preview-force) .woocommerce-product-gallery__image a::after,
  .lhps-v2-main.lhps-v34-prime-gleam:not(.lhps-v33-preview-force) .woocommerce-product-gallery__image a::before {
    animation: none !important;
    opacity: 0 !important;
  }
  .lhps-v2-main.lhps-v34-prime-gleam.lhps-v33-preview-force .woocommerce-product-gallery__image a::after {
    animation: lhpsV34PrimeGleam 8.8s cubic-bezier(.24,.72,.24,1) infinite !important;
  }
  .lhps-v2-main.lhps-v34-prime-gleam.lhps-v33-preview-force .woocommerce-product-gallery__image a::before {
    animation: lhpsV34PrimeGlint 8.8s ease-in-out infinite !important;
  }
}


/* ============================================================
   LHPS 3.5 — FRONT GLEAM LAYER
   Fixes stacking-context issues by using a real DOM overlay positioned
   above the product photo. It does not modify/blur/transform the photo.
   ============================================================ */

/* Disable the v3.4 pseudo-element gleam so only ONE gleam system exists. */
.lhps-v2-main.lhps-v35-front-gleam .woocommerce-product-gallery__image a::before,
.lhps-v2-main.lhps-v35-front-gleam .woocommerce-product-gallery__image a::after{
  content:none!important;
  display:none!important;
  animation:none!important;
}

/* Stable z-index map:
   orbit/background <= 9
   real WooCommerce image = 20
   gleam front layer = 34
   zoom/sale controls >= 42
*/
.lhps-v2-main.lhps-v35-front-gleam .woocommerce-product-gallery,
.lhps-v2-main.lhps-v35-front-gleam .woocommerce-product-gallery__wrapper,
.lhps-v2-main.lhps-v35-front-gleam .woocommerce-product-gallery__image,
.lhps-v2-main.lhps-v35-front-gleam .woocommerce-product-gallery__image a,
.lhps-v2-main.lhps-v35-front-gleam .flex-viewport{
  position:relative!important;
  z-index:20!important;
}

.lhps-v2-main.lhps-v35-front-gleam .woocommerce-product-gallery__image img{
  position:relative!important;
  z-index:20!important;
  transform:none!important;
  filter:none!important;
  -webkit-filter:none!important;
  opacity:1!important;
  mix-blend-mode:normal!important;
}

.lhps-v2-main.lhps-v35-front-gleam .lhps-v35-gleam-overlay{
  position:absolute;
  z-index:34!important;
  pointer-events:none;
  overflow:hidden;
  border-radius:20px;
  opacity:1;
  isolation:isolate;
}

/* Main premium sweep. */
.lhps-v2-main.lhps-v35-front-gleam .lhps-v35-gleam-sweep{
  position:absolute;
  left:-46%;
  top:-28%;
  width:34%;
  height:156%;
  transform:skewX(-15deg) translate3d(0,0,0);
  background:linear-gradient(
    108deg,
    rgba(255,255,255,0) 0%,
    rgba(255,255,255,0) 24%,
    rgba(255,247,229,.08) 35%,
    rgba(255,244,220,.25) 43%,
    rgba(255,255,255,.72) 50%,
    rgba(255,227,240,.18) 58%,
    rgba(255,255,255,0) 70%,
    rgba(255,255,255,0) 100%
  );
  mix-blend-mode:screen;
  opacity:0;
  animation:lhpsV35Gleam 5.8s cubic-bezier(.22,.72,.24,1) infinite;
  will-change:left,opacity;
}

/* Small specular sparkle that makes the sweep unmistakably visible. */
.lhps-v2-main.lhps-v35-front-gleam .lhps-v35-gleam-glint{
  position:absolute;
  left:-10%;
  top:22%;
  width:13px;
  height:13px;
  border-radius:50%;
  opacity:0;
  background:radial-gradient(circle,
    rgba(255,255,255,1) 0 18%,
    rgba(255,239,205,.95) 27%,
    rgba(255,214,235,.58) 43%,
    rgba(255,255,255,0) 73%);
  box-shadow:
    0 0 12px rgba(255,255,255,.72),
    0 0 24px rgba(255,213,230,.34);
  animation:lhpsV35Glint 5.8s ease-in-out infinite;
}

@keyframes lhpsV35Gleam{
  0%,8%   { left:-46%; opacity:0; }
  11%     { opacity:.28; }
  18%     { opacity:.84; }
  31%     { left:116%; opacity:.54; }
  36%,100%{ left:116%; opacity:0; }
}

@keyframes lhpsV35Glint{
  0%,13%   { left:-10%; top:20%; opacity:0; transform:scale(.55); }
  18%      { opacity:.92; transform:scale(1.15); }
  29%      { left:91%; top:60%; opacity:.48; transform:scale(.82); }
  34%,100% { left:91%; top:60%; opacity:0; transform:scale(.55); }
}

/* Hover gives an immediate sweep so the effect can be tested instantly. */
.lhps-v2-main.lhps-v35-front-gleam .lhps-v2-gallery-card:hover .lhps-v35-gleam-sweep{
  animation:lhpsV35GleamHover 1.05s cubic-bezier(.2,.72,.22,1) 1!important;
}
.lhps-v2-main.lhps-v35-front-gleam .lhps-v2-gallery-card:hover .lhps-v35-gleam-glint{
  animation:lhpsV35GlintHover 1.05s ease-out 1!important;
}
@keyframes lhpsV35GleamHover{
  0%{left:-46%;opacity:0}
  16%{opacity:.42}
  48%{opacity:.88}
  100%{left:116%;opacity:0}
}
@keyframes lhpsV35GlintHover{
  0%{left:-10%;top:22%;opacity:0;transform:scale(.55)}
  35%{opacity:1;transform:scale(1.18)}
  100%{left:91%;top:60%;opacity:0;transform:scale(.6)}
}

.lhps-v2-main.lhps-v35-front-gleam .woocommerce-product-gallery__trigger,
.lhps-v2-main.lhps-v35-front-gleam .lhps-v2-sale{
  z-index:42!important;
}

/* Explicit preview always shows the gleam, even if the OS asks for reduced
   motion. Public storefront still respects reduced-motion. */
@media(prefers-reduced-motion:reduce){
  .lhps-v2-main.lhps-v35-front-gleam:not(.lhps-v33-preview-force) .lhps-v35-gleam-sweep,
  .lhps-v2-main.lhps-v35-front-gleam:not(.lhps-v33-preview-force) .lhps-v35-gleam-glint{
    animation:none!important;
    opacity:0!important;
  }
  .lhps-v2-main.lhps-v35-front-gleam.lhps-v33-preview-force .lhps-v35-gleam-sweep{
    animation:lhpsV35Gleam 5.8s cubic-bezier(.22,.72,.24,1) infinite!important;
  }
  .lhps-v2-main.lhps-v35-front-gleam.lhps-v33-preview-force .lhps-v35-gleam-glint{
    animation:lhpsV35Glint 5.8s ease-in-out infinite!important;
  }
}


/* ============================================================
   LHPS 3.6 — IMAGE ORBIT OVERLAY
   Realistic fallback when orbit cannot wrap the product subject:
   place the orbit directly ON the visible image plane.
   ============================================================ */

/* Hide older wrap/background orbit systems in this mode. */
.lhps-v2-main.lhps-v36-image-orbit .lhps-v31-orbit-shell,
.lhps-v2-main.lhps-v36-image-orbit .lhps-v30-orbit-shell,
.lhps-v2-main.lhps-v36-image-orbit .lhps-v29-orbit-shell,
.lhps-v2-main.lhps-v36-image-orbit .lhps-v2-orbits,
.lhps-v2-main.lhps-v36-image-orbit .lhps-v2-orbit-front{
  display:none!important;
}

/* Layer order:
   image 20
   image orbit overlay 28
   gleam 34
   controls/badges 42
*/
.lhps-v2-main.lhps-v36-image-orbit .lhps-v36-image-orbit-overlay{
  position:absolute;
  z-index:28!important;
  pointer-events:none;
  overflow:visible;
  opacity:1;
}

.lhps-v2-main.lhps-v36-image-orbit .lhps-v36-image-orbit{
  position:absolute;
  left:50%;
  top:50%;
  border-radius:50%;
  pointer-events:none;
  border:1.35px solid rgba(255,88,168,.36);
  box-shadow:
    0 0 10px rgba(255,88,168,.12),
    0 0 22px rgba(166,138,255,.10);
  filter:drop-shadow(0 0 4px rgba(255,88,168,.10));
}

.lhps-v2-main.lhps-v36-image-orbit .lhps-v36-image-orbit-a{
  width:96%;
  height:90%;
  transform:translate(-50%,-50%) rotate(-14deg);
  border-color:rgba(255,92,176,.36);
  animation:lhpsV36OrbitA 14s linear infinite;
}
.lhps-v2-main.lhps-v36-image-orbit .lhps-v36-image-orbit-b{
  width:86%;
  height:108%;
  transform:translate(-50%,-50%) rotate(12deg);
  border-color:rgba(168,140,255,.24);
  animation:lhpsV36OrbitB 18s linear infinite reverse;
}

.lhps-v2-main.lhps-v36-image-orbit .lhps-v36-image-orbit span{
  position:absolute;
  inset:-1px;
  border-radius:50%;
  animation:lhpsV36Dot 7.2s linear infinite;
}
.lhps-v2-main.lhps-v36-image-orbit .lhps-v36-image-orbit-b span{
  animation-duration:9.6s;
  animation-direction:reverse;
}
.lhps-v2-main.lhps-v36-image-orbit .lhps-v36-image-orbit span::after{
  content:"";
  position:absolute;
  right:-4px;
  top:50%;
  width:9px;
  height:9px;
  margin-top:-4.5px;
  border-radius:50%;
  background:radial-gradient(circle at 35% 35%,#fff,rgba(255,215,238,.95) 45%,rgba(255,101,184,.72) 71%,transparent 77%);
  box-shadow:
    0 0 10px rgba(255,101,184,.16),
    0 0 18px rgba(255,255,255,.22);
}

/* Soft center glow so the orbit feels integrated with the photo plane. */
.lhps-v2-main.lhps-v36-image-orbit .lhps-v36-image-orbit-overlay::before{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:68%;
  height:64%;
  transform:translate(-50%,-50%);
  border-radius:50%;
  background:radial-gradient(ellipse, rgba(255,255,255,.08), rgba(255,213,235,.04) 42%, rgba(255,255,255,0) 70%);
  pointer-events:none;
}

@keyframes lhpsV36OrbitA{
  from{transform:translate(-50%,-50%) rotate(-14deg)}
  to{transform:translate(-50%,-50%) rotate(346deg)}
}
@keyframes lhpsV36OrbitB{
  from{transform:translate(-50%,-50%) rotate(12deg)}
  to{transform:translate(-50%,-50%) rotate(372deg)}
}
@keyframes lhpsV36Dot{
  to{transform:rotate(360deg)}
}

.lhps-v2-main.lhps-v36-image-orbit .lhps-v2-gallery-card:hover .lhps-v36-image-orbit{
  border-width:1.55px;
  opacity:.98;
  box-shadow:
    0 0 12px rgba(255,88,168,.16),
    0 0 26px rgba(166,138,255,.12);
}

@media(prefers-reduced-motion:reduce){
  .lhps-v2-main.lhps-v36-image-orbit:not(.lhps-v33-preview-force) .lhps-v36-image-orbit,
  .lhps-v2-main.lhps-v36-image-orbit:not(.lhps-v33-preview-force) .lhps-v36-image-orbit span{
    animation:none!important;
  }
  .lhps-v2-main.lhps-v36-image-orbit.lhps-v33-preview-force .lhps-v36-image-orbit-a{
    animation:lhpsV36OrbitA 14s linear infinite!important;
  }
  .lhps-v2-main.lhps-v36-image-orbit.lhps-v33-preview-force .lhps-v36-image-orbit-b{
    animation:lhpsV36OrbitB 18s linear infinite reverse!important;
  }
}


/* ============================================================
   LHPS 3.6.2 — PRIME ORBIT + SPARKLES
   - orbit slightly larger than the visible image
   - remove under-image filter layers
   - keep one enlarged sparkle field extending toward product info
   ============================================================ */

/* Remove under-image filtered layers; keep only stars + ring + gleam. */
.lhps-v2-main.lhps-v362-prime-orbit .lhps-v2-glow,
.lhps-v2-main.lhps-v362-prime-orbit .lhps-v2-aura,
.lhps-v2-main.lhps-v362-prime-orbit .lhps-v36-image-orbit-overlay::before{
  display:none!important;
  content:none!important;
}
.lhps-v2-main.lhps-v362-prime-orbit .lhps-v2-pedestal::before{
  display:none!important;
  content:none!important;
  animation:none!important;
}

/* Orbit larger than the image by a small premium margin. */
.lhps-v2-main.lhps-v362-prime-orbit .lhps-v36-image-orbit{
  border:1.45px solid rgba(255,88,168,.38);
  box-shadow:
    0 0 12px rgba(255,88,168,.14),
    0 0 28px rgba(166,138,255,.12);
}
.lhps-v2-main.lhps-v362-prime-orbit .lhps-v36-image-orbit-a{
  width:108%;
  height:102%;
}
.lhps-v2-main.lhps-v362-prime-orbit .lhps-v36-image-orbit-b{
  width:96%;
  height:118%;
}
.lhps-v2-main.lhps-v362-prime-orbit .lhps-v36-image-orbit span::after{
  width:10px;
  height:10px;
  margin-top:-5px;
  box-shadow:
    0 0 12px rgba(255,101,184,.18),
    0 0 24px rgba(255,255,255,.26);
}
.lhps-v2-main.lhps-v362-prime-orbit .lhps-v2-gallery-card:hover .lhps-v36-image-orbit{
  border-width:1.65px;
  box-shadow:
    0 0 14px rgba(255,88,168,.18),
    0 0 30px rgba(166,138,255,.14);
}

/* One premium sparkle layer, enlarged and spilling into the info side. */
.lhps-v2-main.lhps-v362-prime-orbit .lhps-v2-sparkles{
  position:absolute;
  top:-10%!important;
  left:-8%!important;
  right:-40%!important;
  bottom:-12%!important;
  z-index:16!important;
  pointer-events:none;
  overflow:visible!important;
  opacity:1!important;
}
.lhps-v2-main.lhps-v362-prime-orbit .lhps-v2-sparkles i{
  width:8px!important;
  height:8px!important;
  border-radius:50%;
  background:radial-gradient(circle,#fff 0 24%,rgba(255,239,248,.94) 42%,rgba(255,255,255,0) 72%)!important;
  box-shadow:
    0 0 10px rgba(255,255,255,.52),
    0 0 20px rgba(255,128,194,.28),
    0 0 34px rgba(255,255,255,.16)!important;
  opacity:calc(var(--ss,.5) * .9)!important;
  animation:lhpsV362StarTwinkle 4.4s ease-in-out infinite!important;
  animation-delay:var(--sd,0s)!important;
}
.lhps-v2-main.lhps-v362-prime-orbit .lhps-v2-sparkles i::before,
.lhps-v2-main.lhps-v362-prime-orbit .lhps-v2-sparkles i::after{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  border-radius:999px;
  background:linear-gradient(180deg,rgba(255,255,255,0),rgba(255,255,255,.95),rgba(255,255,255,0));
  opacity:.92;
}
.lhps-v2-main.lhps-v362-prime-orbit .lhps-v2-sparkles i::before{ width:2px; height:22px; }
.lhps-v2-main.lhps-v362-prime-orbit .lhps-v2-sparkles i::after{
  width:22px; height:2px;
  background:linear-gradient(90deg,rgba(255,255,255,0),rgba(255,255,255,.95),rgba(255,255,255,0));
}
.lhps-v2-main.lhps-v362-prime-orbit .lhps-v2-sparkles i:nth-child(3n){ transform:scale(1.35); }
.lhps-v2-main.lhps-v362-prime-orbit .lhps-v2-sparkles i:nth-child(4n){ transform:scale(1.6); }
.lhps-v2-main.lhps-v362-prime-orbit .lhps-v2-sparkles i:nth-child(5n){ transform:scale(1.15); }

@keyframes lhpsV362StarTwinkle{
  0%,100%{ opacity:.18; filter:brightness(.95); }
  28%{ opacity:.56; }
  48%{ opacity:1; filter:brightness(1.2); }
  70%{ opacity:.34; }
}

@media(max-width:920px){
  .lhps-v2-main.lhps-v362-prime-orbit .lhps-v2-sparkles{ right:-18%!important; }
}
@media(max-width:620px){
  .lhps-v2-main.lhps-v362-prime-orbit .lhps-v2-sparkles{ right:-6%!important; top:-6%!important; }
  .lhps-v2-main.lhps-v362-prime-orbit .lhps-v2-sparkles i{ width:6px!important; height:6px!important; }
  .lhps-v2-main.lhps-v362-prime-orbit .lhps-v2-sparkles i::before{ height:16px; }
  .lhps-v2-main.lhps-v362-prime-orbit .lhps-v2-sparkles i::after{ width:16px; }
}


/* ============================================================
   LHPS 3.6.3 — PRIME ORBIT XXL + CLEAN STARS
   ============================================================ */
.lhps-v2-main.lhps-v363-prime-xxl .lhps-v35-gleam-overlay,
.lhps-v2-main.lhps-v363-prime-xxl .lhps-v2-glow,
.lhps-v2-main.lhps-v363-prime-xxl .lhps-v2-aura {display:none!important;}
.lhps-v2-main.lhps-v363-prime-xxl .lhps-v2-stage::after,
.lhps-v2-main.lhps-v363-prime-xxl .lhps-v2-gallery-card::before,
.lhps-v2-main.lhps-v363-prime-xxl .lhps-v2-gallery-card::after,
.lhps-v2-main.lhps-v363-prime-xxl .lhps-v36-image-orbit-overlay::before,
.lhps-v2-main.lhps-v363-prime-xxl .lhps-v2-pedestal::before{content:none!important;display:none!important;}
.lhps-v2-main.lhps-v363-prime-xxl .lhps-v2-gallery-card{box-shadow:0 32px 74px rgba(52,24,40,.10),0 10px 22px rgba(229,0,125,.05),0 0 0 1px rgba(255,255,255,.94)!important;background:#fff!important;}

.lhps-v2-main.lhps-v363-prime-xxl .lhps-v36-image-orbit{border:1.55px solid rgba(255,88,168,.40);box-shadow:0 0 14px rgba(255,88,168,.16),0 0 34px rgba(166,138,255,.14);}
.lhps-v2-main.lhps-v363-prime-xxl .lhps-v36-image-orbit-a{width:118%;height:112%;}
.lhps-v2-main.lhps-v363-prime-xxl .lhps-v36-image-orbit-b{width:104%;height:130%;}
.lhps-v2-main.lhps-v363-prime-xxl .lhps-v36-image-orbit span::after{width:11px;height:11px;margin-top:-5.5px;box-shadow:0 0 14px rgba(255,101,184,.20),0 0 28px rgba(255,255,255,.28);}
.lhps-v2-main.lhps-v363-prime-xxl .lhps-v2-gallery-card:hover .lhps-v36-image-orbit{border-width:1.75px;box-shadow:0 0 16px rgba(255,88,168,.20),0 0 38px rgba(166,138,255,.16);}

.lhps-v2-main.lhps-v363-prime-xxl .lhps-v2-sparkles{position:absolute;top:-16%!important;left:-10%!important;right:-58%!important;bottom:-16%!important;z-index:16!important;overflow:visible!important;opacity:1!important;pointer-events:none;}
.lhps-v2-main.lhps-v363-prime-xxl .lhps-v2-sparkles i{width:10px!important;height:10px!important;border-radius:50%;background:radial-gradient(circle,#fff 0 24%,rgba(255,239,248,.95) 42%,rgba(255,255,255,0) 72%)!important;box-shadow:0 0 12px rgba(255,255,255,.58),0 0 24px rgba(255,128,194,.30),0 0 40px rgba(255,255,255,.18)!important;opacity:calc(var(--ss,.5) * 1)!important;animation:lhpsV363StarTwinkle 4.2s ease-in-out infinite!important;animation-delay:var(--sd,0s)!important;}
.lhps-v2-main.lhps-v363-prime-xxl .lhps-v2-sparkles i::before,.lhps-v2-main.lhps-v363-prime-xxl .lhps-v2-sparkles i::after{content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);border-radius:999px;opacity:.95;}
.lhps-v2-main.lhps-v363-prime-xxl .lhps-v2-sparkles i::before{width:2px;height:30px;background:linear-gradient(180deg,rgba(255,255,255,0),rgba(255,255,255,.98),rgba(255,255,255,0));}
.lhps-v2-main.lhps-v363-prime-xxl .lhps-v2-sparkles i::after{width:30px;height:2px;background:linear-gradient(90deg,rgba(255,255,255,0),rgba(255,255,255,.98),rgba(255,255,255,0));}
.lhps-v2-main.lhps-v363-prime-xxl .lhps-v2-sparkles i:nth-child(3n){transform:scale(1.55);}
.lhps-v2-main.lhps-v363-prime-xxl .lhps-v2-sparkles i:nth-child(4n){transform:scale(1.9);}
.lhps-v2-main.lhps-v363-prime-xxl .lhps-v2-sparkles i:nth-child(5n){transform:scale(1.28);}
@keyframes lhpsV363StarTwinkle{0%,100%{opacity:.18;filter:brightness(.96);}24%{opacity:.62;}46%{opacity:1;filter:brightness(1.22);}70%{opacity:.38;}}
@media(max-width:920px){.lhps-v2-main.lhps-v363-prime-xxl .lhps-v2-sparkles{right:-26%!important;top:-10%!important;}}
@media(max-width:620px){.lhps-v2-main.lhps-v363-prime-xxl .lhps-v2-sparkles{right:-8%!important;top:-6%!important;bottom:-8%!important;}.lhps-v2-main.lhps-v363-prime-xxl .lhps-v2-sparkles i{width:7px!important;height:7px!important;}.lhps-v2-main.lhps-v363-prime-xxl .lhps-v2-sparkles i::before{height:18px;}.lhps-v2-main.lhps-v363-prime-xxl .lhps-v2-sparkles i::after{width:18px;}}


/* ============================================================
   LHPS 3.6.4 — PRIME ORBIT XXL + GLEAM COMPAT
   Goals:
   - orbit ~20% larger than v3.6.3 but visually lighter
   - restore product gleam
   - restore + enlarge stars across PC and mobile
   - remove remaining extra filter layers
   - keep info / add-to-cart usable and unblocked
   ============================================================ */

/* Stable white / clean hero base */
.lhps-v2-main.lhps-v364-prime-compatible{ background:#fff!important; }
.lhps-v2-main.lhps-v364-prime-compatible .lhps-v2-hero,
.lhps-v2-main.lhps-v364-prime-compatible .lhps-v2-stage{ overflow:visible!important; }
.lhps-v2-main.lhps-v364-prime-compatible .lhps-v2-info,
.lhps-v2-main.lhps-v364-prime-compatible .lhps-v2-cart,
.lhps-v2-main.lhps-v364-prime-compatible .lhps-v2-cart form.cart{ position:relative; z-index:20; }

/* Remove remaining extra filter / blur layers under the image. */
.lhps-v2-main.lhps-v364-prime-compatible .lhps-v2-glow,
.lhps-v2-main.lhps-v364-prime-compatible .lhps-v2-aura,
.lhps-v2-main.lhps-v364-prime-compatible .lhps-v35-gleam-overlay + .lhps-v2-glow{ display:none!important; }
.lhps-v2-main.lhps-v364-prime-compatible .lhps-v2-stage::before,
.lhps-v2-main.lhps-v364-prime-compatible .lhps-v2-stage::after,
.lhps-v2-main.lhps-v364-prime-compatible .lhps-v2-gallery-card::before,
.lhps-v2-main.lhps-v364-prime-compatible .lhps-v2-gallery-card::after,
.lhps-v2-main.lhps-v364-prime-compatible .lhps-v36-image-orbit-overlay::before,
.lhps-v2-main.lhps-v364-prime-compatible .lhps-v2-pedestal::before,
.lhps-v2-main.lhps-v364-prime-compatible .lhps-v2-platform-shadow{ content:none!important; display:none!important; }
.lhps-v2-main.lhps-v364-prime-compatible .lhps-v2-gallery-card{
  background:#fff!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  box-shadow:0 28px 60px rgba(52,24,40,.09),0 8px 18px rgba(229,0,125,.04),0 0 0 1px rgba(235,235,240,.95)!important;
}

/* Restore gleam lightly above the image. */
.lhps-v2-main.lhps-v364-prime-compatible .lhps-v35-gleam-overlay{ display:block!important; opacity:1!important; z-index:34!important; pointer-events:none; }
.lhps-v2-main.lhps-v364-prime-compatible .lhps-v35-gleam-sweep{ opacity:0; animation:lhpsV35Gleam 6.6s cubic-bezier(.22,.72,.24,1) infinite!important; }
.lhps-v2-main.lhps-v364-prime-compatible .lhps-v35-gleam-glint{ animation:lhpsV35Glint 6.6s ease-in-out infinite!important; }

/* Orbit larger again (+~20%) but lighter / softer. */
.lhps-v2-main.lhps-v364-prime-compatible .lhps-v36-image-orbit{
  border:1.3px solid rgba(255,88,168,.26)!important;
  box-shadow:0 0 10px rgba(255,88,168,.10),0 0 22px rgba(166,138,255,.08)!important;
  filter:drop-shadow(0 0 4px rgba(255,88,168,.08));
}
.lhps-v2-main.lhps-v364-prime-compatible .lhps-v36-image-orbit-a{ width:142%; height:134%; }
.lhps-v2-main.lhps-v364-prime-compatible .lhps-v36-image-orbit-b{ width:125%; height:156%; }
.lhps-v2-main.lhps-v364-prime-compatible .lhps-v36-image-orbit span::after{
  width:10px; height:10px; margin-top:-5px;
  box-shadow:0 0 10px rgba(255,101,184,.14),0 0 20px rgba(255,255,255,.20);
}
.lhps-v2-main.lhps-v364-prime-compatible .lhps-v2-gallery-card:hover .lhps-v36-image-orbit{
  border-width:1.45px!important;
  box-shadow:0 0 12px rgba(255,88,168,.12),0 0 24px rgba(166,138,255,.10)!important;
}

/* Restore and enlarge sparkle field; keep it behind info so form still works. */
.lhps-v2-main.lhps-v364-prime-compatible .lhps-v2-sparkles{
  display:block!important;
  position:absolute!important;
  top:-18%!important; left:-10%!important; right:-52%!important; bottom:-16%!important;
  overflow:visible!important; pointer-events:none!important; z-index:6!important; opacity:1!important;
}
.lhps-v2-main.lhps-v364-prime-compatible .lhps-v2-sparkles i{
  display:block!important;
  width:12px!important; height:12px!important;
  background:radial-gradient(circle,#fff 0 24%,rgba(255,244,250,.95) 42%,rgba(255,255,255,0) 72%)!important;
  box-shadow:0 0 12px rgba(255,255,255,.62),0 0 24px rgba(255,128,194,.28),0 0 42px rgba(255,255,255,.15)!important;
  opacity:calc(var(--ss,.5) * .92)!important;
  animation:lhpsV364StarTwinkle 4.6s ease-in-out infinite!important;
  animation-delay:var(--sd,0s)!important;
}
.lhps-v2-main.lhps-v364-prime-compatible .lhps-v2-sparkles i::before,
.lhps-v2-main.lhps-v364-prime-compatible .lhps-v2-sparkles i::after{
  content:""!important; display:block!important;
  position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); opacity:.95;
}
.lhps-v2-main.lhps-v364-prime-compatible .lhps-v2-sparkles i::before{
  width:2px; height:32px;
  background:linear-gradient(180deg,rgba(255,255,255,0),rgba(255,255,255,.98),rgba(255,255,255,0));
}
.lhps-v2-main.lhps-v364-prime-compatible .lhps-v2-sparkles i::after{
  width:32px; height:2px;
  background:linear-gradient(90deg,rgba(255,255,255,0),rgba(255,255,255,.98),rgba(255,255,255,0));
}
.lhps-v2-main.lhps-v364-prime-compatible .lhps-v2-sparkles i:nth-child(3n){ transform:scale(1.45); }
.lhps-v2-main.lhps-v364-prime-compatible .lhps-v2-sparkles i:nth-child(4n){ transform:scale(1.75); }
.lhps-v2-main.lhps-v364-prime-compatible .lhps-v2-sparkles i:nth-child(5n){ transform:scale(1.18); }
@keyframes lhpsV364StarTwinkle{ 0%,100%{opacity:.18;filter:brightness(.96);} 22%{opacity:.56;} 46%{opacity:1;filter:brightness(1.18);} 72%{opacity:.34;} }

/* PC / tablet / phone compatibility */
@media (max-width: 920px){
  .lhps-v2-main.lhps-v364-prime-compatible .lhps-v2-sparkles{ right:-24%!important; top:-10%!important; bottom:-10%!important; }
  .lhps-v2-main.lhps-v364-prime-compatible .lhps-v36-image-orbit-a{ width:124%; height:118%; }
  .lhps-v2-main.lhps-v364-prime-compatible .lhps-v36-image-orbit-b{ width:110%; height:136%; }
}
@media (max-width: 620px){
  .lhps-v2-main.lhps-v364-prime-compatible .lhps-v2-stage{ overflow:visible!important; height:455px; }
  .lhps-v2-main.lhps-v364-prime-compatible .lhps-v2-sparkles{ display:block!important; right:-8%!important; left:-4%!important; top:-6%!important; bottom:-8%!important; }
  .lhps-v2-main.lhps-v364-prime-compatible .lhps-v2-sparkles i{ width:8px!important; height:8px!important; }
  .lhps-v2-main.lhps-v364-prime-compatible .lhps-v2-sparkles i::before{ height:20px; }
  .lhps-v2-main.lhps-v364-prime-compatible .lhps-v2-sparkles i::after{ width:20px; }
  .lhps-v2-main.lhps-v364-prime-compatible .lhps-v36-image-orbit-a{ width:112%; height:106%; }
  .lhps-v2-main.lhps-v364-prime-compatible .lhps-v36-image-orbit-b{ width:99%; height:124%; }
  .lhps-v2-main.lhps-v364-prime-compatible .lhps-v2-info,
  .lhps-v2-main.lhps-v364-prime-compatible .lhps-v2-cart,
  .lhps-v2-main.lhps-v364-prime-compatible .lhps-v2-cart form.cart{ z-index:24; }
}


/* ============================================================
   LHPS 3.7.0 — DETAIL SUITE + RELATED IMAGE FIT
   This patch does NOT alter the accepted hero/orbit/gleam/stars.
   ============================================================ */

/* ---------- Dedicated product-detail suite ---------- */
.lhps-v2-main.lhps-v370-detail-fit .lhps-v37-detail-suite{
  position:relative;
  z-index:32;
  width:min(calc(100% - 48px),var(--lhps-max));
  margin:8px auto 42px;
  padding:42px;
  border-radius:30px;
  background:#fff;
  border:1px solid #ececf0;
  box-shadow:0 24px 62px rgba(28,21,25,.055);
}

.lhps-v2-main.lhps-v370-detail-fit .lhps-v37-detail-head{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(260px,.72fr);
  column-gap:42px;
  align-items:end;
  margin-bottom:28px;
  padding-bottom:24px;
  border-bottom:1px solid #eeeeF2;
}

.lhps-v2-main.lhps-v370-detail-fit .lhps-v37-detail-head > span{
  grid-column:1/-1;
  margin-bottom:8px;
  color:var(--lhps-accent);
  font-size:10px;
  line-height:1;
  font-weight:800;
  letter-spacing:.17em;
}

.lhps-v2-main.lhps-v370-detail-fit .lhps-v37-detail-head h2{
  margin:0!important;
  color:#21181d!important;
  font-family:var(--lhps-font)!important;
  font-size:clamp(28px,3vw,40px)!important;
  line-height:1.08!important;
  letter-spacing:-.035em!important;
  font-weight:850!important;
}

.lhps-v2-main.lhps-v370-detail-fit .lhps-v37-detail-head p{
  margin:0!important;
  color:#777078;
  font-size:13px;
  line-height:1.65;
}

.lhps-v2-main.lhps-v370-detail-fit .lhps-v37-detail-grid{
  display:grid;
  grid-template-columns:minmax(0,1.18fr) minmax(340px,.82fr);
  gap:26px;
  align-items:stretch;
}

.lhps-v2-main.lhps-v370-detail-fit .lhps-v37-detail-copy,
.lhps-v2-main.lhps-v370-detail-fit .lhps-v37-spec-card{
  min-width:0;
  padding:28px 30px;
  border-radius:22px;
}

.lhps-v2-main.lhps-v370-detail-fit .lhps-v37-detail-copy{
  background:#fafafa;
  border:1px solid #efeff2;
}

.lhps-v2-main.lhps-v370-detail-fit .lhps-v37-spec-card{
  background:linear-gradient(145deg,#fff,#fff9fc);
  border:1px solid rgba(229,0,125,.10);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9);
}

.lhps-v2-main.lhps-v370-detail-fit .lhps-v37-detail-label{
  display:block;
  margin-bottom:17px;
  color:#9b8f96;
  font-size:9px;
  font-weight:800;
  letter-spacing:.18em;
}

.lhps-v2-main.lhps-v370-detail-fit .lhps-v37-detail-content{
  color:#514a4e;
  font-size:14px;
  line-height:1.82;
}

.lhps-v2-main.lhps-v370-detail-fit .lhps-v37-detail-content > :first-child{margin-top:0!important;}
.lhps-v2-main.lhps-v370-detail-fit .lhps-v37-detail-content > :last-child{margin-bottom:0!important;}

.lhps-v2-main.lhps-v370-detail-fit .lhps-v37-spec-card dl{
  margin:0;
}

.lhps-v2-main.lhps-v370-detail-fit .lhps-v37-spec-card dl > div{
  display:grid;
  grid-template-columns:minmax(110px,.72fr) minmax(0,1.28fr);
  gap:18px;
  padding:13px 0;
  border-bottom:1px solid rgba(31,24,28,.07);
}

.lhps-v2-main.lhps-v370-detail-fit .lhps-v37-spec-card dl > div:last-child{
  border-bottom:0;
  padding-bottom:0;
}

.lhps-v2-main.lhps-v370-detail-fit .lhps-v37-spec-card dt{
  margin:0;
  color:#837880;
  font-size:12px;
  font-weight:650;
}

.lhps-v2-main.lhps-v370-detail-fit .lhps-v37-spec-card dd{
  margin:0;
  color:#251c21;
  font-size:13px;
  line-height:1.5;
  font-weight:750;
  text-align:right;
  overflow-wrap:anywhere;
}

.lhps-v2-main.lhps-v370-detail-fit .lhps-v37-detail-empty{
  margin:0;
  color:#91878d;
  font-size:13px;
}

/* Reviews, if WooCommerce exposes them, become a secondary clean block. */
.lhps-v2-main.lhps-v370-detail-fit .lhps-v37-after-detail{
  padding-top:0;
  padding-bottom:38px;
}
.lhps-v2-main.lhps-v370-detail-fit .lhps-v37-after-detail:empty{
  display:none;
}
.lhps-v2-main.lhps-v370-detail-fit .lhps-v37-after-detail .woocommerce-tabs{
  padding:24px 28px;
  border:1px solid #ececf0;
  border-radius:22px;
  background:#fff;
  box-shadow:0 14px 34px rgba(28,21,25,.035);
}

/* ---------- Product recommendations ---------- */
.lhps-v2-main.lhps-v370-detail-fit .lhps-v37-recommendations{
  position:relative;
  z-index:32;
  width:min(calc(100% - 48px),var(--lhps-max));
  margin:0 auto;
  padding:24px 0 78px;
}

.lhps-v2-main.lhps-v370-detail-fit .lhps-v37-recommendations-head{
  display:flex;
  flex-wrap:wrap;
  align-items:end;
  gap:8px 24px;
  margin-bottom:24px;
}

.lhps-v2-main.lhps-v370-detail-fit .lhps-v37-recommendations-head > span{
  width:100%;
  color:var(--lhps-accent);
  font-size:10px;
  font-weight:800;
  letter-spacing:.17em;
}

.lhps-v2-main.lhps-v370-detail-fit .lhps-v37-recommendations-head h2{
  margin:0!important;
  color:#21181d!important;
  font-family:var(--lhps-font)!important;
  font-size:clamp(27px,3vw,38px)!important;
  letter-spacing:-.03em!important;
}

.lhps-v2-main.lhps-v370-detail-fit .lhps-v37-recommendations-head p{
  margin:0 0 3px auto!important;
  color:#827980;
  font-size:12px;
}

.lhps-v2-main.lhps-v370-detail-fit .lhps-v37-recommendations-body > section{
  margin:0 0 34px!important;
}
.lhps-v2-main.lhps-v370-detail-fit .lhps-v37-recommendations-body > section > h2{
  margin:0 0 16px!important;
  color:#5f565b!important;
  font-family:var(--lhps-font)!important;
  font-size:16px!important;
  font-weight:750!important;
}

/* Override theme floats/grids inside the recommendation zone only. */
.lhps-v2-main.lhps-v370-detail-fit .lhps-v37-recommendations ul.products{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:20px!important;
  margin:0!important;
}

.lhps-v2-main.lhps-v370-detail-fit .lhps-v37-recommendations ul.products::before,
.lhps-v2-main.lhps-v370-detail-fit .lhps-v37-recommendations ul.products::after{
  display:none!important;
  content:none!important;
}

.lhps-v2-main.lhps-v370-detail-fit .lhps-v37-recommendations ul.products li.product{
  float:none!important;
  width:auto!important;
  max-width:none!important;
  margin:0!important;
  padding:14px!important;
  display:flex!important;
  flex-direction:column!important;
  min-width:0!important;
  border:1px solid #ececf0!important;
  border-radius:20px!important;
  background:#fff!important;
  box-shadow:0 12px 32px rgba(28,21,25,.035)!important;
  transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease!important;
}

.lhps-v2-main.lhps-v370-detail-fit .lhps-v37-recommendations ul.products li.product:hover{
  transform:translateY(-3px);
  border-color:rgba(229,0,125,.18)!important;
  box-shadow:0 18px 42px rgba(28,21,25,.065)!important;
}

/* This is the core image alignment fix. */
.lhps-v2-main.lhps-v370-detail-fit .lhps-v37-recommendations ul.products li.product img{
  display:block!important;
  width:100%!important;
  height:230px!important;
  max-height:none!important;
  margin:0 0 14px!important;
  padding:15px!important;
  object-fit:contain!important;
  object-position:center center!important;
  border-radius:14px!important;
  background:#fff!important;
  border:1px solid #f0f0f2!important;
  box-sizing:border-box!important;
}

.lhps-v2-main.lhps-v370-detail-fit .lhps-v37-recommendations .woocommerce-loop-product__title,
.lhps-v2-main.lhps-v370-detail-fit .lhps-v37-recommendations .wc-block-grid__product-title{
  min-height:2.8em;
  margin:3px 0 8px!important;
  color:#2b2227!important;
  font-family:var(--lhps-font)!important;
  font-size:14px!important;
  line-height:1.4!important;
  font-weight:720!important;
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  overflow:hidden;
}

.lhps-v2-main.lhps-v370-detail-fit .lhps-v37-recommendations .price{
  margin-top:auto!important;
  padding-top:5px;
  color:var(--lhps-accent)!important;
  font-size:15px!important;
  font-weight:850!important;
}

.lhps-v2-main.lhps-v370-detail-fit .lhps-v37-recommendations .button,
.lhps-v2-main.lhps-v370-detail-fit .lhps-v37-recommendations .added_to_cart{
  width:100%!important;
  min-height:40px!important;
  margin:11px 0 0!important;
  border-radius:11px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  font-size:11px!important;
  font-weight:750!important;
}

/* Tablet */
@media(max-width:1024px){
  .lhps-v2-main.lhps-v370-detail-fit .lhps-v37-detail-grid{
    grid-template-columns:1fr 1fr;
  }
  .lhps-v2-main.lhps-v370-detail-fit .lhps-v37-recommendations ul.products{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .lhps-v2-main.lhps-v370-detail-fit .lhps-v37-recommendations ul.products li.product img{
    height:220px!important;
  }
}

/* Mobile */
@media(max-width:620px){
  .lhps-v2-main.lhps-v370-detail-fit .lhps-v37-detail-suite{
    width:calc(100% - 24px);
    margin:8px auto 28px;
    padding:22px 18px;
    border-radius:22px;
  }
  .lhps-v2-main.lhps-v370-detail-fit .lhps-v37-detail-head{
    display:block;
    margin-bottom:18px;
    padding-bottom:18px;
  }
  .lhps-v2-main.lhps-v370-detail-fit .lhps-v37-detail-head h2{
    margin-bottom:10px!important;
    font-size:29px!important;
  }
  .lhps-v2-main.lhps-v370-detail-fit .lhps-v37-detail-grid{
    grid-template-columns:1fr;
    gap:14px;
  }
  .lhps-v2-main.lhps-v370-detail-fit .lhps-v37-detail-copy,
  .lhps-v2-main.lhps-v370-detail-fit .lhps-v37-spec-card{
    padding:21px 18px;
    border-radius:17px;
  }
  .lhps-v2-main.lhps-v370-detail-fit .lhps-v37-spec-card dl > div{
    grid-template-columns:minmax(90px,.7fr) minmax(0,1.3fr);
    gap:12px;
  }

  .lhps-v2-main.lhps-v370-detail-fit .lhps-v37-after-detail{
    width:calc(100% - 24px);
  }

  .lhps-v2-main.lhps-v370-detail-fit .lhps-v37-recommendations{
    width:calc(100% - 24px);
    padding:12px 0 52px;
  }
  .lhps-v2-main.lhps-v370-detail-fit .lhps-v37-recommendations-head{
    display:block;
  }
  .lhps-v2-main.lhps-v370-detail-fit .lhps-v37-recommendations-head h2{
    margin:6px 0 8px!important;
    font-size:28px!important;
  }
  .lhps-v2-main.lhps-v370-detail-fit .lhps-v37-recommendations-head p{
    margin:0!important;
  }
  .lhps-v2-main.lhps-v370-detail-fit .lhps-v37-recommendations ul.products{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:10px!important;
  }
  .lhps-v2-main.lhps-v370-detail-fit .lhps-v37-recommendations ul.products li.product{
    padding:9px!important;
    border-radius:15px!important;
  }
  .lhps-v2-main.lhps-v370-detail-fit .lhps-v37-recommendations ul.products li.product img{
    height:155px!important;
    padding:9px!important;
    margin-bottom:10px!important;
    border-radius:11px!important;
  }
  .lhps-v2-main.lhps-v370-detail-fit .lhps-v37-recommendations .woocommerce-loop-product__title{
    font-size:12px!important;
    min-height:2.8em;
  }
  .lhps-v2-main.lhps-v370-detail-fit .lhps-v37-recommendations .button,
  .lhps-v2-main.lhps-v370-detail-fit .lhps-v37-recommendations .added_to_cart{
    min-height:36px!important;
    font-size:10px!important;
  }
}

@media(max-width:380px){
  .lhps-v2-main.lhps-v370-detail-fit .lhps-v37-recommendations ul.products{
    grid-template-columns:1fr!important;
  }
  .lhps-v2-main.lhps-v370-detail-fit .lhps-v37-recommendations ul.products li.product img{
    height:210px!important;
  }
}


/* ============================================================
   LHPS 3.7.1 — BUTTON COLOR CONTROLS
   ============================================================ */

/* Add to cart: use Product Designer variables, not fixed colors. */
.lhps-v2-main .lhps-v2-cart form.cart .single_add_to_cart_button,
.lhps-v2-main .lhps-v2-cart .woocommerce-variation-add-to-cart .single_add_to_cart_button{
  background:var(--lhps-cart-bg,#fff)!important;
  color:var(--lhps-cart-text,#e5007d)!important;
  border-color:var(--lhps-cart-border,#efb7d4)!important;
}

.lhps-v2-main .lhps-v2-cart form.cart .single_add_to_cart_button:hover,
.lhps-v2-main .lhps-v2-cart .woocommerce-variation-add-to-cart .single_add_to_cart_button:hover{
  background:var(--lhps-cart-bg,#fff)!important;
  color:var(--lhps-cart-text,#e5007d)!important;
  border-color:var(--lhps-cart-border,#efb7d4)!important;
  filter:brightness(.985);
}

/* Buy now: both ends of the gradient and the text are editable. */
.lhps-v2-main .lhps-v2-buy-now{
  background:linear-gradient(
    105deg,
    var(--lhps-buy-start,#ff0b86) 0%,
    var(--lhps-accent,#e5007d) 52%,
    var(--lhps-buy-end,#b40768) 100%
  )!important;
  color:var(--lhps-buy-text,#fff)!important;
}

.lhps-v2-main .lhps-v2-buy-now span,
.lhps-v2-main .lhps-v2-buy-now strong,
.lhps-v2-main .lhps-v2-buy-now i{
  color:var(--lhps-buy-text,#fff)!important;
}

/* Related-product CTA follows the global Add-to-cart palette. */
.lhps-v2-main.lhps-v370-detail-fit .lhps-v37-recommendations .button,
.lhps-v2-main.lhps-v370-detail-fit .lhps-v37-recommendations .added_to_cart{
  background:var(--lhps-cart-bg,#fff)!important;
  color:var(--lhps-cart-text,#e5007d)!important;
  border:1px solid var(--lhps-cart-border,#efb7d4)!important;
}


/* ============================================================
   LHPS 3.7.2 — DETAIL FIRST + FIELD AUDIT
   ============================================================ */

/* Story removed: bring Product Detail directly under the accepted hero. */
.lhps-v2-main.lhps-v372-field-audit .lhps-v2-hero{
  padding-bottom:26px!important;
}
.lhps-v2-main.lhps-v372-field-audit .lhps-v37-detail-suite{
  margin-top:0!important;
}

/* Reconnect visible design controls that were previously masked by later CSS. */
.lhps-v2-main.lhps-v372-field-audit .lhps-v2-gallery-card{
  background:var(--lhps-surface,#fff9fc)!important;
  border-radius:var(--lhps-radius,34px)!important;
}
.lhps-v2-main.lhps-v372-field-audit .lhps-v37-detail-suite{
  border-radius:var(--lhps-radius,34px)!important;
}
.lhps-v2-main.lhps-v372-field-audit .lhps-v2-gallery-card .woocommerce-product-gallery__image img{
  border-radius:max(10px,calc(var(--lhps-radius,34px) - 12px))!important;
}

.lhps-v2-main.lhps-v372-field-audit .lhps-v2-vertical-tag{
  background:linear-gradient(
    180deg,
    var(--lhps-accent,#e5007d),
    var(--lhps-accent-dark,#a30c5c)
  )!important;
}
.lhps-v2-main.lhps-v372-field-audit .lhps-v2-sale{
  background:linear-gradient(
    145deg,
    var(--lhps-accent,#e5007d),
    var(--lhps-accent-dark,#a30c5c)
  )!important;
}

/* Current image-plane Orbit + enlarged Sparkle now respond to their sliders. */
.lhps-v2-main.lhps-v372-field-audit .lhps-v36-image-orbit-overlay{
  opacity:var(--lhps-orbit,.82)!important;
}
.lhps-v2-main.lhps-v372-field-audit .lhps-v2-sparkles{
  opacity:var(--lhps-sparkle,.58)!important;
}

/* The master FX checkbox controls the actual current FX stack. */
.lhps-v2-main.lhps-v372-field-audit:not(.lhps-v33-fx-on) .lhps-v36-image-orbit-overlay,
.lhps-v2-main.lhps-v372-field-audit:not(.lhps-v33-fx-on) .lhps-v2-sparkles,
.lhps-v2-main.lhps-v372-field-audit:not(.lhps-v33-fx-on) .lhps-v35-gleam-overlay{
  display:none!important;
}

/* Button controls get final priority over theme/WooCommerce styles. */
.lhps-v2-main.lhps-v372-field-audit .lhps-v2-cart form.cart .single_add_to_cart_button,
.lhps-v2-main.lhps-v372-field-audit .lhps-v2-cart .woocommerce-variation-add-to-cart .single_add_to_cart_button{
  background:var(--lhps-cart-bg,#fff)!important;
  color:var(--lhps-cart-text,#e5007d)!important;
  border-color:var(--lhps-cart-border,#efb7d4)!important;
}
.lhps-v2-main.lhps-v372-field-audit .lhps-v2-buy-now{
  background:linear-gradient(
    105deg,
    var(--lhps-buy-start,#ff0b86) 0%,
    var(--lhps-accent,#e5007d) 52%,
    var(--lhps-buy-end,#b40768) 100%
  )!important;
  color:var(--lhps-buy-text,#fff)!important;
}

@media(max-width:620px){
  .lhps-v2-main.lhps-v372-field-audit .lhps-v2-hero{
    padding-bottom:18px!important;
  }
}
