/* =====================================================================
   TM PIRATES — Smart Product Variation Layout (v6-consolidated)
   এই ফাইলটা প্লাগইনের assets/style.css — কনটেন্ট অপরিবর্তিত,
   শুধু WPCode থেকে প্লাগইনে সরানো হয়েছে।
   ===================================================================== */

body.single-product {
  --pp-cyan: #00f3ff;
  --pp-pink: #bc13fe;
  --pp-green: #00ff88;
  --pp-gold: #ffd700;
  --pp-bg: #1a1e1e;
  --pp-bg-2: #202525;
  --pp-bg-card: #232928;
  --pp-bg-card-2: #262c2b;
  --pp-border: rgba(255,255,255,0.08);
  --pp-text: #e0e6ff;
  --pp-muted: #8892a4;
}

/* =====================================================================
   ০) বেস রিসেট — thwvsf প্লাগইনের ডিফল্ট override করা
   ===================================================================== */
body.single-product table.variations td.value {
  width: 100% !important;
  display: block !important;
}

body.single-product .thwvsf_fields {
  width: 100% !important;
  display: block !important;
}

body.single-product form.variations_form .thwvsf-wrapper-ul {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  width: 100% !important;
  box-sizing: border-box !important;
  float: none !important;
}

body.single-product form.variations_form .thwvsf-wrapper-ul .thwvsf-wrapper-item-li.attr_swatch_design_default {
  width: 100% !important;
  height: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  box-shadow: none !important;
  box-sizing: border-box !important;
  flex: none !important;
  float: none !important;
  margin: 0 !important;
}

body.single-product .thwvsf-wrapper-ul .thwvsf-item-span.item-span-text {
  font-size: clamp(11px, 2.6vw, 13px) !important;
  font-weight: 800 !important;
  white-space: nowrap !important;
  color: var(--pp-text) !important;
  letter-spacing: .2px !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  max-width: 100% !important;
}

/* =====================================================================
   ০.খ) Variation বক্স থেকে Add to Cart বাটন পর্যন্ত বাড়তি ফাঁকা জায়গা
   কমানো
   ===================================================================== */
body.single-product table.variations,
body.single-product table.variations tbody,
body.single-product table.variations tr,
body.single-product table.variations td.value {
  margin: 0 !important;
  padding: 0 !important;
}

body.single-product .woocommerce-variation,
body.single-product .single_variation_wrap,
body.single-product .single_variation {
  min-height: 0 !important;
  margin: 4px 0 !important;
  padding: 0 !important;
}

body.single-product .woocommerce-variation-price,
body.single-product .woocommerce-variation-availability,
body.single-product .woocommerce-variation-description {
  margin: 0 0 6px !important;
  padding: 0 !important;
  min-height: 0 !important;
}

body.single-product .wd-reset-var,
body.single-product .reset_variations {
  margin: 4px 0 !important;
}

/* =====================================================================
   ০.ক) JS চলার আগেই ডিফল্ট plugin white/light background বন্ধ
   ===================================================================== */
body.single-product .thwvsf-wrapper-ul .thwvsf-wrapper-item-li.attr_swatch_design_default,
body.single-product .thwvsf-wrapper-ul .thwvsf-wrapper-item-li.thwvsf-label-li.attr_swatch_design_default {
  background-color: var(--pp-bg-card) !important;
  background-image: none !important;
  box-shadow: none !important;
  color: var(--pp-text) !important;
}

/* =====================================================================
   ১) GRID লেআউট (Card + Top-up) — Fixed কলাম (2/3/4)
   ===================================================================== */
body.single-product form.variations_form .thwvsf-wrapper-ul.tmp-layout-card,
body.single-product form.variations_form .thwvsf-wrapper-ul.tmp-layout-topup {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
  gap: 10px !important;
}

@media (min-width: 481px) {
  body.single-product form.variations_form .thwvsf-wrapper-ul.tmp-layout-card,
  body.single-product form.variations_form .thwvsf-wrapper-ul.tmp-layout-topup {
    grid-template-columns: repeat(3, 1fr) !important;
  }
}

