/* ===== Shop cards ===== */
body.woocommerce .sl-shop .pgrid .scard,
body.woocommerce .sl-shop .scard,
.sl-shop .scard {
  padding: 0 !important;
  overflow: hidden !important;
  border-radius: 24px !important;
  border: 1px solid rgba(255,255,255,.1) !important;
  isolation: isolate !important;
}
body.woocommerce .sl-shop .scard .smedia,
body.woocommerce .sl-shop .smedia,
.sl-shop .smedia,
.sl-shop .scard .smedia a {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
  min-height: 0 !important;
  aspect-ratio: 4 / 5 !important;
  overflow: hidden !important;
  background: transparent !important;
  box-shadow: none !important;
  border-radius: 24px 24px 0 0 !important;
}
body.woocommerce .sl-shop .smedia img,
.sl-shop .smedia img,
.sl-shop .sl-card-img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: none !important;
  object-fit: contain !important;
  object-position: center center !important;
  margin: 0 auto !important;
  padding: 0 !important;
  border: 0 !important;
  transform: none !important;
  border-radius: 24px 24px 0 0 !important;
}
.sl-shop .smedia .swish {
  position: absolute !important;
  top: 12px !important;
  left: 12px !important;
  right: auto !important;
  z-index: 10 !important;
}
.sl-shop .smedia .badge-sale {
  position: absolute !important;
  top: 12px !important;
  right: 12px !important;
  left: auto !important;
  z-index: 10 !important;
}
.sl-shop .scard .sbody {
  padding: 14px !important;
  border-top: 0 !important;
}
@media (max-width: 600px) {
  body.woocommerce .sl-shop .smedia,
  .sl-shop .smedia,
  .sl-shop .scard .smedia a {
    aspect-ratio: 1 / 1 !important;
    min-height: 0 !important;
    padding: 0 !important;
  }
  body.woocommerce .sl-shop .smedia img,
  .sl-shop .smedia img {
    object-fit: cover !important;
    object-position: center 40% !important;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    max-height: none !important;
    transform: none !important;
  }
}
@media (min-width: 601px) and (max-width: 1200px) {
  body.woocommerce .sl-shop .smedia,
  .sl-shop .smedia,
  .sl-shop .scard .smedia a {
    aspect-ratio: 4 / 5 !important;
    min-height: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
  }
  body.woocommerce .sl-shop .smedia img,
  .sl-shop .smedia img {
    object-fit: cover !important;
    object-position: center 36% !important;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    max-height: none !important;
    transform: none !important;
  }
}
/* ===== Product pages ===== */
body.woocommerce .sl-product .gallery,
.sl-product .gallery {
  padding: 0 !important;
  margin: 0 !important;
  min-height: 0 !important;
  height: auto !important;
  overflow: hidden !important;
  border-radius: 22px !important;
  border: 1px solid rgba(255,255,255,.1) !important;
}
body.woocommerce .sl-product .gallery img,
.sl-product .gallery img,
.sl-product .gallery .product-photo {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  max-width: 100% !important;
  max-height: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 22px !important;
  object-fit: contain !important;
  transform: none !important;
}
/* ===== Best sellers — UNCHANGED ===== */
.front .feat ul.products li.product,
.front .feat .scard {
  border-radius: 24px !important;
  overflow: hidden !important;
}
.front .feat ul.products li.product a,
.front .feat .smedia,
.front .feat li.product .woocommerce-LoopProduct-link {
  position: relative !important;
  display: block !important;
  aspect-ratio: 1 / 1 !important;
  overflow: hidden !important;
  border-radius: 24px 24px 0 0 !important;
}
.front .feat img,
.front .feat a img,
.front .feat a:hover img {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center 36% !important;
  transform: none !important;
  padding: 0 !important;
  max-width: none !important;
  border-radius: 24px 24px 0 0 !important;
}
/* ===== Phone hero vials only ===== */
@media (max-width: 900px) {
  .front .hero-stage,
  .front .hero {
    display: flex !important;
    flex-direction: column !important;
    padding: 2.8rem 1.15rem 1.2rem !important;
  }
  .front .vials {
    order: -1 !important;
    position: relative !important;
    inset: auto !important;
    width: 100% !important;
    height: 280px !important;
    margin-top: 1.8rem !important;
  }
  .front .vwrap { position: absolute !important; }
  .front .v1 { left: 8% !important; right: auto !important; top: 2% !important; z-index: 2 !important; }
  .front .v2 { left: 26% !important; right: auto !important; top: 18% !important; z-index: 3 !important; }
  .front .v3 { left: auto !important; right: 6% !important; top: 8% !important; z-index: 1 !important; }
  .front .v1 .vial { width: 5.2rem !important; transform: rotate(-8deg) !important; }
  .front .v2 .vial { width: 8.8rem !important; transform: rotate(12deg) !important; }
  .front .v3 .vial { width: 5.3rem !important; transform: rotate(10deg) !important; }
  .front .copy {
    order: 2 !important;
    text-align: left !important;
    padding-top: 1.8rem !important;
  }
  .front .eyebrow,
  .front .copy h1,
  .front .copy .sub {
    text-align: left !important;
    width: 100% !important;
  }
  .front .actions,
  .front .badges {
    justify-content: flex-start !important;
    text-align: left !important;
  }
  .front .cta {
    width: auto !important;
    max-width: 11.5rem !important;
    display: inline-flex !important;
    padding: .55rem .9rem !important;
    font-size: .82rem !important;
    margin-left: 0 !important;
    margin-right: auto !important;
  }
  .front .copy h1 { margin-bottom: .35rem !important; }
  .front .copy .sub {
    margin: 0 0 .7rem 0 !important;
    max-width: none !important;
    padding: 0 !important;
  }
}

