/**
 * Single Product – VP Layout
 * Scoped under .vp-product-page wrapper
 */

/* --- CSS VARIABLES --- */
:root {
  --vp-brand: #FFBD59;
  --vp-brand-dark: #E5A03E;
  --vp-text-main: #111827;
  --vp-text-light: #6B7280;
  --vp-success: #10B981;
  --vp-accent: #374151;
  --vp-hover-gray: #E5E7EB;
  --vp-bg-gray: #F9FAFB;
  --vp-border: #E5E7EB;
  --vp-white: #FFFFFF;
  --vp-radius: 12px;

  /* PNG star icons URL */
  --vp-star-full-img: url('https://vapeshop.socalbird.com/wp-content/uploads/2026/02/Icon-4.png');   /* full yellow star */
  --vp-star-empty-img: url('https://vapeshop.socalbird.com/wp-content/uploads/2026/02/Icon-5.png');  /* blank star */
}

/* --- GLOBAL RESET (scoped) --- */
.vp-product-page * {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  outline: none;
}

.vp-product-page {
  background-color: var(--vp-white);
  color: var(--vp-text-main);
  line-height: 1.6;
}

.vp-product-page button {
  cursor: pointer;
  font-family: inherit;
}

.vp-product-page img {
  max-width: 100%;
  display: block;
}

.vp-product-page a {
  text-decoration: none;
  color: inherit;
  transition: 0.3s;
}

/* --- LAYOUT UTILITIES --- */
.vp-container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px 60px;
}

.vp-grid-2-col {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 50px;
  margin-bottom: 60px;
}

.vp-hidden {
  display: none !important;
}

.vp-flex {
  display: flex;
  align-items: center;
}

@media (max-width: 992px) {
  .vp-grid-2-col {
    grid-template-columns: 1fr;
  }
}

/* --- BREADCRUMB --- */
.vp-breadcrumb {
  padding: 20px 0;
  font-size: 13px;
  color: var(--vp-text-light);
  font-weight: 500;
}

.vp-breadcrumb i {
  font-size: 10px;
  margin: 0 8px;
  color: #ccc;
}

.vp-breadcrumb a:hover {
  color: var(--vp-brand);
}

/* Strong single-product breadcrumb alignment/style override */
.vp-product-page .vp-breadcrumb,
body.single-product .vp-breadcrumb {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0;
  width: 100%;
  font-size: 14px;
  line-height: 1.5;
  font-weight: 700;
  color: var(--vp-text-main);
}

.vp-product-page .vp-breadcrumb a,
body.single-product .vp-breadcrumb a,
.vp-product-page .vp-breadcrumb > span,
body.single-product .vp-breadcrumb > span {
  display: inline-flex;
  align-items: center;
  color: var(--vp-text-main);
  font-weight: 700;
}

.vp-product-page .vp-breadcrumb a:last-of-type,
body.single-product .vp-breadcrumb a:last-of-type {
  color: var(--vp-text-main);
}

.vp-product-page .vp-breadcrumb .breadcrumb_last,
body.single-product .vp-breadcrumb .breadcrumb_last {
  color: var(--vp-text-main);
  font-weight: 700;
}

.vp-product-page .vp-breadcrumb i,
body.single-product .vp-breadcrumb i {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 10px;
  margin: 0 10px;
  color: #9CA3AF;
  font-style: normal;
  line-height: 1;
  vertical-align: middle;
}

.vp-product-page .vp-breadcrumb a:hover,
body.single-product .vp-breadcrumb a:hover {
  color: var(--vp-brand);
}

@media (max-width: 767px) {
  .vp-product-page .vp-breadcrumb,
  body.single-product .vp-breadcrumb {
    font-size: 13px;
    row-gap: 6px;
  }

  .vp-product-page .vp-breadcrumb i,
  body.single-product .vp-breadcrumb i {
    margin: 0 8px;
  }
}

/* --- PRODUCT GALLERY --- */
.vp-main-image-box {
  position: relative;
  height: 500px;
  background: #ffffff;
  border-radius: var(--vp-radius);
  overflow: hidden;
  margin-bottom: 20px;
  border: 2px solid #ffbe49;
}

.vp-main-image-box img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
  transition: opacity 0.3s;
  background: #ffffff;
}

.vp-sale-tag {
  position: absolute;
  top: 20px;
  left: 20px;
  background: var(--vp-text-main);
  color: var(--vp-brand);
  font-size: 12px;
  font-weight: 700;
  padding: 6px 14px;
  border-radius: 30px;
  z-index: 2;
}

.vp-thumb-list {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 15px;
  margin-bottom: 30px;
}

.vp-thumb-item {
  height: 90px;
  border-radius: 8px;
  overflow: hidden;
  border: 2px solid transparent;
  cursor: pointer;
  opacity: 0.6;
  transition: 0.3s;
}

.vp-thumb-item:hover,
.vp-thumb-item.active {
  opacity: 1;
  border-color: var(--vp-brand);
}

.vp-thumb-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.vp-grayscale {
  filter: none;
  transition: 0.4s;
}

.vp-main-image-box:hover .vp-grayscale,
.vp-thumb-item:hover .vp-grayscale,
.vp-thumb-item.active .vp-grayscale {
  filter: none;
}

.vp-features-row {
  display: none !important;
}

.vp-feature-card {
  padding: 15px 5px;
  border: 1px solid var(--vp-border);
  border-radius: 10px;
  text-align: center;
  box-shadow: 0 2px 5px rgba(0,0,0,0.03);
  transition: 0.3s;
  background: var(--vp-white);
}

.vp-feature-card:hover {
  border-color: var(--vp-hover-gray);
  background: var(--vp-bg-gray);
}

.vp-feature-card i {
  font-size: 20px;
  color: var(--vp-brand);
  margin-bottom: 5px;
  display: block;
}

.vp-feature-card span {
  font-size: 10px;
  font-weight: 700;
  color: var(--vp-text-light);
  text-transform: uppercase;
}

/* --- PRODUCT DETAILS (RIGHT COL) --- */
.vp-brand-name {
  color: var(--vp-brand);
  font-weight: 700;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 1px;
}

.vp-sku {
  color: var(--vp-text-light);
  font-size: 12px;
  margin-left: 5px;
}

.vp-title {
  font-size: 32px;
  font-weight: 700;
  margin: 10px 0;
  line-height: 1.25;
  color: var(--vp-text-main);
}

@media (min-width: 768px) {
  .vp-title {
    font-size: 32px;
  }
}

.vp-rating-wrapper {
  display: flex;
  align-items: center;
  margin-bottom: 20px;
  font-size: 17px;
  color: var(--vp-text-light);
}

/* STARS WRAPPER (main + reviews + summary) */
.vp-stars,
.vp-review-stars,
.vp-reviews-score-stars {
  display: inline-flex;
  align-items: center;
  gap: 4px;
}

/* main rating line margin */
.vp-stars {
  margin-right: 10px;
}

/* PNG star base */
.vp-star {
  width: 22px;
  height: 22px;
  display: inline-block;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}

/* full & empty variants */
.vp-star--full {
  background-image: var(--vp-star-full-img);
}

.vp-star--empty {
  background-image: var(--vp-star-empty-img);
}

.vp-price-wrapper {
  display: flex;
  align-items: center;
  gap: 15px;
  margin-bottom: 20px;
  flex-wrap: wrap;
}

.vp-price-current {
  font-size: 28px;
  font-weight: 700;
  color: var(--vp-text-main);
}

.vp-price-old {
  font-size: 18px;
  color: var(--vp-text-light);
  text-decoration: line-through;
}

.vp-save-badge {
  background: #FFF7E0;
  color: var(--vp-text-main);
  font-size: 11px;
  font-weight: 700;
  padding: 4px 10px;
  border-radius: 5px;
  border: 1px solid #FACC8A;
}

.vp-stock-info {
  display: flex;
  align-items: center;
  color: var(--vp-success);
  font-size: 13px;
  font-weight: 600;
  margin-bottom: 10px;
}

.vp-dot {
  width: 8px;
  height: 8px;
  background: var(--vp-success);
  border-radius: 50%;
  margin-right: 8px;
}

.vp-short-description {
  font-size: 15px;
  color: var(--vp-text-light);
  line-height: 1.85;
  margin-bottom: 22px;
}

/* ======================================================
   SHORT DESCRIPTION – Professional Typography
   Scoped only to single product short description
   ====================================================== */
.vp-short-description > *:last-child {
  margin-bottom: 0 !important;
}

.vp-short-description p {
  margin: 0 0 14px;
  font-size: 15px;
  line-height: 1.9;
  color: var(--vp-text-light);
}