@media (min-width: 769px) {
  body.single-product form.variations_form .thwvsf-wrapper-ul.tmp-layout-card,
  body.single-product form.variations_form .thwvsf-wrapper-ul.tmp-layout-topup {
    grid-template-columns: repeat(4, 1fr) !important;
  }
}

body.single-product form.variations_form .thwvsf-wrapper-ul.tmp-layout-card .thwvsf-wrapper-item-li.attr_swatch_design_default,
body.single-product form.variations_form .thwvsf-wrapper-ul.tmp-layout-topup .thwvsf-wrapper-item-li.attr_swatch_design_default {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 3px !important;
  aspect-ratio: 4 / 2 !important;
  width: 100% !important;
  height: auto !important;
  padding: 6px 10px !important;
  border-radius: 14px !important;
  position: relative !important;
  overflow: hidden !important;
  cursor: pointer !important;
  text-align: center !important;
  transition: border-color .25s ease, box-shadow .25s ease, transform .2s ease !important;
}

body.single-product .thwvsf-wrapper-ul.tmp-layout-card .thwvsf-wrapper-item-li.attr_swatch_design_default .item-span-text,
body.single-product .thwvsf-wrapper-ul.tmp-layout-topup .thwvsf-wrapper-item-li.attr_swatch_design_default .item-span-text {
  font-size: clamp(11px, 2.4vw, 13px) !important;
  font-weight: 800 !important;
  line-height: 1.15 !important;
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
  height: auto !important;
  max-height: none !important;
  display: block !important;
  position: static !important;
  transform: none !important;
  width: 100% !important;
  word-break: break-word !important;
  flex-shrink: 0 !important;
}

body.single-product .thwvsf-wrapper-ul.tmp-layout-card .tmp-swatch-price,
body.single-product .thwvsf-wrapper-ul.tmp-layout-topup .tmp-swatch-price {
  font-size: clamp(10px, 2.2vw, 12px) !important;
  margin-top: 0 !important;
  overflow: visible !important;
  height: auto !important;
  display: block !important;
  position: static !important;
  transform: none !important;
  flex-shrink: 0 !important;
}

/* =====================================================================
   ১.ক) GAME TOP-UP — গোল্ড কয়েন + গাঢ় কার্ড + corner ribbon accent
   ===================================================================== */
body.single-product .thwvsf-wrapper-ul.tmp-layout-topup .thwvsf-wrapper-item-li.attr_swatch_design_default {
  background: radial-gradient(120% 140% at 15% 0%, rgba(255,215,0,.10), transparent 55%), var(--pp-bg-card) !important;
  border: 1.5px solid var(--pp-border) !important;
}

body.single-product .thwvsf-wrapper-ul.tmp-layout-topup .thwvsf-wrapper-item-li.attr_swatch_design_default::after {
  content: "" !important;
  position: absolute !important;
  top: -18px !important;
  right: -18px !important;
  width: 36px !important;
  height: 36px !important;
  border-radius: 50% !important;
  background: rgba(255,215,0,.18) !important;
  filter: blur(2px) !important;
}

body.single-product .thwvsf-wrapper-ul.tmp-layout-topup .thwvsf-wrapper-item-li.attr_swatch_design_default:hover {
  border-color: var(--pp-gold) !important;
  box-shadow: 0 0 16px rgba(255,215,0,.28) !important;
  transform: translateY(-3px) !important;
}