/* ===== Desktop hero — one block only ===== */
@media (min-width: 961px) {
  .hero .vials {
    position: relative !important;
    height: 480px !important;
    overflow: visible !important;
  }
  .hero .vials .vwrap {
    position: absolute !important;
    transform: none !important;
    animation: none !important;
    inset: auto !important;
  }
  .hero .vials .vwrap:nth-child(1) {
    left: 8% !important;
    top: 6% !important;
    z-index: 3 !important;
  }
  .hero .vials .vwrap:nth-child(1) img {
    width: 300px !important;
  }
  .hero .vials .vwrap:nth-child(2) {
    left: 0% !important;
    top: 4% !important;
    z-index: 2 !important;
  }
  .hero .vials .vwrap:nth-child(2) img {
    width: 160px !important;
  }
  .hero .vials .vwrap:nth-child(3) {
    left: 28% !important;
    top: 8% !important;
    z-index: 1 !important;
  }
  .hero .vials .vwrap:nth-child(3) img {
    width: 160px !important;
  }
}
.sl-hvials {
  display: flex !important;
  align-items: flex-end !important;
  justify-content: flex-start !important;
  gap: 8px !important;
  max-width: 520px !important;
  overflow: visible !important;
}
.sl-hvials img,
.sl-hv {
  max-width: 160px !important;
  width: 160px !important;
  height: auto !important;
}
.sl-hv-sl3 {
  max-width: 260px !important;
  width: 260px !important;
}
.sl-hv-bpc { width: 210px !important; max-width: 210px !important; }
.sl-hv-sl3 { width: 320px !important; max-width: 320px !important; }
.sl-hv-ghk { width: 210px !important; max-width: 210px !important; }
.hero img.sl-hv-bpc { width: 210px !important; max-width: 210px !important; }
.hero img.sl-hv-sl3 { width: 320px !important; max-width: 320px !important; }
.hero img.sl-hv-ghk { width: 210px !important; max-width: 210px !important; }
.sl-hvials {
  justify-content: flex-start !important;
  gap: 0 !important;
  transform: translate(-56px, -40px) !important;
}
.sl-hv-sl3 { margin-left: -28px !important; }
.sl-hv-ghk { margin-left: -20px !important; }
.sl-hvials {
  display: flex !important;
  align-items: flex-end !important;
  gap: 0 !important;
}
.sl-hv-bpc { margin-right: -48px !important; }
.sl-hv-sl3 {
  margin: 0 -56px -8px !important;
  z-index: 3 !important;
  position: relative !important;
}
.sl-hv-ghk { margin-left: -48px !important; }
.sl-hv-bpc { animation: slBobA 7.2s ease-in-out infinite !important; }
.sl-hv-sl3 { animation: slBobB 8s ease-in-out infinite !important; }
.sl-hv-ghk { animation: slBobC 6.6s ease-in-out infinite !important; }