.vp-short-description ul,
.vp-short-description ol {
  margin: 0 0 16px 20px;
  padding: 0;
  color: var(--vp-text-main);
}

.vp-short-description li {
  margin: 0 0 8px;
}

.vp-short-description li:last-child {
  margin-bottom: 0;
}

.vp-short-description li p {
  margin-bottom: 0;
}

.vp-short-description strong,
.vp-short-description b {
  color: var(--vp-text-main);
  font-weight: 700;
}

.vp-short-description a {
  color: var(--vp-text-main);
  text-decoration: underline;
  text-underline-offset: 3px;
  text-decoration-thickness: 1px;
}

.vp-short-description a:hover {
  color: var(--vp-brand-dark);
}

@media (max-width: 767px) {
  .vp-short-description {
    font-size: 14px;
    line-height: 1.8;
    margin-bottom: 20px;
  }

  .vp-short-description p {
    font-size: 14px;
    line-height: 1.8;
    margin-bottom: 12px;
  }

  .vp-short-description ul,
  .vp-short-description ol {
    margin: 0 0 14px 18px;
  }
}

.vp-divider {
  width: 100%;
  height: 1px;
  background: #eee;
  margin: 20px 0 30px;
}

/* ======================================================
   SINGLE PRODUCT NOTICE BAR
   Fixed content block shown between short description
   and variation/add-to-cart form
   ====================================================== */
.vp-single-product-notice {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  margin: 0 0 24px;
  padding: 14px 18px;
  border: 1px dashed #b85a4b;
  background: #FFFDF8;
  text-align: center;
}

.vp-single-product-notice__text {
  font-size: 14px;
  line-height: 1.5;
  font-weight: 700;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: #3F3F46;
}

.vp-single-product-notice__highlight {
  color: #E5A03E;
  margin-left: 4px;
}

@media (max-width: 767px) {
  .vp-single-product-notice {
    margin: 0 0 20px;
    padding: 12px 14px;
  }

  .vp-single-product-notice__text {
    font-size: 12px;
  }
}

/* --- DROPDOWN (variation attributes) --- */
.vp-dropdown-container {
  position: relative;
  margin-bottom: 25px;
  width: 100%;
}

/* wrapper : trigger + menu + native select */
.vp-dropdown-shell {
  position: relative;
}

.vp-label {
  display: block;
  font-size: 14px;
  font-weight: 700;
  margin-bottom: 10px;
  color: var(--vp-text-main);
}

.vp-dropdown-trigger {
  width: 100%;
  background-color: var(--vp-white) !important;
  border: 1px solid var(--vp-border) !important;
  border-radius: var(--vp-radius);
  padding: 14px 18px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  cursor: pointer;
  transition: border-color 0.2s, background-color 0.2s;
  color: var(--vp-text-main) !important;
}

.vp-dropdown-trigger .vp-flex span,
.vp-dropdown-trigger .vp-flex,
.vp-dropdown-trigger i {
  color: var(--vp-text-main) !important;
}

.vp-dropdown-trigger:hover {
  border-color: var(--vp-text-light) !important;
  background: var(--vp-hover-gray) !important;
  color: var(--vp-text-main) !important;
}

.vp-dropdown-trigger:hover .vp-flex span,
.vp-dropdown-trigger:hover i {
  color: var(--vp-text-main) !important;
}

.vp-dropdown-selected-text {
  font-size: 14px;
  font-weight: 500;
}

.vp-color-preview {
  width: 24px;
  height: 24px;
  border-radius: 50%;
  border: 1px solid #ddd;
  margin-right: 12px;
}

.vp-bg-black { background-color: #000; }
.vp-bg-gold { background-color: #FACC15; }
.vp-bg-silver { background-color: #D1D5DB; }

.vp-dropdown-menu {
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  background: var(--vp-white);
  border: 1px solid var(--vp-border);
  border-radius: var(--vp-radius);
  box-shadow: 0 10px 30px rgba(0,0,0,0.08);
  z-index: 100;
  margin-top: 5px;
  overflow: hidden;
}

.vp-dropdown-option {
  padding: 12px 18px;
  display: flex;
  align-items: center;
  cursor: pointer;
  transition: background 0.2s;
  background: #FFFFFF;
}

.vp-dropdown-option span {
  font-size: 14px;
  font-weight: 500;
  color: var(--vp-text-main) !important;
}

.vp-dropdown-option:hover {
  background-color: var(--vp-hover-gray) !important;
}

.vp-dropdown-option:hover span {
  color: var(--vp-text-main) !important;
}

/* Hide native WooCommerce <select> used for variations (but keep for JS) */
.vp-dropdown-container select.vp-native-select {
  position: absolute !important;
  left: -9999px !important;
  opacity: 0;
  pointer-events: none;
  width: 0;
  height: 0;
  border: 0;
  padding: 0;
  margin: 0;
}

/* --- QUANTITY --- */
.vp-action-row {
  display: flex;
  gap: 20px;
  align-items: center;
  margin-bottom: 30px;
  flex-wrap: wrap;
}

.vp-qty-box {
  display: flex;
  align-items: center;
  justify-content: space-between;
  border: 1px solid var(--vp-border);
  border-radius: 8px;
  width: 150px;
  height: 48px;
  padding: 0 5px;
  background: var(--vp-white);
}

.vp-qty-btn {
  background: transparent !important;
  border: none;
  font-size: 20px;
  color: var(--vp-text-light);
  width: 40px;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: color 0.2s;
}

.vp-qty-btn:hover {
  color: var(--vp-text-main);
  background: transparent !important;
}

.vp-qty-input {
  width: 100%;
  text-align: center;
  border: 0 !important;
  outline: none !important;
  background: transparent !important;
  font-size: 16px;
  font-weight: 600;
  color: var(--vp-text-main);
  -moz-appearance: textfield;
}

.vp-qty-input::-webkit-outer-spin-button,
.vp-qty-input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

.vp-qty-note {
  font-size: 12px;
  color: var(--vp-text-light);
}

/* --- BUTTONS (GLOBAL VP BUTTON STYLE) --- */
.vp-btn-group {
  display: flex;
  flex-direction: column;
  gap: 15px;
}

/* equal-width first row for Add to cart + Buy Now */
.vp-btn-primary-row {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 15px;
  align-items: stretch;
}

.vp-btn-primary-row > * {
  width: 100%;
  min-width: 0;
}

/* main yellow button (Add to cart / View cart in modal) */
.vp-btn-primary {
  width: 100%;
  background-color: var(--vp-brand);
  color: var(--vp-text-main);
  border: none;
  padding: 16px 20px;
  border-radius: var(--vp-radius);
  font-weight: 700;
  font-size: 15px;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  gap: 10px;
  text-transform: none;
  line-height: 1.2;
  min-height: 52px;
  transition: background-color 0.2s ease, box-shadow 0.2s ease, transform 0.1s ease;
}

.vp-btn-primary span {
  color: var(--vp-text-main);
}

/* Woo single add to cart override */
.vp-product-page form.cart .single_add_to_cart_button.button.alt.vp-btn-primary,
.vp-product-page form.cart .single_add_to_cart_button.vp-btn-primary {
  background-color: var(--vp-brand) !important;
  color: var(--vp-text-main) !important;
  border: none !important;
  text-transform: none !important;
  line-height: 1.2 !important;
  padding: 16px 20px !important;
  min-height: 52px !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: 100%;
  border-radius: var(--vp-radius) !important;
}

.vp-product-page form.cart .single_add_to_cart_button.vp-btn-primary span {
  color: var(--vp-text-main) !important;
}

.vp-btn-primary:hover,
.vp-product-page form.cart .single_add_to_cart_button.vp-btn-primary:hover {
  background-color: var(--vp-brand-dark) !important;
  box-shadow: 0 8px 16px rgba(0,0,0,0.08);
}

/* Buy Now button */
.vp-btn-buy-now,
.vp-product-page form.cart .vp-btn-buy-now.button,
.vp-product-page form.cart button.vp-btn-buy-now {
  background: #000000 !important;
  color: #FFFFFF !important;
  border: 1px solid #000000 !important;
  border-radius: var(--vp-radius) !important;
  padding: 16px 20px !important;
  min-height: 52px !important;
  font-weight: 700 !important;
  font-size: 15px !important;
  line-height: 1.2 !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  text-align: center;
  width: 100%;
  transition: background-color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}

.vp-btn-buy-now span,
.vp-product-page form.cart .vp-btn-buy-now span {
  color: #FFFFFF !important;
}

.vp-btn-buy-now:hover,
.vp-product-page form.cart .vp-btn-buy-now.button:hover,
.vp-product-page form.cart button.vp-btn-buy-now:hover {
  background: #1f1f1f !important;
  border-color: #1f1f1f !important;
  color: #FFFFFF !important;
  box-shadow: 0 8px 16px rgba(0,0,0,0.14);
}

/* small PNG icon inside button */
.vp-btn-icon {
  width: 18px;
  height: 18px;
  display: inline-block;
  object-fit: contain;
}

/* secondary row (Wishlist + Share) */
.vp-btn-secondary-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 15px;
}

.vp-btn-outline {
  background: transparent;
  border: 1px solid var(--vp-border);
  padding: 12px 14px;
  border-radius: 8px;
  font-weight: 600;
  font-size: 14px;
  color: var(--vp-text-light);
  display: inline-flex;
  justify-content: center;
  align-items: center;
  gap: 8px;
  transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
  width: 100%;
}

.vp-btn-outline span {
  color: inherit;
}

.vp-btn-outline:hover {
  background: var(--vp-bg-gray);
  color: var(--vp-text-main);
  border-color: var(--vp-text-light);
}

@media (max-width: 767px) {
  .vp-btn-primary-row {
    grid-template-columns: 1fr;
  }
}

/* --- VARIATION FORM WRAP --- */
.vp-variation-form {
  margin-top: 10px;
}

.vp-add-to-cart-wrap {
  margin-top: 10px;
}

/* --- TABS --- */
.vp-tabs-wrapper {
  margin-top: 20px;
}

.vp-tabs-header {
  border-bottom: 1px solid var(--vp-border);
  margin-bottom: 30px;
  display: flex;
  gap: 30px;
  overflow-x: auto;
}

.vp-tab-link {
  background: transparent !important;
  border: none;
  padding-bottom: 15px;
  font-size: 15px;
  font-weight: 500;
  color: var(--vp-text-light);
  border-bottom: 3px solid transparent;
  cursor: pointer;
  transition: color 0.2s;
  white-space: nowrap;
}

.vp-tab-link:hover {
  color: var(--vp-text-main);
}

.vp-tab-link.active {
  color: var(--vp-text-main) !important;
  border-bottom-color: var(--vp-brand) !important;
  font-weight: 700;
  background: transparent !important;
}

.vp-tab-content {
  max-width: 900px;
  color: var(--vp-text-light);
  line-height: 1.8;
  font-size: 14px;
}

.vp-tab-content h2,
.vp-tab-content h3,
.vp-tab-content h4 {
  color: var(--vp-text-main);
}

.vp-spec-table {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 15px;
}

@media (max-width: 768px) {
  .vp-spec-table {
    grid-template-columns: 1fr;
  }
}

.vp-spec-row {
  background: var(--vp-bg-gray);
  padding: 15px 20px;
  border-radius: 8px;
  display: flex;
  justify-content: space-between;
  color: var(--vp-text-main);
}

/* ======================================================
   REVIEWS TAB STYLES
   ====================================================== */
.vp-reviews-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 20px;
  gap: 15px;
}

.vp-reviews-header h3 {
  font-size: 24px;
  font-weight: 700;
  color: var(--vp-text-main);
}

.vp-btn-review {
  background: var(--vp-brand);
  color: var(--vp-text-main);
  border: none;
  padding: 10px 22px;
  border-radius: 999px;
  font-size: 14px;
  font-weight: 600;
  box-shadow: 0 8px 18px rgba(0,0,0,0.06);
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.vp-btn-review:hover {
  background: var(--vp-brand-dark);
}

.vp-reviews-summary {
  background: var(--vp-white);
  border: 1px solid var(--vp-border);
  border-radius: 16px;
  padding: 24px 28px;
  display: flex;
  gap: 40px;
  align-items: center;
  margin-bottom: 24px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.03);
}

.vp-reviews-score {
  min-width: 150px;
}

.vp-reviews-score-main {
  font-size: 44px;
  font-weight: 700;
  color: var(--vp-text-main);
  line-height: 1;
}

.vp-reviews-score-stars {
  margin: 10px 0 6px;
}

.vp-reviews-score-count {
  font-size: 13px;
  color: var(--vp-text-light);
}

.vp-reviews-bars {
  flex: 1;
}

.vp-rating-row {
  display: grid;
  grid-template-columns: 40px 1fr 40px;
  align-items: center;
  gap: 12px;
  font-size: 13px;
  color: var(--vp-text-main);
  margin-bottom: 8px;
}

.vp-rating-track {
  height: 6px;
  border-radius: 999px;
  background: #E5E7EB;
  overflow: hidden;
}

.vp-rating-fill {
  height: 100%;
  border-radius: 999px;
  background: var(--vp-brand);
}

/* Reviews list wrapper */
.vp-reviews-list {
  display: block;
}

.vp-reviews-list--cards {
  display: block;
}

/* Review card (list) */
.vp-review-card,
.vp-review-card--list {
  display: flex;
  gap: 18px;
  padding: 18px 20px;
  border: 1px solid var(--vp-border);
  border-radius: 16px;
  background: var(--vp-white);
  margin-bottom: 16px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.02);
}