body.single-product .thwvsf-wrapper-ul.tmp-layout-topup .thwvsf-wrapper-item-li.attr_swatch_design_default::before {
  content: "" !important;
  display: block !important;
  width: 16px !important;
  height: 16px !important;
  margin-bottom: 1px !important;
  border-radius: 50% !important;
  background: radial-gradient(circle at 35% 32%, #fff6d0, var(--pp-gold) 55%, #a97400 100%) !important;
  box-shadow: 0 0 8px rgba(255,215,0,.5) !important;
  position: relative !important;
  z-index: 1 !important;
}

/* =====================================================================
   ১.খ) GIFT CARD — cyan-pink accent bar, গ্র্যাডিয়েন্ট কার্ড
   ===================================================================== */
body.single-product .thwvsf-wrapper-ul.tmp-layout-card .thwvsf-wrapper-item-li.attr_swatch_design_default {
  background: linear-gradient(160deg, var(--pp-bg-card-2), var(--pp-bg-card)) !important;
  border: 1.5px solid var(--pp-border) !important;
}

body.single-product .thwvsf-wrapper-ul.tmp-layout-card .thwvsf-wrapper-item-li.attr_swatch_design_default::before {
  content: "" !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  height: 3px !important;
  background: linear-gradient(90deg, var(--pp-cyan), var(--pp-pink)) !important;
}

body.single-product .thwvsf-wrapper-ul.tmp-layout-card .thwvsf-wrapper-item-li.attr_swatch_design_default::after {
  content: "" !important;
  position: absolute !important;
  bottom: -20px !important;
  left: -20px !important;
  width: 44px !important;
  height: 44px !important;
  border-radius: 50% !important;
  background: rgba(0,243,255,.10) !important;
  filter: blur(2px) !important;
}

body.single-product .thwvsf-wrapper-ul.tmp-layout-card .thwvsf-wrapper-item-li.attr_swatch_design_default:hover {
  border-color: var(--pp-cyan) !important;
  box-shadow: 0 0 16px rgba(0,243,255,.28) !important;
  transform: translateY(-3px) !important;
}

/* =====================================================================
   २) SUBSCRIPTION — 3D STACK CAROUSEL
   ===================================================================== */
body.single-product {
  --pp-tabs-width-pc: 54%;
  --pp-tabs-height-pc: 210px;
  --pp-tabs-width-mobile: 68%;
  --pp-tabs-height-mobile: 210px;
}

body.single-product .tmp-stack-shell {
  position: relative !important;
  width: 100% !important;
  max-width: 320px !important;
  margin: 0 auto 4px !important;
  padding: 0 !important;
  box-sizing: border-box !important;
}

@media (min-width: 481px) {
  body.single-product .tmp-stack-shell {
    max-width: 340px !important;
  }
}

body.single-product .thwvsf-wrapper-ul.tmp-layout-tabs {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  height: var(--pp-tabs-height-pc) !important;
  margin: 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
  perspective: 900px !important;
  overflow: visible !important;
}

body.single-product .thwvsf-wrapper-ul.tmp-layout-tabs .thwvsf-wrapper-item-li.attr_swatch_design_default {
  position: absolute !important;
  top: 0 !important;
  left: 50% !important;
  width: var(--pp-tabs-width-pc) !important;
  min-width: 0 !important;
  max-width: none !important;
  height: var(--pp-tabs-height-pc) !important;
  aspect-ratio: auto !important;
  max-height: none !important;

  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  padding: 14px 10px !important;
  border-radius: 18px !important;
  background: linear-gradient(150deg, var(--pp-cyan), var(--pp-pink)) !important;
  border: 1.5px solid rgba(255,255,255,.25) !important;
  cursor: pointer !important;
  text-align: center !important;

  transition: transform .38s cubic-bezier(.22,.9,.32,1), opacity .3s ease, box-shadow .3s ease, filter .3s ease, background .35s ease !important;
  will-change: transform, opacity !important;
  backface-visibility: hidden !important;
}

body.single-product .thwvsf-wrapper-ul.tmp-layout-tabs .tmp-swatch-icon {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 44px !important;
  height: 44px !important;
  border-radius: 50% !important;
  background: rgba(255,255,255,.20) !important;
  box-shadow: 0 0 0 1px rgba(255,255,255,.35) inset, 0 4px 14px rgba(0,0,0,.22) !important;
  color: #fff !important;
  flex-shrink: 0 !important;
  margin-bottom: 2px !important;
}

body.single-product .thwvsf-wrapper-ul.tmp-layout-tabs .tmp-swatch-icon svg {
  width: 20px !important;
  height: 20px !important;
  display: block !important;
}

body.single-product .thwvsf-wrapper-ul.tmp-layout-tabs .tmp-swatch-daterange {
  display: inline-flex !important;
  align-items: center !important;
  gap: 5px !important;
  font-size: clamp(10px, 2.2vw, 12px) !important;
  font-weight: 700 !important;
  letter-spacing: .2px !important;
  padding: 4px 12px !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,.16) !important;
  color: rgba(255,255,255,.95) !important;
  white-space: nowrap !important;
  flex-shrink: 0 !important;
  margin-top: 1px !important;
}

