/* ===== Get Unity Code – Premium Single Product Page  (LOOK v2) ===========
 * Scoped to .single-product. Additive only. Loaded on product pages via functions.php.
 * Bolder, cohesive redesign: tinted cards, gradient price pills, glowing CTA.
 * Revert: remove the is_product() enqueue block in functions.php.
 * ====================================================================== */
.single-product {
  --brand:#7c3aed; --brand-2:#6d28d9; --brand-3:#a78bfa;
  --ink:#0f172a; --muted:#6b7280;
  --line:#ece9f6; --surface:#faf9ff; --tint:#f3efff;
  font-family:'Inter', system-ui, -apple-system, sans-serif;
}
.single-product .tc-container *,
.single-product .tc-container *::before,
.single-product .tc-container *::after { box-sizing:border-box; }

/* ---------- Layout wrapper ---------- */
.single-product div.product { max-width:1280px; margin:30px auto; padding:0 26px; }

/* ---------- Fix: left column (gallery) stretching to sidebar height ----------
 * Elementor flex row makes both columns equal height -> empty space under gallery.
 * Wrap column in a premium card container. Sticky on desktop. */
.single-product .e-con-inner:has(> .elementor-element-9e9fbd8) { align-items:flex-start; }
.single-product .elementor-element-9e9fbd8 {
  align-self: flex-start !important;
  background: #ffffff !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 20px !important;
  padding: 24px !important;
  box-shadow: 0 12px 34px -10px rgba(15, 23, 42, 0.04), 0 1px 3px rgba(15, 23, 42, 0.02) !important;
  transition: all 0.3s ease !important;
}
@media (min-width: 1025px) {
  .single-product .elementor-element-9e9fbd8 {
    position: sticky !important;
    top: 100px !important;
    z-index: 99 !important;
  }
}
.single-product .elementor-element-9e9fbd8:hover {
  box-shadow: 0 20px 40px -15px rgba(15, 23, 42, 0.06), 0 1px 4px rgba(15, 23, 42, 0.03) !important;
}

/* ---------- Product title ---------- */
.single-product .product_title,
.single-product h1.product_title,
.single-product .product_title.entry-title {
  font-size: 28px !important;
  font-weight: 850 !important;
  color: #0f172a !important;
  line-height: 1.25 !important;
  letter-spacing: -0.6px !important;
  margin: 0 0 20px 0 !important;
}

/* ---------- Likes + Price top bar ---------- */
.single-product .post-views.content-post {
  display:inline-flex; align-items:center; gap:7px; font-weight:700; color:var(--ink);
  background:var(--tint); padding:7px 14px; border-radius:999px;
}
.single-product .post-views-icon { color:var(--brand); }
.single-product .post-views-label { color:var(--muted); font-weight:600; }
.single-product .post-views-count { font-weight:800; color:var(--ink); }

/* IMPORTANT: only the MAIN product price widget – never related/loop products */
.single-product .elementor-widget-woocommerce-product-price > .elementor-widget-container > .price,
.single-product .elementor-widget-woocommerce-product-price .price > .woocommerce-Price-amount.amount {
  font-size:32px; font-weight:900; color:var(--ink); margin:0; line-height:1; letter-spacing:-.5px;
}
.single-product .elementor-widget-woocommerce-product-price .woocommerce-Price-currencySymbol { color:var(--brand); margin-right:2px; }
.single-product .elementor-widget-woocommerce-product-price del { color:var(--muted); font-weight:600; font-size:18px; }
.single-product .elementor-widget-woocommerce-product-price ins { text-decoration:none; }

/* SAFETY: make sure related / product-grid prices stay their normal theme size+color */
.single-product .related .woocommerce-Price-amount,
.single-product .upsells .woocommerce-Price-amount,
.single-product ul.products .woocommerce-Price-amount,
.single-product .elementor-widget-woocommerce-products .woocommerce-Price-amount,
.single-product .products .woocommerce-Price-currencySymbol,
.single-product .related .woocommerce-Price-currencySymbol,
.single-product ul.products .woocommerce-Price-currencySymbol {
  font-size:inherit !important; font-weight:inherit !important; letter-spacing:normal !important; color:inherit !important;
}

/* ---------- Gallery (WCGS slider) ---------- */
.single-product #wpgs-gallery .wcgs-carousel,
.single-product .woocommerce-product-gallery,
.single-product .images {
  border: 1px solid #f1f5f9 !important;
  border-radius: 14px !important;
  overflow: hidden !important;
  background: #ffffff !important;
  box-shadow: none !important;
  padding: 0 !important;
}