/* Avatar */
.vp-review-avatar,
.vp-review-avatar--list {
  width: 52px;
  height: 52px;
  border-radius: 50%;
  overflow: hidden;
  flex-shrink: 0;
  margin-top: 6px;
}

/* Body */
.vp-review-body,
.vp-review-body--list {
  flex: 1;
  min-width: 0;
}

/* Meta row */
.vp-review-meta,
.vp-review-meta--list {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 4px;
  flex-wrap: wrap;
}

.vp-review-name,
.vp-review-name--list {
  font-weight: 700;
  font-size: 15px;
  color: var(--vp-text-main);
  line-height: 1.2;
}

/* Verified badge (static) */
.vp-badge-verified {
  font-size: 11px;
  font-weight: 600;
  color: #059669;
  background: #ECFDF5;
  padding: 3px 10px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  white-space: nowrap;
}

.vp-badge-verified i {
  font-size: 10px;
}

/* Static modifier */
.vp-badge-verified--static {
  color: #0f9d58;
  background: #eafaf2;
  border: 1px solid rgba(15,157,88,0.18);
}

/* Rating row */
.vp-review-rating-row,
.vp-review-rating-row--list {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 12px;
  color: var(--vp-text-light);
  margin-bottom: 6px;
  flex-wrap: wrap;
}

.vp-review-date,
.vp-review-date--list {
  font-size: 12px;
  color: var(--vp-text-light);
}

/* Review text */
.vp-review-text,
.vp-review-text--list {
  font-size: 14px;
  color: var(--vp-text-main);
  line-height: 1.7;
  word-break: break-word;
}

/* Review uploaded image gallery */
.vp-review-images {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 14px;
}

.vp-review-image-link {
  width: 84px;
  height: 84px;
  border-radius: 12px;
  overflow: hidden;
  display: block;
  border: 1px solid var(--vp-border);
  background: #fff;
  box-shadow: 0 2px 10px rgba(0,0,0,0.03);
}

.vp-review-image-link img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Responsive tweaks for reviews */
@media (max-width: 640px) {
  .vp-reviews-summary {
    flex-direction: column;
    align-items: flex-start;
    gap: 18px;
    padding: 18px;
  }

  .vp-review-card,
  .vp-review-card--list {
    flex-direction: row;
    gap: 14px;
    padding: 16px;
  }

  .vp-review-avatar,
  .vp-review-avatar--list {
    width: 44px;
    height: 44px;
    margin-top: 0;
  }

  .vp-reviews-header {
    flex-direction: column;
    align-items: flex-start;
  }

  .vp-btn-review {
    width: 100%;
    justify-content: center;
  }

  .vp-review-image-link {
    width: 72px;
    height: 72px;
  }
}

/* Review form basic tweaks */
#vp-review-form {
  margin-top: 20px;
}

#vp-review-form input[type="text"],
#vp-review-form input[type="email"],
#vp-review-form select,
#vp-review-form textarea {
  width: 100%;
  padding: 10px 12px;
  border-radius: 8px;
  border: 1px solid var(--vp-border);
  margin-top: 4px;
  font-size: 14px;
}

#vp-review-form label {
  font-size: 13px;
  font-weight: 500;
  color: var(--vp-text-main);
}

#vp-review-form .submit {
  margin-top: 10px;
}

/* ======================================================
   REVIEW POPUP MODAL (Write a Review)
   ====================================================== */
.vp-review-modal,
.vp-review-modal--popup {
  position: fixed;
  inset: 0;
  z-index: 10000;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.25s ease, visibility 0.25s ease;
  padding: 18px;
}

.vp-review-modal.vp-open,
.vp-review-modal--popup.vp-open {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

.vp-review-backdrop,
.vp-review-backdrop--popup {
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,0.45);
  backdrop-filter: blur(4px);
}