body.single-product .thwvsf-wrapper-ul.tmp-layout-tabs .tmp-date-arrow {
  opacity: .75 !important;
  font-size: 10px !important;
}

body.single-product .thwvsf-wrapper-ul.tmp-layout-tabs .thwvsf-wrapper-item-li.attr_swatch_design_default::after {
  content: "" !important;
  position: absolute !important;
  bottom: -14px !important;
  right: -14px !important;
  width: 60px !important;
  height: 60px !important;
  border-radius: 50% !important;
  background: rgba(255,255,255,.16) !important;
  filter: blur(6px) !important;
  pointer-events: none !important;
}

@media (min-width: 481px) {
  body.single-product .thwvsf-wrapper-ul.tmp-layout-tabs,
  body.single-product .thwvsf-wrapper-ul.tmp-layout-tabs .thwvsf-wrapper-item-li.attr_swatch_design_default {
    height: var(--pp-tabs-height-pc) !important;
  }
  body.single-product .thwvsf-wrapper-ul.tmp-layout-tabs .thwvsf-wrapper-item-li.attr_swatch_design_default {
    width: var(--pp-tabs-width-pc) !important;
  }
}

body.single-product .thwvsf-wrapper-ul.tmp-layout-tabs .thwvsf-wrapper-item-li.tmp-pos-active {
  transform: translate(-50%, 0) translateZ(0) scale(1) !important;
  opacity: 1 !important;
  filter: none !important;
  border-color: rgba(0,243,255,.35) !important;
  box-shadow: 0 0 22px rgba(0,243,255,.20), 0 14px 30px rgba(0,0,0,.45) !important;
}

body.single-product .thwvsf-wrapper-ul.tmp-layout-tabs .thwvsf-wrapper-item-li.tmp-pos-prev {
  transform: translate(-135%, 0) translateZ(-80px) rotateY(18deg) scale(.82) !important;
  opacity: .65 !important;
  filter: brightness(.7) !important;
}

body.single-product .thwvsf-wrapper-ul.tmp-layout-tabs .thwvsf-wrapper-item-li.tmp-pos-next {
  transform: translate(35%, 0) translateZ(-80px) rotateY(-18deg) scale(.82) !important;
  opacity: .65 !important;
  filter: brightness(.7) !important;
}

body.single-product .thwvsf-wrapper-ul.tmp-layout-tabs .thwvsf-wrapper-item-li.tmp-pos-prev2 {
  transform: translate(-175%, 0) translateZ(-160px) rotateY(22deg) scale(.66) !important;
  opacity: .3 !important;
  filter: brightness(.5) !important;
  pointer-events: none !important;
}

body.single-product .thwvsf-wrapper-ul.tmp-layout-tabs .thwvsf-wrapper-item-li.tmp-pos-next2 {
  transform: translate(75%, 0) translateZ(-160px) rotateY(-22deg) scale(.66) !important;
  opacity: .3 !important;
  filter: brightness(.5) !important;
  pointer-events: none !important;
}

