/* ═══ product.css — جداشده از main.css (خطوط 946-1389 نسخهٔ v1.1.267) بدون هیچ تغییری در محتوا/ترتیب.
   صفحهٔ محصول نسل اول + مودال/آکاردئون
   ترتیب لود (زنجیرهٔ dependency در functions.php) = ترتیب قبلی داخل main.css. ═══ */
/* ═══════════════════════════════════════
   SINGLE PRODUCT PAGE
═══════════════════════════════════════ */

/* ── product layout ── */
.product-page {
  max-width: 1100px; margin: 0 auto;
  padding: 20px clamp(1rem,4vw,2rem) 44px;
  display: grid;
  grid-template-columns: minmax(0,1fr) minmax(0,1fr);
  gap: 34px; align-items: start;
}

.product-image { align-self: start; }
.main-image {
  width: 100%; aspect-ratio: 1/1;
  background: radial-gradient(circle at 30% 20%,rgba(255,255,255,.95),transparent 30%),
              linear-gradient(135deg,#ffffff,#fafafa 52%,#f5f7fb);
  border-radius: var(--radius-xl);
  border: 0.5px solid rgba(255,255,255,.9);
  box-shadow: inset 0 0 0 1px rgba(0,0,0,.035), 0 14px 34px rgba(0,0,0,.055);
  display: flex; align-items: center; justify-content: center;
  position: relative; overflow: hidden;
}
.main-image::after {
  content: ''; position: absolute; inset: 16px;
  border: 1px solid rgba(255,255,255,.85);
  border-radius: 24px; pointer-events: none;
}
.main-image img { width: 100%; height: 100%; object-fit: cover; }
.main-image > svg { width: 82px; height: 82px; stroke: #d3d8e2; stroke-width: 1; fill: none; stroke-linecap: round; }
.img-badges { position: absolute; top: 14px; right: 14px; display: flex; flex-direction: column; gap: 6px; align-items: flex-end; z-index: 2; }
.badge-sale { background: #fff0f0; color: #c0392b; box-shadow: 0 8px 18px rgba(192,57,43,.1); }

/* info */
.product-info { display: flex; flex-direction: column; gap: 16px; }
.prod-cat { font-size: 12px; color: var(--gray-400); margin-bottom: 4px; }
.prod-name { font-size: 26px; font-weight: 700; color: var(--black); line-height: 1.3; letter-spacing: -0.55px; }

/* ── purchase card ── */
.purchase-card { background: transparent; border: 0; padding: 0; }
.buy-summary { display: flex; flex-direction: column; gap: 8px; }
.btn-add {
  width: 100%; min-height: 54px;
  background: var(--black); color: white; border: 0;
  border-radius: 18px; padding: 7px;
  display: grid; grid-template-columns: minmax(0,1fr) auto;
  align-items: center; gap: 8px;
  font-family: inherit; cursor: pointer;
  transition: background .15s, transform .1s, box-shadow .15s;
  box-shadow: 0 10px 26px rgba(0,0,0,.14);
}
.btn-add:hover:not(:disabled) { background: #242424; box-shadow: 0 12px 28px rgba(0,0,0,.16); }
.btn-add:active:not(:disabled) { transform: scale(.985); }
.btn-add:disabled { background: #dfdfdf; color: #8a8a8a; box-shadow: none; cursor: not-allowed; }
.buy-label {
  min-width: 0; display: flex; align-items: center; gap: 8px;
  padding: 0 10px; font-size: 13px; font-weight: 700; white-space: nowrap;
}
.buy-label svg { width: 18px; height: 18px; stroke: currentColor; stroke-width: 2; fill: none; stroke-linecap: round; flex-shrink: 0; }
.buy-price {
  align-self: stretch; min-width: 128px;
  background: rgba(255,255,255,.1);
  border: 0.5px solid rgba(255,255,255,.13);
  border-radius: 14px; padding: 6px 10px;
  display: flex; align-items: center; justify-content: center; gap: 4px; color: #fff;
}
.btn-add:disabled .buy-price { background: rgba(0,0,0,.05); border-color: rgba(0,0,0,.04); color: #777; }
.buy-price-main { font-size: 17px; font-weight: 700; letter-spacing: -.25px; line-height: 1; }
.buy-price-unit { font-size: 10px; font-weight: 600; opacity: .75; margin-top: 2px; }
.buy-meta-row { display: flex; align-items: center; justify-content: flex-end; gap: 6px; flex-wrap: wrap; padding: 0 2px; min-height: 22px; }
.buy-offers { display: flex; align-items: center; justify-content: flex-end; gap: 6px; flex-wrap: wrap; }
.regular-price { font-size: 10.5px; color: var(--gray-400); text-decoration: line-through; font-weight: 600; }
.discount-chip { background: #fff0ee; color: #c0392b; font-size: 10px; font-weight: 700; padding: 3px 8px; border-radius: 999px; white-space: nowrap; }
.save-chip { display: inline-flex; align-items: center; gap: 4px; background: var(--green-bg,#f0faf4); border: .5px solid rgba(26,122,64,.18); color: #14783d; font-size: 10px; font-weight: 700; padding: 3px 8px; border-radius: 999px; white-space: nowrap; }
.save-chip svg { width: 10px; height: 10px; stroke: currentColor; stroke-width: 2.4; fill: none; stroke-linecap: round; }
.purchase-trust { display: flex; align-items: center; justify-content: center; gap: 12px; flex-wrap: wrap; margin-top: 4px; }
.trust-item { display: flex; align-items: center; gap: 4px; font-size: 10px; font-weight: 600; color: var(--gray-600); white-space: nowrap; }
.trust-item svg { width: 12px; height: 12px; stroke: #14783d; stroke-width: 2.2; fill: none; }

/* ── variations ── */
.var-group { display: flex; flex-direction: column; gap: 9px; }
.var-group-label { font-size: 13px; font-weight: 700; color: var(--black); display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.var-selected-label { font-size: 11px; color: var(--gray-400); font-weight: 500; }
.var-options { display: grid; grid-template-columns: repeat(3,1fr); gap: 8px; }
.var-btn {
  min-height: 58px; padding: 9px 10px; border-radius: 16px;
  border: 0.5px solid var(--gray-200); background: rgba(255,255,255,.8);
  font-size: 13px; font-weight: 600; color: var(--gray-600);
  cursor: pointer; transition: all .16s;
  display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 3px;
  position: relative; font-family: inherit;
}
.var-btn:hover { border-color: var(--black); color: var(--black); transform: translateY(-1px); }
.var-btn.active { border: 1.5px solid var(--black); background: var(--black); color: #fff; font-weight: 700; box-shadow: 0 12px 26px rgba(0,0,0,.12); }
.var-btn .var-sub { font-size: 10px; font-weight: 500; opacity: 0.62; }
.var-btn.active .var-sub { opacity: 0.78; }
.var-btn.recommended::before {
  content: 'پیشنهاد';
  position: absolute; top: -10px; right: 50%; transform: translateX(50%);
  background: #14783d; color: #fff;
  font-size: 9px; font-weight: 700; padding: 2px 8px; border-radius: 10px; white-space: nowrap;
}

/* ── description ── */
.desc-card { background: rgba(255,255,255,.72); border: .5px solid var(--border); border-radius: 22px; padding: 15px; }
.desc-title { font-size: 13px; font-weight: 700; color: var(--black); margin-bottom: 8px; }
.desc-text { font-size: 13px; color: var(--gray-600); line-height: 1.9; }
.desc-text p { margin-bottom: .6em; }
.desc-text p:last-child { margin-bottom: 0; }

/* ── related ── */
.related-section { max-width: 1100px; margin: 0 auto; padding: 0 clamp(1rem,4vw,2rem) 60px; }
.section-link { font-size: 12px; color: var(--gray-400); display: flex; align-items: center; gap: 4px; transition: color .15s; }
.section-link svg { width: 13px; height: 13px; stroke: currentColor; stroke-width: 2; fill: none; }
.section-link:hover { color: var(--black); }
.related-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 12px; }
.rel-card { background: var(--white); border: 0.5px solid var(--gray-100); border-radius: var(--radius-xl); overflow: hidden; transition: transform .2s, box-shadow .2s; text-decoration: none; display: block; }
.rel-card:hover { transform: translateY(-3px); box-shadow: var(--shadow-lg); }
.rel-img { width: 100%; aspect-ratio: 1/1; background: #fafafa; display: flex; align-items: center; justify-content: center; border-bottom: 0.5px solid var(--gray-100); overflow: hidden; }
.rel-img img { width: 100%; height: 100%; object-fit: cover; }
.rel-img > svg { width: 36px; height: 36px; stroke: #d3d8e2; stroke-width: 1.3; fill: none; stroke-linecap: round; }
.rel-body { padding: 10px 10px 9px; }
.rel-cat { font-size: 10px; color: var(--gray-400); margin-bottom: 2px; }
.rel-name { font-size: 12px; font-weight: 600; color: var(--black); margin-bottom: 5px; line-height: 1.3; }
.rel-price { font-size: 13px; font-weight: 700; color: #14783d; }

/* ── responsive single product ── */
@media (max-width: 768px) {
  .product-page { grid-template-columns: 1fr; gap: 12px; padding-top: 10px; padding-bottom: 24px; }
  .product-image { position: static; display: flex; justify-content: center; }
  .main-image { width: min(86vw,310px); margin: 0 auto; transition: width .35s ease; }
  .prod-name { font-size: 20px; }
  .buy-price { min-width: 108px; }
  .buy-price-main { font-size: 14px; }
  .related-grid { grid-template-columns: repeat(2,1fr); gap: 8px; }
  .var-options { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 6px; }
  .var-btn { min-height: 64px; font-size: 11px; }
}
@media (max-width: 390px) {
  .main-image { width: min(84vw,270px); }
  .buy-price { min-width: 100px; }
}

/* ── مشکل ۱: var-btn کوچک‌تر ── */
.var-btn {
  min-height: 44px !important;
  padding: 7px 10px !important;
  font-size: 12px !important;
  border-radius: 12px !important;
}
.var-btn .var-sub { font-size: 10px; }
@media (max-width: 768px) {
  .var-btn { min-height: 48px !important; font-size: 11px !important; }
}

/* ── مشکل ۲: ناموجود note ── */
.unavailable-note {
  display: none;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  color: #c0392b;
  font-weight: 600;
  padding: 6px 0;
}
.unavailable-note svg {
  width: 14px; height: 14px;
  stroke: #c0392b; stroke-width: 2; fill: none; flex-shrink: 0;
}

/* ── مشکل ۳: توضیحات جمع‌شدنی ── */
.desc-card { padding: 0 !important; overflow: hidden; }
.desc-toggle {
  width: 100%;
  display: flex; align-items: center; justify-content: space-between;
  padding: 14px 16px;
  background: none; border: none;
  font-family: inherit; font-size: 13px; font-weight: 700; color: var(--black);
  cursor: pointer; text-align: right;
}
.desc-toggle:hover { background: var(--gray-50); }
.desc-arrow {
  width: 16px; height: 16px;
  stroke: var(--gray-400); stroke-width: 2; fill: none;
  flex-shrink: 0;
  transition: transform .3s ease;
}
.desc-toggle.desc-open .desc-arrow { transform: rotate(180deg); }
.desc-body { overflow: hidden; max-height: 0; transition: max-height .35s ease; }
.desc-text { padding: 0 16px 16px; }

/* ── var-options responsive — پهن با تعداد کم ── */
.var-options {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  grid-template-columns: unset !important;
}
.var-btn {
  flex: 1 1 auto !important;
  min-width: 80px !important;
  max-width: none !important;
}
/* یک گزینه — کل عرض */
.var-options:has(.var-btn:only-child) .var-btn {
  flex: 1 1 100% !important;
  min-height: 46px !important;
}
/* دو گزینه — نصف نصف */
.var-options:has(.var-btn:nth-child(2):last-child) .var-btn {
  flex: 1 1 calc(50% - 4px) !important;
}
/* سه گزینه — یه سوم */
.var-options:has(.var-btn:nth-child(3):last-child) .var-btn {
  flex: 1 1 calc(33% - 6px) !important;
}
@media (max-width: 768px) {
  .var-btn { min-width: 70px !important; }
}

/* ── Info accordions (delivery + warranty) ── */
.info-card { margin-top: 0; }
.desc-toggle-inner {
  display: flex; align-items: center; gap: 8px;
}
.desc-toggle-inner svg {
  width: 15px; height: 15px;
  stroke: var(--green, #14783d); stroke-width: 2; fill: none; flex-shrink: 0;
}
.info-text p { margin-bottom: .6em; font-size: 13px; color: var(--gray-600, #555); line-height: 1.8; }
.info-text p:last-child { margin-bottom: 0; }

/* ── rel-price: حذف خط‌خورده WooCommerce ── */
.rel-price del {
  display: none !important;
}
.rel-price ins {
  text-decoration: none !important;
  font-weight: 700;
  color: #14783d;
}
.rel-price .woocommerce-Price-amount {
  color: #14783d;
  font-weight: 700;
}

/* ── rel sale badge روی عکس ── */
.rel-img { position: relative; }
.rel-sale-badge {
  position: absolute; top: 8px; right: 8px;
  background: #fff0f0; color: #c0392b;
  font-size: 9px; font-weight: 700;
  padding: 3px 8px; border-radius: 20px;
  z-index: 2;
}

/* ── delivery col card — زیر عکس روی دسکتاپ ── */
.delivery-col-card {
  margin-top: 12px;
}
/* موبایل: ستون عکس تک‌ستونه، delivery-col پنهان، delivery-mobile نشون داده میشه */
@media (max-width: 768px) {
  .delivery-col-card { display: none; }
  .delivery-mobile-card { display: block; }
}
/* دسکتاپ: delivery-col نشون داده میشه، mobile-card پنهان */
@media (min-width: 769px) {
  .delivery-mobile-card { display: none; }
  .delivery-col-card { display: block; }
}


/* ── دسکتاپ: ستون عکس هم‌ارتفاع با ستون راست، delivery پایین چسبیده ── */
@media (min-width: 769px) {
  .product-page {
    align-items: stretch;
  }
  .product-image {
    display: flex;
    flex-direction: column;
    gap: 12px;
    align-self: stretch;
  }
  .main-image {
    flex-shrink: 0;
    /* عکس ارتفاع خودش رو داره */
  }
  .delivery-col-card {
    margin-top: auto !important; /* push به پایین — تراز با پایین ستون راست */
  }
}

/* ════════════════════════════════════════
   INFO MODAL — وسط صفحه، دسکتاپ
   انیمیشن: scale + fade مثل باز شدن نامه
════════════════════════════════════════ */
@media (min-width: 769px) {

  /* overlay مات */
  .info-drawer-overlay {
    position: fixed; inset: 0; z-index: 500;
    background: rgba(13,13,13,0);
    backdrop-filter: blur(0px);
    -webkit-backdrop-filter: blur(0px);
    pointer-events: none;
    transition: background .3s ease, backdrop-filter .3s ease;
  }
  .info-drawer-overlay.open {
    background: rgba(13,13,13,0.55);
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
    pointer-events: all;
  }

  /* modal پنل — وسط صفحه */
  .info-drawer {
    position: fixed;
    top: 50%; left: 50%;
    transform: translate(-50%, -50%) scale(0.88);
    width: min(640px, 72vw);
    max-height: 76vh;
    background: #fefefe;
    z-index: 501;
    display: flex; flex-direction: column;
    border-radius: 20px;
    box-shadow: 0 32px 80px rgba(0,0,0,.22), 0 0 0 1px rgba(0,0,0,.06);
    opacity: 0;
    pointer-events: none;
    transition: transform .32s cubic-bezier(.34,1.28,.64,1), opacity .25s ease;
  }
  .info-drawer.open {
    transform: translate(-50%, -50%) scale(1);
    opacity: 1;
    pointer-events: all;
  }

  .info-drawer-header {
    display: flex; align-items: center; justify-content: space-between;
    padding: 16px 22px 14px;
    border-bottom: 1px solid #f0f0f0;
    flex-shrink: 0;
  }
  .info-drawer-title {
    font-size: 15px; font-weight: 700; color: #0d0d0d;
    display: flex; align-items: center; gap: 9px;
  }
  .info-drawer-title svg {
    width: 16px; height: 16px;
    stroke: #14783d; stroke-width: 2; fill: none; flex-shrink: 0;
  }
  .info-drawer-close {
    width: 32px; height: 32px;
    border: 1px solid #e8e8e8; background: #f8f8f8; border-radius: 8px;
    cursor: pointer; display: flex; align-items: center; justify-content: center;
    transition: background .15s, transform .15s;
    flex-shrink: 0;
  }
  .info-drawer-close:hover { background: #eee; transform: scale(1.08); }
  .info-drawer-close svg { width: 14px; height: 14px; stroke: #666; stroke-width: 2; fill: none; }

  .info-drawer-body {
    flex: 1; overflow-y: auto;
    padding: 22px 26px 28px;
    font-size: 14px; color: #444; line-height: 1.9;
    scroll-behavior: smooth;
  }
  .info-drawer-body p { margin-bottom: .8em; }
  .info-drawer-body p:last-child { margin-bottom: 0; }
  .info-drawer-body h1 { font-size: 15px; font-weight: 700; color: #0d0d0d; margin: 0 0 .6em; }
  .info-drawer-body h2 { font-size: 14px; font-weight: 700; color: #0d0d0d; margin: 1.2em 0 .4em; }
  .info-drawer-body h3 { font-size: 13px; font-weight: 700; color: #333; margin: 1em 0 .3em; }
  .info-drawer-body ul { padding-right: 22px; margin-bottom: .8em; }
  .info-drawer-body li { margin-bottom: .35em; }
  .info-drawer-body img.emoji { width: 16px; height: 16px; vertical-align: middle; }

  /* دسکتاپ: accordion body پنهان — modal باز میکنه */
  .desc-card .desc-body { display: none !important; }
  .desc-card .desc-arrow { display: none; }
  /* cursor pointer برای toggle */
  .desc-card .desc-toggle { cursor: pointer; }
}

/* موبایل: modal نداریم، accordion عادی */
@media (max-width: 768px) {
  .info-drawer, .info-drawer-overlay { display: none !important; }
  .desc-card .desc-body { display: block !important; }
  .desc-card .desc-arrow { display: block; }
}
/* ════════════════════════════════════════
   WC PAGE WRAPPER — cart / checkout / my-account
════════════════════════════════════════ */
.wc-page-wrap {
  min-height: 60vh;
  padding-bottom: 60px;
}
.wc-page-container {
  max-width: 1100px;
  margin: 0 auto;
  padding: 32px clamp(1rem, 4vw, 2rem) 48px;
}


/* Custom simple-product template (moved verbatim from woocommerce/single-product.php). */
.pp *,.pp *::before,.pp *::after{box-sizing:border-box}

.pp{
  --pp-bg:var(--hg-shop-page-bg,#f6f6f2);
  --pp-card:var(--hg-shop-card,#fff);
  --pp-card2:var(--hg-shop-card-2,#fbfbf8);
  --pp-border:var(--hg-shop-line,rgba(23,24,27,.085));
  --pp-border2:var(--hg-shop-line-soft,rgba(23,24,27,.13));
  --pp-text:var(--hg-shop-ink,#17181b);
  --pp-sub:var(--hg-shop-muted,#6f757b);
  --pp-dim:var(--hg-shop-muted-2,#9aa0a6);
  --pp-faint:rgba(23,24,27,.18);
  --pp-accent:#0f766e;
  --pp-accent-rgb:15,118,110;
  --pp-accent-2:#14b8a6;
  --pp-accent-glow:rgba(15,118,110,.18);
  --pp-accent-soft:rgba(15,118,110,.09);
  --pp-star:#f59e0b;
  --pp-green:var(--hg-shop-green,#34c759);
  --pp-green-soft:var(--hg-shop-green-bg,rgba(52,199,89,.12));
  --pp-red:#dc2626;
  --pp-gold:var(--hg-shop-orange,#f59e0b);
  --pp-gold-soft:var(--hg-shop-orange-bg,rgba(245,158,11,.13));
}
html[data-hg-theme="dark"] .pp{
  --pp-faint:rgba(255,255,255,.15);
  --pp-accent:#67e8f9;
  --pp-accent-rgb:103,232,249;
  --pp-accent-2:#22d3ee;
  --pp-accent-glow:rgba(103,232,249,.16);
  --pp-accent-soft:rgba(103,232,249,.10);
  --pp-red:#f87171;
}

.pp{direction:rtl;font-family:'Vazirmatn',Tahoma,sans-serif;background:var(--pp-bg);color:var(--pp-text);min-height:100vh;overflow-x:hidden;font-size:14px;line-height:1.6}

/* Hero */
.pp-hero{position:relative;padding:40px 0 0;background:transparent}
.pp-hero::before{content:'';position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px);background-size:52px 52px;pointer-events:none}
.pp-container{max-width:1200px;margin:0 auto;padding:0 24px}
.pp-hero-inner{display:grid;grid-template-columns:1fr auto;gap:48px;align-items:start}
@media(max-width:768px){.pp-hero-inner{grid-template-columns:1fr;gap:32px}}

.pp-bc{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--pp-dim);margin-bottom:14px;flex-wrap:wrap}
.pp-bc a{color:var(--pp-dim);text-decoration:none}
.pp-bc a:hover{color:var(--pp-sub)}
.pp-bc-sep{color:var(--pp-faint)}
.pp-cat-badge{display:inline-flex;align-items:center;gap:5px;background:var(--pp-accent-soft);border:1px solid rgba(var(--pp-accent-rgb),.2);color:var(--pp-accent);font-size:11px;font-weight:600;padding:3px 10px;border-radius:100px;margin-bottom:12px}
.pp-title{font-size:28px;font-weight:800;color:var(--pp-text);margin-bottom:10px;letter-spacing:-.5px;line-height:1.3}
@media(max-width:768px){.pp-title{font-size:22px}}
.pp-rating-row{display:flex;align-items:center;gap:10px;margin-bottom:14px;flex-wrap:wrap}
.pp-stars{display:flex;align-items:center;gap:2px}
.pp-star-svg{width:15px;height:15px;fill:var(--pp-star)}
.pp-star-svg.empty{fill:rgba(120,130,145,.22)}
.pp-rating-num{font-size:15px;font-weight:700;color:var(--pp-text)}
.pp-rating-count{font-size:12px;color:var(--pp-dim)}
.pp-badges{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}
.pp-badge{font-size:11px;font-weight:600;padding:3px 9px;border-radius:6px;background:rgba(255,255,255,.05);border:1px solid var(--pp-border2);color:var(--pp-sub)}
.pp-badge.green{background:var(--pp-green-soft);border-color:rgba(74,222,128,.2);color:var(--pp-green)}
.pp-badge.gold{background:var(--pp-gold-soft);border-color:rgba(240,192,64,.2);color:var(--pp-gold)}
.pp-short-desc{font-size:13.5px;color:var(--pp-sub);line-height:1.8;max-width:520px}

/* Orb */
.pp-orb-wrap{position:relative;width:220px;height:220px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
@media(max-width:768px){.pp-orb-wrap{width:160px;height:160px;margin:0 auto}}
.pp-orb-glow{position:absolute;inset:-20px;border-radius:50%;background:radial-gradient(circle,rgba(var(--pp-accent-rgb),.18),transparent 70%);animation:ppOrb 4s ease-in-out infinite}
@keyframes ppOrb{0%,100%{opacity:.7;transform:scale(1)}50%{opacity:1;transform:scale(1.05)}}
.pp-orb-ring1{position:absolute;inset:0;border-radius:50%;border:1px solid rgba(var(--pp-accent-rgb),.2);animation:ppSpin 12s linear infinite}
.pp-orb-ring2{position:absolute;inset:14px;border-radius:50%;border:1px dashed rgba(var(--pp-accent-rgb),.12);animation:ppSpin 8s linear infinite reverse}
@keyframes ppSpin{to{transform:rotate(360deg)}}
.pp-orb-card{width:140px;height:140px;border-radius:24px;background:var(--pp-card2);border:1px solid var(--pp-border2);backdrop-filter:blur(20px);display:flex;align-items:center;justify-content:center;font-size:64px;box-shadow:0 20px 60px rgba(0,0,0,.4),0 0 40px rgba(var(--pp-accent-rgb),.1);position:relative;z-index:1;overflow:hidden}
.pp-orb-card img{width:100%;height:100%;object-fit:cover;border-radius:inherit}
@media(max-width:768px){.pp-orb-card{width:100px;height:100px;font-size:44px;border-radius:18px}}
.pp-orb-badge{position:absolute;bottom:-8px;right:-8px;background:var(--pp-accent);color:#fff;font-size:11px;font-weight:700;padding:4px 10px;border-radius:8px;border:2px solid var(--pp-bg);white-space:nowrap}

/* Purchase Strip */
.pp-strip{background:var(--pp-card);border-top:1px solid var(--pp-border);border-bottom:1px solid var(--pp-border);padding:20px 0;backdrop-filter:blur(20px);position:sticky;top:0;z-index:100}
.pp-strip-inner{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}
.pp-price-group{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}
.pp-price-lbl{font-size:12px;color:var(--pp-dim)}
.pp-price-html{font-size:26px;font-weight:800;color:var(--pp-text);letter-spacing:-.5px}
.pp-price-html del{font-size:16px;color:var(--pp-dim);font-weight:500}
.pp-price-html ins{text-decoration:none}
.pp-stock-badge{font-size:11.5px;font-weight:600;padding:4px 10px;border-radius:6px;background:var(--pp-green-soft);border:1px solid rgba(74,222,128,.2);color:var(--pp-green);display:inline-flex;align-items:center;gap:4px}
.pp-stock-badge.out{background:rgba(248,113,113,.1);border-color:rgba(248,113,113,.2);color:var(--pp-red)}
.pp-stock-dot{width:5px;height:5px;border-radius:50%;background:currentColor;box-shadow:0 0 6px currentColor}
.pp-add-btn{display:flex;align-items:center;gap:8px;background:rgba(255,255,255,.06);border:1.5px solid rgba(255,255,255,.2);color:var(--pp-text);padding:13px 28px;border-radius:12px;font-size:14.5px;font-weight:700;font-family:inherit;cursor:pointer;transition:all .25s;backdrop-filter:blur(10px);box-shadow:0 4px 20px rgba(0,0,0,.2);position:relative;overflow:hidden}
.pp-add-btn::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.08),transparent);opacity:0;transition:opacity .25s}
.pp-add-btn:hover{transform:translateY(-2px);box-shadow:0 8px 30px rgba(var(--pp-accent-rgb),.3);border-color:rgba(var(--pp-accent-rgb),.5);background:rgba(var(--pp-accent-rgb),.15)}
.pp-add-btn:hover::before{opacity:1}
.pp-add-btn:active{transform:translateY(0)}

/* Section */
.pp-section{padding:48px 0}
.pp-section-title{font-size:18px;font-weight:700;color:var(--pp-text);margin-bottom:24px;display:flex;align-items:center;gap:10px}
.pp-section-title::before{content:'';display:block;width:3px;height:18px;background:var(--pp-accent);border-radius:2px;flex-shrink:0}

/* Status Cards */
.pp-status-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
@media(max-width:768px){.pp-status-grid{grid-template-columns:1fr}}
.pp-status-card{background:var(--pp-card);border:1px solid var(--pp-border);border-radius:16px;padding:20px;transition:border-color .2s,background .2s}
.pp-status-card:hover{background:var(--pp-card2);border-color:var(--pp-border2)}
.pp-sc-head{display:flex;align-items:center;gap:10px;margin-bottom:10px}
.pp-sc-icon{width:36px;height:36px;border-radius:10px;background:var(--pp-accent-soft);border:1px solid rgba(var(--pp-accent-rgb),.15);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.pp-sc-icon svg{width:17px;height:17px;stroke:var(--pp-accent);fill:none;stroke-width:1.8;stroke-linecap:round}
.pp-sc-label{font-size:12px;color:var(--pp-dim);font-weight:500}
.pp-sc-val{font-size:14px;font-weight:700;color:var(--pp-text)}
.pp-sc-note{font-size:12px;color:var(--pp-sub);margin-top:4px;line-height:1.6}

/* Features */
.pp-feat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
@media(max-width:768px){.pp-feat-grid{grid-template-columns:1fr 1fr}}
.pp-feat-card{background:var(--pp-card);border:1px solid var(--pp-border);border-radius:12px;padding:16px;display:flex;align-items:flex-start;gap:12px;transition:border-color .2s}
.pp-feat-card:hover{border-color:rgba(var(--pp-accent-rgb),.2)}
.pp-feat-icon{width:32px;height:32px;border-radius:8px;flex-shrink:0;background:var(--pp-accent-soft);display:flex;align-items:center;justify-content:center}
.pp-feat-icon svg{width:15px;height:15px;stroke:var(--pp-accent);fill:none;stroke-width:1.8;stroke-linecap:round}
.pp-feat-text strong{display:block;font-size:13px;font-weight:700;color:var(--pp-text);margin-bottom:2px}
.pp-feat-text span{font-size:12px;color:var(--pp-sub)}

/* Tabs */
.pp-tabs-bar{display:flex;gap:0;border-bottom:1px solid var(--pp-border);margin-bottom:32px;overflow-x:auto}
.pp-tab-btn{padding:12px 22px;font-size:14px;font-weight:600;font-family:inherit;background:none;border:none;color:var(--pp-dim);cursor:pointer;border-bottom:2px solid transparent;transition:all .2s;white-space:nowrap}
.pp-tab-btn.active{color:var(--pp-accent);border-bottom-color:var(--pp-accent)}
.pp-tab-btn:hover{color:var(--pp-sub)}
.pp-tab-panel{display:none}
.pp-tab-panel.active{display:block}

/* Description */
.pp-desc-grid{display:grid;grid-template-columns:1fr 320px;gap:32px}
@media(max-width:900px){.pp-desc-grid{grid-template-columns:1fr}}
.pp-prose h3{font-size:17px;font-weight:700;color:var(--pp-text);margin:24px 0 10px}
.pp-prose p{font-size:13.5px;color:var(--pp-sub);line-height:1.85;margin-bottom:12px}
.pp-prose ul{padding-right:18px;margin-bottom:12px}
.pp-prose li{font-size:13.5px;color:var(--pp-sub);line-height:1.8;list-style:disc}
.pp-spec-card{background:var(--pp-card);border:1px solid var(--pp-border);border-radius:14px;padding:20px;margin-bottom:16px}
.pp-spec-card h4{font-size:13px;font-weight:700;color:var(--pp-sub);margin-bottom:14px;text-transform:uppercase;letter-spacing:.5px}
.pp-spec-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid rgba(255,255,255,.04);font-size:13px}
.pp-spec-row:last-child{border:none}
.pp-spec-key{color:var(--pp-dim)}
.pp-spec-val{color:var(--pp-text);font-weight:500}
.pp-spec-check{color:var(--pp-green);font-size:15px}

/* Tutorial */
.pp-steps{display:flex;flex-direction:column;gap:16px}
.pp-step{display:flex;gap:16px;align-items:flex-start;background:var(--pp-card);border:1px solid var(--pp-border);border-radius:14px;padding:18px}
.pp-step-num{width:32px;height:32px;border-radius:50%;background:var(--pp-accent-soft);border:1px solid rgba(var(--pp-accent-rgb),.2);color:var(--pp-accent);font-size:13px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.pp-step-title{font-size:14px;font-weight:700;color:var(--pp-text);margin-bottom:4px}
.pp-step-desc{font-size:13px;color:var(--pp-sub);line-height:1.7}

/* Reviews */
.pp-rev-grid{display:grid;grid-template-columns:280px 1fr;gap:32px;align-items:start}
@media(max-width:900px){.pp-rev-grid{grid-template-columns:1fr}}
.pp-rating-box{background:var(--pp-card);border:1px solid var(--pp-border);border-radius:16px;padding:24px;text-align:center;margin-bottom:24px}
.pp-big-num{font-size:48px;font-weight:800;color:var(--pp-text);line-height:1}
.pp-big-stars{display:flex;justify-content:center;gap:3px;margin:8px 0 4px}
.pp-big-stars .pp-star-svg{width:20px;height:20px}
.pp-rev-total{font-size:12px;color:var(--pp-dim);margin-bottom:16px}
.pp-dist-row{display:flex;align-items:center;gap:8px;margin-bottom:7px;font-size:12px}
.pp-dist-lbl{color:var(--pp-dim);width:22px;text-align:center;flex-shrink:0}
.pp-dist-track{flex:1;height:4px;background:rgba(0,0,0,.08);border-radius:100px;overflow:hidden}
html[data-hg-theme="dark"] .pp-dist-track{background:rgba(255,255,255,.06)}
.pp-dist-fill{height:100%;background:var(--pp-star);border-radius:100px;transition:width .6s ease}
.pp-dist-pct{color:var(--pp-sub);width:30px;text-align:left;flex-shrink:0}
.pp-rev-list{display:flex;flex-direction:column;gap:14px;margin-bottom:24px}
.pp-rev-card{background:var(--pp-card);border:1px solid var(--pp-border);border-radius:14px;padding:18px}
.pp-rev-top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:8px}
.pp-rev-left{display:flex;align-items:center;gap:10px}
.pp-avatar{width:34px;height:34px;border-radius:50%;background:var(--pp-accent-soft);border:1px solid rgba(var(--pp-accent-rgb),.2);color:var(--pp-accent);font-size:13px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.pp-rev-name{font-size:13px;font-weight:600;color:var(--pp-text)}
.pp-rev-date{font-size:11px;color:var(--pp-dim);margin-top:1px}
.pp-rev-title{font-size:13px;font-weight:600;color:var(--pp-text);margin-bottom:4px}
.pp-rev-text{font-size:13px;color:var(--pp-sub);line-height:1.7}

/* Review Form */
.pp-rev-form{background:var(--pp-card);border:1px solid var(--pp-border);border-radius:16px;padding:24px}
.pp-rev-form h4{font-size:15px;font-weight:700;color:var(--pp-text);margin-bottom:18px}
.pp-form-group{margin-bottom:14px}
.pp-form-label{font-size:12px;font-weight:600;color:var(--pp-dim);display:block;margin-bottom:6px}
.pp-form-input,.pp-form-textarea{width:100%;padding:11px 14px;background:rgba(255,255,255,.05);border:1.5px solid var(--pp-border);border-radius:10px;color:var(--pp-text);font-size:13.5px;font-family:inherit;direction:rtl;outline:none;transition:border-color .2s}
.pp-form-input:focus,.pp-form-textarea:focus{border-color:rgba(var(--pp-accent-rgb),.4);background:rgba(255,255,255,.07)}
.pp-form-input::placeholder,.pp-form-textarea::placeholder{color:var(--pp-faint)}
.pp-form-textarea{resize:vertical;min-height:88px;line-height:1.6}
.pp-form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media(max-width:600px){.pp-form-row{grid-template-columns:1fr}}
.pp-star-select{display:flex;gap:4px;margin-bottom:14px}
.pp-star-sel-btn{background:none;border:none;cursor:pointer;padding:2px;transition:transform .15s}
.pp-star-sel-btn:hover{transform:scale(1.2)}
.pp-star-sel-btn svg{width:24px;height:24px;fill:#c0c8d0 !important;transition:fill .15s}
html[data-hg-theme="dark"] .pp-star-sel-btn svg{fill:rgba(255,255,255,.2) !important}
.pp-star-sel-btn.active svg,.pp-star-sel-btn:hover svg{fill:#f59e0b !important}
.pp-submit-btn{width:100%;padding:12px;background:var(--pp-accent);color:#fff;border:none;border-radius:10px;font-size:14px;font-weight:700;font-family:inherit;cursor:pointer;transition:all .2s;box-shadow:0 4px 16px rgba(var(--pp-accent-rgb),.3)}
.pp-submit-btn:hover{background:var(--pp-accent-2);transform:translateY(-1px)}

/* FAQ */
.pp-faq{display:flex;flex-direction:column;gap:8px}
.pp-faq-item{background:var(--pp-card);border:1px solid var(--pp-border);border-radius:12px;overflow:hidden}
.pp-faq-q{width:100%;display:flex;align-items:center;justify-content:space-between;padding:16px 18px;background:none;border:none;font-size:14px;font-weight:600;color:var(--pp-text);cursor:pointer;font-family:inherit;direction:rtl;text-align:right;transition:background .2s}
.pp-faq-q:hover{background:rgba(255,255,255,.03)}
.pp-faq-q svg{flex-shrink:0;transition:transform .25s;color:var(--pp-dim)}
.pp-faq-q.open svg{transform:rotate(180deg);color:var(--pp-accent)}
.pp-faq-a{font-size:13px;color:var(--pp-sub);line-height:1.8;padding:0 18px;max-height:0;overflow:hidden;transition:max-height .3s ease,padding .3s ease}
.pp-faq-a.open{max-height:200px;padding:0 18px 16px}

/* Related */
.pp-related-scroll{display:flex;gap:16px;overflow-x:auto;padding-bottom:8px;scrollbar-width:thin;scrollbar-color:var(--pp-border) transparent}
.pp-related-scroll::-webkit-scrollbar{height:4px}
.pp-related-scroll::-webkit-scrollbar-thumb{background:var(--pp-border);border-radius:100px}
.pp-related-card{flex-shrink:0;width:200px;background:var(--pp-card);border:1px solid var(--pp-border);border-radius:14px;padding:16px;cursor:pointer;transition:border-color .2s,background .2s,transform .2s;text-decoration:none;display:block}
.pp-related-card:hover{border-color:rgba(var(--pp-accent-rgb),.2);background:var(--pp-card2);transform:translateY(-2px)}
.pp-rel-img{width:48px;height:48px;border-radius:12px;background:var(--pp-card2);border:1px solid var(--pp-border2);display:flex;align-items:center;justify-content:center;margin-bottom:12px;overflow:hidden}
.pp-rel-img img{width:100%;height:100%;object-fit:cover}
.pp-rel-title{font-size:13px;font-weight:600;color:var(--pp-text);margin-bottom:6px;line-height:1.4}
.pp-rel-price{font-size:13px;font-weight:700;color:var(--pp-accent)}
.pp-rel-stars{display:flex;align-items:center;gap:3px;margin-top:6px}
.pp-rel-stars .pp-star-svg{width:11px;height:11px}

/* Cart Popup */
.pp-popup-bg{position:fixed;inset:0;z-index:9999;background:rgba(0,0,0,.75);backdrop-filter:blur(16px);display:none;align-items:center;justify-content:center;animation:ppFadeIn .35s ease}
.pp-popup-bg.show{display:flex}
@keyframes ppFadeIn{from{opacity:0}to{opacity:1}}
.pp-popup{background:rgba(20,24,32,.95);border:1px solid rgba(255,255,255,.1);border-radius:24px;padding:40px 36px;max-width:380px;width:90%;text-align:center;box-shadow:0 40px 100px rgba(0,0,0,.6),0 0 60px rgba(var(--pp-accent-rgb),.15);animation:ppPopIn .5s cubic-bezier(.34,1.56,.64,1);position:relative}
@keyframes ppPopIn{from{opacity:0;transform:scale(.8) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}
.pp-popup-icon{width:72px;height:72px;border-radius:50%;background:rgba(var(--pp-accent-rgb),.15);border:1px solid rgba(var(--pp-accent-rgb),.3);display:flex;align-items:center;justify-content:center;margin:0 auto 20px;animation:ppIconIn .55s cubic-bezier(.34,1.56,.64,1) .1s both}
@keyframes ppIconIn{from{transform:scale(0) rotate(-90deg)}to{transform:scale(1) rotate(0deg)}}
.pp-popup-icon svg{width:32px;height:32px;fill:none;stroke:var(--pp-accent);stroke-width:2;stroke-linecap:round;stroke-dasharray:36;stroke-dashoffset:36;animation:ppDrawChk .4s ease .5s both}
@keyframes ppDrawChk{to{stroke-dashoffset:0}}
.pp-popup-title{font-size:18px;font-weight:800;color:var(--pp-text);margin-bottom:6px;animation:ppFadeUp .4s ease .35s both}
.pp-popup-desc{font-size:13px;color:var(--pp-sub);margin-bottom:20px;animation:ppFadeUp .4s ease .45s both;line-height:1.7}
@keyframes ppFadeUp{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
.pp-popup-transfer{display:flex;align-items:center;justify-content:center;gap:6px;font-size:12.5px;color:var(--pp-dim);margin-bottom:12px;animation:ppFadeUp .4s ease .55s both}
.pp-popup-dot{width:4px;height:4px;border-radius:50%;background:var(--pp-accent);animation:ppBlink 1s ease-in-out infinite}
@keyframes ppBlink{0%,100%{opacity:1}50%{opacity:.2}}
.pp-prog-track{height:3px;background:rgba(255,255,255,.08);border-radius:100px;overflow:hidden;margin-bottom:14px;animation:ppFadeUp .3s ease .65s both}
.pp-prog-fill{height:100%;background:linear-gradient(90deg,var(--pp-accent),var(--pp-accent-2));border-radius:100px;width:0}
@keyframes ppFillBar{to{width:100%}}
.pp-popup-count{font-size:12px;color:var(--pp-faint);animation:ppFadeUp .3s ease .75s both}
.pp-popup-count strong{color:var(--pp-sub);font-size:13px}

/* Divider */
.pp-divider{height:1px;background:linear-gradient(90deg,transparent,var(--pp-border),transparent);margin:0}

@media(max-width:600px){.pp-strip-inner{flex-direction:column;align-items:stretch}.pp-add-btn{justify-content:center}}

/* HastiGem v150 — product page theme + mobile fixes */
body.single-product{background:var(--hg-shop-page-bg,#f6f6f2)!important;overflow-x:hidden}
.pp{width:100%;max-width:100vw;background:var(--pp-bg)!important;color:var(--pp-text)!important}
.pp a{color:inherit}.pp img{max-width:100%;height:auto}.pp .woocommerce-Price-amount,.pp bdi{color:inherit}
.pp-short-desc *,.pp-prose *{max-width:100%;overflow-wrap:anywhere}
.pp-prose h1,.pp-prose h2{font-size:clamp(18px,3.8vw,24px);line-height:1.45;color:var(--pp-text);margin:20px 0 10px}
.pp-prog-track{background:var(--pp-border)}.pp-prog-fill{background:linear-gradient(90deg,var(--pp-accent),var(--pp-accent-2))}
.pp-cat-badge,.pp-feat-card:hover,.pp-related-card:hover{border-color:rgba(var(--pp-accent-rgb),.22)}
@media(max-width:900px){
  .pp-container{width:100%;max-width:100%;padding-inline:16px}
  .pp-hero{padding-top:24px}.pp-hero-inner{grid-template-columns:1fr;gap:22px}.pp-orb-wrap{order:-1;margin-inline:auto}
  .pp-strip{position:static;padding:16px 0}.pp-strip-inner{flex-direction:column;align-items:stretch;gap:14px}
  .pp-price-group{align-items:center;justify-content:space-between}.pp-price-html{font-size:20px;line-height:1.5}.pp-add-btn{width:100%;justify-content:center;min-height:48px}
  .pp-section{padding:34px 0}.pp-status-grid,.pp-feat-grid{grid-template-columns:1fr}.pp-desc-grid,.pp-rev-grid{grid-template-columns:1fr;gap:22px}
  .pp-tabs-bar{margin-inline:-16px;padding-inline:16px;scroll-snap-type:x proximity}.pp-tab-btn{flex:0 0 auto;scroll-snap-align:start;padding:12px 16px}
  .pp-related-card{width:min(76vw,260px)}.pp-form-row{grid-template-columns:1fr}
}
@media(max-width:480px){
  .pp-container{padding-inline:14px}.pp-title{font-size:21px}.pp-short-desc{font-size:13px}.pp-orb-wrap{width:134px;height:134px}.pp-orb-card{width:92px;height:92px;border-radius:18px}
  .pp-price-group{display:grid;grid-template-columns:1fr;gap:4px}.pp-price-html{font-size:19px}.pp-status-card,.pp-spec-card,.pp-rev-form,.pp-rating-box{padding:16px;border-radius:14px}
}

/* HastiGem v151 — simple product mobile visibility hardening */
body.single-product .pp,
body.single-product .pp-hero,
body.single-product .pp-strip,
body.single-product .pp-section{display:block!important;visibility:visible!important;opacity:1!important}
body.single-product .pp{position:relative!important;z-index:1!important;max-width:100vw!important;overflow-x:hidden!important;contain:none!important}
@media(max-width:900px){
  body.single-product #main-content,
  body.single-product .site-main,
  body.single-product .woocommerce{display:block!important;visibility:visible!important;opacity:1!important;min-height:0!important;background:transparent!important;overflow:visible!important}
  body.single-product .pp-container{padding-inline:14px!important}
  body.single-product .pp-hero{padding-top:18px!important}
}


/* HastiGem v153 — cart popup theme + animation reset */
.pp-popup-bg{
  --pp-accent:#0f766e;
  --pp-accent-rgb:15,118,110;
  --pp-accent-2:#14b8a6;
  --pp-accent-soft:rgba(15,118,110,.09);
  --pp-popup-overlay:rgba(15,19,26,.42);
  --pp-popup-card:rgba(255,255,255,.96);
  --pp-popup-border:rgba(23,24,27,.10);
  --pp-popup-text:#17181b;
  --pp-popup-sub:#5f6870;
  --pp-popup-dim:#8b939b;
  --pp-popup-faint:rgba(23,24,27,.36);
  --pp-popup-shadow:0 40px 100px rgba(15,19,26,.26),0 0 56px rgba(15,118,110,.13);
  background:var(--pp-popup-overlay)!important;
}
html[data-hg-theme="dark"] .pp-popup-bg{
  --pp-accent:#67e8f9;
  --pp-accent-rgb:103,232,249;
  --pp-accent-2:#22d3ee;
  --pp-accent-soft:rgba(103,232,249,.10);
  --pp-popup-overlay:rgba(0,0,0,.76);
  --pp-popup-card:rgba(20,24,32,.96);
  --pp-popup-border:rgba(255,255,255,.10);
  --pp-popup-text:rgba(255,255,255,.94);
  --pp-popup-sub:rgba(255,255,255,.66);
  --pp-popup-dim:rgba(255,255,255,.46);
  --pp-popup-faint:rgba(255,255,255,.34);
  --pp-popup-shadow:0 40px 100px rgba(0,0,0,.62),0 0 60px rgba(103,232,249,.14);
}
.pp-popup-bg.show{display:flex!important}
.pp-popup-bg .pp-popup{
  background:var(--pp-popup-card)!important;
  border-color:var(--pp-popup-border)!important;
  color:var(--pp-popup-text)!important;
  box-shadow:var(--pp-popup-shadow)!important;
  opacity:0;
  transform:scale(.86) translateY(18px);
  animation:none!important;
}
.pp-popup-bg.show .pp-popup{animation:ppPopIn .5s cubic-bezier(.34,1.56,.64,1) both!important}
.pp-popup-bg .pp-popup-icon{
  background:var(--pp-accent-soft)!important;
  border-color:rgba(var(--pp-accent-rgb),.28)!important;
  color:var(--pp-accent)!important;
  transform:scale(0) rotate(-90deg);
  animation:none!important;
}
.pp-popup-bg.show .pp-popup-icon{animation:ppIconIn .55s cubic-bezier(.34,1.56,.64,1) .1s both!important}
.pp-popup-bg .pp-popup-icon svg{stroke:var(--pp-accent)!important;stroke-dashoffset:36;animation:none!important}
.pp-popup-bg.show .pp-popup-icon svg{animation:ppDrawChk .4s ease .5s both!important}
.pp-popup-bg .pp-popup-title,
.pp-popup-bg .pp-popup-desc,
.pp-popup-bg .pp-popup-transfer,
.pp-popup-bg .pp-popup-count,
.pp-popup-bg .pp-popup-note{opacity:0;transform:translateY(8px);animation:none!important}
.pp-popup-bg.show .pp-popup-title{animation:ppFadeUp .4s ease .35s both!important}
.pp-popup-bg.show .pp-popup-desc{animation:ppFadeUp .4s ease .45s both!important}
.pp-popup-bg.show .pp-popup-transfer{animation:ppFadeUp .4s ease .55s both!important}
.pp-popup-bg.show .pp-popup-count{animation:ppFadeUp .3s ease .75s both!important}
.pp-popup-bg .pp-popup-title{color:var(--pp-popup-text)!important}
.pp-popup-bg .pp-popup-desc{color:var(--pp-popup-sub)!important}
.pp-popup-bg .pp-popup-note{display:block;margin-top:4px;font-size:12px;color:var(--pp-popup-dim)!important;opacity:1;transform:none}
.pp-popup-bg .pp-popup-transfer{color:var(--pp-popup-dim)!important}
.pp-popup-bg .pp-popup-count{color:var(--pp-popup-faint)!important}
.pp-popup-bg .pp-popup-count strong{color:var(--pp-popup-sub)!important}
.pp-popup-bg .pp-popup-dot{background:var(--pp-accent)!important;animation:none!important}
.pp-popup-bg.show .pp-popup-dot{animation:ppBlink 1s ease-in-out infinite!important}
.pp-popup-bg .pp-prog-track{background:rgba(var(--pp-accent-rgb),.13)!important}
.pp-popup-bg .pp-prog-fill{width:0!important;background:linear-gradient(90deg,var(--pp-accent),var(--pp-accent-2))!important;animation:none!important}
/* HastiGem v154 — remove timed progress bar from cart popup */
.pp-popup-bg .pp-prog-track{display:none!important}
.pp-popup-bg .pp-prog-fill{animation:none!important;width:0!important}
@media(max-width:600px){.pp-popup{width:calc(100% - 32px)!important;padding:32px 24px!important;border-radius:22px!important}}




body.single-product .pp-hero,body.single-product .pv-hero{background:transparent!important;background-color:transparent!important}
body.single-product .pp-hero::before,body.single-product .pv-hero::before{inset:92px 0 0!important;opacity:.80!important}
@media(max-width:781px){body.single-product .pp-hero::before,body.single-product .pv-hero::before{inset:74px 0 0!important}}

/* HastiGem v171 — day/night product images inside custom product page orb */
body.single-product .pp-orb-card .hg-product-orb-media,
body.single-product .pv-orb-card .hg-product-orb-media,
body.single-product .pp-rel-img .hg-product-rel-media,
body.single-product .pv-rel-img .hg-product-rel-media{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  display:block!important;
  border-radius:inherit!important;
  overflow:hidden!important;
  background:transparent!important;
}
body.single-product .pp-orb-card .hg-product-media-img,
body.single-product .pv-orb-card .hg-product-media-img,
body.single-product .pp-rel-img .hg-product-media-img,
body.single-product .pv-rel-img .hg-product-media-img{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  max-height:none!important;
  padding:0!important;
  margin:0!important;
  object-fit:cover!important;
  object-position:center center!important;
  border-radius:inherit!important;
  background:transparent!important;
  display:block!important;
  transition:opacity .22s ease, visibility .22s ease!important;
}
body.single-product .pp-orb-card .hg-product-media-img--light,
body.single-product .pv-orb-card .hg-product-media-img--light,
body.single-product .pp-rel-img .hg-product-media-img--light,
body.single-product .pv-rel-img .hg-product-media-img--light{
  opacity:1!important;
  visibility:visible!important;
}
body.single-product .pp-orb-card .hg-product-media-img--dark,
body.single-product .pv-orb-card .hg-product-media-img--dark,
body.single-product .pp-rel-img .hg-product-media-img--dark,
body.single-product .pv-rel-img .hg-product-media-img--dark{
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
}
html[data-hg-theme="dark"] body.single-product .pp-orb-card .hg-product-media.has-dark .hg-product-media-img--light,
html[data-hg-theme="dark"] body.single-product .pv-orb-card .hg-product-media.has-dark .hg-product-media-img--light,
html[data-hg-theme="dark"] body.single-product .pp-rel-img .hg-product-media.has-dark .hg-product-media-img--light,
html[data-hg-theme="dark"] body.single-product .pv-rel-img .hg-product-media.has-dark .hg-product-media-img--light{
  opacity:0!important;
  visibility:hidden!important;
}
html[data-hg-theme="dark"] body.single-product .pp-orb-card .hg-product-media.has-dark .hg-product-media-img--dark,
html[data-hg-theme="dark"] body.single-product .pv-orb-card .hg-product-media.has-dark .hg-product-media-img--dark,
html[data-hg-theme="dark"] body.single-product .pp-rel-img .hg-product-media.has-dark .hg-product-media-img--dark,
html[data-hg-theme="dark"] body.single-product .pv-rel-img .hg-product-media.has-dark .hg-product-media-img--dark{
  opacity:1!important;
  visibility:visible!important;
}
body.single-product .pp-orb-card .hg-product-media-fallback,
body.single-product .pv-orb-card .hg-product-media-fallback,
body.single-product .pp-rel-img .hg-product-media-fallback,
body.single-product .pv-rel-img .hg-product-media-fallback{
  position:absolute!important;
  inset:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}



/* HastiGem v172 — prevent day/night product media from escaping its box */
.pcard-img .hg-product-media,
.plist-thumb .hg-product-media,
body.single-product .pp-orb-card .hg-product-media,
body.single-product .pv-orb-card .hg-product-media,
body.single-product .pp-rel-img .hg-product-media,
body.single-product .pv-rel-img .hg-product-media{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:100%!important;
  min-width:0!important;
  min-height:0!important;
  display:block!important;
  overflow:hidden!important;
  border-radius:inherit!important;
  contain:layout paint!important;
  transform:none!important;
}
.plist-thumb .hg-product-media{
  position:relative!important;
  inset:auto!important;
}
.pcard-img .hg-product-media-img,
.plist-thumb .hg-product-media-img,
body.single-product .pp-orb-card .hg-product-media-img,
body.single-product .pv-orb-card .hg-product-media-img,
body.single-product .pp-rel-img .hg-product-media-img,
body.single-product .pv-rel-img .hg-product-media-img{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:100%!important;
  min-width:0!important;
  min-height:0!important;
  padding:0!important;
  margin:0!important;
  display:block!important;
  overflow:hidden!important;
  border-radius:inherit!important;
  background-repeat:no-repeat!important;
  background-position:center center!important;
  background-size:cover!important;
  object-fit:cover!important;
  object-position:center center!important;
  transform:none!important;
}
body.single-product .pp-orb-card,
body.single-product .pv-orb-card,
body.single-product .pp-rel-img,
body.single-product .pv-rel-img,
.pcard-img,
.plist-thumb{
  overflow:hidden!important;
  contain:layout paint!important;
}
body.single-product .pp-orb-card > img.hg-product-media-img,
body.single-product .pv-orb-card > img.hg-product-media-img,
body.single-product img.hg-product-media-img{
  max-width:100%!important;
  max-height:100%!important;
  transform:none!important;
}
.hg-product-media-img--light{
  opacity:1!important;
  visibility:visible!important;
}
.hg-product-media-img--dark{
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
}
html[data-hg-theme="dark"] .hg-product-media.has-dark .hg-product-media-img--light{
  opacity:0!important;
  visibility:hidden!important;
}
html[data-hg-theme="dark"] .hg-product-media.has-dark .hg-product-media-img--dark{
  opacity:1!important;
  visibility:visible!important;
}



/* HastiGem v173 — day/night image background restore after old transparent background rules */
.pcard-img,
.plist-thumb,
body.single-product .pp-orb-card,
body.single-product .pv-orb-card,
body.single-product .pp-rel-img,
body.single-product .pv-rel-img{
  position:relative!important;
  overflow:hidden!important;
  contain:layout paint!important;
}
.pcard-img .hg-product-media,
.plist-thumb .hg-product-media,
body.single-product .pp-orb-card .hg-product-media,
body.single-product .pv-orb-card .hg-product-media,
body.single-product .pp-rel-img .hg-product-media,
body.single-product .pv-rel-img .hg-product-media{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:100%!important;
  min-width:0!important;
  min-height:0!important;
  display:block!important;
  overflow:hidden!important;
  border-radius:inherit!important;
  background:transparent!important;
  transform:none!important;
}
.pcard-img .hg-product-media-img,
.plist-thumb .hg-product-media-img,
body.single-product .pp-orb-card .hg-product-media-img,
body.single-product .pv-orb-card .hg-product-media-img,
body.single-product .pp-rel-img .hg-product-media-img,
body.single-product .pv-rel-img .hg-product-media-img{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:100%!important;
  min-width:0!important;
  min-height:0!important;
  padding:0!important;
  margin:0!important;
  display:block!important;
  overflow:hidden!important;
  border-radius:inherit!important;
  background-color:transparent!important;
  background-image:var(--hg-product-media-bg)!important;
  background-repeat:no-repeat!important;
  background-position:center center!important;
  background-size:cover!important;
  object-fit:cover!important;
  object-position:center center!important;
  transform:none!important;
}
.hg-product-media-img--light{
  opacity:1!important;
  visibility:visible!important;
  pointer-events:none!important;
}
.hg-product-media-img--dark{
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
}
html[data-hg-theme="dark"] .hg-product-media.has-dark .hg-product-media-img--light{
  opacity:0!important;
  visibility:hidden!important;
}
html[data-hg-theme="dark"] .hg-product-media.has-dark .hg-product-media-img--dark{
  opacity:1!important;
  visibility:visible!important;
}
html:not([data-hg-theme="dark"]) .hg-product-media.has-dark .hg-product-media-img--light{
  opacity:1!important;
  visibility:visible!important;
}
html:not([data-hg-theme="dark"]) .hg-product-media.has-dark .hg-product-media-img--dark{
  opacity:0!important;
  visibility:hidden!important;
}
body.single-product img.hg-product-media-img{
  max-width:100%!important;
  max-height:100%!important;
  transform:none!important;
}



/* HastiGem v174 — reliable day/night media and transparent product orb */
.pcard-img .hg-product-media,
.plist-thumb .hg-product-media,
body.single-product .pp-orb-card .hg-product-media,
body.single-product .pv-orb-card .hg-product-media,
body.single-product .pp-rel-img .hg-product-media,
body.single-product .pv-rel-img .hg-product-media{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  display:block!important;
  overflow:hidden!important;
  border-radius:inherit!important;
  background:transparent!important;
  contain:layout paint!important;
}
.plist-thumb .hg-product-media{position:relative!important;inset:auto!important;}
.pcard-img .hg-product-media-img,
.plist-thumb .hg-product-media-img,
body.single-product .pp-orb-card .hg-product-media-img,
body.single-product .pv-orb-card .hg-product-media-img,
body.single-product .pp-rel-img .hg-product-media-img,
body.single-product .pv-rel-img .hg-product-media-img{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:100%!important;
  min-width:0!important;
  min-height:0!important;
  display:block!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
  border-radius:inherit!important;
  background-color:transparent!important;
  background-image:var(--hg-product-media-bg)!important;
  background-repeat:no-repeat!important;
  background-position:center center!important;
  background-size:cover!important;
  object-fit:cover!important;
  object-position:center center!important;
  transform:none!important;
  transition:opacity .18s ease, visibility .18s ease!important;
}
.hg-product-media-img--light{opacity:1!important;visibility:visible!important;display:block!important;z-index:1!important;pointer-events:none!important;}
.hg-product-media-img--dark{opacity:0!important;visibility:hidden!important;display:block!important;z-index:2!important;pointer-events:none!important;}
html[data-hg-theme="dark"] .hg-product-media.has-dark .hg-product-media-img--light,
.hg-product-media.has-dark[data-hg-active-theme="dark"] .hg-product-media-img--light{opacity:0!important;visibility:hidden!important;display:block!important;}
html[data-hg-theme="dark"] .hg-product-media.has-dark .hg-product-media-img--dark,
.hg-product-media.has-dark[data-hg-active-theme="dark"] .hg-product-media-img--dark{opacity:1!important;visibility:visible!important;display:block!important;}
html:not([data-hg-theme="dark"]) .hg-product-media.has-dark .hg-product-media-img--light,
.hg-product-media.has-dark[data-hg-active-theme="light"] .hg-product-media-img--light{opacity:1!important;visibility:visible!important;display:block!important;}
html:not([data-hg-theme="dark"]) .hg-product-media.has-dark .hg-product-media-img--dark,
.hg-product-media.has-dark[data-hg-active-theme="light"] .hg-product-media-img--dark{opacity:0!important;visibility:hidden!important;display:block!important;}
body.single-product .pp-orb-card.hg-orb-clean,
body.single-product .pv-orb-card.hg-orb-clean{
  background:transparent!important;
  background-color:transparent!important;
  border-color:transparent!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}
body.single-product .pp-orb-card.hg-orb-clean .hg-product-media,
body.single-product .pv-orb-card.hg-orb-clean .hg-product-media{
  overflow:visible!important;
  contain:none!important;
}
body.single-product .pp-orb-card.hg-orb-clean .hg-product-media-img,
body.single-product .pv-orb-card.hg-orb-clean .hg-product-media-img{
  background-size:contain!important;
  border-radius:0!important;
  filter:drop-shadow(0 18px 34px rgba(var(--pp-accent-rgb,103,232,249),.18));
}



/* HastiGem v175 — definitive archive/product day-night media */
.hg-product-media-bg{
  background-image:var(--hg-product-media-light)!important;
  background-repeat:no-repeat!important;
  background-position:center center!important;
  background-size:contain!important;
  background-color:transparent!important;
}
html[data-hg-theme="dark"] .hg-product-media-bg.has-dark,
.hg-product-media-bg.has-dark[data-hg-active-theme="dark"]{
  background-image:var(--hg-product-media-dark)!important;
}
html:not([data-hg-theme="dark"]) .hg-product-media-bg.has-dark,
.hg-product-media-bg.has-dark[data-hg-active-theme="light"]{
  background-image:var(--hg-product-media-light)!important;
}

/* archive/shop/category cards: no forced square behind transparent PNG/WebP */
.pcard-img.hg-card-media-shell,
.plist-thumb.hg-card-media-shell,
.pcard-img:has(.hg-product-media-bg),
.plist-thumb:has(.hg-product-media-bg){
  position:relative!important;
  overflow:hidden!important;
  background:transparent!important;
  background-color:transparent!important;
  border-color:transparent!important;
  box-shadow:none!important;
  contain:layout paint!important;
}
.pcard-img.hg-card-media-shell .hg-product-media-bg,
.plist-thumb.hg-card-media-shell .hg-product-media-bg,
.pcard-img:has(.hg-product-media-bg) .hg-product-media-bg,
.plist-thumb:has(.hg-product-media-bg) .hg-product-media-bg{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  display:block!important;
  background-size:contain!important;
  background-repeat:no-repeat!important;
  background-position:center center!important;
  z-index:1!important;
}
.plist-thumb.hg-card-media-shell .hg-product-media-bg,
.plist-thumb:has(.hg-product-media-bg) .hg-product-media-bg{
  position:absolute!important;
  inset:0!important;
}

/* product page transparent PNG/WebP: remove inner square/frame around orb media only */
body.single-product .hg-product-orb-shell,
body.single-product .pp-orb-card.hg-product-orb-shell,
body.single-product .pv-orb-card.hg-product-orb-shell,
body.single-product .pp-orb-card:has(.hg-product-media-bg),
body.single-product .pv-orb-card:has(.hg-product-media-bg){
  background:transparent!important;
  background-color:transparent!important;
  border-color:transparent!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}
body.single-product .hg-product-orb-shell .hg-product-media-bg,
body.single-product .pp-orb-card:has(.hg-product-media-bg) .hg-product-media-bg,
body.single-product .pv-orb-card:has(.hg-product-media-bg) .hg-product-media-bg{
  background-size:contain!important;
}

/* active image layers, kept for browsers that prefer the layer instead of wrapper bg */
.hg-product-media-bg .hg-product-media-img{
  background-image:var(--hg-product-media-bg)!important;
  background-size:contain!important;
  background-repeat:no-repeat!important;
  background-position:center center!important;
  background-color:transparent!important;
}
.hg-product-media-bg .hg-product-media-img--light{
  opacity:1!important;
  visibility:visible!important;
  z-index:1!important;
}
.hg-product-media-bg .hg-product-media-img--dark{
  opacity:0!important;
  visibility:hidden!important;
  z-index:2!important;
}
html[data-hg-theme="dark"] .hg-product-media-bg.has-dark .hg-product-media-img--light,
.hg-product-media-bg.has-dark[data-hg-active-theme="dark"] .hg-product-media-img--light{
  opacity:0!important;
  visibility:hidden!important;
}
html[data-hg-theme="dark"] .hg-product-media-bg.has-dark .hg-product-media-img--dark,
.hg-product-media-bg.has-dark[data-hg-active-theme="dark"] .hg-product-media-img--dark{
  opacity:1!important;
  visibility:visible!important;
}
html:not([data-hg-theme="dark"]) .hg-product-media-bg.has-dark .hg-product-media-img--light,
.hg-product-media-bg.has-dark[data-hg-active-theme="light"] .hg-product-media-img--light{
  opacity:1!important;
  visibility:visible!important;
}
html:not([data-hg-theme="dark"]) .hg-product-media-bg.has-dark .hg-product-media-img--dark,
.hg-product-media-bg.has-dark[data-hg-active-theme="light"] .hg-product-media-img--dark{
  opacity:0!important;
  visibility:hidden!important;
}


/* Custom variable-product template (moved verbatim from woocommerce/single-product-variable.php). */
.pv *,.pv *::before,.pv *::after{box-sizing:border-box}

.pv{
  --pv-bg:var(--hg-shop-page-bg,#f6f6f2);
  --pv-card:var(--hg-shop-card,#fff);
  --pv-card2:var(--hg-shop-card-2,#fbfbf8);
  --pv-border:var(--hg-shop-line,rgba(23,24,27,.085));
  --pv-border2:var(--hg-shop-line-soft,rgba(23,24,27,.13));
  --pv-text:var(--hg-shop-ink,#17181b);
  --pv-sub:var(--hg-shop-muted,#6f757b);
  --pv-dim:var(--hg-shop-muted-2,#9aa0a6);
  --pv-faint:rgba(23,24,27,.18);
  --pv-accent:#0f766e;
  --pv-accent-rgb:15,118,110;
  --pv-accent-2:#14b8a6;
  --pv-accent-glow:rgba(15,118,110,.18);
  --pv-accent-soft:rgba(15,118,110,.09);
  --pv-star:#f59e0b;
  --pv-green:var(--hg-shop-green,#34c759);
  --pv-green-soft:var(--hg-shop-green-bg,rgba(52,199,89,.12));
  --pv-red:#dc2626;
  --pv-red-soft:rgba(220,38,38,.10);
  --pv-gold:var(--hg-shop-orange,#f59e0b);
  --pv-gold-soft:var(--hg-shop-orange-bg,rgba(245,158,11,.13));
}
html[data-hg-theme="dark"] .pv{
  --pv-faint:rgba(255,255,255,.15);
  --pv-accent:#67e8f9;
  --pv-accent-rgb:103,232,249;
  --pv-accent-2:#22d3ee;
  --pv-accent-glow:rgba(103,232,249,.18);
  --pv-accent-soft:rgba(103,232,249,.10);
  --pv-red:#f87171;
  --pv-red-soft:rgba(248,113,113,.10);
}

.pv{direction:rtl;font-family:'Vazirmatn',Tahoma,sans-serif;background:var(--pv-bg);color:var(--pv-text);min-height:100vh;overflow-x:hidden;font-size:14px;line-height:1.6}

/* Hero */
.pv-hero{position:relative;padding:40px 0 0;background:transparent}
.pv-hero::before{content:'';position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px);background-size:52px 52px;pointer-events:none}
.pv-container{max-width:1200px;margin:0 auto;padding:0 24px}
.pv-hero-inner{display:grid;grid-template-columns:1fr auto;gap:48px;align-items:start}
@media(max-width:768px){.pv-hero-inner{grid-template-columns:1fr;gap:32px}}

.pv-bc{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--pv-dim);margin-bottom:14px;flex-wrap:wrap}
.pv-bc a{color:var(--pv-dim);text-decoration:none}
.pv-bc a:hover{color:var(--pv-sub)}
.pv-bc-sep{color:var(--pv-faint)}
.pv-cat-badge{display:inline-flex;align-items:center;gap:5px;background:var(--pv-accent-soft);border:1px solid rgba(var(--pv-accent-rgb),.2);color:var(--pv-accent);font-size:11px;font-weight:600;padding:3px 10px;border-radius:100px;margin-bottom:12px}
.pv-title{font-size:28px;font-weight:800;color:var(--pv-text);margin-bottom:10px;letter-spacing:-.5px;line-height:1.3}
@media(max-width:768px){.pv-title{font-size:22px}}
.pv-rating-row{display:flex;align-items:center;gap:10px;margin-bottom:14px;flex-wrap:wrap}
.pv-stars{display:flex;align-items:center;gap:2px}
.pv-star-svg{width:15px;height:15px;fill:var(--pv-star)}
.pv-star-svg.empty{fill:rgba(120,130,145,.22)}
.pv-rating-num{font-size:15px;font-weight:700;color:var(--pv-text)}
.pv-rating-count{font-size:12px;color:var(--pv-dim)}
.pv-badges{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}
.pv-badge{font-size:11px;font-weight:600;padding:3px 9px;border-radius:6px;background:rgba(255,255,255,.05);border:1px solid var(--pv-border2);color:var(--pv-sub)}
.pv-badge.green{background:var(--pv-green-soft);border-color:rgba(74,222,128,.2);color:var(--pv-green)}
.pv-badge.gold{background:var(--pv-gold-soft);border-color:rgba(240,192,64,.2);color:var(--pv-gold)}
.pv-badge.accent{background:var(--pv-accent-soft);border-color:rgba(var(--pv-accent-rgb),.2);color:var(--pv-accent)}
.pv-short-desc{font-size:13.5px;color:var(--pv-sub);line-height:1.8;max-width:520px}

/* Orb */
.pv-orb-wrap{position:relative;width:220px;height:220px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
@media(max-width:768px){.pv-orb-wrap{width:160px;height:160px;margin:0 auto}}
.pv-orb-glow{position:absolute;inset:-20px;border-radius:50%;background:radial-gradient(circle,rgba(var(--pv-accent-rgb),.18),transparent 70%);animation:pvOrb 4s ease-in-out infinite}
@keyframes pvOrb{0%,100%{opacity:.7;transform:scale(1)}50%{opacity:1;transform:scale(1.05)}}
.pv-orb-ring1{position:absolute;inset:0;border-radius:50%;border:1px solid rgba(var(--pv-accent-rgb),.2);animation:pvSpin 12s linear infinite}
.pv-orb-ring2{position:absolute;inset:14px;border-radius:50%;border:1px dashed rgba(var(--pv-accent-rgb),.12);animation:pvSpin 8s linear infinite reverse}
@keyframes pvSpin{to{transform:rotate(360deg)}}
.pv-orb-card{width:140px;height:140px;border-radius:24px;background:var(--pv-card2);border:1px solid var(--pv-border2);backdrop-filter:blur(20px);display:flex;align-items:center;justify-content:center;font-size:64px;box-shadow:0 20px 60px rgba(0,0,0,.4),0 0 40px rgba(var(--pv-accent-rgb),.1);position:relative;z-index:1;overflow:hidden}
.pv-orb-card img{width:100%;height:100%;object-fit:cover;border-radius:inherit}
@media(max-width:768px){.pv-orb-card{width:100px;height:100px;font-size:44px;border-radius:18px}}
.pv-orb-badge{position:absolute;bottom:-8px;right:-8px;background:var(--pv-accent);color:#fff;font-size:11px;font-weight:700;padding:4px 10px;border-radius:8px;border:2px solid var(--pv-bg);white-space:nowrap}

/* Variant Selector */
.pv-variants{background:rgba(255,255,255,.025);border-top:1px solid var(--pv-border);border-bottom:1px solid var(--pv-border);padding:24px 0}
.pv-var-inner{display:flex;flex-direction:column;gap:20px}
.pv-var-group label{font-size:12px;font-weight:600;color:var(--pv-dim);display:block;margin-bottom:10px;letter-spacing:.3px}
.pv-var-group label strong{color:var(--pv-sub);font-weight:700}
.pv-toggle-group{display:flex;flex-wrap:wrap;gap:8px}
.pv-toggle{padding:9px 18px;background:rgba(255,255,255,.04);border:1.5px solid var(--pv-border2);border-radius:10px;color:var(--pv-sub);font-size:13px;font-weight:600;font-family:inherit;cursor:pointer;transition:all .2s;position:relative;overflow:hidden}
.pv-toggle:hover{background:rgba(255,255,255,.07);color:var(--pv-text)}
.pv-toggle.selected{background:var(--pv-accent-soft);border-color:rgba(var(--pv-accent-rgb),.45);color:var(--pv-accent);box-shadow:0 0 16px rgba(var(--pv-accent-rgb),.15)}
.pv-toggle.unavail{opacity:.38;cursor:not-allowed;text-decoration:line-through}
.pv-unavail-notice{display:flex;align-items:center;gap:8px;background:var(--pv-red-soft);border:1px solid rgba(248,113,113,.18);border-radius:10px;padding:11px 14px;font-size:13px;color:var(--pv-red);font-weight:600;animation:pvFadeIn .2s ease}
@keyframes pvFadeIn{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}

/* Purchase Strip */
.pv-strip{background:var(--pv-card);border-bottom:1px solid var(--pv-border);padding:20px 0;backdrop-filter:blur(20px);position:sticky;top:0;z-index:100}
.pv-strip-inner{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}
.pv-price-group{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}
.pv-price-lbl{font-size:12px;color:var(--pv-dim)}
.pv-price-val{font-size:28px;font-weight:800;color:var(--pv-text);letter-spacing:-.5px;transition:all .3s}
.pv-price-val.changing{opacity:.5;transform:scale(.97)}
.pv-price-unit{font-size:14px;color:var(--pv-sub)}
.pv-old-price{font-size:14px;color:var(--pv-dim);text-decoration:line-through}
.pv-discount-chip{font-size:11px;font-weight:700;padding:2px 8px;border-radius:6px;background:rgba(74,222,128,.12);border:1px solid rgba(74,222,128,.2);color:var(--pv-green)}
.pv-stock-badge{font-size:11.5px;font-weight:600;padding:4px 10px;border-radius:6px;background:var(--pv-green-soft);border:1px solid rgba(74,222,128,.2);color:var(--pv-green);display:inline-flex;align-items:center;gap:4px}
.pv-stock-badge.out{background:var(--pv-red-soft);border-color:rgba(248,113,113,.2);color:var(--pv-red)}
.pv-stock-dot{width:5px;height:5px;border-radius:50%;background:currentColor;box-shadow:0 0 6px currentColor}
.pv-add-btn{display:flex;align-items:center;gap:8px;background:rgba(255,255,255,.06);border:1.5px solid rgba(255,255,255,.2);color:var(--pv-text);padding:13px 28px;border-radius:12px;font-size:14.5px;font-weight:700;font-family:inherit;cursor:pointer;transition:all .25s;backdrop-filter:blur(10px);box-shadow:0 4px 20px rgba(0,0,0,.2);position:relative;overflow:hidden}
.pv-add-btn::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.08),transparent);opacity:0;transition:opacity .25s}
.pv-add-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 30px rgba(var(--pv-accent-rgb),.3);border-color:rgba(var(--pv-accent-rgb),.5);background:rgba(var(--pv-accent-rgb),.15)}
.pv-add-btn:hover:not(:disabled)::before{opacity:1}
.pv-add-btn:disabled{opacity:.38;cursor:not-allowed;transform:none;box-shadow:none}

/* Section */
.pv-section{padding:48px 0}
.pv-section-title{font-size:18px;font-weight:700;color:var(--pv-text);margin-bottom:24px;display:flex;align-items:center;gap:10px}
.pv-section-title::before{content:'';display:block;width:3px;height:18px;background:var(--pv-accent);border-radius:2px;flex-shrink:0}

/* Status Cards */
.pv-status-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
@media(max-width:768px){.pv-status-grid{grid-template-columns:1fr}}
.pv-status-card{background:var(--pv-card);border:1px solid var(--pv-border);border-radius:16px;padding:20px;transition:border-color .2s,background .2s}
.pv-status-card:hover{background:var(--pv-card2);border-color:var(--pv-border2)}
.pv-sc-head{display:flex;align-items:center;gap:10px;margin-bottom:10px}
.pv-sc-icon{width:36px;height:36px;border-radius:10px;background:var(--pv-accent-soft);border:1px solid rgba(var(--pv-accent-rgb),.15);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.pv-sc-icon svg{width:17px;height:17px;stroke:var(--pv-accent);fill:none;stroke-width:1.8;stroke-linecap:round}
.pv-sc-label{font-size:12px;color:var(--pv-dim);font-weight:500}
.pv-sc-val{font-size:14px;font-weight:700;color:var(--pv-text)}
.pv-sc-note{font-size:12px;color:var(--pv-sub);margin-top:4px;line-height:1.6}

/* Features */
.pv-feat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
@media(max-width:768px){.pv-feat-grid{grid-template-columns:1fr 1fr}}
.pv-feat-card{background:var(--pv-card);border:1px solid var(--pv-border);border-radius:12px;padding:16px;display:flex;align-items:flex-start;gap:12px;transition:border-color .2s}
.pv-feat-card:hover{border-color:rgba(var(--pv-accent-rgb),.2)}
.pv-feat-icon{width:32px;height:32px;border-radius:8px;flex-shrink:0;background:var(--pv-accent-soft);display:flex;align-items:center;justify-content:center}
.pv-feat-icon svg{width:15px;height:15px;stroke:var(--pv-accent);fill:none;stroke-width:1.8;stroke-linecap:round}
.pv-feat-text strong{display:block;font-size:13px;font-weight:700;color:var(--pv-text);margin-bottom:2px}
.pv-feat-text span{font-size:12px;color:var(--pv-sub)}

/* Tabs */
.pv-tabs-bar{display:flex;border-bottom:1px solid var(--pv-border);margin-bottom:32px;overflow-x:auto}
.pv-tab-btn{padding:12px 22px;font-size:14px;font-weight:600;font-family:inherit;background:none;border:none;color:var(--pv-dim);cursor:pointer;border-bottom:2px solid transparent;transition:all .2s;white-space:nowrap}
.pv-tab-btn.active{color:var(--pv-accent);border-bottom-color:var(--pv-accent)}
.pv-tab-btn:hover{color:var(--pv-sub)}
.pv-tab-panel{display:none}
.pv-tab-panel.active{display:block}

.pv-desc-grid{display:grid;grid-template-columns:1fr 320px;gap:32px}
@media(max-width:900px){.pv-desc-grid{grid-template-columns:1fr}}
.pv-prose h3{font-size:17px;font-weight:700;color:var(--pv-text);margin:24px 0 10px}
.pv-prose p{font-size:13.5px;color:var(--pv-sub);line-height:1.85;margin-bottom:12px}
.pv-prose ul{padding-right:18px;margin-bottom:12px}
.pv-prose li{font-size:13.5px;color:var(--pv-sub);line-height:1.8;list-style:disc}
.pv-spec-card{background:var(--pv-card);border:1px solid var(--pv-border);border-radius:14px;padding:20px;margin-bottom:16px}
.pv-spec-card h4{font-size:13px;font-weight:700;color:var(--pv-sub);margin-bottom:14px;text-transform:uppercase;letter-spacing:.5px}
.pv-spec-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid rgba(255,255,255,.04);font-size:13px}
.pv-spec-row:last-child{border:none}
.pv-spec-key{color:var(--pv-dim)}
.pv-spec-val{color:var(--pv-text);font-weight:500}
.pv-spec-check{color:var(--pv-green);font-size:15px}
.pv-spec-dynamic{color:var(--pv-accent);font-weight:600}

/* Tutorial */
.pv-steps{display:flex;flex-direction:column;gap:16px}
.pv-step{display:flex;gap:16px;align-items:flex-start;background:var(--pv-card);border:1px solid var(--pv-border);border-radius:14px;padding:18px}
.pv-step-num{width:32px;height:32px;border-radius:50%;background:var(--pv-accent-soft);border:1px solid rgba(var(--pv-accent-rgb),.2);color:var(--pv-accent);font-size:13px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.pv-step-title{font-size:14px;font-weight:700;color:var(--pv-text);margin-bottom:4px}
.pv-step-desc{font-size:13px;color:var(--pv-sub);line-height:1.7}

/* Reviews */
.pv-rev-grid{display:grid;grid-template-columns:280px 1fr;gap:32px;align-items:start}
@media(max-width:900px){.pv-rev-grid{grid-template-columns:1fr}}
.pv-rating-box{background:var(--pv-card);border:1px solid var(--pv-border);border-radius:16px;padding:24px;text-align:center;margin-bottom:24px}
.pv-big-num{font-size:48px;font-weight:800;color:var(--pv-text);line-height:1}
.pv-big-stars{display:flex;justify-content:center;gap:3px;margin:8px 0 4px}
.pv-big-stars .pv-star-svg{width:20px;height:20px}
.pv-rev-total{font-size:12px;color:var(--pv-dim);margin-bottom:16px}
.pv-dist-row{display:flex;align-items:center;gap:8px;margin-bottom:7px;font-size:12px}
.pv-dist-lbl{color:var(--pv-dim);width:22px;text-align:center;flex-shrink:0}
.pv-dist-track{flex:1;height:4px;background:rgba(255,255,255,.06);border-radius:100px;overflow:hidden}
.pv-dist-fill{height:100%;background:var(--pv-star);border-radius:100px;transition:width .6s ease}
.pv-dist-pct{color:var(--pv-sub);width:30px;text-align:left;flex-shrink:0}
.pv-rev-list{display:flex;flex-direction:column;gap:14px;margin-bottom:24px}
.pv-rev-card{background:var(--pv-card);border:1px solid var(--pv-border);border-radius:14px;padding:18px}
.pv-rev-top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:8px}
.pv-rev-left{display:flex;align-items:center;gap:10px}
.pv-avatar{width:34px;height:34px;border-radius:50%;background:var(--pv-accent-soft);border:1px solid rgba(var(--pv-accent-rgb),.2);color:var(--pv-accent);font-size:13px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.pv-rev-name{font-size:13px;font-weight:600;color:var(--pv-text)}
.pv-rev-date{font-size:11px;color:var(--pv-dim);margin-top:1px}
.pv-rev-title{font-size:13px;font-weight:600;color:var(--pv-text);margin-bottom:4px}
.pv-rev-text{font-size:13px;color:var(--pv-sub);line-height:1.7}
.pv-rev-variant{font-size:11px;color:var(--pv-accent);background:var(--pv-accent-soft);border:1px solid rgba(var(--pv-accent-rgb),.15);border-radius:6px;padding:2px 8px;display:inline-block;margin-top:6px}

.pv-rev-form{background:var(--pv-card);border:1px solid var(--pv-border);border-radius:16px;padding:24px}
.pv-rev-form h4{font-size:15px;font-weight:700;color:var(--pv-text);margin-bottom:18px}
.pv-form-group{margin-bottom:14px}
.pv-form-label{font-size:12px;font-weight:600;color:var(--pv-dim);display:block;margin-bottom:6px}
.pv-form-input,.pv-form-textarea{width:100%;padding:11px 14px;background:rgba(255,255,255,.05);border:1.5px solid var(--pv-border);border-radius:10px;color:var(--pv-text);font-size:13.5px;font-family:inherit;direction:rtl;outline:none;transition:border-color .2s}
.pv-form-input:focus,.pv-form-textarea:focus{border-color:rgba(var(--pv-accent-rgb),.4);background:rgba(255,255,255,.07)}
.pv-form-input::placeholder,.pv-form-textarea::placeholder{color:var(--pv-faint)}
.pv-form-textarea{resize:vertical;min-height:88px;line-height:1.6}
.pv-form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media(max-width:600px){.pv-form-row{grid-template-columns:1fr}}
.pv-star-select{display:flex;gap:4px;margin-bottom:14px}
.pv-star-sel-btn{background:none;border:none;cursor:pointer;padding:2px;transition:transform .15s}
.pv-star-sel-btn:hover{transform:scale(1.2)}
.pv-star-sel-btn svg{width:24px;height:24px;fill:#c0c8d0;transition:fill .15s}
html[data-hg-theme="dark"] .pv-star-sel-btn svg{fill:rgba(255,255,255,.2)}
.pv-star-sel-btn.active svg,.pv-star-sel-btn:hover svg{fill:var(--pv-star)}
.pv-submit-btn{width:100%;padding:12px;background:var(--pv-accent);color:#fff;border:none;border-radius:10px;font-size:14px;font-weight:700;font-family:inherit;cursor:pointer;transition:all .2s;box-shadow:0 4px 16px rgba(var(--pv-accent-rgb),.3)}
.pv-submit-btn:hover{background:var(--pv-accent-2);transform:translateY(-1px)}

/* FAQ */
.pv-faq{display:flex;flex-direction:column;gap:8px}
.pv-faq-item{background:var(--pv-card);border:1px solid var(--pv-border);border-radius:12px;overflow:hidden}
.pv-faq-q{width:100%;display:flex;align-items:center;justify-content:space-between;padding:16px 18px;background:none;border:none;font-size:14px;font-weight:600;color:var(--pv-text);cursor:pointer;font-family:inherit;direction:rtl;text-align:right;transition:background .2s}
.pv-faq-q:hover{background:rgba(255,255,255,.03)}
.pv-faq-q svg{flex-shrink:0;transition:transform .25s;color:var(--pv-dim)}
.pv-faq-q.open svg{transform:rotate(180deg);color:var(--pv-accent)}
.pv-faq-a{font-size:13px;color:var(--pv-sub);line-height:1.8;padding:0 18px;max-height:0;overflow:hidden;transition:max-height .3s ease,padding .3s ease}
.pv-faq-a.open{max-height:200px;padding:0 18px 16px}

/* Related */
.pv-related-scroll{display:flex;gap:16px;overflow-x:auto;padding-bottom:8px;scrollbar-width:thin;scrollbar-color:var(--pv-border) transparent}
.pv-related-scroll::-webkit-scrollbar{height:4px}
.pv-related-scroll::-webkit-scrollbar-thumb{background:var(--pv-border);border-radius:100px}
.pv-related-card{flex-shrink:0;width:200px;background:var(--pv-card);border:1px solid var(--pv-border);border-radius:14px;padding:16px;cursor:pointer;transition:border-color .2s,background .2s,transform .2s;text-decoration:none;display:block}
.pv-related-card:hover{border-color:rgba(var(--pv-accent-rgb),.2);background:var(--pv-card2);transform:translateY(-2px)}
.pv-rel-img{width:48px;height:48px;border-radius:12px;background:var(--pv-card2);border:1px solid var(--pv-border2);display:flex;align-items:center;justify-content:center;margin-bottom:12px;overflow:hidden}
.pv-rel-img img{width:100%;height:100%;object-fit:cover}
.pv-rel-title{font-size:13px;font-weight:600;color:var(--pv-text);margin-bottom:6px;line-height:1.4}
.pv-rel-price{font-size:13px;font-weight:700;color:var(--pv-accent)}
.pv-rel-stars{display:flex;align-items:center;gap:3px;margin-top:6px}
.pv-rel-stars .pv-star-svg{width:11px;height:11px}

/* Cart Popup */
.pv-popup-bg{position:fixed;inset:0;z-index:9999;background:rgba(0,0,0,.75);backdrop-filter:blur(16px);display:none;align-items:center;justify-content:center;animation:pvFadeOverlay .35s ease}
.pv-popup-bg.show{display:flex}
@keyframes pvFadeOverlay{from{opacity:0}to{opacity:1}}
.pv-popup{background:rgba(20,24,32,.95);border:1px solid rgba(255,255,255,.1);border-radius:24px;padding:40px 36px;max-width:380px;width:90%;text-align:center;box-shadow:0 40px 100px rgba(0,0,0,.6),0 0 60px rgba(var(--pv-accent-rgb),.15);animation:pvPopIn .5s cubic-bezier(.34,1.56,.64,1);position:relative}
@keyframes pvPopIn{from{opacity:0;transform:scale(.8) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}
.pv-popup-icon{width:72px;height:72px;border-radius:50%;background:rgba(var(--pv-accent-rgb),.15);border:1px solid rgba(var(--pv-accent-rgb),.3);display:flex;align-items:center;justify-content:center;margin:0 auto 20px;animation:pvIconIn .55s cubic-bezier(.34,1.56,.64,1) .1s both}
@keyframes pvIconIn{from{transform:scale(0) rotate(-90deg)}to{transform:scale(1) rotate(0deg)}}
.pv-popup-icon svg{width:32px;height:32px;fill:none;stroke:var(--pv-accent);stroke-width:2;stroke-linecap:round;stroke-dasharray:36;stroke-dashoffset:36;animation:pvDrawChk .4s ease .5s both}
@keyframes pvDrawChk{to{stroke-dashoffset:0}}
.pv-popup-title{font-size:18px;font-weight:800;color:var(--pv-text);margin-bottom:6px;animation:pvFU .4s ease .35s both}
.pv-popup-desc{font-size:13px;color:var(--pv-sub);margin-bottom:20px;animation:pvFU .4s ease .45s both;line-height:1.7}
.pv-popup-variant{font-size:12px;color:var(--pv-accent);background:var(--pv-accent-soft);border:1px solid rgba(var(--pv-accent-rgb),.2);border-radius:8px;padding:5px 12px;display:inline-block;margin-bottom:16px;animation:pvFU .4s ease .5s both}
@keyframes pvFU{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
.pv-popup-transfer{display:flex;align-items:center;justify-content:center;gap:6px;font-size:12.5px;color:var(--pv-dim);margin-bottom:12px;animation:pvFU .4s ease .55s both}
.pv-popup-dot{width:4px;height:4px;border-radius:50%;background:var(--pv-accent);animation:pvBlink 1s ease-in-out infinite}
@keyframes pvBlink{0%,100%{opacity:1}50%{opacity:.2}}
.pv-prog-track{height:3px;background:rgba(255,255,255,.08);border-radius:100px;overflow:hidden;margin-bottom:14px;animation:pvFU .3s ease .65s both}
.pv-prog-fill{height:100%;background:linear-gradient(90deg,var(--pv-accent),var(--pv-accent-2));border-radius:100px;width:0}
@keyframes pvFillBar{to{width:100%}}
.pv-popup-count{font-size:12px;color:var(--pv-faint);animation:pvFU .3s ease .75s both}
.pv-popup-count strong{color:var(--pv-sub);font-size:13px}

/* Divider */
.pv-divider{height:1px;background:linear-gradient(90deg,transparent,var(--pv-border),transparent);margin:0}

/* Hidden WooCommerce native form (used for proper AJAX) */
#pv-wc-form{display:none}

@media(max-width:600px){.pv-strip-inner{flex-direction:column;align-items:stretch}.pv-add-btn{justify-content:center}}

/* HastiGem v151 — variable product theme + mobile fixes */
body.single-product{background:var(--hg-shop-page-bg,#f6f6f2)!important;overflow-x:hidden}
.pv{width:100%;max-width:100vw;background:var(--pv-bg)!important;color:var(--pv-text)!important}
.pv a{color:inherit}.pv img{max-width:100%;height:auto}.pv .woocommerce-Price-amount,.pv bdi{color:inherit}
.pv-short-desc *,.pv-prose *{max-width:100%;overflow-wrap:anywhere}
.pv-prose h1,.pv-prose h2{font-size:clamp(18px,3.8vw,24px);line-height:1.45;color:var(--pv-text);margin:20px 0 10px}
.pv-prog-track{background:var(--pv-border)}.pv-prog-fill{background:linear-gradient(90deg,var(--pv-accent),var(--pv-accent-2))}
.pv-cat-badge,.pv-feat-card:hover,.pv-related-card:hover,.pv-toggle.selected{border-color:rgba(var(--pv-accent-rgb),.28)}
@media(max-width:900px){
  .pv-container{width:100%;max-width:100%;padding-inline:16px}
  .pv-hero{padding-top:24px}.pv-hero-inner{grid-template-columns:1fr;gap:22px}.pv-orb-wrap{order:-1;margin-inline:auto}
  .pv-variants{padding:18px 0}.pv-toggle-group{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.pv-toggle{width:100%;min-height:44px;padding:10px 8px;text-align:center;white-space:normal;line-height:1.45}
  .pv-strip{position:static;padding:16px 0}.pv-strip-inner{flex-direction:column;align-items:stretch;gap:14px}
  .pv-price-group{align-items:center;justify-content:space-between}.pv-price-val{font-size:20px;line-height:1.5}.pv-add-btn{width:100%;justify-content:center;min-height:48px}
  .pv-section{padding:34px 0}.pv-status-grid,.pv-feat-grid{grid-template-columns:1fr}.pv-desc-grid,.pv-rev-grid{grid-template-columns:1fr;gap:22px}
  .pv-tabs-bar{margin-inline:-16px;padding-inline:16px;scroll-snap-type:x proximity}.pv-tab-btn{flex:0 0 auto;scroll-snap-align:start;padding:12px 16px}
  .pv-related-card{width:min(76vw,260px)}.pv-form-row{grid-template-columns:1fr}
}
@media(max-width:480px){
  .pv-container{padding-inline:14px}.pv-title{font-size:21px}.pv-short-desc{font-size:13px}.pv-orb-wrap{width:134px;height:134px}.pv-orb-card{width:92px;height:92px;border-radius:18px}
  .pv-toggle-group{grid-template-columns:1fr}.pv-price-group{display:grid;grid-template-columns:1fr;gap:4px}.pv-price-val{font-size:19px}.pv-status-card,.pv-spec-card,.pv-rev-form,.pv-rating-box{padding:16px;border-radius:14px}
}

/* HastiGem v151 — product mobile visibility hardening */
body.single-product{background:var(--hg-shop-page-bg,#f6f6f2)!important;overflow-x:hidden!important}
html[data-hg-theme="dark"] body.single-product{background:var(--hg-shop-page-bg,#0f131a)!important}
body.single-product .pv,
body.single-product .pv-hero,
body.single-product .pv-variants,
body.single-product .pv-strip,
body.single-product .pv-section{display:block!important;visibility:visible!important;opacity:1!important}
body.single-product .pv{position:relative!important;z-index:1!important;min-height:auto!important;contain:none!important;color:var(--pv-text)!important}
body.single-product .pv-container{box-sizing:border-box!important}
body.single-product .pv-toggle:not(.unavail){opacity:1!important;filter:none!important}
@media(max-width:900px){
  body.single-product #main-content,
  body.single-product .site-main,
  body.single-product .wc-page-wrap,
  body.single-product .woocommerce{display:block!important;visibility:visible!important;opacity:1!important;min-height:0!important;background:transparent!important;overflow:visible!important}
  body.single-product .pv{width:100%!important;max-width:100vw!important;margin:0!important;padding-bottom:24px!important;overflow-x:hidden!important}
  body.single-product .pv-hero{padding-top:18px!important}
  body.single-product .pv-container{padding-inline:14px!important}
  body.single-product .pv-short-desc p{margin:0 0 8px!important}
  body.single-product .pv-variants{display:block!important}
}


/* HastiGem v153 — cart popup theme + animation reset */
.pv-popup-bg{
  --pv-accent:#0f766e;
  --pv-accent-rgb:15,118,110;
  --pv-accent-2:#14b8a6;
  --pv-accent-soft:rgba(15,118,110,.09);
  --pv-popup-overlay:rgba(15,19,26,.42);
  --pv-popup-card:rgba(255,255,255,.96);
  --pv-popup-border:rgba(23,24,27,.10);
  --pv-popup-text:#17181b;
  --pv-popup-sub:#5f6870;
  --pv-popup-dim:#8b939b;
  --pv-popup-faint:rgba(23,24,27,.36);
  --pv-popup-shadow:0 40px 100px rgba(15,19,26,.26),0 0 56px rgba(15,118,110,.13);
  background:var(--pv-popup-overlay)!important;
}
html[data-hg-theme="dark"] .pv-popup-bg{
  --pv-accent:#67e8f9;
  --pv-accent-rgb:103,232,249;
  --pv-accent-2:#22d3ee;
  --pv-accent-soft:rgba(103,232,249,.10);
  --pv-popup-overlay:rgba(0,0,0,.76);
  --pv-popup-card:rgba(20,24,32,.96);
  --pv-popup-border:rgba(255,255,255,.10);
  --pv-popup-text:rgba(255,255,255,.94);
  --pv-popup-sub:rgba(255,255,255,.66);
  --pv-popup-dim:rgba(255,255,255,.46);
  --pv-popup-faint:rgba(255,255,255,.34);
  --pv-popup-shadow:0 40px 100px rgba(0,0,0,.62),0 0 60px rgba(103,232,249,.14);
}
.pv-popup-bg.show{display:flex!important}
.pv-popup-bg .pv-popup{
  background:var(--pv-popup-card)!important;
  border-color:var(--pv-popup-border)!important;
  color:var(--pv-popup-text)!important;
  box-shadow:var(--pv-popup-shadow)!important;
  opacity:0;
  transform:scale(.86) translateY(18px);
  animation:none!important;
}
.pv-popup-bg.show .pv-popup{animation:pvPopIn .5s cubic-bezier(.34,1.56,.64,1) both!important}
.pv-popup-bg .pv-popup-icon{
  background:var(--pv-accent-soft)!important;
  border-color:rgba(var(--pv-accent-rgb),.28)!important;
  color:var(--pv-accent)!important;
  transform:scale(0) rotate(-90deg);
  animation:none!important;
}
.pv-popup-bg.show .pv-popup-icon{animation:pvIconIn .55s cubic-bezier(.34,1.56,.64,1) .1s both!important}
.pv-popup-bg .pv-popup-icon svg{stroke:var(--pv-accent)!important;stroke-dashoffset:36;animation:none!important}
.pv-popup-bg.show .pv-popup-icon svg{animation:pvDrawChk .4s ease .5s both!important}
.pv-popup-bg .pv-popup-title,
.pv-popup-bg .pv-popup-desc,
.pv-popup-bg .pv-popup-variant,
.pv-popup-bg .pv-popup-transfer,
.pv-popup-bg .pv-popup-count{opacity:0;transform:translateY(8px);animation:none!important}
.pv-popup-bg.show .pv-popup-title{animation:pvFU .4s ease .35s both!important}
.pv-popup-bg.show .pv-popup-desc{animation:pvFU .4s ease .45s both!important}
.pv-popup-bg.show .pv-popup-variant{animation:pvFU .4s ease .5s both!important}
.pv-popup-bg.show .pv-popup-transfer{animation:pvFU .4s ease .55s both!important}
.pv-popup-bg.show .pv-popup-count{animation:pvFU .3s ease .75s both!important}
.pv-popup-bg .pv-popup-title{color:var(--pv-popup-text)!important}
.pv-popup-bg .pv-popup-desc{color:var(--pv-popup-sub)!important}
.pv-popup-bg .pv-popup-variant{color:var(--pv-accent)!important;background:var(--pv-accent-soft)!important;border-color:rgba(var(--pv-accent-rgb),.22)!important}
.pv-popup-bg .pv-popup-transfer{color:var(--pv-popup-dim)!important}
.pv-popup-bg .pv-popup-count{color:var(--pv-popup-faint)!important}
.pv-popup-bg .pv-popup-count strong{color:var(--pv-popup-sub)!important}
.pv-popup-bg .pv-popup-dot{background:var(--pv-accent)!important;animation:none!important}
.pv-popup-bg.show .pv-popup-dot{animation:pvBlink 1s ease-in-out infinite!important}
.pv-popup-bg .pv-prog-track{background:rgba(var(--pv-accent-rgb),.13)!important}
.pv-popup-bg .pv-prog-fill{width:0!important;background:linear-gradient(90deg,var(--pv-accent),var(--pv-accent-2))!important;animation:none!important}
/* HastiGem v154 — remove timed progress bar from cart popup */
.pv-popup-bg .pv-prog-track{display:none!important}
.pv-popup-bg .pv-prog-fill{animation:none!important;width:0!important}
@media(max-width:600px){.pv-popup{width:calc(100% - 32px)!important;padding:32px 24px!important;border-radius:22px!important}}




body.single-product .pp-hero,body.single-product .pv-hero{background:transparent!important;background-color:transparent!important}
body.single-product .pp-hero::before,body.single-product .pv-hero::before{inset:92px 0 0!important;opacity:.80!important}
@media(max-width:781px){body.single-product .pp-hero::before,body.single-product .pv-hero::before{inset:74px 0 0!important}}

/* HastiGem v171 — day/night product images inside custom product page orb */
body.single-product .pp-orb-card .hg-product-orb-media,
body.single-product .pv-orb-card .hg-product-orb-media,
body.single-product .pp-rel-img .hg-product-rel-media,
body.single-product .pv-rel-img .hg-product-rel-media{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  display:block!important;
  border-radius:inherit!important;
  overflow:hidden!important;
  background:transparent!important;
}
body.single-product .pp-orb-card .hg-product-media-img,
body.single-product .pv-orb-card .hg-product-media-img,
body.single-product .pp-rel-img .hg-product-media-img,
body.single-product .pv-rel-img .hg-product-media-img{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  max-height:none!important;
  padding:0!important;
  margin:0!important;
  object-fit:cover!important;
  object-position:center center!important;
  border-radius:inherit!important;
  background:transparent!important;
  display:block!important;
  transition:opacity .22s ease, visibility .22s ease!important;
}
body.single-product .pp-orb-card .hg-product-media-img--light,
body.single-product .pv-orb-card .hg-product-media-img--light,
body.single-product .pp-rel-img .hg-product-media-img--light,
body.single-product .pv-rel-img .hg-product-media-img--light{
  opacity:1!important;
  visibility:visible!important;
}
body.single-product .pp-orb-card .hg-product-media-img--dark,
body.single-product .pv-orb-card .hg-product-media-img--dark,
body.single-product .pp-rel-img .hg-product-media-img--dark,
body.single-product .pv-rel-img .hg-product-media-img--dark{
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
}
html[data-hg-theme="dark"] body.single-product .pp-orb-card .hg-product-media.has-dark .hg-product-media-img--light,
html[data-hg-theme="dark"] body.single-product .pv-orb-card .hg-product-media.has-dark .hg-product-media-img--light,
html[data-hg-theme="dark"] body.single-product .pp-rel-img .hg-product-media.has-dark .hg-product-media-img--light,
html[data-hg-theme="dark"] body.single-product .pv-rel-img .hg-product-media.has-dark .hg-product-media-img--light{
  opacity:0!important;
  visibility:hidden!important;
}
html[data-hg-theme="dark"] body.single-product .pp-orb-card .hg-product-media.has-dark .hg-product-media-img--dark,
html[data-hg-theme="dark"] body.single-product .pv-orb-card .hg-product-media.has-dark .hg-product-media-img--dark,
html[data-hg-theme="dark"] body.single-product .pp-rel-img .hg-product-media.has-dark .hg-product-media-img--dark,
html[data-hg-theme="dark"] body.single-product .pv-rel-img .hg-product-media.has-dark .hg-product-media-img--dark{
  opacity:1!important;
  visibility:visible!important;
}
body.single-product .pp-orb-card .hg-product-media-fallback,
body.single-product .pv-orb-card .hg-product-media-fallback,
body.single-product .pp-rel-img .hg-product-media-fallback,
body.single-product .pv-rel-img .hg-product-media-fallback{
  position:absolute!important;
  inset:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}



/* HastiGem v172 — prevent day/night product media from escaping its box */
.pcard-img .hg-product-media,
.plist-thumb .hg-product-media,
body.single-product .pp-orb-card .hg-product-media,
body.single-product .pv-orb-card .hg-product-media,
body.single-product .pp-rel-img .hg-product-media,
body.single-product .pv-rel-img .hg-product-media{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:100%!important;
  min-width:0!important;
  min-height:0!important;
  display:block!important;
  overflow:hidden!important;
  border-radius:inherit!important;
  contain:layout paint!important;
  transform:none!important;
}
.plist-thumb .hg-product-media{
  position:relative!important;
  inset:auto!important;
}
.pcard-img .hg-product-media-img,
.plist-thumb .hg-product-media-img,
body.single-product .pp-orb-card .hg-product-media-img,
body.single-product .pv-orb-card .hg-product-media-img,
body.single-product .pp-rel-img .hg-product-media-img,
body.single-product .pv-rel-img .hg-product-media-img{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:100%!important;
  min-width:0!important;
  min-height:0!important;
  padding:0!important;
  margin:0!important;
  display:block!important;
  overflow:hidden!important;
  border-radius:inherit!important;
  background-repeat:no-repeat!important;
  background-position:center center!important;
  background-size:cover!important;
  object-fit:cover!important;
  object-position:center center!important;
  transform:none!important;
}
body.single-product .pp-orb-card,
body.single-product .pv-orb-card,
body.single-product .pp-rel-img,
body.single-product .pv-rel-img,
.pcard-img,
.plist-thumb{
  overflow:hidden!important;
  contain:layout paint!important;
}
body.single-product .pp-orb-card > img.hg-product-media-img,
body.single-product .pv-orb-card > img.hg-product-media-img,
body.single-product img.hg-product-media-img{
  max-width:100%!important;
  max-height:100%!important;
  transform:none!important;
}
.hg-product-media-img--light{
  opacity:1!important;
  visibility:visible!important;
}
.hg-product-media-img--dark{
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
}
html[data-hg-theme="dark"] .hg-product-media.has-dark .hg-product-media-img--light{
  opacity:0!important;
  visibility:hidden!important;
}
html[data-hg-theme="dark"] .hg-product-media.has-dark .hg-product-media-img--dark{
  opacity:1!important;
  visibility:visible!important;
}



/* HastiGem v173 — day/night image background restore after old transparent background rules */
.pcard-img,
.plist-thumb,
body.single-product .pp-orb-card,
body.single-product .pv-orb-card,
body.single-product .pp-rel-img,
body.single-product .pv-rel-img{
  position:relative!important;
  overflow:hidden!important;
  contain:layout paint!important;
}
.pcard-img .hg-product-media,
.plist-thumb .hg-product-media,
body.single-product .pp-orb-card .hg-product-media,
body.single-product .pv-orb-card .hg-product-media,
body.single-product .pp-rel-img .hg-product-media,
body.single-product .pv-rel-img .hg-product-media{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:100%!important;
  min-width:0!important;
  min-height:0!important;
  display:block!important;
  overflow:hidden!important;
  border-radius:inherit!important;
  background:transparent!important;
  transform:none!important;
}
.pcard-img .hg-product-media-img,
.plist-thumb .hg-product-media-img,
body.single-product .pp-orb-card .hg-product-media-img,
body.single-product .pv-orb-card .hg-product-media-img,
body.single-product .pp-rel-img .hg-product-media-img,
body.single-product .pv-rel-img .hg-product-media-img{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:100%!important;
  min-width:0!important;
  min-height:0!important;
  padding:0!important;
  margin:0!important;
  display:block!important;
  overflow:hidden!important;
  border-radius:inherit!important;
  background-color:transparent!important;
  background-image:var(--hg-product-media-bg)!important;
  background-repeat:no-repeat!important;
  background-position:center center!important;
  background-size:cover!important;
  object-fit:cover!important;
  object-position:center center!important;
  transform:none!important;
}
.hg-product-media-img--light{
  opacity:1!important;
  visibility:visible!important;
  pointer-events:none!important;
}
.hg-product-media-img--dark{
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
}
html[data-hg-theme="dark"] .hg-product-media.has-dark .hg-product-media-img--light{
  opacity:0!important;
  visibility:hidden!important;
}
html[data-hg-theme="dark"] .hg-product-media.has-dark .hg-product-media-img--dark{
  opacity:1!important;
  visibility:visible!important;
}
html:not([data-hg-theme="dark"]) .hg-product-media.has-dark .hg-product-media-img--light{
  opacity:1!important;
  visibility:visible!important;
}
html:not([data-hg-theme="dark"]) .hg-product-media.has-dark .hg-product-media-img--dark{
  opacity:0!important;
  visibility:hidden!important;
}
body.single-product img.hg-product-media-img{
  max-width:100%!important;
  max-height:100%!important;
  transform:none!important;
}



/* HastiGem v174 — reliable day/night media and transparent product orb */
.pcard-img .hg-product-media,
.plist-thumb .hg-product-media,
body.single-product .pp-orb-card .hg-product-media,
body.single-product .pv-orb-card .hg-product-media,
body.single-product .pp-rel-img .hg-product-media,
body.single-product .pv-rel-img .hg-product-media{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  display:block!important;
  overflow:hidden!important;
  border-radius:inherit!important;
  background:transparent!important;
  contain:layout paint!important;
}
.plist-thumb .hg-product-media{position:relative!important;inset:auto!important;}
.pcard-img .hg-product-media-img,
.plist-thumb .hg-product-media-img,
body.single-product .pp-orb-card .hg-product-media-img,
body.single-product .pv-orb-card .hg-product-media-img,
body.single-product .pp-rel-img .hg-product-media-img,
body.single-product .pv-rel-img .hg-product-media-img{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:100%!important;
  min-width:0!important;
  min-height:0!important;
  display:block!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
  border-radius:inherit!important;
  background-color:transparent!important;
  background-image:var(--hg-product-media-bg)!important;
  background-repeat:no-repeat!important;
  background-position:center center!important;
  background-size:cover!important;
  object-fit:cover!important;
  object-position:center center!important;
  transform:none!important;
  transition:opacity .18s ease, visibility .18s ease!important;
}
.hg-product-media-img--light{opacity:1!important;visibility:visible!important;display:block!important;z-index:1!important;pointer-events:none!important;}
.hg-product-media-img--dark{opacity:0!important;visibility:hidden!important;display:block!important;z-index:2!important;pointer-events:none!important;}
html[data-hg-theme="dark"] .hg-product-media.has-dark .hg-product-media-img--light,
.hg-product-media.has-dark[data-hg-active-theme="dark"] .hg-product-media-img--light{opacity:0!important;visibility:hidden!important;display:block!important;}
html[data-hg-theme="dark"] .hg-product-media.has-dark .hg-product-media-img--dark,
.hg-product-media.has-dark[data-hg-active-theme="dark"] .hg-product-media-img--dark{opacity:1!important;visibility:visible!important;display:block!important;}
html:not([data-hg-theme="dark"]) .hg-product-media.has-dark .hg-product-media-img--light,
.hg-product-media.has-dark[data-hg-active-theme="light"] .hg-product-media-img--light{opacity:1!important;visibility:visible!important;display:block!important;}
html:not([data-hg-theme="dark"]) .hg-product-media.has-dark .hg-product-media-img--dark,
.hg-product-media.has-dark[data-hg-active-theme="light"] .hg-product-media-img--dark{opacity:0!important;visibility:hidden!important;display:block!important;}
body.single-product .pp-orb-card.hg-orb-clean,
body.single-product .pv-orb-card.hg-orb-clean{
  background:transparent!important;
  background-color:transparent!important;
  border-color:transparent!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}
body.single-product .pp-orb-card.hg-orb-clean .hg-product-media,
body.single-product .pv-orb-card.hg-orb-clean .hg-product-media{
  overflow:visible!important;
  contain:none!important;
}
body.single-product .pp-orb-card.hg-orb-clean .hg-product-media-img,
body.single-product .pv-orb-card.hg-orb-clean .hg-product-media-img{
  background-size:contain!important;
  border-radius:0!important;
  filter:drop-shadow(0 18px 34px rgba(var(--pp-accent-rgb,103,232,249),.18));
}



/* HastiGem v175 — definitive archive/product day-night media */
.hg-product-media-bg{
  background-image:var(--hg-product-media-light)!important;
  background-repeat:no-repeat!important;
  background-position:center center!important;
  background-size:contain!important;
  background-color:transparent!important;
}
html[data-hg-theme="dark"] .hg-product-media-bg.has-dark,
.hg-product-media-bg.has-dark[data-hg-active-theme="dark"]{
  background-image:var(--hg-product-media-dark)!important;
}
html:not([data-hg-theme="dark"]) .hg-product-media-bg.has-dark,
.hg-product-media-bg.has-dark[data-hg-active-theme="light"]{
  background-image:var(--hg-product-media-light)!important;
}

/* archive/shop/category cards: no forced square behind transparent PNG/WebP */
.pcard-img.hg-card-media-shell,
.plist-thumb.hg-card-media-shell,
.pcard-img:has(.hg-product-media-bg),
.plist-thumb:has(.hg-product-media-bg){
  position:relative!important;
  overflow:hidden!important;
  background:transparent!important;
  background-color:transparent!important;
  border-color:transparent!important;
  box-shadow:none!important;
  contain:layout paint!important;
}
.pcard-img.hg-card-media-shell .hg-product-media-bg,
.plist-thumb.hg-card-media-shell .hg-product-media-bg,
.pcard-img:has(.hg-product-media-bg) .hg-product-media-bg,
.plist-thumb:has(.hg-product-media-bg) .hg-product-media-bg{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  display:block!important;
  background-size:contain!important;
  background-repeat:no-repeat!important;
  background-position:center center!important;
  z-index:1!important;
}
.plist-thumb.hg-card-media-shell .hg-product-media-bg,
.plist-thumb:has(.hg-product-media-bg) .hg-product-media-bg{
  position:absolute!important;
  inset:0!important;
}

/* product page transparent PNG/WebP: remove inner square/frame around orb media only */
body.single-product .hg-product-orb-shell,
body.single-product .pp-orb-card.hg-product-orb-shell,
body.single-product .pv-orb-card.hg-product-orb-shell,
body.single-product .pp-orb-card:has(.hg-product-media-bg),
body.single-product .pv-orb-card:has(.hg-product-media-bg){
  background:transparent!important;
  background-color:transparent!important;
  border-color:transparent!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}
body.single-product .hg-product-orb-shell .hg-product-media-bg,
body.single-product .pp-orb-card:has(.hg-product-media-bg) .hg-product-media-bg,
body.single-product .pv-orb-card:has(.hg-product-media-bg) .hg-product-media-bg{
  background-size:contain!important;
}

/* active image layers, kept for browsers that prefer the layer instead of wrapper bg */
.hg-product-media-bg .hg-product-media-img{
  background-image:var(--hg-product-media-bg)!important;
  background-size:contain!important;
  background-repeat:no-repeat!important;
  background-position:center center!important;
  background-color:transparent!important;
}
.hg-product-media-bg .hg-product-media-img--light{
  opacity:1!important;
  visibility:visible!important;
  z-index:1!important;
}
.hg-product-media-bg .hg-product-media-img--dark{
  opacity:0!important;
  visibility:hidden!important;
  z-index:2!important;
}
html[data-hg-theme="dark"] .hg-product-media-bg.has-dark .hg-product-media-img--light,
.hg-product-media-bg.has-dark[data-hg-active-theme="dark"] .hg-product-media-img--light{
  opacity:0!important;
  visibility:hidden!important;
}
html[data-hg-theme="dark"] .hg-product-media-bg.has-dark .hg-product-media-img--dark,
.hg-product-media-bg.has-dark[data-hg-active-theme="dark"] .hg-product-media-img--dark{
  opacity:1!important;
  visibility:visible!important;
}
html:not([data-hg-theme="dark"]) .hg-product-media-bg.has-dark .hg-product-media-img--light,
.hg-product-media-bg.has-dark[data-hg-active-theme="light"] .hg-product-media-img--light{
  opacity:1!important;
  visibility:visible!important;
}
html:not([data-hg-theme="dark"]) .hg-product-media-bg.has-dark .hg-product-media-img--dark,
.hg-product-media-bg.has-dark[data-hg-active-theme="light"] .hg-product-media-img--dark{
  opacity:0!important;
  visibility:hidden!important;
}
