/* ============================================================
   Leanfit Product Hero — WooCommerce tekil ürün hero stilleri
   leanfit-hero.css tabanlı, tek ürün için uyarlanmıştır.
   Figtree font.
============================================================ */

.lf-root {
  --bg-base: #F4F1EB;
  --fg: #0E0E0F;
  --fg-muted: rgba(14,14,15,0.55);
  --fg-dim: rgba(14,14,15,0.12);
  --surface: rgba(255,255,255,0.55);
  --accent: #C8326C;
  --display-font: 'Figtree', system-ui, sans-serif;
  --body-font: 'Figtree', system-ui, sans-serif;
  font-family: var(--body-font);
  color: var(--fg);
  position: relative;
  display: grid;
  grid-template-rows: 1fr auto;
  grid-template-columns: minmax(0, 1fr);
  min-height: 790px;
  overflow: hidden;
  border-radius: 18px;
  margin-bottom: 36px;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

/* Tam genişlik (full-bleed): dar içerik kabından çıkıp viewport kenarlarına yaslar */
.lph-root {
  width: auto;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  max-width: 100vw;
  margin-top: 0;
  border-radius: 0;
}

/* Menünün hemen altından sıfır boşlukla başla — tüm üst padding/margin'i sıfırla */
body.lph-hero-active {
  padding-top: 0 !important;
  margin-top: 0 !important;
}
body.lph-hero-active .site,
body.lph-hero-active .site-content,
body.lph-hero-active .ast-woocommerce-container,
body.lph-hero-active #content,
body.lph-hero-active #primary,
body.lph-hero-active .primary {
  padding-top: 0 !important;
  margin-top: 0 !important;
}
body.lph-hero-active .woocommerce-breadcrumb {
  margin-top: 0 !important;
  padding-top: 0 !important;
}
body.lph-hero-active .product.type-product {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* Breadcrumb'a yapıştır: aradaki standart boşluğu kaldır */
body.lph-hero-active .woocommerce-breadcrumb {
  margin-bottom: 0 !important;
}

/* Hero dışındaki (div.product içindeki) varsayılan sepete-ekle formunu gizle.
   Hero'nun kendi formu .lph-root içinde, div.product'tan önce render edilir;
   bu nedenle bu kuraldan etkilenmez. */
body.lph-hero-active div.product form.cart { display: none !important; }

/* Sayfa altındaki sticky bar gizleme */
body.lph-hero-active .ast-sticky-add-to-cart,
body.lph-hero-active [class*="sticky-add-to-cart"],
body.lph-hero-active .modern-cart-sticky-bar,
body.lph-hero-active .mc-sticky-bar {
  display: none !important;
}

/* Agresif sticky bar gizleme — Astra child theme override'larını aşmak için */
body.lph-hero-active .ast-sticky-add-to-cart,
body.lph-hero-active div.ast-sticky-add-to-cart,
body.lph-hero-active .ast-sticky-add-to-cart.top,
body.lph-hero-active .ast-sticky-add-to-cart.bottom,
html body.lph-hero-active .ast-sticky-add-to-cart,
body.lph-hero-active .ast-sticky-add-to-cart-action-wrap {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
  height: 0 !important;
  min-height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  border: none !important;
  overflow: hidden !important;
}

/* Açılır menü / popup / dropdown z-index ayarı — sticky bar'ın önünde kalsın */
body.lph-hero-active .ast-mobile-popup-drawer,
body.lph-hero-active .elementor-nav-menu--dropdown,
body.lph-hero-active .ast-desktop-header,
body.lph-hero-active .ast-mobile-header-wrap,
body.lph-hero-active .ast-builder-menu-mobile .main-header-menu,
body.lph-hero-active .woocommerce-mini-cart,
body.lph-hero-active .ast-site-header-cart-data {
  z-index: 100001 !important;
}

.lf-root * { box-sizing: border-box; }
.lf-root a { color: inherit; text-decoration: none; }
.lf-root button { font-family: inherit; cursor: pointer; border: none; background: none; color: inherit; padding: 0; }

/* STAGE ================================================= */
.lf-stage {
  position: relative;
  z-index: 2;
  min-height: 690px;
}

/* SLIDE (tek, daima görünür) ============================ */
.lf-slide {
  position: relative;
  inset: auto;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.5fr) minmax(0, 1fr);
  align-items: center;
  gap: 32px;
  padding: 50px 60px 30px;
  opacity: 1;
  pointer-events: auto;
  min-height: 590px;
}
.lf-slide.is-active .lf-col-left { animation: lfColIn 700ms cubic-bezier(.2,.7,.2,1) both; animation-delay: 60ms; }
.lf-slide.is-active .lf-col-right { animation: lfColIn 700ms cubic-bezier(.2,.7,.2,1) both; animation-delay: 120ms; }
.lf-slide.is-active .lf-backdrop-line.top { animation: lfBdIn 800ms cubic-bezier(.2,.7,.2,1) both; animation-delay: 50ms; }
.lf-slide.is-active .lf-backdrop-line.bot { animation: lfBdIn 800ms cubic-bezier(.2,.7,.2,1) both; animation-delay: 130ms; }
.lf-slide.is-active .lf-bottle-wrap { animation: lfBottleIn 900ms cubic-bezier(.2,.7,.2,1) both; }

@keyframes lfColIn {
  from { opacity: 0; transform: translateY(14px); }
  to   { opacity: 1; transform: translateY(0); }
}
@keyframes lfBdIn {
  from { opacity: 0; transform: translateY(20px) scale(0.98); }
}
@keyframes lfBottleIn {
  from { opacity: 0; transform: translateY(30px) scale(0.94); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}

/* LEFT COL ============================================== */
.lf-col-left { max-width: 360px; }
.lf-tagline {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.18em;
  color: var(--fg-muted);
  margin-bottom: 22px;
}
.lf-tag-dot { width: 8px; height: 8px; border-radius: 50%; }

.lf-prod-title {
  font-family: var(--display-font);
  font-weight: 700;
  font-size: clamp(28px, 2.6vw, 38px);
  line-height: 1.05;
  letter-spacing: -0.01em;
  margin-bottom: 14px;
  text-wrap: balance;
}
.lf-desc {
  font-size: 15px;
  line-height: 1.55;
  color: var(--fg-muted);
  max-width: 340px;
  margin: 0 0 22px;
  text-wrap: pretty;
}
.lf-benefits { display: flex; flex-wrap: wrap; gap: 8px 14px; margin-bottom: 30px; }
.lf-benefit {
  display: inline-flex; align-items: center; gap: 6px;
  font-size: 12px; font-weight: 500; color: var(--fg);
}

/* SIZE PILLS ============================================ */
.lf-size-block { max-width: 360px; }
.lf-size-label {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.18em;
  color: var(--fg);
  margin-bottom: 12px;
}
.lf-size-pills { display: flex; flex-wrap: wrap; gap: 10px; }
.lf-pill {
  flex: 1 1 auto;
  min-width: 88px;
  padding: 16px 14px;
  background: var(--surface);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  border: 1.5px solid var(--fg-dim);
  border-radius: 16px;
  display: flex; flex-direction: column;
  align-items: center; gap: 4px;
  transition: all 250ms cubic-bezier(.4,0,.2,1);
}
.lf-pill:hover { border-color: var(--fg); transform: translateY(-2px); box-shadow: 0 8px 20px -10px rgba(0,0,0,0.2); }
.lf-pill.active {
  background: var(--fg);
  color: var(--bg-base);
  border-color: var(--fg);
}
.lf-pill:disabled { opacity: 0.4; cursor: not-allowed; }
.lf-pill:disabled:hover { transform: none; box-shadow: none; border-color: var(--fg-dim); }
.lf-pill-num {
  font-family: var(--display-font);
  font-weight: 800;
  font-size: 30px;
  line-height: 1;
}
/* Varyasyon adı uzun olabilir → metin pill'i daha küçük punto */
.lf-pill-text .lf-pill-num {
  font-size: 16px;
  line-height: 1.2;
  text-align: center;
}

/* CENTER ================================================ */
.lf-col-center {
  position: relative;
  height: 100%;
  min-height: 530px;
  display: grid;
  place-items: center;
}
.lf-backdrop {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  pointer-events: none;
  z-index: 1;
  font-family: var(--display-font);
  line-height: 0.82;
  letter-spacing: -0.02em;
  text-align: center;
  gap: 30px;
}
.lf-backdrop-line {
  font-size: clamp(110px, 13vw, 220px);
  font-weight: 900;
  opacity: 0.16;
  white-space: nowrap;
}
.lf-backdrop-line.top { transform: translateY(0); }
.lf-backdrop-line.bot { transform: translateY(0); }
.lf-backdrop-line.mid { transform: translateY(0); font-size: clamp(100px, 11vw, 190px); letter-spacing: -0.04em; }
.lf-backdrop-single { justify-content: center; }

.lf-bottle-wrap {
  position: relative;
  z-index: 2;
  width: clamp(390px, 47vw, 676px);
  aspect-ratio: 1;
  display: grid;
  place-items: center;
  transition: transform 450ms cubic-bezier(.2,.7,.2,1);
}
.lf-bottle-wrap:hover {
  animation: lfBottleFloat 2.2s ease-in-out infinite;
}
@keyframes lfBottleFloat {
  0%,100% { transform: translateY(0) rotate(0); }
  50% { transform: translateY(-14px) rotate(-2deg); }
}
.lf-bottle {
  width: 100%; height: 100%;
  object-fit: contain;
  filter: drop-shadow(0 40px 50px rgba(0,0,0,0.22));
  position: relative;
  z-index: 2;
  transition: filter 500ms, opacity 300ms ease;
}
.lf-bottle-wrap:hover .lf-bottle {
  filter: drop-shadow(0 50px 60px rgba(0,0,0,0.32));
}
.lf-bottle-shadow {
  position: absolute;
  inset: 10% -5% -5% -5%;
  z-index: 1;
  filter: blur(20px);
}
.lf-bottle-ground {
  position: absolute;
  left: 50%;
  bottom: 18%;
  transform: translateX(-50%);
  width: 80%;
  height: 26px;
  border-radius: 50%;
  background: radial-gradient(ellipse at center, rgba(0,0,0,0.5) 0%, rgba(0,0,0,0.28) 35%, rgba(0,0,0,0) 70%);
  filter: blur(5px);
  z-index: 1;
  pointer-events: none;
}
.lf-slide.is-active .lf-bottle-ground {
  animation: lfGroundIn 900ms cubic-bezier(.2,.7,.2,1) both;
  animation-delay: 120ms;
}
.lf-bottle-wrap:hover .lf-bottle-ground {
  width: 64%;
  opacity: 0.85;
}
@keyframes lfGroundIn {
  from { opacity: 0; transform: translateX(-50%) scaleX(0.6); }
  to   { opacity: 1; transform: translateX(-50%) scaleX(1); }
}

/* RIGHT COL ============================================= */
.lf-col-right {
  display: flex;
  flex-direction: column;
  gap: 18px;
  max-width: 320px;
  justify-self: end;
  width: 100%;
}
.lf-rating-row {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: -6px;
}
.lf-rating-stars .star-rating {
  float: none;
  font-size: 16px;
  color: inherit;
}
.lf-rating-count {
  font-size: 13px;
  font-weight: 600;
  color: var(--fg-muted);
}
.lf-price-sub {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.18em;
  color: var(--fg-muted);
  margin-bottom: 6px;
}
.lf-price-row { display: flex; align-items: baseline; gap: 14px; flex-wrap: wrap; }
.lf-price {
  font-family: var(--display-font);
  font-weight: 800;
  font-size: clamp(36px, 3.8vw, 56px);
  line-height: 0.95;
  letter-spacing: -0.02em;
  transition: opacity 200ms;
}
.lf-price-old {
  font-family: var(--display-font);
  font-weight: 600;
  font-size: clamp(18px, 1.6vw, 24px);
  color: var(--fg-muted);
  text-decoration: line-through;
  text-decoration-thickness: 1.5px;
  letter-spacing: -0.01em;
}
.lf-price-meta {
  font-size: 12px;
  color: var(--fg-muted);
  margin-top: 6px;
  letter-spacing: 0.04em;
}

/* CTA / sepete ekle formu ============================== */
.lph-cart { margin: 0; }
.lf-cta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  width: 100%;
  padding: 22px 28px !important;
  border: none;
  border-radius: 999px;
  font-size: 16px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  box-shadow: 0 8px 28px -8px rgba(0,0,0,0.35);
  font-weight: 800;
  letter-spacing: 0.18em;
  text-decoration: none;
  transition: all 280ms cubic-bezier(.4,0,.2,1);
  position: relative;
  overflow: hidden;
}
.lf-cta:hover { transform: translateY(-2px); box-shadow: 0 16px 30px -16px rgba(0,0,0,0.4); }
.lf-cta:active { transform: translateY(0); }
.lf-cta.added { animation: lfShake 400ms; }
@keyframes lfShake {
  0%,100% { transform: translateY(0); }
  30% { transform: translateY(-3px) scale(1.02); }
}
.lf-cta-arrow {
  display: grid; place-items: center;
  width: 22px; height: 22px;
  transition: transform 250ms;
}
.lf-cta:hover .lf-cta-arrow { transform: translateX(4px); }

/* Çok öznitelikli varyasyonlu ürün → native WooCommerce formu */
.lph-native-cart .variations { width: 100%; }
.lph-native-cart .single_add_to_cart_button {
  width: 100%;
  border-radius: 999px;
  padding: 16px 22px;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

/* Quantity input */
.lph-qty-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 14px;
}
.lph-qty-label {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.18em;
  color: var(--fg-muted);
}
.lph-qty-wrap {
  display: inline-flex;
  align-items: center;
  border: 1.5px solid var(--fg-dim);
  border-radius: 12px;
  background: var(--surface);
  overflow: hidden;
}
.lph-qty-btn {
  width: 40px;
  height: 44px;
  display: grid;
  place-items: center;
  font-size: 18px;
  font-weight: 700;
  color: var(--fg);
  background: transparent;
  border: none;
  cursor: pointer;
  transition: background 200ms, color 200ms;
  user-select: none;
}
.lph-qty-btn:hover {
  background: var(--fg);
  color: var(--bg-base);
}
.lph-qty-btn:active {
  transform: scale(0.96);
}
.lph-qty-input {
  width: 48px;
  height: 44px;
  padding: 0;
  font-family: var(--display-font);
  font-size: 16px;
  font-weight: 700;
  text-align: center;
  border: none;
  border-left: 1.5px solid var(--fg-dim);
  border-right: 1.5px solid var(--fg-dim);
  background: transparent;
  color: var(--fg);
  pointer-events: none;
}
.lph-qty-input::-webkit-outer-spin-button,
.lph-qty-input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
.lph-qty-input[type=number] {
  -moz-appearance: textfield;
}

/* SKU & Kargo notu */
.lf-sku {
  display: flex;
  align-items: baseline;
  gap: 8px;
  font-size: 12px;
  margin-top: -8px;
  margin-bottom: 4px;
}
.lf-sku-label {
  font-weight: 700;
  letter-spacing: 0.12em;
  color: var(--fg-muted);
}
.lf-sku-value {
  font-weight: 600;
  color: var(--fg);
  letter-spacing: 0.02em;
}

.lf-shipping-note {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 12px;
  font-weight: 500;
  color: var(--fg-muted);
  padding: 10px 14px;
  background: var(--surface);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  border: 1px solid var(--fg-dim);
  border-radius: 12px;
  line-height: 1.4;
}
.lf-shipping-note svg {
  flex-shrink: 0;
  color: var(--accent);
}

.lf-trust {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  padding-top: 10px;
  border-top: 1px solid var(--fg-dim);
  gap: 4px;
}
.lf-trust > div { display: flex; flex-direction: column; gap: 2px; }
.lf-trust strong {
  font-family: var(--display-font);
  font-weight: 800;
  font-size: 18px;
}
.lf-trust span {
  font-size: 10px;
  letter-spacing: 0.12em;
  font-weight: 600;
  color: var(--fg-muted);
}

/* DOCK (galeri thumb'ları) ============================== */
.lf-dock {
  position: relative;
  z-index: 5;
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 16px 40px 26px;
  border-top: 1px solid var(--fg-dim);
}
.lf-dock-arrow {
  width: 38px; height: 38px;
  border: 1px solid var(--fg-dim);
  border-radius: 50%;
  display: grid; place-items: center;
  flex-shrink: 0;
  transition: all 200ms;
}
.lf-dock-arrow:hover {
  border-color: var(--fg);
  background: var(--fg);
  color: var(--bg-base);
}
.lf-dock-track {
  display: grid;
  gap: 8px;
  flex: 1;
  min-width: 0;
}
.lf-thumb {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 10px 10px 8px;
  border: 1px solid transparent;
  border-radius: 14px;
  text-align: left;
  position: relative;
  overflow: hidden;
  transition: all 220ms cubic-bezier(.4,0,.2,1);
  min-width: 0;
  background: transparent;
}
.lf-thumb:hover { background: rgba(0,0,0,0.04); }
.lf-thumb:hover .lf-thumb-img { transform: scale(1.08) translateY(-3px); }
.lf-thumb:hover .lf-thumb-img img { transform: translateY(-2px) rotate(-4deg); }
.lf-thumb.active { border-style: solid; }
.lf-thumb-img {
  width: 56px; height: 56px;
  border-radius: 50%;
  display: grid; place-items: center;
  flex-shrink: 0;
  position: relative;
  overflow: hidden;
  transition: transform 350ms cubic-bezier(.2,.7,.2,1);
}
.lf-thumb-img img {
  width: 52px; height: 52px;
  object-fit: cover;
  border-radius: 50%;
  transition: transform 350ms cubic-bezier(.2,.7,.2,1);
}
.lf-thumb-info { min-width: 0; flex: 1; }
.lf-thumb-num {
  font-size: 9.5px;
  letter-spacing: 0.18em;
  font-weight: 700;
  color: var(--fg-muted);
  margin-bottom: 2px;
}
.lf-thumb-name {
  font-family: var(--display-font);
  font-weight: 700;
  font-size: 14px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.lf-thumb-bar {
  position: absolute;
  left: 14px; right: 14px;
  bottom: 4px;
  height: 2px;
  border-radius: 2px;
  animation: lfBarIn 500ms cubic-bezier(.2,.7,.2,1) both;
}

/* Protein tozu: galeri yerine diğer ürünlere link veren slider */
.lf-thumb-link {
  text-decoration: none;
  color: inherit;
  cursor: pointer;
}
/* "Tozu ve sonrası" masaüstünde gizli, mobilde görünür */
.lf-dock-products .lf-name-toz { display: none; }
.lf-dock-products .lf-thumb-name {
  white-space: normal;
  line-height: 1.15;
}
/* Masaüstü: diğer protein tozu görselleri + yazıları %80 büyük.
   Daire kırpma yok: ürün PNG'si olduğu gibi gösterilir, altında ürünün
   silüetine uyan yumuşak gölge (drop-shadow) olur. */
.lf-dock-products .lf-thumb-img {
  width: 200px;
  height: 200px;
  border-radius: 0;
  overflow: visible;
  background: none !important;
  box-shadow: none;
}
.lf-dock-products .lf-thumb-img img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  border-radius: 0;
  filter: drop-shadow(0 14px 14px rgba(0,0,0,0.26));
}
.lf-dock-products .lf-thumb-name { font-size: 25px; }
.lf-dock-products .lf-thumb-num { font-size: 17px; }
/* Alttaki slider'ı sıkılaştır + gölgenin taşmasına izin ver.
   .lf-root'ta overflow:hidden olduğu için alt gölgenin (box-shadow ~28px aşağı)
   kırpılmaması adına padding-bottom gölgeyi içine alacak kadar geniş tutulur. */
.lf-dock-products { padding: 4px 40px 38px; }
.lf-dock-products .lf-thumb { overflow: visible; padding: 0 8px; }
@keyframes lfBarIn {
  from { transform: scaleX(0); transform-origin: left; }
  to { transform: scaleX(1); }
}

/* RESPONSIVE ============================================ */
@media (max-width: 1180px) {
  .lf-slide { grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr) minmax(0, 1fr); padding: 36px 36px 24px; gap: 24px; }
}