@keyframes slBobA {
  0%, 100% { transform: translateY(0) rotate(-8deg); }
  50% { transform: translateY(-14px) rotate(-8deg); }
}
@keyframes slBobB {
  0%, 100% { transform: translateY(0) rotate(6deg); }
  50% { transform: translateY(-18px) rotate(6deg); }
}
@keyframes slBobC {
  0%, 100% { transform: translateY(0) rotate(10deg); }
  50% { transform: translateY(-12px) rotate(10deg); }
}
.sl-hvials { transform: translate(-56px, -72px) !important; }
.sl-hv-bpc,
.hero img.sl-hv-bpc { width: 240px !important; max-width: 240px !important; }
.sl-hv-sl3,
.hero img.sl-hv-sl3 { width: 380px !important; max-width: 380px !important; }
.sl-hv-ghk,
.hero img.sl-hv-ghk { width: 240px !important; max-width: 240px !important; }
.sl-hv-bpc,
.hero img.sl-hv-bpc { width: 300px !important; max-width: 300px !important; }
.sl-hv-sl3,
.hero img.sl-hv-sl3 { width: 380px !important; max-width: 380px !important; }
.sl-hv-ghk,
.hero img.sl-hv-ghk { width: 300px !important; max-width: 300px !important; }
@keyframes slBobA {
  0%, 100% { transform: translateY(-23px) rotate(-9deg); }
  50% { transform: translateY(-42px) rotate(-8deg); }
}
.sl-hv-ghk { margin-left: -106px !important; }
.sl-hv-bpc { margin-right: -79px !important; }
@keyframes slBobB {
  0%, 100% { transform: translateY(0) rotate(-1deg); }
  50% { transform: translateY(-18px) rotate(-10deg); }
}
@keyframes slBobB {
  0%, 100% { transform: translateY(0) rotate(-10deg); }
  50% { transform: translateY(-8px) rotate(-10deg); }
}
@keyframes slBobB {
  0%, 100% { transform: translateY(0) rotate(-1deg); }
  50% { transform: translateY(-4px) rotate(-1deg); }
}
.sl-hv-sl3 { animation: slBobB 10s ease-in-out infinite !important; }
.sl-hv-bpc { margin-right: -92px !important; }
@keyframes slBobA {
  0%, 100% { transform: translateY(-28px) rotate(-3deg); }
  50% { transform: translateY(-35px) rotate(-2deg); }
}
.sl-hv-bpc { margin-right: -110px !important; }
@keyframes slBobA {
  0%, 100% { transform: translateY(-32px) rotate(-2deg); }
  50% { transform: translateY(-42px) rotate(-1deg); }
}
.sl-hvials { transform: translate(-110px, -72px) !important; }
.sl-hv-bpc,
.hero img.sl-hv-bpc { width: 320px !important; max-width: 320px !important; }
.sl-hv-ghk,
.hero img.sl-hv-ghk { width: 300px !important; max-width: 300px !important; }
@keyframes slBobA {
  0%, 100% { transform: translateY(0) rotate(0deg); }
  50% { transform: translateY(-8px) rotate(0deg); }
}
.sl-hv,
.hero img.sl-hv {
  filter: drop-shadow(0 22px 16px rgba(0,0,0,.55)) !important;
}
.sl-hv,
.hero img.sl-hv {
  filter:
    drop-shadow(0 18px 8px rgba(0,0,0,.85))
    drop-shadow(0 8px 4px rgba(0,0,0,.7)) !important;
}
.sl-hv-bpc { animation: slBobA 7.4s ease-in-out infinite !important; }
.sl-hv-sl3 { animation: slBobB 6.2s ease-in-out infinite !important; }
.sl-hv-ghk { animation: slBobC 8.1s ease-in-out infinite !important; }