.single-product #wpgs-gallery .wcgs-thumb img,
.single-product .flex-control-thumbs li img {
  border-radius: 10px !important;
  border: 2px solid transparent !important;
  opacity: 0.7 !important;
  transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1) !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05) !important;
}
.single-product #wpgs-gallery .wcgs-thumb:hover img,
.single-product .flex-control-thumbs li img:hover {
  opacity: 1 !important;
  border-color: #cbd5e1 !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 4px 10px -2px rgba(15, 23, 42, 0.1) !important;
}
.single-product #wpgs-gallery .wcgs-thumb.spswiper-slide-thumb-active img,
.single-product .flex-control-thumbs li img.flex-active {
  border-color: var(--brand) !important;
  opacity: 1 !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 4px 12px rgba(124, 58, 237, 0.15), 0 0 0 2px rgba(124, 58, 237, 0.05) !important;
}

/* Video play button overlay styling inside thumbnails */
.single-product .wcgs-thumb .wcgs-video-icon,
.single-product .wcgs-thumb .wpgs-video-icon,
.single-product .wcgs-thumb .spswiper-play-icon,
.single-product .flex-control-thumbs li .wcgs-video-icon,
.single-product .flex-control-thumbs li .wpgs-video-icon {
  width: 28px !important;
  height: 28px !important;
  background: rgba(255, 255, 255, 0.75) !important;
  backdrop-filter: blur(4px) !important;
  -webkit-backdrop-filter: blur(4px) !important;
  border: 1px solid rgba(255, 255, 255, 0.6) !important;
  border-radius: 50% !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: all 0.2s ease !important;
}
.single-product .wcgs-thumb:hover .wcgs-video-icon,
.single-product .wcgs-thumb:hover .spswiper-play-icon {
  background: #ffffff !important;
  transform: scale(1.1) !important;
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.15) !important;
}

/* ---------- Wishlist "Like" ---------- */
.single-product .yith-wcwl-add-to-wishlist {
  margin-top: 20px !important;
  margin-bottom: 0 !important;
}
.single-product .yith-wcwl-add-to-wishlist .add_to_wishlist {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  color: #475569 !important;
  background: #f8fafc !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 999px !important;
  padding: 8px 18px !important;
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1) !important;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04) !important;
  cursor: pointer !important;
  text-decoration: none !important;
}
.single-product .yith-wcwl-add-to-wishlist .add_to_wishlist:hover {
  color: #e11d48 !important;
  background: #fff1f2 !important;
  border-color: #fecdd3 !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 4px 12px rgba(225, 29, 72, 0.1) !important;
}
.single-product .yith-wcwl-add-to-wishlist .add_to_wishlist:active {
  transform: translateY(0) !important;
}
.single-product .yith-wcwl-icon-svg {
  width: 15px !important;
  height: 15px !important;
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 2 !important;
  transition: transform 0.2s ease, fill 0.2s ease !important;
}
.single-product .yith-wcwl-add-to-wishlist.exists .yith-wcwl-icon-svg,
.single-product .yith-wcwl-add-to-wishlist .add_to_wishlist.already_in_wishlist .yith-wcwl-icon-svg {
  fill: #e11d48 !important;
  stroke: #e11d48 !important;
}

/* Heartbeat animation for Wishlist icon */
@keyframes guc-heartbeat {
  0% { transform: scale(1); }
  25% { transform: scale(1.25); }
  50% { transform: scale(1); }
  75% { transform: scale(1.25); }
  100% { transform: scale(1); }
}
.single-product .yith-wcwl-add-to-wishlist .add_to_wishlist:hover .yith-wcwl-icon-svg {
  animation: guc-heartbeat 0.6s ease-in-out !important;
}

/* =====================================================================
 *  Extra Product Options (EPO) – premium cards
 * ===================================================================== */