@media (max-width: 900px) {
  .lf-root { min-height: auto; }
  .lf-stage { min-height: auto; }
  .lf-slide {
    grid-template-columns: minmax(0, 1fr);
    padding: 28px 24px 16px;
    gap: 24px;
    min-height: 0;
    grid-template-areas:
      "center"
      "left"
      "right";
  }
  .lf-col-center { grid-area: center; order: -1; height: auto; min-height: 0; min-width: 0; padding: 6px 0 2px; display: flex; flex-direction: column; align-items: center; justify-content: center; }
  .lf-col-left { grid-area: left; max-width: 100%; }
  .lf-col-right { grid-area: right; max-width: 100%; justify-self: stretch; }
  .lf-backdrop { padding: 0; overflow: visible; }
  .lf-backdrop-line { display: inline-block; white-space: nowrap; font-size: clamp(64px, 22vw, 160px); }
  .lf-bottle-wrap { width: min(80vw, 460px); margin: 0; }
  .lf-bottle-ground { bottom: 24%; height: 22px; }
  .lf-dock { padding: 14px 18px 18px; }
  .lf-dock-track {
    grid-auto-flow: column;
    grid-template-columns: none !important;
    grid-auto-columns: 140px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }
  .lf-dock-track::-webkit-scrollbar { display: none; }
  .lf-thumb { scroll-snap-align: start; min-width: 0; }

  /* Protein tozu slider'ı mobilde: büyük görsel ortada, başlık altta */
  .lf-dock-products .lf-dock-track { grid-auto-columns: 160px; justify-content: center; }
  .lf-dock-products .lf-name-toz { display: inline; }
  .lf-dock-products .lf-thumb {
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 10px;
    padding: 12px 8px 14px;
  }
  .lf-dock-products .lf-thumb-img { width: 132px; height: 132px; }
  .lf-dock-products .lf-thumb-img img { width: 124px; height: 124px; }
  .lf-dock-products .lf-thumb-info { width: 100%; text-align: center; }
  .lf-dock-products .lf-thumb-num { display: none; }
  .lf-dock-products .lf-thumb-name { white-space: normal; font-size: 13px; }
}