/* dialog */
.vp-review-dialog,
.vp-review-dialog--popup {
  position: relative;
  width: 620px;
  max-width: 95vw;
  background: var(--vp-white);
  border-radius: 20px;
  box-shadow: 0 24px 60px rgba(15,23,42,0.35);
  overflow: hidden;
  z-index: 1;
  display: flex;
  flex-direction: column;
}

@media (max-width: 640px) {
  .vp-review-dialog,
  .vp-review-dialog--popup {
    width: 100%;
    margin: 0;
    border-radius: 18px;
  }
}

/* close (X) */
.vp-review-close,
.vp-review-close--popup {
  position: absolute;
  top: 18px;
  right: 20px;
  width: 30px;
  height: 30px;
  border-radius: 999px;
  border: none;
  background: rgba(255,255,255,0.45);
  color: #111827;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  line-height: 1;
}

.vp-review-close span,
.vp-review-close--popup span {
  transform: translateY(-1px);
}

/* header – yellow bar */
.vp-review-header,
.vp-review-header--popup {
  background: linear-gradient(90deg, #FFBD59 0%, #FFB340 50%, #FFBD59 100%);
  padding: 24px 32px 18px;
  color: #111827;
}

.vp-review-header h3,
.vp-review-header--popup h3 {
  font-size: 22px;
  font-weight: 800;
  margin-bottom: 4px;
}

.vp-review-subtitle,
.vp-review-subtitle--popup {
  font-size: 14px;
  color: rgba(17,24,39,0.8);
}

/* body (popup) */
.vp-review-body-popup,
.vp-review-body--popup {
  padding: 20px 24px 12px;
}

.vp-review-inner-form,
.vp-review-inner-form--popup {
  width: 100%;
}

.vp-review-field-group,
.vp-review-field-group--popup {
  margin-bottom: 18px;
}

.vp-review-label,
.vp-review-label--popup {
  display: block;
  font-size: 14px;
  font-weight: 600;
  color: var(--vp-text-main);
  margin-bottom: 8px;
}

.vp-review-label .required {
  color: #EF4444;
}

/* rating stars row */
.vp-review-rating-group {
  margin-bottom: 18px;
}

.vp-review-stars-input,
.vp-review-stars-input--popup {
  display: inline-flex;
  gap: 8px;
  flex-wrap: wrap;
}

.vp-review-star,
.vp-review-star--popup {
  position: relative;
  width: 30px;
  height: 30px;
  border: none;
  background: transparent;
  padding: 0;
  cursor: pointer;
}

.vp-review-star::before,
.vp-review-star--popup::before {
  content: "";
  display: block;
  width: 30px;
  height: 30px;
  background-image: var(--vp-star-empty-img);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  filter: grayscale(1);
  opacity: 0.75;
  transition: filter 0.15s ease, opacity 0.15s ease, transform 0.1s ease;
}

.vp-review-star.is-active::before,
.vp-review-star.is-hover::before,
.vp-review-star--popup.is-active::before,
.vp-review-star--popup.is-hover::before {
  background-image: var(--vp-star-full-img);
  filter: none;
  opacity: 1;
}

.vp-review-star:hover::before,
.vp-review-star--popup:hover::before {
  transform: scale(1.03);
}

/* hide native select but keep for submission */
.vp-review-rating-select,
.vp-review-rating-select--popup {
  position: absolute;
  left: -9999px;
  width: 0;
  height: 0;
  opacity: 0;
  pointer-events: none;
}

/* textarea + inputs */
.vp-review-text-group textarea,
.vp-review-inner-form input[type="text"],
.vp-review-inner-form input[type="email"],
.vp-review-inner-form input[type="file"],
.vp-review-inner-form--popup input[type="text"],
.vp-review-inner-form--popup input[type="email"],
.vp-review-inner-form--popup input[type="file"] {
  width: 100%;
  border-radius: 14px;
  border: 1px solid var(--vp-border);
  padding: 12px 14px;
  font-size: 14px;
  color: var(--vp-text-main);
  resize: vertical;
  background: var(--vp-white);
}

.vp-review-text-group textarea {
  min-height: 140px;
}

.vp-review-text-group textarea::placeholder {
  color: #9CA3AF;
}

.vp-review-text-group textarea:focus,
.vp-review-inner-form input[type="text"]:focus,
.vp-review-inner-form input[type="email"]:focus,
.vp-review-inner-form input[type="file"]:focus,
.vp-review-inner-form--popup input[type="text"]:focus,
.vp-review-inner-form--popup input[type="email"]:focus,
.vp-review-inner-form--popup input[type="file"]:focus {
  border-color: var(--vp-brand);
  box-shadow: 0 0 0 1px rgba(250, 204, 21, 0.4);
}

/* Upload field */
.vp-review-upload-group {
  margin-top: 4px;
}

.vp-review-upload-note {
  margin-top: 8px;
  font-size: 12px;
  line-height: 1.6;
  color: var(--vp-text-light);
}

.vp-review-upload-preview {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 12px;
}

.vp-review-upload-preview-item {
  width: 72px;
  height: 72px;
  border-radius: 12px;
  overflow: hidden;
  border: 1px solid var(--vp-border);
  background: #fff;
  box-shadow: 0 2px 10px rgba(0,0,0,0.03);
}

.vp-review-upload-preview-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* footer buttons */
.vp-review-footer,
.vp-review-footer--popup {
  border-top: 1px solid var(--vp-border);
  background: #F3F4F6;
  padding: 14px 24px 16px;
  display: flex;
  justify-content: flex-end;
  gap: 12px;
}

.vp-review-cancel,
.vp-review-cancel--popup {
  background: #EEF0F4;
  border-radius: 12px;
  border: 1px solid #D1D5DB;
  padding: 12px 26px;
  font-size: 14px;
  font-weight: 600;
  color: var(--vp-text-main);
}

.vp-review-cancel:hover,
.vp-review-cancel--popup:hover {
  background: #E5E7EB;
}

.vp-review-submit,
.vp-review-submit--popup {
  min-width: 160px;
  border-radius: 12px;
}

@media (max-width: 640px) {
  .vp-review-body-popup,
  .vp-review-body--popup {
    padding: 18px 16px 10px;
  }
  .vp-review-footer,
  .vp-review-footer--popup {
    flex-direction: column-reverse;
    align-items: stretch;
    padding: 12px 16px 14px;
  }
  .vp-review-cancel,
  .vp-review-submit,
  .vp-review-cancel--popup,
  .vp-review-submit--popup {
    width: 100%;
    justify-content: center;
  }

  .vp-review-upload-preview-item {
    width: 64px;
    height: 64px;
  }
}

/* ======================================================
   GROUPED PRODUCTS TABLE
   ====================================================== */
.vp-grouped-products-wrapper {
  margin: 20px 0 30px;
}

.vp-grouped-table {
  width: 100%;
  border-collapse: collapse;
}

.vp-grouped-table tbody tr + tr {
  border-top: 1px solid var(--vp-border);
}

.vp-grouped-table td {
  padding: 10px 8px;
  vertical-align: middle;
}

.vp-grouped-col-quantity {
  width: 150px;
}

.vp-grouped-label a {
  font-weight: 600;
  color: var(--vp-text-main);
}

.vp-grouped-label a:hover {
  color: var(--vp-brand);
}

.vp-grouped-meta {
  margin-top: 4px;
}

.vp-grouped-price-wrapper {
  font-size: 14px;
  color: var(--vp-text-main);
  text-align: right;
}

.vp-grouped-add-to-cart-buttons {
  margin-top: 20px;
}

/* ======================================================
   SLIDER
   ====================================================== */
.vp-slider-section {
  margin-top: 80px;
  padding-top: 40px;
  border-top: 1px solid #eee;
  position: relative;
}

.vp-section-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  margin-bottom: 30px;
  gap: 10px;
}

.vp-section-title {
  font-size: 24px;
  font-weight: 700;
  color: var(--vp-text-main);
}

.vp-carousel {
  position: relative;
  overflow: hidden;
  border-radius: 16px;
  isolation: isolate;
  z-index: 1;
}

.vp-carousel-viewport {
  width: 100%;
  overflow: hidden;
}

.vp-carousel-track {
  display: flex;
  gap: 24px;
  will-change: transform;
  transition: transform 350ms ease;
  padding: 10px 5px 20px 5px;
}

/* ARROWS – circle black/dark, icon white */
.vp-carousel-btn {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 46px;
  height: 46px;
  border-radius: 50%;
  border: none;
  background: var(--vp-text-main); /* dark circle */
  color: var(--vp-white);          /* white icon */
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 10px 25px rgba(0,0,0,0.12);
  z-index: 3;
  pointer-events: auto;
  cursor: pointer;
}