/* --- neutralize plugin default borders / dividers / padding --- */
.single-product .tmcp-ul-wrap.tmcp-elements { list-style:none; margin:0; padding:0; }
.single-product .tmcp-field-wrap,
.single-product .tc-element-inner-wrap,
.single-product .tc-element-container,
.single-product .tc-element-container > .tc-row,
.single-product .cpf-element > .tc-element-inner-wrap > .tc-row,
.single-product .cpf-section,
.single-product .tc-section-inner-wrap,
.single-product .cpf-section > .tc-section-inner-wrap > .tc-row,
.single-product .cpf-section .tc-cell.tc-col,
.single-product #tm-extra-product-options-fields,
.single-product .tm-extra-product-options-field {
  border:0; padding:0; margin:0; background:none; box-shadow:none;
}
.single-product .tm-hidden { display:none !important; }
.single-product .tc-extra-product-options hr,
.single-product .cpf-element .tmcp-sub-title { display:none; }

/* force EPO grid gutters OFF so cards never overflow/clip on EITHER side */
.single-product #tm-extra-product-options,
.single-product #tm-extra-product-options-fields {
  width:100% !important; max-width:100% !important; margin:0 !important; padding:0 !important;
  overflow:visible; box-sizing:border-box;
}
.single-product #tm-extra-product-options .tc-row,
.single-product .tm-extra-product-options .tc-row,
.single-product #tm-extra-product-options .tc-cell,
.single-product .tm-extra-product-options .tc-cell,
.single-product #tm-extra-product-options .tc-col,
.single-product .tm-extra-product-options .tc-col {
  margin-left:0 !important; margin-right:0 !important;
  padding-left:0 !important; padding-right:0 !important;
  max-width:100% !important; box-sizing:border-box;
}
.single-product .tc-container.cpf-element {
  width:100% !important; max-width:100% !important;
  margin-left:0 !important; margin-right:0 !important; box-sizing:border-box;
}

/* Option group = premium card */
.single-product #tm-extra-product-options .tc-container.cpf-element,
.single-product .tm-extra-product-options .tc-container.cpf-element,
.single-product .tc-container.cpf-element.cpf-type-select,
.single-product .tc-container.cpf-element.cpf-type-checkbox {
  border: 1px solid var(--line) !important;
  border-radius: 16px !important;
  padding: 22px 20px !important;
  margin-bottom: 16px !important;
  background: #ffffff !important;
  box-shadow: 0 4px 20px -2px rgba(15, 23, 42, 0.04), 0 2px 4px -1px rgba(15, 23, 42, 0.02) !important;
}

/* Group heading – uppercase section label with elegant left dot indicator */
.single-product #tm-extra-product-options .tc-epo-label,
.single-product #tm-extra-product-options .tm-epo-element-label,
.single-product .tm-extra-product-options .tc-epo-label,
.single-product .tm-extra-product-options .tm-epo-element-label,
.single-product .tc-epo-label,
.single-product .tm-epo-element-label {
  display: block !important;
  position: relative !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  color: var(--brand) !important; /* Indigo/Violet */
  text-transform: uppercase !important;
  letter-spacing: 1.5px !important;
  margin: 0 0 16px 0 !important;
  padding: 0 0 0 18px !important; /* Space for the dot */
  line-height: 1.3 !important;
  background: none !important;
  border: none !important;
  left: 0 !important;
  margin-left: 0 !important;
}
.single-product #tm-extra-product-options .tc-epo-label::before,
.single-product #tm-extra-product-options .tm-epo-element-label::before,
.single-product .tm-extra-product-options .tc-epo-label::before,
.single-product .tm-extra-product-options .tm-epo-element-label::before,
.single-product .tc-epo-label::before,
.single-product .tm-epo-element-label::before {
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: 7px !important;
  height: 7px !important;
  border-radius: 50% !important;
  background: var(--brand) !important;
  bottom: auto !important; /* CRITICAL: prevent vertical stretching */
}

/* Fix inner spans pulling heading text to the left */
.single-product #tm-extra-product-options .tc-epo-label *,
.single-product #tm-extra-product-options .tm-epo-element-label *,
.single-product .tc-epo-label *,
.single-product .tm-epo-element-label * {
  margin-left: 0 !important;
  padding-left: 0 !important;
  left: 0 !important;
  position: relative !important;
  display: inline-block !important;
}

/* Reset inner fields margins */
.single-product #tm-extra-product-options .tc-container.cpf-element .tmcp-field-wrap,
.single-product #tm-extra-product-options .tc-container.cpf-element .tmcp-ul-wrap,
.single-product .tm-extra-product-options .tc-container.cpf-element .tmcp-field-wrap,
.single-product .tm-extra-product-options .tc-container.cpf-element .tmcp-ul-wrap,
.single-product .tc-container.cpf-element.cpf-type-select .tmcp-field-wrap,
.single-product .tc-container.cpf-element.cpf-type-checkbox .tmcp-ul-wrap {
  padding: 0 !important;
  margin: 0 !important;
}