@media (max-width: 560px) {
  .lf-slide { padding: 18px 16px 12px; gap: 18px; }
  .lf-tagline { font-size: 10px; margin-bottom: 14px; letter-spacing: 0.16em; }
  .lf-prod-title { font-size: clamp(22px, 6vw, 28px); margin-bottom: 10px; }
  .lf-desc { font-size: 14px; margin-bottom: 18px; max-width: 100%; }
  .lf-benefits { margin-bottom: 8px; gap: 6px 12px; }
  .lf-benefit { font-size: 11.5px; }
  .lf-col-center { min-height: 0; padding: 4px 0 0; }
  .lf-bottle-wrap { width: min(110vw, 480px); }
  .lf-backdrop { display: flex; }
  .lf-price-sub { font-size: 10px; }
  .lf-price { font-size: clamp(34px, 11vw, 50px); }
  .lf-price-old { font-size: 16px; }
  .lf-price-row { gap: 10px; }
  .lf-trust { padding-top: 12px; gap: 8px; }
  .lf-trust strong { font-size: 16px; }
  .lf-trust span { font-size: 9.5px; letter-spacing: 0.1em; }
  .lf-dock { padding: 12px 12px 16px; gap: 8px; }
  .lf-dock-arrow { width: 36px; height: 36px; }
  .lf-dock-track { grid-auto-columns: 120px; gap: 6px; }
  .lf-thumb { padding: 6px 8px 8px 6px; }
  .lf-thumb-img { width: 44px; height: 44px; }
  .lf-thumb-img img { width: 40px; height: 40px; }
  .lf-thumb-name { font-size: 12px; }
  .lf-thumb-num { font-size: 9px; }
  .lf-thumb-bar { left: 10px; right: 10px; bottom: 3px; }
  .lf-bottle-wrap:hover { animation: none; }
  .lf-thumb:hover .lf-thumb-img { transform: none; }
  .lf-thumb:hover .lf-thumb-img img { transform: none; }
  .lf-dock { padding-bottom: calc(16px + env(safe-area-inset-bottom, 0px)); }
}