body.single-product .thwvsf-wrapper-ul.tmp-layout-tabs .thwvsf-wrapper-item-li.tmp-pos-hidden {
  transform: translate(-50%, 0) translateZ(-220px) scale(.5) !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

body.single-product .thwvsf-wrapper-ul.tmp-layout-tabs .thwvsf-wrapper-item-li.attr_swatch_design_default .item-span-text,
body.single-product .thwvsf-wrapper-ul.tmp-layout-tabs .thwvsf-wrapper-item-li.attr_swatch_design_default .tmp-swatch-name {
  font-size: clamp(14px, 3.6vw, 19px) !important;
  font-weight: 900 !important;
  white-space: normal !important;
  line-height: 1.15 !important;
  overflow: visible !important;
  text-overflow: clip !important;
  height: auto !important;
  max-height: none !important;
  min-height: 0 !important;
  display: block !important;
  position: static !important;
  top: auto !important;
  left: auto !important;
  transform: none !important;
  width: 100% !important;
  max-width: 100% !important;
  word-break: break-word !important;
  flex-shrink: 0 !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}

body.single-product .thwvsf-wrapper-ul.tmp-layout-tabs .tmp-swatch-price {
  font-size: clamp(12px, 2.6vw, 14px) !important;
  font-weight: 800 !important;
  margin-top: 2px !important;
  padding: 3px 12px !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,.22) !important;
  -webkit-text-fill-color: #fff !important;
  color: #fff !important;
  overflow: visible !important;
  height: auto !important;
  max-height: none !important;
  display: inline-block !important;
  position: static !important;
  top: auto !important;
  left: auto !important;
  transform: none !important;
  flex-shrink: 0 !important;
}

body.single-product .thwvsf-wrapper-ul.tmp-layout-tabs .thwvsf-wrapper-item-li.tmp-pos-active.thwvsf-selected {
  border-color: transparent !important;
  background: linear-gradient(135deg, var(--pp-pink), var(--pp-gold)) !important;
  box-shadow: 0 0 26px rgba(188,19,254,.4), 0 0 34px rgba(255,215,0,.3) !important;
}

body.single-product .thwvsf-wrapper-ul.tmp-layout-tabs .thwvsf-wrapper-item-li.tmp-pos-active.thwvsf-selected .item-span-text,
body.single-product .thwvsf-wrapper-ul.tmp-layout-tabs .thwvsf-wrapper-item-li.tmp-pos-active.thwvsf-selected .tmp-swatch-name,
body.single-product .thwvsf-wrapper-ul.tmp-layout-tabs .thwvsf-wrapper-item-li.tmp-pos-active.thwvsf-selected .tmp-swatch-price {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  background: rgba(255,255,255,.18) !important;
}

body.single-product .tmp-carousel-controls {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 14px !important;
  margin-top: 8px !important;
  position: relative !important;
  z-index: 55 !important;
}

body.single-product .tmp-carousel-arrow {
  position: static !important;
  width: 28px !important;
  height: 28px !important;
  border-radius: 50% !important;
  border: 1.5px solid var(--pp-border) !important;
  background: rgba(35, 41, 40, .7) !important;
  backdrop-filter: blur(4px) !important;
  color: var(--pp-cyan) !important;
  font-size: 12px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  flex-shrink: 0 !important;
  transition: border-color .2s ease, opacity .2s ease !important;
}

body.single-product .tmp-carousel-arrow:hover {
  border-color: var(--pp-cyan) !important;
}

body.single-product .tmp-carousel-dots {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 6px !important;
  margin: 0 !important;
}

body.single-product .tmp-carousel-dot {
  width: 6px !important;
  height: 6px !important;
  border-radius: 50% !important;
  background: var(--pp-border) !important;
  cursor: pointer !important;
  transition: background .2s ease, transform .2s ease !important;
}

body.single-product .tmp-carousel-dot.is-active {
  background: linear-gradient(90deg, var(--pp-cyan), var(--pp-pink)) !important;
  transform: scale(1.3) !important;
}

/* =====================================================================
   ३) সিলেক্টেড স্টেট — গ্রিড লেআউটে (Card/Top-up)
   ===================================================================== */
body.single-product .thwvsf-wrapper-ul.tmp-layout-card .thwvsf-wrapper-item-li.attr_swatch_design_default.thwvsf-selected,
body.single-product .thwvsf-wrapper-ul.tmp-layout-topup .thwvsf-wrapper-item-li.attr_swatch_design_default.thwvsf-selected,
body.single-product .thwvsf-wrapper-ul.tmp-layout-card .thwvsf-wrapper-item-li.attr_swatch_design_default.thwvsf-selected:hover,
body.single-product .thwvsf-wrapper-ul.tmp-layout-topup .thwvsf-wrapper-item-li.attr_swatch_design_default.thwvsf-selected:hover {
  border-color: transparent !important;
  background: linear-gradient(135deg, var(--pp-cyan), var(--pp-pink)) !important;
  box-shadow: 0 0 22px rgba(0,243,255,.35), 0 0 30px rgba(188,19,254,.25) !important;
  transform: translateY(-1px) !important;
}