.vp-carousel-btn:hover {
  background: var(--vp-brand);     /* theme yellow */
  color: var(--vp-text-main);      /* dark icon */
}

.vp-carousel-btn i {
  pointer-events: none;
}

.vp-carousel-prev {
  left: 10px;
}

.vp-carousel-next {
  right: 10px;
}

.vp-carousel-btn[disabled] {
  opacity: 0.35;
  cursor: not-allowed;
}

/* CARD – fixed width (JS calculation compatible) */
.vp-card {
  min-width: 260px;
  max-width: 260px;
  border: 1px solid var(--vp-border);
  border-radius: 16px;
  padding: 16px;
  background: var(--vp-white);
  position: relative;
  display: flex;
  flex-direction: column;
  transition: 0.3s;
  flex: 0 0 auto;
}

.vp-card:hover {
  box-shadow: 0 10px 25px rgba(0,0,0,0.08);
  border-color: var(--vp-text-light);
}

.vp-card-badge {
  position: absolute;
  top: 12px;
  left: 12px;
  background: var(--vp-brand);
  color: var(--vp-text-main);
  font-size: 11px;
  font-weight: 700;
  padding: 4px 10px;
  border-radius: 20px;
  z-index: 2;
}

/* UPDATED: make image box a bit smaller */
.vp-card-img {
  height: 230px; /* smaller so full image fits comfortably */
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 15px;
  border-radius: 8px;
  overflow: hidden;
}

/* UPDATED: full image, no crop */
.vp-card-img img {
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
  object-fit: contain;
  transition: 0.4s;
}

.vp-card:hover .vp-card-img img {
  transform: scale(1.05);
}

.vp-card-title {
  font-size: 14px;
  font-weight: 700;
  color: var(--vp-text-main);
  margin-bottom: 12px;
  min-height: 40px;
  line-height: 1.4;
}

.vp-card-price {
  display: flex;
  gap: 10px;
  align-items: center;
  margin-bottom: 15px;
}

.vp-new-price {
  font-weight: 700;
  color: var(--vp-text-main);
  font-size: 16px;
}

.vp-old-price {
  text-decoration: line-through;
  color: var(--vp-text-light);
  font-size: 13px;
}

.vp-card-footer {
  display: flex;
  gap: 8px;
  margin-top: auto;
}

/* view product button */
.vp-view-btn {
  background: var(--vp-text-main);
  color: var(--vp-white) !important;
  font-size: 11px;
  font-weight: 700;
  padding: 10px 16px;
  border-radius: 6px;
  border: none;
  transition: 0.2s;
  cursor: pointer;

  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
}

.vp-view-btn:hover {
  background: var(--vp-brand);
  color: var(--vp-text-main);
}

/* add / added / view cart button in slider */
.vp-add-btn {
  background: transparent;
  border: 1px solid var(--vp-border);
  color: var(--vp-text-main);
  font-size: 11px;
  font-weight: 700;
  padding: 10px;
  border-radius: 6px;
  flex-grow: 1;
  transition: 0.2s;
  cursor: pointer;

  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
}

.vp-add-btn:hover {
  background: var(--vp-bg-gray);
  border-color: var(--vp-text-light);
}

/* Woo default added_to_cart link, slider footer এ থাকলে center করা */
.vp-card-footer .added_to_cart {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  font-size: 11px;
  font-weight: 700;
  padding: 10px 16px;
  border-radius: 6px;
}

/* Added / View Cart state: dark bg + white text */
.vp-card-footer .added_to_cart,
.vp-card-footer .added_to_cart span,
.vp-add-btn.added,
.vp-add-btn.added span {
  background: var(--vp-text-main) !important;
  border-color: var(--vp-text-main) !important;
  color: var(--vp-white) !important;
}

@media (max-width: 420px) {
  .vp-card {
    min-width: 230px;
    max-width: 230px;
  }
}

@media (max-width: 767px) {
  .vp-product-page .vp-carousel[data-vp-mobile-single="1"] {
    padding-left: 0;
    padding-right: 0;
  }

  .vp-product-page .vp-carousel[data-vp-mobile-single="1"] .vp-carousel-viewport {
    width: 100%;
    overflow: hidden;
  }

  .vp-product-page .vp-carousel[data-vp-mobile-single="1"] .vp-carousel-track {
    gap: 16px;
    padding: 10px 0 20px;
    will-change: transform;
    touch-action: pan-y;
  }

  .vp-product-page .vp-carousel[data-vp-mobile-single="1"] .vp-card,
  .vp-product-page .vp-carousel[data-vp-mobile-single="1"] .vp-card[data-vp-carousel-slide] {
    min-width: 100% !important;
    max-width: 100% !important;
    width: 100% !important;
  }

  .vp-product-page .vp-carousel[data-vp-mobile-single="1"] .vp-card-img {
    height: 220px;
  }

  .vp-product-page .vp-carousel[data-vp-mobile-single="1"] .vp-carousel-prev {
    left: 12px;
  }

  .vp-product-page .vp-carousel[data-vp-mobile-single="1"] .vp-carousel-next {
    right: 12px;
  }

  .vp-product-page .vp-carousel[data-vp-mobile-single="1"] .vp-carousel-btn {
    width: 40px;
    height: 40px;
  }
}

/* Slider container isolation fixes */
.vp-slider-section,
.vp-carousel {
  position: relative !important;
  isolation: isolate !important;
}

/* Small tweaks for Woo messages inside layout – product page default bar hide */
.vp-product-page .woocommerce-message,
.vp-product-page .woocommerce-error,
.vp-product-page .woocommerce-info {
  display: none !important;
  margin-top: 20px;
}

/* ======================================================
   ADD TO CART POPUP MODAL (VP)
   ====================================================== */
.vp-ac-modal {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.25s ease, visibility 0.25s ease;
}

.vp-ac-modal.vp-ac-open {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

.vp-ac-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,0.45);
  backdrop-filter: blur(4px);
}

/* dialog card */
.vp-ac-dialog {
  position: relative;
  width: 560px;
  max-width: 90vw;
  background: var(--vp-white);
  border-radius: 22px;
  box-shadow: 0 24px 60px rgba(15,23,42,0.35);
  overflow: hidden;
  z-index: 1;
  display: flex;
  flex-direction: column;
}

@media (max-width: 640px) {
  .vp-ac-dialog {
    width: 100%;
    margin: 0 16px;
    border-radius: 18px;
  }
}

/* close button (X) */
.vp-ac-close {
  position: absolute;
  top: 16px;
  right: 18px;
  width: 32px;
  height: 32px;
  border-radius: 999px;
  border: none;
  background: rgba(255,255,255,0.25);
  color: #FFFFFF;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  line-height: 1;
  cursor: pointer;
}

.vp-ac-close span {
  transform: translateY(-1px);
}

/* header – green area */
.vp-ac-header {
  background: var(--vp-success);
  color: #FFFFFF;
  text-align: center;
  padding: 32px 32px 24px;
}

.vp-ac-check-wrap {
  width: 76px;
  height: 76px;
  border-radius: 50%;
  background: #FFFFFF;
  margin: 0 auto 16px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.vp-ac-check-icon {
  font-size: 36px;
  color: var(--vp-success);
}

.vp-ac-header h2 {
  font-size: 24px;
  font-weight: 800;
  margin-bottom: 6px;
}

.vp-ac-header p {
  font-size: 14px;
  opacity: 0.9;
}

/* body */
.vp-ac-body {
  padding: 22px 30px 10px;
}

/* product row */
.vp-ac-product {
  display: flex;
  gap: 16px;
  align-items: center;
  padding: 14px 16px;
  background: #F3F4FF;
  border-radius: 18px;
  margin-bottom: 22px;
}

.vp-ac-thumb {
  width: 70px;
  height: 70px;
  border-radius: 16px;
  overflow: hidden;
  background: #FFFFFF;
  flex-shrink: 0;
}

.vp-ac-thumb-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.vp-ac-product-info {
  flex: 1;
}

.vp-ac-product-title {
  font-size: 15px;
  font-weight: 700;
  color: var(--vp-text-main);
  margin-bottom: 6px;
}

.vp-ac-product-meta {
  font-size: 13px;
  color: var(--vp-text-light);
}

.vp-ac-meta-line {
  display: flex;
  align-items: center;
  gap: 6px;
}

.vp-ac-meta-label {
  font-weight: 600;
}

.vp-ac-meta-value {
  color: var(--vp-text-main);
}

/* summary card */
.vp-ac-summary {
  background: #FFF7E0;
  border-radius: 18px;
  padding: 16px 20px;
  border: 1px solid #FACC8A;
  margin-bottom: 24px;
}

.vp-ac-summary-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 14px;
  margin-bottom: 4px;
}