@keyframes slBobA {
  0%, 100% { transform: translateY(0) rotate(0deg); }
  50% { transform: translateY(-10px) rotate(0deg); }
}
@keyframes slBobB {
  0%, 100% { transform: translateY(0) rotate(deg); }
  50% { transform: translateY(-22px) rotate(-1deg); }
}
@keyframes slBobC {
  0%, 100% { transform: translateY(0) rotate(10deg); }
  50% { transform: translateY(-8px) rotate(9deg); }
}
.sl-hv-sl3 { animation: slBobB 8.1s ease-in-out infinite !important; }
@media (max-width: 900px) {
  .front .hero,
  .front .hero-stage {
    display: flex !important;
    flex-direction: column !important;
  }
  .sl-hvials {
    order: -1 !important;
    justify-content: center !important;
    transform: translate(0, 8px) !important;
    max-width: 100% !important;
    margin: 8px auto 4px !important;
  }
  .sl-hv-bpc,
  .hero img.sl-hv-bpc { width: 5.4rem !important; max-width: 5.4rem !important; margin-right: -1.6rem !important; }
  .sl-hv-sl3,
  .hero img.sl-hv-sl3 { width: 8.2rem !important; max-width: 8.2rem !important; margin: 0 -1.8rem -4px !important; }
  .sl-hv-ghk,
  .hero img.sl-hv-ghk { width: 5.2rem !important; max-width: 5.2rem !important; margin-left: -1.6rem !important; }
  .front .copy { order: 2 !important; }
}
@media (max-width: 900px) {
  .front .hero,
  .front .hero-stage {
    display: flex !important;
    flex-direction: column !important;
  }
  .sl-hvials {
    order: -1 !important;
    justify-content: center !important;
    transform: translate(0, 8px) !important;
    max-width: 100% !important;
    margin: 8px auto 4px !important;
  }
  .sl-hv-bpc,
  .hero img.sl-hv-bpc { width: 5.4rem !important; max-width: 5.4rem !important; margin-right: -1.6rem !important; }
  .sl-hv-sl3,
  .hero img.sl-hv-sl3 { width: 8.2rem !important; max-width: 8.2rem !important; margin: 0 -1.8rem -4px !important; }
  .sl-hv-ghk,
  .hero img.sl-hv-ghk { width: 5.2rem !important; max-width: 5.2rem !important; margin-left: -1.6rem !important; }
  .front .copy { order: 2 !important; }
}
@media (max-width: 900px) {
  html body .sl-hvials {
    transform: translate(0, -18px) !important;
    margin-top: 0 !important;
  }
  html body .hero img.sl-hv-bpc,
  html body .sl-hv-bpc { width: 6.4rem !important; max-width: 6.4rem !important; }
  html body .hero img.sl-hv-sl3,
  html body .sl-hv-sl3 { width: 9.6rem !important; max-width: 9.6rem !important; }
  html body .hero img.sl-hv-ghk,
  html body .sl-hv-ghk { width: 6.2rem !important; max-width: 6.2rem !important; }
}
@media (max-width: 900px) {
  html body .hero img.sl-hv-bpc,
  html body .sl-hv-bpc { width: 7.4rem !important; max-width: 7.4rem !important; }
  html body .hero img.sl-hv-sl3,
  html body .sl-hv-sl3 { width: 11rem !important; max-width: 11rem !important; }
  html body .hero img.sl-hv-ghk,
  html body .sl-hv-ghk { width: 7.2rem !important; max-width: 7.2rem !important; }
}
@media (max-width: 900px) {
  html body .sl-hvials { gap: 0 !important; }
  html body .hero img.sl-hv-bpc,
  html body .sl-hv-bpc {
    width: 8.2rem !important;
    max-width: 8.2rem !important;
    margin-right: -2.4rem !important;
  }
  html body .hero img.sl-hv-sl3,
  html body .sl-hv-sl3 {
    width: 12.2rem !important;
    max-width: 12.2rem !important;
    margin: 0 -2.6rem -6px !important;
  }
  html body .hero img.sl-hv-ghk,
  html body .sl-hv-ghk {
    width: 8rem !important;
    max-width: 8rem !important;
    margin-left: -2.4rem !important;
  }
}
@media (max-width: 900px) {
  html body .hero img.sl-hv-bpc,
  html body .sl-hv-bpc { width: 9.2rem !important; max-width: 9.2rem !important; }
  html body .hero img.sl-hv-ghk,
  html body .sl-hv-ghk { width: 9rem !important; max-width: 9rem !important; }
}
@media (max-width: 900px) {
  html body .sl-hvials { transform: translate(0, -32px) !important; }
  html body .hero img.sl-hv-bpc,
  html body .sl-hv-bpc { width: 10.2rem !important; max-width: 10.2rem !important; }
  html body .hero img.sl-hv-sl3,
  html body .sl-hv-sl3 { width: 13.4rem !important; max-width: 13.4rem !important; }
  html body .hero img.sl-hv-ghk,
  html body .sl-hv-ghk { width: 10rem !important; max-width: 10rem !important; }
}
@media (max-width: 900px) {
  html body .sl-hvials { transform: translate(-12px, -32px) !important; }
}
@media (max-width: 900px) {
  html body .sl-hv-bpc,
  html body .hero img.sl-hv-bpc { margin-right: -3.2rem !important; }
  html body .sl-hv-sl3,
  html body .hero img.sl-hv-sl3 { margin-left: -2.8rem !important; margin-right: -2.8rem !important; }
  html body .sl-hv-ghk,
  html body .hero img.sl-hv-ghk { margin-left: -3.2rem !important; }
}
@media (max-width: 900px) {
  html body .front .hero,
  html body .front .hero-stage {
    padding-top: .6rem !important;
  }
  html body .front .copy {
    order: 2 !important;
    text-align: left !important;
    padding-top: .15rem !important;
    margin-top: -6px !important;
  }
  html body .front .eyebrow,
  html body .front .copy h1,
  html body .front .copy .sub,
  html body .front .actions,
  html body .front .badges {
    text-align: left !important;
    justify-content: flex-start !important;
  }
}
.sl-hvials { transform: translate(-110px, -36px) !important; }
@media (max-width: 900px) {
  html body .sl-hvials { transform: translate(-12px, -10px) !important; }
  html body .front .hero-stage,
  html body .front .hero { padding-top: 1.2rem !important; }
}
.front .cta {
  padding: .5rem 1.05rem !important;
  font-size: .88rem !important;
  width: auto !important;
  max-width: 11rem !important;
}
@media (max-width: 900px) {
  html body .front .cta {
    padding: .42rem .85rem !important;
    font-size: .8rem !important;
    max-width: 10rem !important;
  }
}
@media (max-width: 900px) {
  html body .front .copy {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  html body .front .copy h1,
  html body .front .copy .sub {
    text-align: left !important;
    margin-left: 0 !important;
    padding-left: 0 !important;
    max-width: none !important;
    width: 100% !important;
  }
}
@media (max-width: 900px) {
  html body .front .badge {
    font-size: .78rem !important;
    padding: .42rem .7rem !important;
    gap: .35rem !important;
  }
  html body .front .badge svg {
    width: 14px !important;
    height: 14px !important;
  }
}
@media (max-width: 900px) {
  html body .front .badges {
    display: flex !important;
    flex-wrap: nowrap !important;
    justify-content: flex-start !important;
    gap: .35rem !important;
    overflow: visible !important;
  }
  html body .front .badge {
    flex: 0 1 auto !important;
    white-space: nowrap !important;
    font-size: .62rem !important;
    padding: .32rem .45rem !important;
  }
  html body .front .badge svg {
    width: 11px !important;
    height: 11px !important;
  }
}
@media (max-width: 900px) {
  html body .front .badges {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: flex-start !important;
    gap: .35rem !important;
  }
  html body .front .badge:nth-child(3) {
    flex-basis: 100% !important;
    width: auto !important;
  }
}
@media (max-width: 900px) {
  html body .front .badges {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: flex-start !important;
    gap: .35rem !important;
  }
  html body .front .badge:nth-child(3) {
    flex-basis: 100% !important;
    width: auto !important;
  }
}
@media (max-width: 900px) {
  html body .front .badge:nth-child(3) {
    flex-basis: 100% !important;
    width: max-content !important;
    max-width: max-content !important;
  }
}
@media (max-width: 900px) {
  html body .front .badge {
    color: rgba(255,255,255,.82) !important;
    background: rgba(255,255,255,.06) !important;
    border: 1px solid rgba(255,255,255,.14) !important;
  }
  html body .front .badge svg,
  html body .front .badge svg path {
    stroke: rgba(255,255,255,.75) !important;
    fill: none !important;
    color: rgba(255,255,255,.75) !important;
  }
}
@media (max-width: 900px) {
  html body .front .badge svg,
  html body .front .badge svg path {
    stroke: #c4a0ff !important;
    color: #c4a0ff !important;
    fill: none !important;
  }
}
.trust .ic svg,
.trust .ic svg path,
.trust .card svg,
.trust .card svg path {
  stroke: #c4a0ff !important;
  color: #c4a0ff !important;
  fill: none !important;
}
.verify .ic svg,
.verify .ic svg path,
.verify .vcard svg,
.verify .vcard svg path {
  stroke: #c4a0ff !important;
  color: #c4a0ff !important;
  fill: none !important;
}
@media (min-width: 961px) {
  .sl-hvials { transform: translate(-125px, -120px) !important; }
}
.qv-media,
.qv-panel {
  overflow: hidden !important;
}
.qv-panel {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 520px !important;
}
.qv-panel img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 520px !important;
  object-fit: cover !important;
  object-position: center center !important;
  border-radius: inherit !important;
}
.qv-media,
.qv-panel {
  overflow: hidden !important;
}
.qv-panel {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}
.qv-media,
.qv-panel {
  overflow: hidden !important;
  border: 0 !important;
}
.qv-panel {
  display: block !important;
  padding: 0 !important;
}
.qv-panel img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 100% !important;
  object-fit: cover !important;
  object-position: center 38% !important;
  border: 0 !important;
  border-radius: inherit !important;
  transform: scale(1.08) !important;
}
@media (max-width: 900px) {
  html body .qv-media,
  html body .qv-panel {
    overflow: hidden !important;
    border: 0 !important;
    padding: 0 !important;
    width: 100% !important;
    height: auto !important;
    min-height: 320px !important;
  }
  html body .qv-panel img {
    display: block !important;
    width: 100% !important;
    height: 320px !important;
    object-fit: cover !important;
    object-position: center 38% !important;
    border: 0 !important;
    border-radius: inherit !important;
    transform: scale(1.08) !important;
  }
}
@media (max-width: 900px) {
  html body .qv-inner,
  html body .qv-media,
  html body .qv-panel {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  html body .qv-panel img {
    width: 100% !important;
    max-width: none !important;
    height: 340px !important;
    object-fit: cover !important;
    object-position: center 38% !important;
    transform: scale(1.12) !important;
  }
}
@media (max-width: 900px) {
  html body .qv-media,
  html body .qv-panel {
    width: calc(100% + 2.4rem) !important;
    max-width: none !important;
    margin-left: -1.2rem !important;
    margin-right: -1.2rem !important;
  }
  html body .qv-panel img {
    width: 100% !important;
    transform: scale(1.18) !important;
  }
}
@media (max-width: 900px) {
  html body .qv-media,
  html body .qv-panel {
    width: calc(100% + 3.2rem) !important;
    margin-left: -1.6rem !important;
    margin-right: -1.6rem !important;
    border-radius: 22px !important;
    overflow: hidden !important;
  }
  html body .qv-panel img {
    width: 100% !important;
    border-radius: 22px !important;
    transform: scale(1.22) !important;
  }
}
@media (max-width: 900px) {
  html body .qv-media,
  html body .qv-panel {
    min-height: 0 !important;
    height: auto !important;
    border: 0 !important;
    box-shadow: none !important;
    outline: none !important;
  }
  html body .qv-panel img {
    min-height: 0 !important;
    height: auto !important;
    max-height: none !important;
    border: 0 !important;
  }
}
@media (max-width: 900px) {
  html body .qv-panel img {
    height: 260px !important;
    object-fit: cover !important;
    object-position: center 36% !important;
  }
}
@media (max-width: 900px) {
  html body .qv-media,
  html body .qv-panel {
    padding: 0 !important;
    gap: 0 !important;
  }
  html body .qv-panel img {
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    transform: scale(1.2) !important;
    object-fit: cover !important;
    object-position: center 40% !important;
  }
}
@media (max-width: 900px) {
  html body .qv-panel {
    display: block !important;
    align-items: stretch !important;
  }
  html body .qv-panel img {
    object-position: center 72% !important;
    transform: scale(1.28) !important;
    height: 100% !important;
    min-height: 100% !important;
  }
}
@media (min-width: 961px) {
  .front .cta {
    font-size: 1.1rem !important;
    padding: .62rem 2.8rem !important;
    max-width: 14rem !important;
  }
}
@keyframes slBobA {
  0%, 100% { transform: translateY(0) rotate(0deg); }
  50% { transform: translateY(-10px) rotate(1deg); }
}
.sl-hv-ghk { animation: slBobC 6.4s ease-in-out infinite !important; }
@keyframes slBobC {
  0%, 100% { transform: translateY(0) rotate(10deg); }
  20% { transform: translateY(-22px) rotate(10deg); }
}
@media (min-width: 961px) {
  .sl-hvials {
    --hx: -140px;
    --hy: -140px;
    transform: translate(var(--hx), var(--hy)) !important;
  }
}
@media (min-width: 961px) {
  .front .cta {
    max-width: 18.5rem !important;
    padding: .62rem 1.7rem !important;
  }
}
@media (min-width: 961px) {
  .front .cta {
    --cta-w: 12.5rem;
    --cta-h: 3rem;
    --cta-pad-y: .62rem;
    --cta-pad-x: 1.7rem;
    width: var(--cta-w) !important;
    max-width: var(--cta-w) !important;
    height: var(--cta-h) !important;
    padding: var(--cta-pad-y) var(--cta-pad-x) !important;
  }
}
html body .sl-hv-sl3,
html body .hero img.sl-hv-sl3 {
  --sl-x: 2px;
  --sl-y: 0px;
  --sl-rot: 3deg;
  --sl-bounce: 22px;
  --sl-speed: 7.1s;
  animation: slBobSL var(--sl-speed) ease-in-out infinite !important;
}
@keyframes slBobSL {
  0%, 100% { transform: translate(var(--sl-x), var(--sl-y)) rotate(var(--sl-rot)); }
  50% { transform: translate(var(--sl-x), calc(var(--sl-y) - var(--sl-bounce))) rotate(var(--sl-rot)); }
}
.sl-hv-bpc { animation-duration: 7.4s !important; }
.sl-hv-ghk { animation-duration: 6.9s !important; }
@media (max-width: 900px) {
  html body .sl-hvials {
    transform: translate(3px, -3px) !important;
  }
}
@media (max-width: 900px) {
  html body .sl-hv-bpc,
  html body .hero img.sl-hv-bpc { animation-duration: 7.4s !important; }
  html body .sl-hv-sl3,
  html body .hero img.sl-hv-sl3 { animation-duration: 7.1s !important; }
  html body .sl-hv-ghk,
  html body .hero img.sl-hv-ghk { animation-duration: 6.9s !important; }
}
@media (max-width: 900px) {
  html body .sl-hvials {
    transform: translate(10px, -25px) !important;
  }
}
@media (max-width: 900px) {
  html body .sl-hv-bpc,
  html body .hero img.sl-hv-bpc {
    --bpc-speed: 6.7s;
    animation-duration: 5s !important;
  }
}
@media (max-width: 1000px) {
  html body .sl-hv-bpc,
  html body .hero img.sl-hv-bpc {
    --bpc-bounce: 50px;
  }
}
@media (max-width: 900px) {
  html body .sl-hv-bpc,
  html body .hero img.sl-hv-bpc {
    animation: slMobBPC 6.7s ease-in-out infinite !important;
  }
}
@keyframes slMobBPC {
  0%, 100% { transform: translateY(0) rotate(1deg); }
  50% { transform: translateY(-24px) rotate(1deg); }
}
@media (max-width: 900px) {
  html body .sl-hv-sl3,
  html body .hero img.sl-hv-sl3 {
    animation-duration: 8.4s !important;
  }
}
@media (min-width: 961px) {
  .front .cta {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
  }
}
.sl-often img {
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  object-fit: cover !important;
  object-position: center 36% !important;
  transform: scale(1.5) !important;
  padding: 0 !important;
  margin: 0 !important;
}
.sl-often a:has(img),
.sl-often li,
.sl-often [class*="card"],
.sl-often [class*="media"] {
  overflow: hidden !important;
  padding: 0 !important;
}
body.single-product .swiper img,
body.single-product .splide img,
body.single-product [class*="slide"] img,
body.single-product [class*="pair"] img,
body.single-product [class*="related"] img,
body.single-product ul.products img,
body.single-product .products img {
  width: 100% !important;
  height: 260px !important;
  max-width: none !important;
  object-fit: cover !important;
  object-position: center 36% !important;
  transform: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
body.single-product .woocommerce-product-gallery img,
body.single-product .gallery img,
body.single-product .qv-panel img {
  height: auto !important;
  object-fit: contain !important;
}
<script>
document.querySelectorAll('body.single-product img').forEach(function (img) {
  if (img.closest('.woocommerce-product-gallery, .gallery, .qv-panel')) return;
  if (!img.closest('.products, .swiper, .splide, [class*="slide"], [class*="pair"], [class*="related"]')) return;
  img.style.setProperty('width', '100%', 'important');
  img.style.setProperty('height', '260px', 'important');
  img.style.setProperty('object-fit', 'cover', 'important');
  img.style.setProperty('object-position', 'center 36%', 'important');
  img.style.setProperty('transform', 'scale(1.25)', 'important');
  img.style.setProperty('transform-origin', 'center center', 'important');
});
</script>
<script>
(function () {
  var H = 260;  // height px
  var W = 100;  // width %

  document.querySelectorAll('img').forEach(function (img) {
    var card = img.closest('article, li, .product, [class*="card"]');
    if (!card) return;
    if (!/select options/i.test(card.textContent || '')) return;

    img.style.setProperty('height', H + 'px', 'important');
    img.style.setProperty('width', W + '%', 'important');
    img.style.setProperty('object-fit', 'cover', 'important');
    img.style.setProperty('object-position', 'center 36%', 'important');
    img.style.setProperty('transform', 'none', 'important');
    img.style.setProperty('display', 'block', 'important');
    img.style.setProperty('margin', '0 auto', 'important');
  });
})();
</script>
/* ===== Often paired — fill the card on all devices ===== */
.sl-product .paired .scard {
  overflow: hidden !important;
  border-radius: 18px !important;
}

.sl-product .paired .smedia {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  aspect-ratio: 4 / 5 !important;
  padding: 0 !important;
  margin: 0 !important;
  overflow: hidden !important;
  border-radius: 18px 18px 0 0 !important;
}

.sl-product .paired .smedia img,
.sl-product .paired .smedia img.wp-post-image,
.sl-product .paired .smedia .pvial {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  object-fit: cover !important;
  object-position: center 36% !important;
  transform: none !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
}

@media (max-width: 960px) {
  .sl-product .paired .scard {
    flex-basis: calc((100% - 1.1rem) / 2) !important;
  }
}

@media (max-width: 640px) {
  .sl-product .paired .scard {
    flex-basis: min(82vw, 320px) !important;
  }
  .sl-product .paired .smedia {
    aspect-ratio: 1 / 1 !important;
  }
  .sl-product .paired .smedia img {
    object-position: center 40% !important;
  }
}
.sl-product .paired .scard {
  border-radius: 24px !important;
  overflow: hidden !important;
}

.sl-product .paired .smedia,
.sl-product .paired .smedia img,
.sl-product .paired .smedia img.wp-post-image {
  border-radius: 24px 24px 0 0 !important;
}

.sl-product .paired .sbody {
  border-radius: 0 0 24px 24px !important;
}
.front .cta,
.front .actions .cta {
  max-width: none !important;
  width: auto !important;
  padding: .62rem 1.55rem !important;
  white-space: nowrap !important;
}

@media (max-width: 900px) {
  .front .cta,
  .front .actions .cta {
    max-width: none !important;
    padding: .58rem 1.35rem !important;
  }
}
@media (max-width: 900px) {
  .front .cta,
  .front .actions .cta {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    line-height: 1 !important;
  }
}
@media (max-width: 1100px) {
  .front .verify .vcard,
  .front .verify .vgrid .vcard:nth-child(1) {
    background: linear-gradient(160deg, rgba(184,140,255,.24), rgba(124,58,237,.12), rgba(255,255,255,.03)) !important;
    border: 1px solid rgba(184,140,255,.4) !important;
    box-shadow: 0 18px 44px rgba(90,40,150,.3) !important;
    backdrop-filter: blur(13px) !important;
  }

  .front .verify .vcard .ic svg {
    stroke: #B88CFF !important;
    filter: drop-shadow(0 0 8px rgba(184,140,255,.55)) !important;
  }
}
@media (max-width: 1100px) {
  html body.sl-drawer-open .nav,
  html body.sl-drawer-open .site-header,
  html body.sl-drawer-open header,
  html body.sl-menu-open .nav,
  html body.sl-menu-open .site-header,
  html body.sl-menu-open header {
    z-index: 3000 !important;
    position: relative !important;
  }

  html body .sl-account-dropdown,
  html body.sl-drawer-open .sl-account-dropdown,
  html body.sl-menu-open .links {
    z-index: 3100 !important;
    position: fixed !important;
  }

  html body.sl-drawer-open .front .hero-stage,
  html body.sl-drawer-open .front .vials,
  html body.sl-drawer-open .front .sl-hvials,
  html body.sl-menu-open .front .hero-stage,
  html body.sl-menu-open .front .vials {
    z-index: 1 !important;
  }
}
.sl-cart-extras .sl-gift-unlock,
.sl-gift-unlock,
.sl-gift-drawer,
.sl-co-sidewrap .sl-gift-unlock {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  height: auto !important;
  max-height: none !important;
}
.sl-gift-unlock,
.sl-gift-unlock.is-locked,
.sl-gift-unlock.is-unlocked,
.sl-cart-extras .sl-gift-unlock {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  height: auto !important;
}
body .sl-partner-float-vial {
  width: clamp(180px, 18vw, 280px) !important;
  max-width: 280px !important;
}
body .sl-vial-left { left: 4% !important; top: 120px !important; }
body .sl-vial-right { right: 4% !important; top: 120px !important; }

@media (max-width: 980px) {
  body .sl-partner-float-vial { width: 1400px !important; max-width: 140px !important; }
}
@media (max-width: 760px) {
  body .sl-partner-float-vial { width: 96px !important; max-width: 96px !important; }
}
/* Partner hero vials */
.sl-partner-page,
.sl-partner-hero-v2,
.sl-partner-v2 .section-pad {
  overflow: visible !important;
}

html body .sl-partner-hero-v2 .sl-partner-float-vial,
html body .sl-partner-float-vial {
  width: 320px !important;
  min-width: 320px !important;
  max-width: 320px !important;
  z-index: 30 !important;
}

html body .sl-partner-hero-v2 .sl-partner-float-vial img,
html body .sl-partner-float-vial img {
  width: 320px !important;
  min-width: 320px !important;
  max-width: none !important;
  height: auto !important;
}

/* BPC — right side, high, +16deg */
html body .sl-partner-hero-v2 .sl-vial-left,
html body .sl-vial-left,
html body .sl-partner-hero-v2 .sl-partner-float-vial:has(img[src*="172318"]) {
  left: auto !important;
  right: 2% !important;
  top: -30px !important;
  transform: none !important;
  animation: slTopBpc 7s ease-in-out infinite !important;
}
html body .sl-partner-hero-v2 .sl-vial-left img,
html body .sl-vial-left img,
html body .sl-partner-hero-v2 img[src*="172318"] {
  transform: rotate(16deg) !important;
}

/* GHK — left side, lower, -8deg */
html body .sl-partner-hero-v2 .sl-vial-right,
html body .sl-vial-right,
html body .sl-partner-hero-v2 .sl-partner-float-vial:has(img[src*="172534"]) {
  right: auto !important;
  left: 2% !important;
  top: 230px !important;
  transform: none !important;
  animation: slTopGhk 7.6s ease-in-out infinite !important;
}
html body .sl-partner-hero-v2 .sl-vial-right img,
html body .sl-vial-right img,
html body .sl-partner-hero-v2 img[src*="172534"] {
  transform: rotate(-8deg) !important;
}

@keyframes slTopBpc { 0%,100%{top:-30px} 50%{top:-48px} }
@keyframes slTopGhk { 0%,100%{top:230px} 50%{top:214px} }
@media (max-width: 900px) {
  .sl-partner-hero-v2 .sl-vial-left,
  .sl-partner-hero-v2 .sl-vial-right {
    display: none !important;
  }
}
@media (max-width: 900px) {
  .sl-partner-page:not(.sl-community-page) .sl-vial-left,
  .sl-partner-page:not(.sl-community-page) .sl-vial-right {
    display: none !important;
  }
}
@media (max-width: 900px) {
  .sl-community-page .sl-partner-hero-v2 {
    position: relative !important;
    overflow: hidden !important;
  }

  .sl-community-page .sl-partner-hero-center {
    position: relative !important;
    z-index: 5 !important;
  }

  .sl-community-page .sl-vial-left,
  .sl-community-page .sl-vial-right {
    display: block !important;
    position: absolute !important;
    z-index: 1 !important;
    width: 70px !important;
    max-width: 20vw !important;
    top: 88px !important;
    opacity: .5 !important;
    pointer-events: none !important;
  }

  .sl-community-page .sl-vial-left {
    left: -6px !important;
    right: auto !important;
  }

  .sl-community-page .sl-vial-right {
    right: -6px !important;
    left: auto !important;
  }

  .sl-community-page .sl-vial-left img,
  .sl-community-page .sl-vial-right img {
    width: 70px !important;
    max-width: 20vw !important;
    height: auto !important;
  }
}
@media (max-width: 900px) {
  .sl-community-page .sl-vial-left,
  .sl-community-page .sl-vial-right {
    display: none !important;
  }
}