body.single-product .thwvsf-wrapper-ul.tmp-layout-card .thwvsf-wrapper-item-li.attr_swatch_design_default.thwvsf-selected .item-span-text,
body.single-product .thwvsf-wrapper-ul.tmp-layout-topup .thwvsf-wrapper-item-li.attr_swatch_design_default.thwvsf-selected .item-span-text,
body.single-product .thwvsf-wrapper-ul.tmp-layout-card .thwvsf-wrapper-item-li.attr_swatch_design_default.thwvsf-selected .tmp-swatch-name,
body.single-product .thwvsf-wrapper-ul.tmp-layout-topup .thwvsf-wrapper-item-li.attr_swatch_design_default.thwvsf-selected .tmp-swatch-name,
body.single-product .thwvsf-wrapper-ul.tmp-layout-card .thwvsf-wrapper-item-li.attr_swatch_design_default.thwvsf-selected .tmp-swatch-price,
body.single-product .thwvsf-wrapper-ul.tmp-layout-topup .thwvsf-wrapper-item-li.attr_swatch_design_default.thwvsf-selected .tmp-swatch-price {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  background: none !important;
}

body.single-product .thwvsf-wrapper-ul.tmp-layout-topup .thwvsf-wrapper-item-li.attr_swatch_design_default.thwvsf-selected::before {
  box-shadow: 0 0 12px rgba(255,255,255,.8) !important;
}

body.single-product .thwvsf-wrapper-ul.tmp-layout-card .thwvsf-wrapper-item-li.attr_swatch_design_default.thwvsf-selected::before {
  background: rgba(255,255,255,.6) !important;
}

/* =====================================================================
   ४) Pricing Elements
   ===================================================================== */
.tmp-swatch-name {
  font-size: clamp(12px, 2.8vw, 14px) !important;
  font-weight: 800 !important;
  white-space: normal !important;
  color: var(--pp-text) !important;
  line-height: 1.3 !important;
}

.thwvsf-wrapper-ul.tmp-layout-card .tmp-swatch-price,
.thwvsf-wrapper-ul.tmp-layout-topup .tmp-swatch-price {
  font-size: clamp(13px, 3vw, 16px) !important;
  font-weight: 900 !important;
  white-space: nowrap !important;
  background: linear-gradient(90deg, var(--pp-cyan), var(--pp-pink)) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
}

/* =====================================================================
   ५) Neon Theme Compatibility
   ===================================================================== */
body.single-product table.variations th.label,
body.single-product table.variations td.label,
body.single-product table.variations th.label label,
body.single-product table.variations td.label label {
  display: none !important;
}

body.single-product .woocommerce-product-gallery {
  background: var(--pp-bg-card) !important;
  border: 1px solid var(--pp-border) !important;
  border-radius: 18px !important;
  padding: 14px !important;
  box-shadow: 0 0 0 1px rgba(0,243,255,0.06), 0 20px 45px rgba(0,0,0,0.45) !important;
  position: relative !important;
  overflow: hidden !important;
}

body.single-product .woocommerce-product-gallery::before {
  content: "" !important;
  position: absolute !important;
  top: 0; left: 0; right: 0 !important;
  height: 3px !important;
  background: linear-gradient(90deg, var(--pp-cyan), var(--pp-pink)) !important;
  z-index: 2 !important;
}

body.single-product .woocommerce-product-gallery__image,
body.single-product .product-image-wrap {
  border-radius: 12px !important;
  overflow: hidden !important;
}

body.single-product .woocommerce-product-gallery img {
  border-radius: 12px !important;
  transition: transform .4s ease !important;
}

body.single-product .woocommerce-product-gallery:hover img {
  transform: scale(1.02) !important;
}