/* ---- Select dropdown ("Our Support") ---- */
.single-product .cpf-type-select .tmcp-field-wrap { display:flex; align-items:center; gap:10px; }
.single-product .cpf-type-select .tm-epo-field-label.fullwidth { display:block; flex:1; margin:0; padding:0; }
.single-product .tmcp-field.tmcp-select {
  width:100%; height:46px; padding:0 16px; border-radius:10px;
  border:1px solid #cbd5e1; background:#f8fafc; color:var(--ink);
  font-family:inherit; font-size:14px; font-weight:600; cursor:pointer;
  transition:all 0.15s ease;
}
.single-product .tmcp-field.tmcp-select:hover { border-color:var(--brand); background:#fff; }
.single-product .tmcp-field.tmcp-select:focus {
  outline:none; border-color:var(--brand); box-shadow:0 0 0 4px rgba(124,58,237,.15); background:#fff;
}

/* ---- Checkbox rows ("Reskin / Publish / Store Optimization") ---- */
.single-product .cpf-type-checkbox .tmcp-ul-wrap { display:flex; flex-direction:column; gap:11px; }

/* Ensure the checkbox option row is a clean flex container */
.single-product #tm-extra-product-options .tmcp-field-wrap,
.single-product .tm-extra-product-options .tmcp-field-wrap,
.single-product .cpf-type-checkbox .tmcp-field-wrap {
  display:flex !important; align-items:center !important; justify-content:flex-start !important;
  flex-wrap:nowrap !important; gap:8px !important; margin:0 !important;
  border:1px solid #e2e8f0 !important; border-radius:10px !important; padding:10px 12px !important; background:#fff !important;
  cursor:pointer !important; transition:all 0.2s cubic-bezier(0.4, 0, 0.2, 1) !important;
  position:relative !important;
}
.single-product #tm-extra-product-options .tmcp-field-wrap:hover,
.single-product .tm-extra-product-options .tmcp-field-wrap:hover,
.single-product .cpf-type-checkbox .tmcp-field-wrap:hover {
  border-color:#c084fc !important; background:#faf5ff !important; transform:translateY(-1px) !important;
}
.single-product #tm-extra-product-options .tmcp-field-wrap:has(.tmcp-checkbox:checked),
.single-product .tm-extra-product-options .tmcp-field-wrap:has(.tmcp-checkbox:checked),
.single-product .cpf-type-checkbox .tmcp-field-wrap:has(.tmcp-checkbox:checked) {
  border-color:var(--brand) !important; background:#f5f3ff !important;
  box-shadow:0 4px 12px rgba(124,58,237,0.08), 0 0 0 1px var(--brand) inset !important;
}

/* Ensure checkbox label behaves as a clean flex container */
.single-product #tm-extra-product-options .tm-epo-field-label,
.single-product .tm-extra-product-options .tm-epo-field-label,
.single-product .cpf-type-checkbox .tm-epo-field-label {
  display:flex !important; align-items:center !important; justify-content:space-between !important;
  flex:1 !important; width:100% !important; margin:0 !important; cursor:pointer !important; gap:8px !important;
  position:relative !important; min-width:0 !important;
}

/* Custom premium checkboxes */
.single-product #tm-extra-product-options .tmcp-field.tmcp-checkbox,
.single-product .tm-extra-product-options .tmcp-field.tmcp-checkbox,
.single-product .tmcp-field.tmcp-checkbox {
  appearance:none !important; -webkit-appearance:none !important;
  width:16px !important; height:16px !important;
  border:2px solid #cbd5e1 !important; border-radius:5px !important;
  outline:none !important; background:#ffffff !important;
  cursor:pointer !important; position:relative !important;
  display:inline-flex !important; align-items:center !important; justify-content:center !important;
  transition:all 0.2s ease !important; flex-shrink:0 !important; margin:0 0 0 4px !important;
}
.single-product #tm-extra-product-options .tmcp-field.tmcp-checkbox:hover,
.single-product .tm-extra-product-options .tmcp-field.tmcp-checkbox:hover,
.single-product .tmcp-field.tmcp-checkbox:hover {
  border-color:var(--brand) !important;
}
.single-product #tm-extra-product-options .tmcp-field.tmcp-checkbox:checked,
.single-product .tm-extra-product-options .tmcp-field.tmcp-checkbox:checked,
.single-product .tmcp-field.tmcp-checkbox:checked {
  background:var(--brand) !important; border-color:var(--brand) !important;
}
.single-product #tm-extra-product-options .tmcp-field.tmcp-checkbox:checked::after,
.single-product .tm-extra-product-options .tmcp-field.tmcp-checkbox:checked::after,
.single-product .tmcp-field.tmcp-checkbox:checked::after {
  content:"✓" !important; color:#ffffff !important; font-size:10px !important;
  font-weight:900 !important; display:block !important; line-height:1 !important;
}

.single-product #tm-extra-product-options .tc-label-wrap,
.single-product .tm-extra-product-options .tc-label-wrap,
.single-product .tc-label-wrap {
  display:flex !important; align-items:center !important; flex:1 !important;
  position:relative !important; min-width:0 !important;
}
.single-product #tm-extra-product-options .tc-label-wrap .tc-label,
.single-product .tm-extra-product-options .tc-label-wrap .tc-label,
.single-product .tc-label-wrap .tc-label {
  font-size:13px !important; font-weight:600 !important; color:#334155 !important;
  line-height:1.3 !important; word-break:break-word !important;
}

/* Clean inline price text (No Pill) */
.single-product #tm-extra-product-options .tc-price-wrap:not(.tm-hidden),
.single-product .tm-extra-product-options .tc-price-wrap:not(.tm-hidden),
.single-product .cpf-type-checkbox .tc-price-wrap:not(.tm-hidden) {
  position:relative !important; right:auto !important; top:auto !important; bottom:auto !important; left:auto !important;
  margin:0 0 0 auto !important; flex-shrink:0 !important;
  display:inline-flex !important; align-items:center !important; justify-content:center !important;
  background:none !important;
  border-radius:0 !important;
  padding:0 !important;
  box-shadow:none !important;
}
.single-product #tm-extra-product-options .tc-price-wrap .amount,
.single-product .tm-extra-product-options .tc-price-wrap .amount,
.single-product .cpf-type-checkbox .tc-price-wrap .amount {
  font-size:13px !important; font-weight:700 !important; color:var(--brand) !important; white-space:nowrap !important;
}
.single-product #tm-extra-product-options .tc-price-wrap .amount::before,
.single-product .tm-extra-product-options .tc-price-wrap .amount::before,
.single-product .cpf-type-checkbox .tc-price-wrap .amount::before {
  content:"+ " !important; color:var(--brand) !important; font-weight:600 !important;
}

/* tooltip "?" icon - clean floating circle layout */
.single-product #tm-extra-product-options .tm-tooltip.tc-tooltip,
.single-product .tm-extra-product-options .tm-tooltip.tc-tooltip,
.single-product .tm-tooltip.tc-tooltip {
  position: relative !important;
  right: auto !important;
  top: auto !important;
  bottom: auto !important;
  left: auto !important;
  transform: none !important;
  width: 20px !important;
  height: 20px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 12px !important;
  line-height: 1 !important;
  color: #94a3b8 !important;
  background: #ffffff !important;
  border: 1px solid #cbd5e1 !important;
  border-radius: 50% !important;
  cursor: pointer !important;
  z-index: 5 !important;
  margin-left: 8px !important;
  flex-shrink: 0 !important;
  transition: all 0.15s ease !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05) !important;
  align-self: center !important;
}
.single-product #tm-extra-product-options .tm-tooltip.tc-tooltip:hover,
.single-product .tm-extra-product-options .tm-tooltip.tc-tooltip:hover,
.single-product .tm-tooltip.tc-tooltip:hover {
  color: var(--brand) !important;
  border-color: var(--brand) !important;
  background: #f5f3ff !important;
  box-shadow: 0 2px 6px rgba(124, 58, 237, 0.15) !important;
}
.single-product #tm-extra-product-options .tm-tooltip.tc-tooltip i,
.single-product .tm-extra-product-options .tm-tooltip.tc-tooltip i,
.single-product .tm-tooltip.tc-tooltip i {
  font-size: 10px !important;
  display: block !important;
  line-height: 1 !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Hide tooltips inside checkbox option lists completely */
.single-product .cpf-type-checkbox .tm-tooltip.tc-tooltip {
  display: none !important;
}

/* Neutralize columns inside checkbox option rows to prevent wrapping */
.single-product .tmcp-field-wrap .tc-cell,
.single-product .tmcp-field-wrap .tc-col,
.single-product .tmcp-field-wrap .tc-row {
  width:auto !important; max-width:none !important; padding:0 !important; margin:0 !important; display:contents !important;
}

/* ---- Feature list + short description ---- */
.single-product .tc-container.cpf-element.cpf-type-header { padding:4px 20px; margin-bottom:10px; }
.single-product .cpf-type-header .tm-element-description h6 {
  display:flex; align-items:center; gap:8px; font-size:13.5px; font-weight:600; color:#334155;
  margin:0; padding:12px 0; border-bottom:1px solid #f1f5f9;
}
.single-product .cpf-type-header .tm-element-description h6:last-child { border-bottom:none; }
.single-product .cpf-type-header .tm-element-description p { font-size:14.5px; line-height:1.65; color:#475569; margin:6px 0 0; }
.single-product .cpf-type-header .tc-epo-label,
.single-product .cpf-type-header .tm-epo-element-label {
  font-size:11.5px; font-weight:800; color:var(--brand-2); text-transform:uppercase; letter-spacing:.7px;
  margin:12px 0 8px 20px !important; padding-left:12px; position:relative;
  left:0 !important; margin-left:20px !important;
}
.single-product .cpf-type-header .tc-epo-label::before,
.single-product .cpf-type-header .tm-epo-element-label::before {
  content:""; position:absolute; left:0; top:1px; bottom:1px; width:4px; border-radius:3px;
  background:linear-gradient(180deg,var(--brand-3),var(--brand-2));
}

/* =====================================================================
 *  Purchase button – big, gradient, glowing
 * ===================================================================== */
.single-product .e-atc-qty-button-holder { margin-top:10px; }
.single-product .single_add_to_cart_button,
.single-product button.single_add_to_cart_button,
.single-product .summary .button[type="submit"],
.single-product a.button.purchase {
  display:inline-flex; align-items:center; justify-content:center;
  width:100%; height:56px; padding:0 24px; border:none; cursor:pointer;
  font-family:inherit; font-size:16px; font-weight:800; letter-spacing:.6px; text-transform:uppercase; color:#fff;
  border-radius:14px; position:relative; overflow:hidden;
  background:linear-gradient(135deg,var(--brand) 0%, var(--brand-2) 60%, #5b21b6 100%);
  box-shadow:0 18px 34px -12px rgba(124,58,237,.65);
  transition:transform .15s, box-shadow .15s;
}
.single-product .single_add_to_cart_button:hover,
.single-product button.single_add_to_cart_button:hover,
.single-product a.button.purchase:hover {
  transform:translateY(-2px); box-shadow:0 24px 42px -12px rgba(124,58,237,.75);
}
.single-product .single_add_to_cart_button:active,
.single-product button.single_add_to_cart_button:active { transform:translateY(0); }

/* ---------- Quantity ---------- */
.single-product .quantity input.qty {
  height:50px; width:72px; border:1.5px solid var(--line); border-radius:12px;
  text-align:center; font-weight:700; color:var(--ink);
}

/* ---------- Description / tabs ---------- */
.single-product .woocommerce-Tabs-panel,
.single-product .woocommerce-product-details__short-description {
  font-size:15px; line-height:1.7; color:#334155;
}
.single-product .wc-tabs li a { font-weight:700; }
.single-product .wc-tabs li.active a { color:var(--brand); }

/* ---------- Related products ---------- */
.single-product .related.products > h2,
.single-product .upsells.products > h2 {
  font-size:22px; font-weight:800; color:var(--ink); margin-bottom:18px;
}

/* =====================================================================
 *  RESPONSIVE – iPad + Mobile
 * ===================================================================== */
@media (max-width:1024px){
  .single-product div.product { padding:0 20px; }
  .single-product .product_title,
  .single-product h1.product_title { font-size:26px !important; margin-bottom:18px !important; }
  .single-product .elementor-element-9e9fbd8 { padding:20px !important; border-radius:16px !important; }
  .single-product .tc-container.cpf-element.cpf-type-select,
  .single-product .tc-container.cpf-element.cpf-type-checkbox { padding:16px; }
}

@media (max-width:768px){
  .single-product div.product { padding:0 16px; margin:20px auto; }
  .single-product .product_title,
  .single-product h1.product_title,
  .single-product .product_title.entry-title { font-size:23px !important; margin-bottom:14px !important; }
  .single-product .elementor-element-9e9fbd8 { padding:16px !important; border-radius:14px !important; margin-bottom:20px !important; }
  .single-product .elementor-widget-woocommerce-product-price > .elementor-widget-container > .price,
  .single-product .elementor-widget-woocommerce-product-price .price > .woocommerce-Price-amount.amount { font-size:27px; }

  .single-product #wpgs-gallery,
  .single-product .woocommerce-product-gallery,
  .single-product .images { margin-bottom:22px; }

  .single-product .tc-container.cpf-element.cpf-type-select,
  .single-product .tc-container.cpf-element.cpf-type-checkbox { padding:15px; margin-bottom:12px; }
  .single-product .cpf-type-checkbox .tmcp-field-wrap { padding:10px 12px !important; }
  .single-product .single_add_to_cart_button,
  .single-product button.single_add_to_cart_button { height:56px; font-size:16px; }
}

@media (max-width:480px){
  .single-product div.product { padding:0 8px !important; }
  .single-product .product_title,
  .single-product h1.product_title { font-size: 17px !important; font-weight: 800 !important; line-height: 1.25 !important; margin-bottom: 12px !important; }
  .single-product .elementor-element-9e9fbd8 {
    padding: 12px !important;
    border-radius: 16px !important;
    border: 1px solid #e2e8f0 !important;
    background: #ffffff !important;
    box-shadow: 0 4px 20px -2px rgba(15, 23, 42, 0.02) !important;
    margin-bottom: 16px !important;
  }
  .single-product #wpgs-gallery,
  .single-product .woocommerce-product-gallery,
  .single-product .images { margin-bottom: 12px !important; border-radius: 12px !important; }
  .single-product .elementor-widget-woocommerce-product-price > .elementor-widget-container > .price,
  .single-product .elementor-widget-woocommerce-product-price .price > .woocommerce-Price-amount.amount { font-size:24px; }
  .single-product .cpf-type-checkbox .tmcp-field-wrap { gap:8px !important; padding:10px 10px !important; }
  .single-product .tc-label-wrap .tc-label { font-size:13px !important; }
  .single-product .cpf-type-checkbox .tc-price-wrap .amount { font-size:13px; }
  .single-product .cpf-type-checkbox .tc-price-wrap:not(.tm-hidden) { padding:0 !important; }
  .single-product .tmcp-field.tmcp-select { height:46px; font-size:14.5px; }

  /* Shrink play button overlays on video thumbnails for mobile */
  .single-product .wcgs-thumb .wcgs-video-icon,
  .single-product .wcgs-thumb .wpgs-video-icon,
  .single-product .wcgs-thumb .spswiper-play-icon,
  .single-product .flex-control-thumbs li .wcgs-video-icon,
  .single-product .flex-control-thumbs li .wpgs-video-icon {
    width: 20px !important;
    height: 20px !important;
  }

  /* Premium swipeable mobile tabs */
  .single-product .woocommerce-tabs .wc-tabs {
    display: flex !important;
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
    gap: 16px !important;
    border-bottom: 2px solid #f1f5f9 !important;
    padding: 0 0 8px 0 !important;
    margin-bottom: 20px !important;
  }
  .single-product .woocommerce-tabs .wc-tabs::-webkit-scrollbar {
    display: none !important;
  }
  .single-product .woocommerce-tabs .wc-tabs li {
    background: none !important;
    border: none !important;
    padding: 0 !important;
    margin: 0 !important;
  }
  .single-product .woocommerce-tabs .wc-tabs li a {
    display: block !important;
    padding: 8px 4px !important;
    font-size: 13.5px !important;
    font-weight: 700 !important;
    color: #64748b !important;
    position: relative !important;
    text-decoration: none !important;
    transition: color 0.15s ease !important;
    white-space: nowrap !important;
  }
  .single-product .woocommerce-tabs .wc-tabs li.active a {
    color: var(--brand) !important;
  }
  .single-product .woocommerce-tabs .wc-tabs li.active a::after {
    content: "" !important;
    position: absolute !important;
    bottom: -10px !important;
    left: 0 !important;
    right: 0 !important;
    height: 2px !important;
    background: var(--brand) !important;
    border-radius: 99px !important;
  }
}