.vp-ac-summary-label {
  color: var(--vp-text-main);
  font-weight: 600;
}

.vp-ac-save-label {
  color: #059669;
}

.vp-ac-summary-value {
  font-weight: 700;
  color: var(--vp-text-main);
}

.vp-ac-save-amount {
  color: #059669;
}

/* footer buttons */
.vp-ac-footer {
  padding: 0 30px 26px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.vp-ac-view-cart {
  text-align: center;
  text-decoration: none;
}

/* View Cart button text = white */
.vp-ac-view-cart,
.vp-ac-view-cart span {
  color: var(--vp-white) !important;
}

.vp-ac-continue {
  border-radius: 999px;
}

/* mobile tweaks */
@media (max-width: 640px) {
  .vp-ac-body {
    padding: 18px 18px 8px;
  }
  .vp-ac-footer {
    padding: 0 18px 20px;
  }
}

/* ======================================================
   SHARE PRODUCT POPUP MODAL
   ====================================================== */
.vp-share-modal {
  position: fixed;
  inset: 0;
  z-index: 10000;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.25s ease, visibility 0.25s ease;
  padding: 18px;
}

.vp-share-modal.vp-share-open {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

.vp-share-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,0.45);
  backdrop-filter: blur(4px);
}

.vp-share-dialog {
  position: relative;
  width: 520px;
  max-width: 95vw;
  background: var(--vp-white);
  border-radius: 20px;
  box-shadow: 0 24px 60px rgba(0,0,0,0.35);
  overflow: hidden;
  z-index: 1;
  display: flex;
  flex-direction: column;
}

/* close button */
.vp-share-close {
  position: absolute;
  top: 18px;
  right: 20px;
  width: 30px;
  height: 30px;
  border-radius: 999px;
  border: none;
  background: rgba(255,255,255,0.35);
  color: #111827;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  line-height: 1;
}

.vp-share-close span {
  transform: translateY(-1px);
}

/* header – yellow block */
.vp-share-header {
  background: var(--vp-brand);
  padding: 24px 32px 18px;
  color: #111827;
}

.vp-share-header h3 {
  font-size: 22px;
  font-weight: 800;
  margin-bottom: 4px;
}

.vp-share-subtitle {
  font-size: 14px;
  opacity: 0.85;
}

/* body */
.vp-share-body {
  padding: 22px 26px 16px;
}

.vp-share-social-label {
  font-size: 14px;
  font-weight: 600;
  color: var(--vp-text-main);
  margin-bottom: 12px;
}

.vp-share-social-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin-bottom: 20px;
}

.vp-share-btn {
  border-radius: 999px;
  border: none;
  padding: 12px 18px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  font-size: 14px;
  font-weight: 600;
  color: #FFFFFF;
  cursor: pointer;
  box-shadow: 0 8px 18px rgba(0,0,0,0.06);
}

/* platform colors */
.vp-share-btn--facebook { background: #1877F2; }
.vp-share-btn--twitter  { background: #1DA1F2; }
.vp-share-btn--whatsapp { background: #25D366; }
.vp-share-btn--email    { background: #374151; }

.vp-share-btn:hover {
  filter: brightness(0.95);
}

/* icon placeholders – per platform PNG */
.vp-share-btn-icon {
  width: 18px;
  height: 18px;
  display: inline-block;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
}

/* Facebook icon */
.vp-share-btn--facebook .vp-share-btn-icon {
  background-image: url('https://vapeshop.socalbird.com/wp-content/uploads/2026/02/Vectorf.png');
}

/* Twitter icon */
.vp-share-btn--twitter .vp-share-btn-icon {
  background-image: url('https://vapeshop.socalbird.com/wp-content/uploads/2026/02/Icon-7.png');
}

/* WhatsApp icon */
.vp-share-btn--whatsapp .vp-share-btn-icon {
  background-image: url('https://vapeshop.socalbird.com/wp-content/uploads/2026/02/Vector-3.png');
}

/* Email icon */
.vp-share-btn--email .vp-share-btn-icon {
  background-image: url('https://vapeshop.socalbird.com/wp-content/uploads/2026/02/Icon-6.png');
}

/* OR separator */
.vp-share-or-row {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 16px 0 14px;
}

.vp-share-or-line {
  flex: 1;
  height: 1px;
  background: #E5E7EB;
}

.vp-share-or-text {
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--vp-text-light);
}

/* link input */
.vp-share-link-row {
  margin-bottom: 6px;
}

.vp-share-link-input {
  width: 100%;
  border-radius: 12px;
  border: 1px solid var(--vp-border);
  padding: 12px 14px;
  font-size: 14px;
  color: var(--vp-text-main);
  background: #F9FAFB;
}

/* footer – copy button */
.vp-share-footer {
  padding: 10px 26px 20px;
}

.vp-share-copy-btn {
  width: 100%;
  border-radius: 999px;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  gap: 8px;
}

.vp-share-copy-icon {
  width: 16px;
  height: 16px;
  border-radius: 999px;
  border: 2px solid var(--vp-text-main);
  position: relative;
}

.vp-share-copy-icon::before,
.vp-share-copy-icon::after {
  content: "";
  position: absolute;
  inset: 4px;
  border-radius: 2px;
  border: 1px solid var(--vp-text-main);
}

.vp-share-copy-text {
  font-size: 14px;
  font-weight: 700;
}

/* responsive share */
@media (max-width: 640px) {
  .vp-share-dialog {
    width: 100%;
    margin: 0;
    border-radius: 18px;
  }
  .vp-share-body {
    padding: 20px 18px 14px;
  }
  .vp-share-footer {
    padding: 8px 18px 18px;
  }
}

/* ======================================================
   HIDE WOO DEFAULT RATING STARS (double star fix)
   ====================================================== */
/* Woo default rating UI অনেক structure-এ আসতে পারে, তাই broad safe hide */
.vp-product-page #review_form .stars,
.vp-product-page #review_form p.stars,
.vp-product-page #review_form .comment-form-rating .stars,
.vp-product-page #review_form .comment-form-rating p.stars,
.vp-product-page #review_form .comment-form-rating label[for="rating"] + .stars,
.vp-product-page #review_form_wrapper .stars,
.vp-product-page #review_form_wrapper p.stars,
.vp-product-page #review_form_wrapper .comment-form-rating .stars,
.vp-product-page #review_form_wrapper .comment-form-rating p.stars,
.vp-product-page #review_form_wrapper .comment-form-rating label[for="rating"] + .stars,
.vp-product-page .woocommerce #review_form .stars,
.vp-product-page .woocommerce #review_form p.stars,
.vp-product-page .woocommerce #review_form_wrapper .stars,
.vp-product-page .woocommerce #review_form_wrapper p.stars,
body.single-product .vp-product-page #review_form .stars,
body.single-product .vp-product-page #review_form p.stars,
body.single-product .vp-product-page #review_form_wrapper .stars,
body.single-product .vp-product-page #review_form_wrapper p.stars {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  height: 0 !important;
  max-height: 0 !important;
  min-height: 0 !important;
  overflow: hidden !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
}

/* Extra safe hide for anchor-based default Woo stars */
.vp-product-page #review_form p.stars a,
.vp-product-page #review_form_wrapper p.stars a,
.vp-product-page #review_form .stars a,
.vp-product-page #review_form_wrapper .stars a {
  display: none !important;
}

/* Hidden rating input safe */
.vp-product-page #review_form input[type="hidden"]#rating,
.vp-product-page #review_form_wrapper input[type="hidden"]#rating {
  position: absolute !important;
  left: -9999px !important;
  opacity: 0 !important;
  pointer-events: none !important;
}





/* Single-product slider card er "View cart" (added_to_cart wc-forward) style */
.vp-product-page .vp-card-footer .added_to_cart.wc-forward {
    /* full width row */
    display: flex;
    width: 100%;

    /* center text */
    align-items: center;
    justify-content: center;
    text-align: center;

    /* button-er moto look (chaile change korte paro) */
    height: 48px;
    border-radius: 10px;
    background: var(--vp-brand);
    color: var(--vp-white);
    font-weight: 700;
    text-decoration: none;
}

/* hover effect (optional) */
.vp-product-page .vp-card-footer .added_to_cart.wc-forward:hover {
    opacity: 0.92;
}

/* ======================================================
   SEO CONTENT (Per Product) – Typography + Spacing Fix
   Scoped under .vp-product-page so it only affects single product layout
   ====================================================== */
.vp-product-page .vss-single-product-seo-content{
  margin-top: 28px;
  padding-top: 60px;
  border-top: 1px solid var(--vp-border);
  max-width: 100%;
}