body.single-product .product-labels .onsale.product-label {
  background: linear-gradient(90deg, var(--pp-pink), var(--pp-cyan)) !important;
  color: #fff !important;
  border: none !important;
  font-weight: 800 !important;
  letter-spacing: .5px !important;
  box-shadow: 0 0 16px rgba(188,19,254,.5) !important;
  z-index: 3 !important;
}

body.single-product h1.product_title.entry-title {
  color: #fff !important;
  font-weight: 900 !important;
  letter-spacing: .5px !important;
}

body.single-product table.variations th.label label {
  color: var(--pp-cyan) !important;
  font-weight: 800 !important;
  letter-spacing: 1px !important;
  text-transform: uppercase !important;
  font-size: 13px !important;
}

body.single-product .wd-reset-var a.reset_variations {
  color: var(--pp-pink) !important;
  font-weight: 700 !important;
  text-decoration: underline !important;
}

body.single-product .woocommerce-variation-price .price .woocommerce-Price-amount {
  background: linear-gradient(90deg, var(--pp-cyan), var(--pp-pink)) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  font-weight: 900 !important;
  font-size: 26px !important;
}

body.single-product .quantity input.qty,
body.single-product .quantity input.minus,
body.single-product .quantity input.plus {
  background: var(--pp-bg-card) !important;
  border: 1.5px solid var(--pp-border) !important;
  color: var(--pp-text) !important;
  height: 46px !important;
}

body.single-product .quantity input.qty:focus {
  border-color: var(--pp-cyan) !important;
  outline: none !important;
}

body.single-product .single_add_to_cart_button.button.alt,
body.single-product .wd-buy-now-btn.button.alt {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  height: 54px !important;
  padding: 0 34px !important;
  margin: 0 8px 8px 0 !important;
  border: none !important;
  border-radius: 999px !important;
  font-weight: 800 !important;
  font-size: 14px !important;
  letter-spacing: .6px !important;
  text-transform: uppercase !important;
  color: #fff !important;
  cursor: pointer !important;
  position: relative !important;
  overflow: hidden !important;
  transition: transform .25s ease, box-shadow .25s ease !important;
}

body.single-product .single_add_to_cart_button.button.alt {
  background: linear-gradient(90deg, var(--pp-cyan), var(--pp-pink)) !important;
  box-shadow: 0 0 20px rgba(0,243,255,.3), 0 4px 20px rgba(0,0,0,.4) !important;
}

body.single-product .wd-buy-now-btn.button.alt {
  background: linear-gradient(90deg, var(--pp-pink), var(--pp-gold)) !important;
  box-shadow: 0 0 20px rgba(188,19,254,.3), 0 4px 20px rgba(0,0,0,.4) !important;
}

body.single-product .single_add_to_cart_button.button.alt:hover,
body.single-product .wd-buy-now-btn.button.alt:hover {
  transform: translateY(-3px) !important;
  box-shadow: 0 0 34px rgba(0,243,255,.5), 0 8px 26px rgba(0,0,0,.5) !important;
  color: #fff !important;
}

body.single-product .wd-single-content h1,
body.single-product .wd-single-content h2 {
  color: #fff !important;
  font-weight: 900 !important;
  border-left: 4px solid var(--pp-cyan) !important;
  padding-left: 14px !important;
  margin: 34px 0 16px !important;
}

body.single-product .wd-single-content h2 strong {
  background: linear-gradient(90deg, var(--pp-cyan), var(--pp-pink)) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
}

body.single-product .wd-single-content h3 {
  color: var(--pp-cyan) !important;
  font-weight: 800 !important;
  margin: 22px 0 10px !important;
}

body.single-product .wd-single-content p {
  color: var(--pp-muted) !important;
  line-height: 1.8 !important;
}

body.single-product .wd-single-content strong {
  color: var(--pp-text) !important;
}

body.single-product .wd-single-content a {
  color: var(--pp-cyan) !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  border-bottom: 1px dashed var(--pp-cyan) !important;
}

body.single-product .wd-single-content a:hover {
  color: var(--pp-pink) !important;
  border-color: var(--pp-pink) !important;
}