@media (max-width: 380px) {
  .lf-slide { padding: 14px 12px 10px; gap: 14px; }
  .lf-prod-title { font-size: clamp(20px, 7vw, 24px); }
  .lf-bottle-wrap { width: min(120vw, 420px); }
  .lf-col-center { min-height: 200px; }
  .lf-price { font-size: clamp(30px, 13vw, 42px); }
  .lf-size-pills { gap: 8px; }
  .lf-pill { padding: 14px 8px 12px; min-width: 72px; }
  .lf-pill-num { font-size: 24px; }
  .lf-pill-text .lf-pill-num { font-size: 14px; }
  .lf-trust strong { font-size: 14px; }
  .lf-dock-track { grid-auto-columns: 108px; }
}

/* HIDE DEFAULT WooCommerce ELEMENTS ===================== */
body.lph-hero-active .woocommerce-breadcrumb { display: none !important; }
body.lph-hero-active .woocommerce-product-gallery { display: none !important; }
body.lph-hero-active .product .summary.entry-summary { display: none !important; }
body.lph-hero-active div.product form.cart { display: none !important; }

/* REVIEWS SECTION ======================================= */
.lph-reviews-section {
  background: #fff;
  padding: 72px 0;
  margin: 0;
  width: 100%;
}
.lph-reviews-inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 24px;
}
.lph-reviews-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 12px;
  margin-bottom: 36px;
}
.lph-reviews-title {
  font-family: var(--display-font);
  font-size: clamp(24px, 2.2vw, 32px);
  font-weight: 700;
  letter-spacing: -0.01em;
  margin: 0;
  color: var(--fg);
}
.lph-reviews-rating {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 14px;
  color: var(--fg-muted);
}
.lph-reviews-stars .star-rating,
.lph-review-stars .star-rating {
  float: none;
  font-size: 16px;
  color: inherit;
}
.lph-reviews-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
.lph-review-card {
  background: var(--bg-base);
  border: 1px solid var(--fg-dim);
  border-radius: 18px;
  padding: 28px;
  display: flex;
  flex-direction: column;
  gap: 14px;
  transition: transform 220ms cubic-bezier(.4,0,.2,1), box-shadow 220ms cubic-bezier(.4,0,.2,1);
}
.lph-review-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 30px -12px rgba(0,0,0,0.12);
}
.lph-review-text {
  font-size: 15px;
  line-height: 1.6;
  color: var(--fg);
  margin: 0;
}
.lph-review-meta {
  margin-top: auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  font-size: 13px;
}
.lph-review-author {
  font-weight: 700;
  color: var(--fg);
}
.lph-review-date {
  color: var(--fg-muted);
}

@media (max-width: 900px) {
  .lph-reviews-grid { grid-template-columns: repeat(2, 1fr); }
  .lph-reviews-section { padding: 48px 0; }
}

@media (max-width: 560px) {
  .lph-reviews-grid { grid-template-columns: 1fr; }
  .lph-review-card { padding: 22px; }
}

@media (prefers-reduced-motion: reduce) {
  .lf-root,
  .lf-root * {
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.001ms !important;
    scroll-behavior: auto !important;
  }
}