/* Headings spacing */
.vp-product-page .vss-single-product-seo-content h1,
.vp-product-page .vss-single-product-seo-content h2,
.vp-product-page .vss-single-product-seo-content h3,
.vp-product-page .vss-single-product-seo-content h4,
.vp-product-page .vss-single-product-seo-content h5,
.vp-product-page .vss-single-product-seo-content h6{
  color: var(--vp-text-main);
  line-height: 1.25;
  margin: 18px 0 10px;
}

.vp-product-page .vss-single-product-seo-content h2{ font-size: 22px; font-weight: 800; }
.vp-product-page .vss-single-product-seo-content h3{ font-size: 18px; font-weight: 800; }
.vp-product-page .vss-single-product-seo-content h4{ font-size: 16px; font-weight: 800; }

/* Paragraph spacing */
.vp-product-page .vss-single-product-seo-content p{
  margin: 0 0 14px;
  color: var(--vp-text-light);
  font-size: 14px;
  line-height: 1.85;
}

/* Strong / emphasis */
.vp-product-page .vss-single-product-seo-content strong{
  color: var(--vp-text-main);
  font-weight: 700;
}

.vp-product-page .vss-single-product-seo-content em{
  color: var(--vp-text-main);
}

/* Links */
.vp-product-page .vss-single-product-seo-content a{
  color: var(--vp-text-main);
  text-decoration: underline;
  text-underline-offset: 3px;
  text-decoration-thickness: 1px;
}

.vp-product-page .vss-single-product-seo-content a:hover{
  color: var(--vp-brand-dark);
}

/* Lists */
.vp-product-page .vss-single-product-seo-content ul,
.vp-product-page .vss-single-product-seo-content ol{
  margin: 0 0 14px 18px;
  padding: 0;
  color: var(--vp-text-light);
  line-height: 1.85;
  font-size: 14px;
}

.vp-product-page .vss-single-product-seo-content li{
  margin: 0 0 8px;
}

/* Blockquote */
.vp-product-page .vss-single-product-seo-content blockquote{
  margin: 16px 0;
  padding: 14px 16px;
  border-left: 3px solid var(--vp-brand);
  background: var(--vp-bg-gray);
  border-radius: 12px;
  color: var(--vp-text-main);
}

.vp-product-page .vss-single-product-seo-content blockquote p{
  margin-bottom: 0;
  color: var(--vp-text-main);
}

/* Images inside SEO content */
.vp-product-page .vss-single-product-seo-content img{
  max-width: 100%;
  height: auto;
  border-radius: 12px;
  margin: 14px 0;
}

/* Tables (if editor inserts any) */
.vp-product-page .vss-single-product-seo-content table{
  width: 100%;
  border-collapse: collapse;
  margin: 14px 0 18px;
  border: 1px solid var(--vp-border);
  border-radius: 12px;
  overflow: hidden;
}

.vp-product-page .vss-single-product-seo-content th,
.vp-product-page .vss-single-product-seo-content td{
  padding: 12px 14px;
  border-bottom: 1px solid var(--vp-border);
  text-align: left;
  font-size: 14px;
}

.vp-product-page .vss-single-product-seo-content th{
  background: var(--vp-bg-gray);
  color: var(--vp-text-main);
  font-weight: 700;
}

/* Last element bottom spacing cleanup */
.vp-product-page .vss-single-product-seo-content > *:last-child{
  margin-bottom: 0 !important;
}

/* ======================================================
   PRODUCT DESCRIPTION TAB – Professional Typography + Tables
   Scoped only to the single product description tab
   ====================================================== */
.vp-product-page #vp-tab-panel-desc {
  width: 100%;
}

.vp-product-page #vp-tab-panel-desc > h3 {
  font-size: 22px !important;
  font-weight: 800 !important;
  line-height: 1.3;
  letter-spacing: -0.01em;
  color: var(--vp-text-main) !important;
  margin: 0 0 22px !important;
}

.vp-product-page #vp-desc-body {
  width: 100%;
  max-width: 100%;
  color: var(--vp-text-light);
  font-size: 15px;
  line-height: 1.9;
  word-break: break-word;
}

.vp-product-page #vp-desc-body > *:first-child {
  margin-top: 0 !important;
}

.vp-product-page #vp-desc-body > *:last-child {
  margin-bottom: 0 !important;
}

.vp-product-page #vp-desc-body h1,
.vp-product-page #vp-desc-body h2,
.vp-product-page #vp-desc-body h3,
.vp-product-page #vp-desc-body h4,
.vp-product-page #vp-desc-body h5,
.vp-product-page #vp-desc-body h6 {
  color: var(--vp-text-main);
  line-height: 1.3;
  letter-spacing: -0.01em;
  margin: 26px 0 12px;
}

.vp-product-page #vp-desc-body h1 {
  font-size: 30px;
  font-weight: 800;
}

.vp-product-page #vp-desc-body h2 {
  font-size: 24px;
  font-weight: 800;
}

.vp-product-page #vp-desc-body h3 {
  font-size: 20px;
  font-weight: 700;
}

.vp-product-page #vp-desc-body h4 {
  font-size: 18px;
  font-weight: 700;
}

.vp-product-page #vp-desc-body h5,
.vp-product-page #vp-desc-body h6 {
  font-size: 16px;
  font-weight: 700;
}

.vp-product-page #vp-desc-body p {
  margin: 0 0 16px;
  color: var(--vp-text-light);
  font-size: 15px;
  line-height: 1.9;
}

.vp-product-page #vp-desc-body strong,
.vp-product-page #vp-desc-body b {
  color: var(--vp-text-main);
  font-weight: 700;
}

.vp-product-page #vp-desc-body em,
.vp-product-page #vp-desc-body i {
  font-style: italic;
}

.vp-product-page #vp-desc-body a {
  color: var(--vp-text-main);
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}

.vp-product-page #vp-desc-body a:hover {
  color: var(--vp-brand-dark);
}

.vp-product-page #vp-desc-body ul,
.vp-product-page #vp-desc-body ol {
  margin: 0 0 18px;
  padding-left: 22px;
  color: var(--vp-text-light);
}

.vp-product-page #vp-desc-body ul {
  list-style: disc;
}

.vp-product-page #vp-desc-body ol {
  list-style: decimal;
}

.vp-product-page #vp-desc-body li {
  margin-bottom: 10px;
  padding-left: 2px;
}

.vp-product-page #vp-desc-body li:last-child {
  margin-bottom: 0;
}

.vp-product-page #vp-desc-body li > p {
  margin-bottom: 0;
}

.vp-product-page #vp-desc-body blockquote {
  margin: 22px 0;
  padding: 18px 20px;
  border-left: 4px solid var(--vp-brand);
  border-radius: 0 14px 14px 0;
  background: var(--vp-bg-gray);
  color: var(--vp-text-main);
}

.vp-product-page #vp-desc-body blockquote p {
  color: var(--vp-text-main);
  margin-bottom: 0;
}

.vp-product-page #vp-desc-body img {
  max-width: 100%;
  height: auto;
  border-radius: 14px;
  margin: 18px 0;
}

.vp-product-page #vp-desc-body table {
  width: 100%;
  display: table;
  table-layout: fixed;
  border-collapse: separate;
  border-spacing: 0;
  margin: 22px 0;
  border: 1px solid var(--vp-border);
  border-radius: 14px;
  background: var(--vp-white);
  box-shadow: 0 8px 24px rgba(17, 24, 39, 0.04);
}

.vp-product-page #vp-desc-body table thead {
  background: var(--vp-bg-gray);
}

.vp-product-page #vp-desc-body table tbody tr:nth-child(even) {
  background: rgba(249, 250, 251, 0.8);
}

.vp-product-page #vp-desc-body table tr:last-child td {
  border-bottom: 0;
}

.vp-product-page #vp-desc-body table th,
.vp-product-page #vp-desc-body table td,
.vp-product-page #vp-desc-body table thead td {
  padding: 14px 16px;
  border-bottom: 1px solid var(--vp-border);
  text-align: left;
  vertical-align: top;
  font-size: 14px;
  line-height: 1.7;
  word-break: break-word;
}

.vp-product-page #vp-desc-body table th,
.vp-product-page #vp-desc-body table thead td {
  color: var(--vp-text-main);
  font-weight: 700;
  white-space: nowrap;
}

.vp-product-page #vp-desc-body hr {
  border: 0;
  border-top: 1px solid var(--vp-border);
  margin: 24px 0;
}