body.single-product .wd-single-content hr {
  border: none !important;
  height: 1px !important;
  background: linear-gradient(90deg, transparent, var(--pp-border), transparent) !important;
  margin: 30px 0 !important;
}

body.single-product .wd-single-content table {
  width: 100% !important;
  border-collapse: collapse !important;
  background: var(--pp-bg-card) !important;
  border-radius: 14px !important;
  overflow: hidden !important;
  border: 1px solid var(--pp-border) !important;
  margin: 18px 0 !important;
}

body.single-product .wd-single-content table th {
  background: linear-gradient(90deg, rgba(0,243,255,.12), rgba(188,19,254,.12)) !important;
  color: #fff !important;
  padding: 12px 16px !important;
  text-align: left !important;
  font-weight: 800 !important;
}

body.single-product .wd-single-content table td {
  padding: 12px 16px !important;
  color: var(--pp-muted) !important;
  border-top: 1px solid var(--pp-border) !important;
}

body.single-product .wd-single-content table td strong {
  color: var(--pp-cyan) !important;
}

body.single-product .wd-single-content ul {
  list-style: none !important;
  padding-left: 0 !important;
}

body.single-product .wd-single-content ul li {
  position: relative !important;
  padding-left: 28px !important;
  margin-bottom: 8px !important;
  color: var(--pp-muted) !important;
}

body.single-product .wd-single-content ul li::before {
  content: "\2713" !important;
  position: absolute !important;
  left: 0 !important;
  top: 0 !important;
  width: 18px !important;
  height: 18px !important;
  border-radius: 50% !important;
  background: linear-gradient(135deg, var(--pp-cyan), var(--pp-pink)) !important;
  color: #fff !important;
  font-size: 11px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

/* =====================================================================
   মোবাইল — আরও কমপ্যাক্ট
   ===================================================================== */
@media (max-width: 480px) {
  body.single-product .thwvsf-wrapper-ul.tmp-layout-card .thwvsf-wrapper-item-li.attr_swatch_design_default,
  body.single-product .thwvsf-wrapper-ul.tmp-layout-topup .thwvsf-wrapper-item-li.attr_swatch_design_default {
    padding: 12px 6px 10px !important;
  }

  body.single-product .tmp-stack-shell {
    max-width: 280px !important;
  }

  body.single-product .thwvsf-wrapper-ul.tmp-layout-tabs,
  body.single-product .thwvsf-wrapper-ul.tmp-layout-tabs .thwvsf-wrapper-item-li.attr_swatch_design_default {
    height: var(--pp-tabs-height-mobile) !important;
  }

  body.single-product .thwvsf-wrapper-ul.tmp-layout-tabs .thwvsf-wrapper-item-li.attr_swatch_design_default {
    width: var(--pp-tabs-width-mobile) !important;
    padding: 12px 8px !important;
  }

  body.single-product .thwvsf-wrapper-ul.tmp-layout-tabs .thwvsf-wrapper-item-li.tmp-pos-prev {
    transform: translate(-128%, 0) translateZ(-70px) rotateY(16deg) scale(.8) !important;
  }

  body.single-product .thwvsf-wrapper-ul.tmp-layout-tabs .thwvsf-wrapper-item-li.tmp-pos-next {
    transform: translate(28%, 0) translateZ(-70px) rotateY(-16deg) scale(.8) !important;
  }

  body.single-product .thwvsf-wrapper-ul.tmp-layout-tabs .thwvsf-wrapper-item-li.tmp-pos-prev2,
  body.single-product .thwvsf-wrapper-ul.tmp-layout-tabs .thwvsf-wrapper-item-li.tmp-pos-next2 {
    opacity: 0 !important;
    pointer-events: none !important;
  }

  body.single-product .single_add_to_cart_button.button.alt,
  body.single-product .wd-buy-now-btn.button.alt {
    width: 100% !important;
    margin: 0 0 10px 0 !important;
  }
}

@media (max-width: 600px) {
  body.single-product .wd-single-content table {
    font-size: 13px !important;
  }

  body.single-product .wd-single-content table th,
  body.single-product .wd-single-content table td {
    padding: 8px 12px !important;
  }
}