@media (max-width: 767px) {
  .vp-product-page #vp-desc-body table {
    display: block;
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  .vp-product-page #vp-desc-body table th,
  .vp-product-page #vp-desc-body table td,
  .vp-product-page #vp-desc-body table thead td {
    min-width: 140px;
    white-space: normal;
  }

  .vp-product-page #vp-tab-panel-desc > h3 {

    font-size: 20px !important;
    margin-bottom: 18px !important;
  }

  .vp-product-page #vp-desc-body {
    font-size: 14px;
    line-height: 1.85;
  }

  .vp-product-page #vp-desc-body h1 {
    font-size: 26px;
  }

  .vp-product-page #vp-desc-body h2 {
    font-size: 22px;
  }

  .vp-product-page #vp-desc-body h3 {
    font-size: 18px;
  }

  .vp-product-page #vp-desc-body h4,
  .vp-product-page #vp-desc-body h5,
  .vp-product-page #vp-desc-body h6 {
    font-size: 16px;
  }

  .vp-product-page #vp-desc-body p,
  .vp-product-page #vp-desc-body li,
  .vp-product-page #vp-desc-body table th,
  .vp-product-page #vp-desc-body table td,
  .vp-product-page #vp-desc-body table thead td {
    font-size: 14px;
  }

  .vp-product-page #vp-desc-body table th,
  .vp-product-page #vp-desc-body table td,
  .vp-product-page #vp-desc-body table thead td {
    min-width: 150px;
    padding: 12px 14px;
  }
}

/* Hide extra Product Description heading in description tab */
.vp-product-page #vp-tab-panel-desc > h3 {
  display: none !important;
}


/* ======================================================
   SINGLE PRODUCT EDITOR TABLES – Screenshot Style
   Applies to description tab + SEO content tables only
   ====================================================== */
.vp-product-page .vss-single-product-seo-content table,
.vp-product-page #vp-desc-body table {
  width: 100%;
  display: table;
  table-layout: fixed;
  border-collapse: separate;
  border-spacing: 0;
  margin: 22px 0;
  border: 1px solid #4B5563;
  border-radius: 4px;
  background: #E5E7EB;
  box-shadow: none;
  overflow: hidden;
}

.vp-product-page .vss-single-product-seo-content table thead,
.vp-product-page #vp-desc-body table thead,
.vp-product-page .vss-single-product-seo-content table thead tr,
.vp-product-page #vp-desc-body table thead tr {
  background: #F4B24B;
}

.vp-product-page .vss-single-product-seo-content table thead th,
.vp-product-page .vss-single-product-seo-content table thead td,
.vp-product-page #vp-desc-body table thead th,
.vp-product-page #vp-desc-body table thead td {
  background: #F4B24B;
  color: #FFFFFF;
  font-size: 14px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.02em;
  padding: 15px 18px;
  border-right: 1px solid rgba(255, 255, 255, 0.95);
  border-bottom: 1px solid #4B5563;
  text-align: left;
  vertical-align: middle;
  white-space: normal;
}

.vp-product-page .vss-single-product-seo-content table thead th:last-child,
.vp-product-page .vss-single-product-seo-content table thead td:last-child,
.vp-product-page #vp-desc-body table thead th:last-child,
.vp-product-page #vp-desc-body table thead td:last-child {
  border-right: 0;
}

.vp-product-page .vss-single-product-seo-content table thead strong,
.vp-product-page #vp-desc-body table thead strong {
  color: #FFFFFF;
  font-weight: 700;
}

.vp-product-page .vss-single-product-seo-content table tbody tr,
.vp-product-page #vp-desc-body table tbody tr,
.vp-product-page .vss-single-product-seo-content table tbody tr:nth-child(even),
.vp-product-page #vp-desc-body table tbody tr:nth-child(even),
.vp-product-page .vss-single-product-seo-content table tbody tr:nth-child(odd),
.vp-product-page #vp-desc-body table tbody tr:nth-child(odd) {
  background: #E5E7EB;
}

.vp-product-page .vss-single-product-seo-content table tbody th,
.vp-product-page .vss-single-product-seo-content table tbody td,
.vp-product-page #vp-desc-body table tbody th,
.vp-product-page #vp-desc-body table tbody td {
  background: #E5E7EB;
  color: #374151;
  padding: 15px 18px;
  border-right: 1px solid #6B7280;
  border-bottom: 1px solid #D1D5DB;
  text-align: left;
  vertical-align: middle;
  font-size: 14px;
  line-height: 1.55;
  word-break: break-word;
}

.vp-product-page .vss-single-product-seo-content table tbody tr:last-child th,
.vp-product-page .vss-single-product-seo-content table tbody tr:last-child td,
.vp-product-page #vp-desc-body table tbody tr:last-child th,
.vp-product-page #vp-desc-body table tbody tr:last-child td {
  border-bottom: 0;
}

.vp-product-page .vss-single-product-seo-content table tbody th:last-child,
.vp-product-page .vss-single-product-seo-content table tbody td:last-child,
.vp-product-page #vp-desc-body table tbody th:last-child,
.vp-product-page #vp-desc-body table tbody td:last-child {
  border-right: 0;
}

.vp-product-page .vss-single-product-seo-content table tbody strong,
.vp-product-page #vp-desc-body table tbody strong {
  color: var(--vp-text-main);
  font-weight: 700;
}

@media (max-width: 767px) {
  .vp-product-page .vss-single-product-seo-content table,
  .vp-product-page #vp-desc-body table {
    display: block;
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  .vp-product-page .vss-single-product-seo-content table thead th,
  .vp-product-page .vss-single-product-seo-content table thead td,
  .vp-product-page .vss-single-product-seo-content table tbody th,
  .vp-product-page .vss-single-product-seo-content table tbody td,
  .vp-product-page #vp-desc-body table thead th,
  .vp-product-page #vp-desc-body table thead td,
  .vp-product-page #vp-desc-body table tbody th,
  .vp-product-page #vp-desc-body table tbody td {
    min-width: 160px;
    padding: 13px 14px;
    font-size: 14px;
    white-space: normal;
  }
}
/* ======================================================
   CUSTOM PRODUCT DETAILS TABLE – Product Edit Panel Data
   Matches the single product screenshot-style table
   ====================================================== */
.vp-product-page .vss-product-details-table-wrap {
  width: 100%;
  margin: 24px 0 0;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.vp-product-page .vss-product-details-table {
  width: 100%;
  min-width: 640px;
  table-layout: fixed;
  border-collapse: separate;
  border-spacing: 0;
  border: 1px solid #4B5563;
  border-radius: 4px;
  overflow: hidden;
  background: #E5E7EB;
  box-shadow: none;
}

.vp-product-page .vss-product-details-table thead,
.vp-product-page .vss-product-details-table thead tr {
  background: #F4B24B;
}

.vp-product-page .vss-product-details-table thead th {
  background: #F4B24B;
  color: #FFFFFF;
  font-size: 14px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.02em;
  padding: 15px 18px;
  border-right: 1px solid rgba(255, 255, 255, 0.95);
  border-bottom: 1px solid #4B5563;
  text-align: left;
  vertical-align: middle;
  white-space: normal;
}

.vp-product-page .vss-product-details-table thead th:last-child {
  border-right: 0;
}

.vp-product-page .vss-product-details-table tbody tr,
.vp-product-page .vss-product-details-table tbody tr:nth-child(even),
.vp-product-page .vss-product-details-table tbody tr:nth-child(odd) {
  background: #E5E7EB;
}

.vp-product-page .vss-product-details-table tbody th,
.vp-product-page .vss-product-details-table tbody td {
  background: #E5E7EB;
  color: #374151;
  padding: 15px 18px;
  border-right: 1px solid #6B7280;
  border-bottom: 1px solid #D1D5DB;
  text-align: left;
  vertical-align: middle;
  font-size: 14px;
  line-height: 1.55;
  word-break: break-word;
}

.vp-product-page .vss-product-details-table tbody th {
  color: var(--vp-text-main);
  font-weight: 700;
}

.vp-product-page .vss-product-details-table tbody tr:last-child th,
.vp-product-page .vss-product-details-table tbody tr:last-child td {
  border-bottom: 0;
}

.vp-product-page .vss-product-details-table tbody th:last-child,
.vp-product-page .vss-product-details-table tbody td:last-child {
  border-right: 0;
}

.vp-product-page .vss-product-details-table tbody strong,
.vp-product-page .vss-product-details-table tbody b {
  color: var(--vp-text-main);
  font-weight: 700;
}

.vp-product-page .vss-product-details-table tbody p {
  margin: 0 0 8px;
}

.vp-product-page .vss-product-details-table tbody p:last-child {
  margin-bottom: 0;
}

@media (max-width: 767px) {
  .vp-product-page .vss-product-details-table-wrap {
    margin-top: 20px;
  }

  .vp-product-page .vss-product-details-table thead th,
  .vp-product-page .vss-product-details-table tbody th,
  .vp-product-page .vss-product-details-table tbody td {
    min-width: 160px;
    padding: 13px 14px;
    font-size: 14px;
    white-space: normal;
  }
}