/* Vita Vision Shop Designer 0.1.2
   Shop archive refinement. Scoped to WooCommerce pages. */

body.vv-shop-designer {
  --vvsd-bg: #101010;
  --vvsd-card: #1b1b1b;
  --vvsd-card-hover: #202020;
  --vvsd-text: #f5f5f5;
  --vvsd-muted: #929292;
  --vvsd-orange: #f28c28;
  background: var(--vvsd-bg) !important;
  color: var(--vvsd-text) !important;
}
body.vv-shop-designer .woocommerce,
body.vv-shop-designer .woocommerce-page {
  color: var(--vvsd-text) !important;
}

/* Archive heading: move it into alignment with the product grid and clear the theme header. */
body.vv-shop-designer.post-type-archive-product .woocommerce-products-header,
body.vv-shop-designer.tax-product_cat .woocommerce-products-header,
body.vv-shop-designer.tax-product_tag .woocommerce-products-header {
  width: min(1170px, calc(100% - 48px)) !important;
  max-width: 1170px !important;
  margin: 0 auto 30px !important;
  padding: 128px 0 0 !important;
  box-sizing: border-box !important;
}
body.vv-shop-designer .woocommerce-products-header__title,
body.vv-shop-designer h1.page-title {
  color: #fff !important;
  font-size: clamp(34px, 4vw, 54px) !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  letter-spacing: .055em !important;
  text-transform: uppercase !important;
  margin: 0 0 12px !important;
}
body.vv-shop-designer .woocommerce-products-header p {
  color: var(--vvsd-muted) !important;
}

/* Results and sorting toolbar */
body.vv-shop-designer .woocommerce-result-count,
body.vv-shop-designer .woocommerce-ordering {
  color: #c9c9c9 !important;
  margin-bottom: 18px !important;
}
body.vv-shop-designer .woocommerce-ordering select {
  min-height: 44px !important;
  padding: 0 38px 0 14px !important;
  background-color: #171717 !important;
  border: 1px solid rgba(255,255,255,.16) !important;
  border-radius: 5px !important;
  color: #e8e8e8 !important;
}

/* Grid and product cards */
body.vv-shop-designer.woocommerce ul.products,
body.vv-shop-designer.woocommerce-page ul.products {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 24px !important;
  margin: 0 !important;
}
body.vv-shop-designer.woocommerce ul.products::before,
body.vv-shop-designer.woocommerce ul.products::after,
body.vv-shop-designer.woocommerce-page ul.products::before,
body.vv-shop-designer.woocommerce-page ul.products::after {
  content: none !important;
  display: none !important;
}
body.vv-shop-designer.woocommerce ul.products li.product,
body.vv-shop-designer.woocommerce-page ul.products li.product {
  display: flex !important;
  flex-direction: column !important;
  float: none !important;
  width: auto !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 12px !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
  background: var(--vvsd-card) !important;
  border: 1px solid rgba(255,255,255,.11) !important;
  border-radius: 10px !important;
  box-shadow: 0 8px 24px rgba(0,0,0,.18) !important;
  transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease, background .25s ease !important;
}
body.vv-shop-designer.woocommerce ul.products li.product:hover,
body.vv-shop-designer.woocommerce-page ul.products li.product:hover {
  transform: translateY(-4px);
  background: var(--vvsd-card-hover) !important;
  border-color: rgba(242,140,40,.65) !important;
  box-shadow: 0 16px 36px rgba(0,0,0,.34) !important;
}
body.vv-shop-designer.woocommerce ul.products li.product a.woocommerce-LoopProduct-link,
body.vv-shop-designer.woocommerce-page ul.products li.product a.woocommerce-LoopProduct-link {
  display: block !important;
  color: inherit !important;
}
body.vv-shop-designer.woocommerce ul.products li.product a img,
body.vv-shop-designer.woocommerce-page ul.products li.product a img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 1 / 1 !important;
  object-fit: contain !important;
  object-position: center !important;
  background: #111 !important;
  border-radius: 6px !important;
  margin: 0 0 15px !important;
}
body.vv-shop-designer.woocommerce ul.products li.product .woocommerce-loop-product__title,
body.vv-shop-designer.woocommerce-page ul.products li.product .woocommerce-loop-product__title {
  color: #f5f5f5 !important;
  min-height: 2.8em !important;
  font-size: 16px !important;
  font-weight: 750 !important;
  line-height: 1.4 !important;
  padding: 0 !important;
  margin: 0 0 8px !important;
}
body.vv-shop-designer.woocommerce ul.products li.product .price,
body.vv-shop-designer.woocommerce-page ul.products li.product .price {
  color: var(--vvsd-orange) !important;
  font-size: 16px !important;
  font-weight: 800 !important;
  line-height: 1.3 !important;
  margin: auto 0 2px !important;
  padding-top: 8px !important;
}
body.vv-shop-designer.woocommerce ul.products li.product .price del {
  color: #888 !important;
  opacity: .8 !important;
}
body.vv-shop-designer.woocommerce ul.products li.product .price ins {
  color: var(--vvsd-orange) !important;
  text-decoration: none !important;
}
body.vv-shop-designer.woocommerce ul.products li.product .ast-woo-product-category,
body.vv-shop-designer.woocommerce ul.products li.product .product-category,
body.vv-shop-designer.woocommerce ul.products li.product .posted_in {
  color: var(--vvsd-muted) !important;
}

/* Orange details and buttons */
body.vv-shop-designer .woocommerce span.onsale {
  min-height: auto !important;
  min-width: auto !important;
  line-height: 1 !important;
  padding: 8px 11px !important;
  border-radius: 5px !important;
  background: var(--vvsd-orange) !important;
  color: #101010 !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
}
body.vv-shop-designer .woocommerce a.button,
body.vv-shop-designer .woocommerce button.button,
body.vv-shop-designer .woocommerce input.button,
body.vv-shop-designer .woocommerce #respond input#submit,
body.vv-shop-designer .woocommerce button.single_add_to_cart_button {
  background: var(--vvsd-orange) !important;
  color: #101010 !important;
  border: 1px solid var(--vvsd-orange) !important;
  border-radius: 6px !important;
  padding: 12px 18px !important;
  font-weight: 800 !important;
  transition: background .2s ease, transform .2s ease !important;
}
body.vv-shop-designer .woocommerce a.button:hover,
body.vv-shop-designer .woocommerce button.button:hover,
body.vv-shop-designer .woocommerce input.button:hover {
  background: #ffad5c !important;
  border-color: #ffad5c !important;
  color: #101010 !important;
  transform: translateY(-1px);
}

/* Preserve the existing theme header and navigation. */
body.vv-shop-designer #ashade-header {
  z-index: 1000;
}

/* Pagination */
body.vv-shop-designer .woocommerce nav.woocommerce-pagination ul {
  border: 0 !important;
  display: flex !important;
  gap: 8px !important;
  justify-content: center !important;
}
body.vv-shop-designer .woocommerce nav.woocommerce-pagination ul li {
  border: 0 !important;
}
body.vv-shop-designer .woocommerce nav.woocommerce-pagination ul li a,
body.vv-shop-designer .woocommerce nav.woocommerce-pagination ul li span {
  min-width: 38px !important;
  padding: 10px !important;
  background: #1b1b1b !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  border-radius: 5px !important;
  color: #eee !important;
}
body.vv-shop-designer .woocommerce nav.woocommerce-pagination ul li span.current,
body.vv-shop-designer .woocommerce nav.woocommerce-pagination ul li a:hover {
  background: var(--vvsd-orange) !important;
  border-color: var(--vvsd-orange) !important;
  color: #101010 !important;
}

@media (max-width: 1100px) {
  body.vv-shop-designer.woocommerce ul.products,
  body.vv-shop-designer.woocommerce-page ul.products {
    gap: 18px !important;
  }
  body.vv-shop-designer.post-type-archive-product .woocommerce-products-header,
  body.vv-shop-designer.tax-product_cat .woocommerce-products-header,
  body.vv-shop-designer.tax-product_tag .woocommerce-products-header {
    padding-top: 110px !important;
  }
}
@media (max-width: 760px) {
  body.vv-shop-designer.woocommerce ul.products,
  body.vv-shop-designer.woocommerce-page ul.products {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 14px !important;
  }
  body.vv-shop-designer.post-type-archive-product .woocommerce-products-header,
  body.vv-shop-designer.tax-product_cat .woocommerce-products-header,
  body.vv-shop-designer.tax-product_tag .woocommerce-products-header {
    width: calc(100% - 32px) !important;
    padding-top: 100px !important;
  }
}
@media (max-width: 480px) {
  body.vv-shop-designer.woocommerce ul.products,
  body.vv-shop-designer.woocommerce-page ul.products {
    gap: 10px !important;
  }
  body.vv-shop-designer.woocommerce ul.products li.product,
  body.vv-shop-designer.woocommerce-page ul.products li.product {
    padding: 8px !important;
  }
  body.vv-shop-designer.woocommerce ul.products li.product .woocommerce-loop-product__title,
  body.vv-shop-designer.woocommerce-page ul.products li.product .woocommerce-loop-product__title {
    min-height: 3.8em !important;
    font-size: 13px !important;
  }
  body.vv-shop-designer .woocommerce-result-count {
    float: none !important;
    margin-bottom: 8px !important;
  }
  body.vv-shop-designer .woocommerce-ordering {
    float: none !important;
    margin-bottom: 16px !important;
  }
}

/* Vita Vision Shop Designer 0.2.3
   One consolidated Ashade archive cart-button definition. */

/* Establish the product card as the positioning context. */
body.vv-shop-designer.woocommerce ul.products li.product,
body.vv-shop-designer.woocommerce-page ul.products li.product {
  position: relative !important;
}

/* Ashade image area and its tools wrapper. */
body.vv-shop-designer .ashade-woo-loop-item__image-wrap {
  position: relative !important;
}
body.vv-shop-designer .ashade-woo-loop-item__image-wrap > .ashade-woo-loop-item__tools {
  position: absolute !important;
  top: 14px !important;
  right: 14px !important;
  left: auto !important;
  bottom: auto !important;
  z-index: 100 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 44px !important;
  height: 44px !important;
  margin: 0 !important;
  padding: 0 !important;
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
  background: transparent !important;
  box-shadow: none !important;
  pointer-events: auto !important;
}

/* Keep the actual WooCommerce link and its AJAX behavior intact. */
body.vv-shop-designer .ashade-woo-loop-item__image-wrap > .ashade-woo-loop-item__tools > a.ashade-woo-loop-item__add2cart {
  position: relative !important;
  inset: auto !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-sizing: border-box !important;
  width: 44px !important;
  height: 44px !important;
  min-width: 44px !important;
  min-height: 44px !important;
  max-width: 44px !important;
  max-height: 44px !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  border: 1px solid rgba(255,255,255,.34) !important;
  border-radius: 50% !important;
  background: #f28c28 !important;
  color: #101010 !important;
  box-shadow: 0 5px 18px rgba(0,0,0,.38) !important;
  font-size: 0 !important;
  line-height: 0 !important;
  text-indent: -9999px !important;
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
  transition: background .2s ease, box-shadow .2s ease, transform .2s ease !important;
}

/* Hide every Ashade-provided icon/state. The only visible glyph is our local SVG. */
body.vv-shop-designer .ashade-woo-loop-item__tools > a.ashade-woo-loop-item__add2cart > svg,
body.vv-shop-designer .ashade-woo-loop-item__tools > a.ashade-woo-loop-item__add2cart > span,
body.vv-shop-designer .ashade-woo-loop-item__tools > a.ashade-woo-loop-item__add2cart .ashade-woo-icon--a2c,
body.vv-shop-designer .ashade-woo-loop-item__tools > a.ashade-woo-loop-item__add2cart .ashade-woo-icon--a2c-done,
body.vv-shop-designer .ashade-woo-loop-item__tools > a.ashade-woo-loop-item__add2cart .ashade-woo-icon--a2c-progress {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  width: 0 !important;
  height: 0 !important;
  content: none !important;
}

body.vv-shop-designer .ashade-woo-loop-item__tools > a.ashade-woo-loop-item__add2cart::before {
  content: "" !important;
  display: block !important;
  position: static !important;
  flex: 0 0 22px !important;
  width: 22px !important;
  height: 22px !important;
  min-width: 22px !important;
  margin: 0 !important;
  padding: 0 !important;
  background-color: #101010 !important;
  -webkit-mask-image: url("shopping-cart.svg") !important;
  mask-image: url("shopping-cart.svg") !important;
  -webkit-mask-repeat: no-repeat !important;
  mask-repeat: no-repeat !important;
  -webkit-mask-position: center !important;
  mask-position: center !important;
  -webkit-mask-size: contain !important;
  mask-size: contain !important;
  transform: none !important;
}

body.vv-shop-designer .ashade-woo-loop-item__image-wrap > .ashade-woo-loop-item__tools > a.ashade-woo-loop-item__add2cart:hover {
  background: #ffad5c !important;
  border-color: #ffcf9f !important;
  box-shadow: 0 7px 22px rgba(242,140,40,.38) !important;
  transform: translateY(-2px) scale(1.05) !important;
}
body.vv-shop-designer .ashade-woo-loop-item__tools > a.ashade-woo-loop-item__add2cart.loading::before {
  opacity: .35 !important;
}

/* Suppress Ashade's duplicate view/success overlays, not the cart link. */
body.vv-shop-designer .ashade-woo-loop-item__view,
body.vv-shop-designer .ashade-woo-loop-item__image-wrap a.added_to_cart,
body.vv-shop-designer .ashade-woo-loop-item__image-wrap .added_to_cart,
body.vv-shop-designer .ashade-woo-loop-item__image-wrap .ashade-woo-loop-item__added,
body.vv-shop-designer .ashade-woo-loop-item__image-wrap .ashade-woo-loop-item__added-to-cart,
body.vv-shop-designer .ashade-woo-loop-item__image-wrap .ashade-woo-loop-item__view-cart {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}
body.vv-shop-designer .ashade-woo-loop-item__image-wrap .ashade-woo-loop-item__tools:not(:has(a.ashade-woo-loop-item__add2cart)) {
  display: none !important;
}

@media (max-width: 560px) {
  body.vv-shop-designer .ashade-woo-loop-item__image-wrap > .ashade-woo-loop-item__tools {
    top: 10px !important;
    right: 10px !important;
    width: 38px !important;
    height: 38px !important;
  }
  body.vv-shop-designer .ashade-woo-loop-item__image-wrap > .ashade-woo-loop-item__tools > a.ashade-woo-loop-item__add2cart {
    width: 38px !important;
    height: 38px !important;
    min-width: 38px !important;
    min-height: 38px !important;
    max-width: 38px !important;
    max-height: 38px !important;
  }
}


/* Vita Vision Shop Designer 0.2.4
   Premium product information area: category, title and price. */
body.vv-shop-designer.woocommerce ul.products li.product,
body.vv-shop-designer.woocommerce-page ul.products li.product {
  padding-bottom: 15px !important;
}

/* Category label: a quiet orange eyebrow instead of plain grey text. */
body.vv-shop-designer.woocommerce ul.products li.product .ashade-woo-loop-item__category,
body.vv-shop-designer.woocommerce ul.products li.product .ashade-woo-loop-item__categories,
body.vv-shop-designer.woocommerce ul.products li.product .product-category,
body.vv-shop-designer.woocommerce ul.products li.product .posted_in,
body.vv-shop-designer.woocommerce-page ul.products li.product .ashade-woo-loop-item__category,
body.vv-shop-designer.woocommerce-page ul.products li.product .ashade-woo-loop-item__categories,
body.vv-shop-designer.woocommerce-page ul.products li.product .product-category,
body.vv-shop-designer.woocommerce-page ul.products li.product .posted_in {
  display: inline-flex !important;
  align-items: center !important;
  width: fit-content !important;
  max-width: 100% !important;
  margin: 1px 0 7px !important;
  padding: 3px 7px !important;
  border: 1px solid rgba(242,140,40,.20) !important;
  border-radius: 4px !important;
  background: rgba(242,140,40,.075) !important;
  color: #c98a50 !important;
  font-size: 9px !important;
  font-weight: 750 !important;
  line-height: 1.35 !important;
  letter-spacing: .11em !important;
  text-transform: uppercase !important;
}
body.vv-shop-designer.woocommerce ul.products li.product .ashade-woo-loop-item__category a,
body.vv-shop-designer.woocommerce ul.products li.product .ashade-woo-loop-item__categories a,
body.vv-shop-designer.woocommerce ul.products li.product .product-category a,
body.vv-shop-designer.woocommerce ul.products li.product .posted_in a,
body.vv-shop-designer.woocommerce-page ul.products li.product .ashade-woo-loop-item__category a,
body.vv-shop-designer.woocommerce-page ul.products li.product .ashade-woo-loop-item__categories a,
body.vv-shop-designer.woocommerce-page ul.products li.product .product-category a,
body.vv-shop-designer.woocommerce-page ul.products li.product .posted_in a {
  color: inherit !important;
  text-decoration: none !important;
}

/* Product name: stronger hierarchy and consistent two-line rhythm. */
body.vv-shop-designer.woocommerce ul.products li.product .woocommerce-loop-product__title,
body.vv-shop-designer.woocommerce-page ul.products li.product .woocommerce-loop-product__title,
body.vv-shop-designer.woocommerce ul.products li.product .ashade-woo-loop-item__title,
body.vv-shop-designer.woocommerce-page ul.products li.product .ashade-woo-loop-item__title {
  min-height: 2.65em !important;
  margin: 0 !important;
  color: #f7f7f7 !important;
  font-size: clamp(14px, 1.05vw, 17px) !important;
  font-weight: 760 !important;
  line-height: 1.32 !important;
  letter-spacing: -.025em !important;
  text-wrap: pretty;
}

/* Price: clean orange typography, no button-like frame. */
body.vv-shop-designer.woocommerce ul.products li.product .price,
body.vv-shop-designer.woocommerce-page ul.products li.product .price,
body.vv-shop-designer.woocommerce ul.products li.product .ashade-woo-loop-item__price,
body.vv-shop-designer.woocommerce-page ul.products li.product .ashade-woo-loop-item__price {
  display: inline-block !important;
  width: auto !important;
  max-width: 100% !important;
  margin: 0 0 0 auto !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  outline: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: #f28c28 !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  line-height: 1.3 !important;
  white-space: nowrap !important;
  font-variant-numeric: tabular-nums !important;
}
body.vv-shop-designer.woocommerce ul.products li.product .price *,
body.vv-shop-designer.woocommerce-page ul.products li.product .price *,
body.vv-shop-designer.woocommerce ul.products li.product .ashade-woo-loop-item__price *,
body.vv-shop-designer.woocommerce-page ul.products li.product .ashade-woo-loop-item__price * {
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  outline: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: inherit !important;
}
body.vv-shop-designer.woocommerce ul.products li.product .price del,
body.vv-shop-designer.woocommerce-page ul.products li.product .price del {
  margin-right: 4px !important;
  color: #8b8b8b !important;
  font-size: 11px !important;
}
body.vv-shop-designer.woocommerce ul.products li.product .price ins,
body.vv-shop-designer.woocommerce-page ul.products li.product .price ins {
  color: #ff9b3d !important;
  text-decoration: none !important;
}

@media (max-width: 760px) {
  body.vv-shop-designer.woocommerce ul.products li.product .woocommerce-loop-product__title,
  body.vv-shop-designer.woocommerce-page ul.products li.product .woocommerce-loop-product__title,
  body.vv-shop-designer.woocommerce ul.products li.product .ashade-woo-loop-item__title,
  body.vv-shop-designer.woocommerce-page ul.products li.product .ashade-woo-loop-item__title {
    min-height: 2.65em !important;
    font-size: 13px !important;
  }
  body.vv-shop-designer.woocommerce ul.products li.product .price,
  body.vv-shop-designer.woocommerce-page ul.products li.product .price,
  body.vv-shop-designer.woocommerce ul.products li.product .ashade-woo-loop-item__price,
  body.vv-shop-designer.woocommerce-page ul.products li.product .ashade-woo-loop-item__price {
    padding: 0 !important;
    font-size: 12px !important;
  }
}


/* Vita Vision Shop Designer 0.2.6
   Target Ashade's actual category markup confirmed in browser DevTools. */
body.vv-shop-designer.woocommerce ul.products li.product .ashade-woo-loop-item__footer > h6.ashade-woo-loop-item__title > span {
  display: block !important;
  margin: 0 0 5px !important;
  padding: 0 !important;
  line-height: 1.2 !important;
}
body.vv-shop-designer.woocommerce ul.products li.product .ashade-woo-loop-item__footer > h6.ashade-woo-loop-item__title > span > a[rel="tag"],
body.vv-shop-designer.woocommerce-page ul.products li.product .ashade-woo-loop-item__footer > h6.ashade-woo-loop-item__title > span > a[rel="tag"] {
  display: inline !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: #f28c28 !important;
  font-size: 9px !important;
  font-weight: 750 !important;
  line-height: 1.2 !important;
  letter-spacing: .12em !important;
  text-decoration: none !important;
  text-transform: uppercase !important;
}


/* Vita Vision Shop Designer 0.2.7
   Align Ashade's product price with the product-name row, not the card bottom. */
body.vv-shop-designer.woocommerce ul.products li.product .ashade-woo-loop-item__footer,
body.vv-shop-designer.woocommerce-page ul.products li.product .ashade-woo-loop-item__footer {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  grid-template-rows: auto auto !important;
  align-items: center !important;
  column-gap: 14px !important;
  row-gap: 5px !important;
}
body.vv-shop-designer.woocommerce ul.products li.product .ashade-woo-loop-item__footer > h6.ashade-woo-loop-item__title,
body.vv-shop-designer.woocommerce-page ul.products li.product .ashade-woo-loop-item__footer > h6.ashade-woo-loop-item__title {
  display: contents !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}
body.vv-shop-designer.woocommerce ul.products li.product .ashade-woo-loop-item__footer > h6.ashade-woo-loop-item__title > span,
body.vv-shop-designer.woocommerce-page ul.products li.product .ashade-woo-loop-item__footer > h6.ashade-woo-loop-item__title > span {
  grid-column: 1 / -1 !important;
  grid-row: 1 !important;
  align-self: end !important;
  margin: 0 !important;
}
body.vv-shop-designer.woocommerce ul.products li.product .ashade-woo-loop-item__footer > h6.ashade-woo-loop-item__title > a:not([rel="tag"]),
body.vv-shop-designer.woocommerce-page ul.products li.product .ashade-woo-loop-item__footer > h6.ashade-woo-loop-item__title > a:not([rel="tag"]) {
  grid-column: 1 !important;
  grid-row: 2 !important;
  align-self: center !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  color: #f7f7f7 !important;
  font-size: clamp(14px, 1.05vw, 17px) !important;
  font-weight: 760 !important;
  line-height: 1.32 !important;
  letter-spacing: -.025em !important;
  text-decoration: none !important;
}
body.vv-shop-designer.woocommerce ul.products li.product .ashade-woo-loop-item__footer > .ashade-woo-loop-item__price,
body.vv-shop-designer.woocommerce-page ul.products li.product .ashade-woo-loop-item__footer > .ashade-woo-loop-item__price {
  grid-column: 2 !important;
  grid-row: 2 !important;
  align-self: center !important;
  justify-self: end !important;
  margin: 0 !important;
  padding: 0 !important;
}
@media (max-width: 760px) {
  body.vv-shop-designer.woocommerce ul.products li.product .ashade-woo-loop-item__footer > h6.ashade-woo-loop-item__title > a:not([rel="tag"]),
  body.vv-shop-designer.woocommerce-page ul.products li.product .ashade-woo-loop-item__footer > h6.ashade-woo-loop-item__title > a:not([rel="tag"]) {
    font-size: 13px !important;
  }
}

/* Vita Vision Shop Designer 0.2.8
   Refined product-card footer: calmer category label, cleaner title/price row,
   and a subtle divider to give the information area its own visual rhythm. */
body.vv-shop-designer.woocommerce ul.products li.product .ashade-woo-loop-item__footer,
body.vv-shop-designer.woocommerce-page ul.products li.product .ashade-woo-loop-item__footer {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) max-content !important;
  grid-template-rows: auto auto !important;
  align-items: center !important;
  column-gap: 12px !important;
  row-gap: 7px !important;
  margin: 1px 0 0 !important;
  padding: 11px 1px 1px !important;
  border-top: 1px solid rgba(255,255,255,.075) !important;
}
body.vv-shop-designer.woocommerce ul.products li.product .ashade-woo-loop-item__footer > h6.ashade-woo-loop-item__title,
body.vv-shop-designer.woocommerce-page ul.products li.product .ashade-woo-loop-item__footer > h6.ashade-woo-loop-item__title {
  display: contents !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}
body.vv-shop-designer.woocommerce ul.products li.product .ashade-woo-loop-item__footer > h6.ashade-woo-loop-item__title > span,
body.vv-shop-designer.woocommerce-page ul.products li.product .ashade-woo-loop-item__footer > h6.ashade-woo-loop-item__title > span {
  grid-column: 1 / -1 !important;
  grid-row: 1 !important;
  align-self: center !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1 !important;
}
body.vv-shop-designer.woocommerce ul.products li.product .ashade-woo-loop-item__footer > h6.ashade-woo-loop-item__title > span > a[rel="tag"],
body.vv-shop-designer.woocommerce-page ul.products li.product .ashade-woo-loop-item__footer > h6.ashade-woo-loop-item__title > span > a[rel="tag"] {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  color: #c98a50 !important;
  font-size: 9px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  letter-spacing: .13em !important;
  text-decoration: none !important;
  text-transform: uppercase !important;
}
body.vv-shop-designer.woocommerce ul.products li.product .ashade-woo-loop-item__footer > h6.ashade-woo-loop-item__title > span > a[rel="tag"]::before,
body.vv-shop-designer.woocommerce-page ul.products li.product .ashade-woo-loop-item__footer > h6.ashade-woo-loop-item__title > span > a[rel="tag"]::before {
  content: "" !important;
  display: inline-block !important;
  width: 4px !important;
  height: 4px !important;
  flex: 0 0 4px !important;
  border-radius: 50% !important;
  background: #f28c28 !important;
}
body.vv-shop-designer.woocommerce ul.products li.product .ashade-woo-loop-item__footer > h6.ashade-woo-loop-item__title > a:not([rel="tag"]),
body.vv-shop-designer.woocommerce-page ul.products li.product .ashade-woo-loop-item__footer > h6.ashade-woo-loop-item__title > a:not([rel="tag"]) {
  grid-column: 1 !important;
  grid-row: 2 !important;
  align-self: center !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  color: #f2f2f2 !important;
  font-size: clamp(13px, .98vw, 15px) !important;
  font-weight: 680 !important;
  line-height: 1.32 !important;
  letter-spacing: -.018em !important;
  text-decoration: none !important;
  overflow-wrap: anywhere !important;
}
body.vv-shop-designer.woocommerce ul.products li.product .ashade-woo-loop-item__footer > .ashade-woo-loop-item__price,
body.vv-shop-designer.woocommerce-page ul.products li.product .ashade-woo-loop-item__footer > .ashade-woo-loop-item__price {
  grid-column: 2 !important;
  grid-row: 2 !important;
  align-self: center !important;
  justify-self: end !important;
  margin: 0 !important;
  padding: 0 !important;
  color: #f28c28 !important;
  font-size: 13px !important;
  font-weight: 750 !important;
  line-height: 1.25 !important;
  letter-spacing: -.01em !important;
  white-space: nowrap !important;
  font-variant-numeric: tabular-nums !important;
}
@media (max-width: 760px) {
  body.vv-shop-designer.woocommerce ul.products li.product .ashade-woo-loop-item__footer,
  body.vv-shop-designer.woocommerce-page ul.products li.product .ashade-woo-loop-item__footer {
    column-gap: 8px !important;
    row-gap: 6px !important;
    padding-top: 9px !important;
  }
  body.vv-shop-designer.woocommerce ul.products li.product .ashade-woo-loop-item__footer > h6.ashade-woo-loop-item__title > a:not([rel="tag"]),
  body.vv-shop-designer.woocommerce-page ul.products li.product .ashade-woo-loop-item__footer > h6.ashade-woo-loop-item__title > a:not([rel="tag"]) {
    font-size: 12px !important;
  }
  body.vv-shop-designer.woocommerce ul.products li.product .ashade-woo-loop-item__footer > .ashade-woo-loop-item__price,
  body.vv-shop-designer.woocommerce-page ul.products li.product .ashade-woo-loop-item__footer > .ashade-woo-loop-item__price {
    font-size: 12px !important;
  }
}


/* Vita Vision Shop Designer 0.2.9
   Tighten the image-to-information transition: remove the inherited image gap
   and bring the subtle divider closer to the photo. */
body.vv-shop-designer.woocommerce ul.products li.product .ashade-woo-loop-item__image-wrap,
body.vv-shop-designer.woocommerce-page ul.products li.product .ashade-woo-loop-item__image-wrap {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}
body.vv-shop-designer.woocommerce ul.products li.product .ashade-woo-loop-item__image-wrap img,
body.vv-shop-designer.woocommerce-page ul.products li.product .ashade-woo-loop-item__image-wrap img {
  margin-bottom: 0 !important;
}
body.vv-shop-designer.woocommerce ul.products li.product .ashade-woo-loop-item__footer,
body.vv-shop-designer.woocommerce-page ul.products li.product .ashade-woo-loop-item__footer {
  margin-top: 0 !important;
  padding-top: 6px !important;
}
@media (max-width: 760px) {
  body.vv-shop-designer.woocommerce ul.products li.product .ashade-woo-loop-item__footer,
  body.vv-shop-designer.woocommerce-page ul.products li.product .ashade-woo-loop-item__footer {
    padding-top: 5px !important;
  }
}


/* Vita Vision Shop Designer 0.2.10
   Restore the divider explicitly while keeping it close to the product image. */
body.vv-shop-designer.woocommerce ul.products li.product .ashade-woo-loop-item__footer,
body.vv-shop-designer.woocommerce-page ul.products li.product .ashade-woo-loop-item__footer {
  display: grid !important;
  margin-top: 4px !important;
  padding-top: 7px !important;
  border-top: 1px solid rgba(255,255,255,.10) !important;
  box-shadow: none !important;
}
body.vv-shop-designer.woocommerce ul.products li.product .ashade-woo-loop-item__image-wrap,
body.vv-shop-designer.woocommerce-page ul.products li.product .ashade-woo-loop-item__image-wrap {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}
@media (max-width: 760px) {
  body.vv-shop-designer.woocommerce ul.products li.product .ashade-woo-loop-item__footer,
  body.vv-shop-designer.woocommerce-page ul.products li.product .ashade-woo-loop-item__footer {
    margin-top: 3px !important;
    padding-top: 6px !important;
  }
}


/* Vita Vision Shop Designer 0.2.11
   Keep the spacing above and below the divider visually equal. */
body.vv-shop-designer.woocommerce ul.products li.product .ashade-woo-loop-item__footer,
body.vv-shop-designer.woocommerce-page ul.products li.product .ashade-woo-loop-item__footer {
  margin-top: 7px !important;
  padding-top: 7px !important;
}
@media (max-width: 760px) {
  body.vv-shop-designer.woocommerce ul.products li.product .ashade-woo-loop-item__footer,
  body.vv-shop-designer.woocommerce-page ul.products li.product .ashade-woo-loop-item__footer {
    margin-top: 6px !important;
    padding-top: 6px !important;
  }
}


/* Vita Vision Shop Designer 0.2.12
   Increase only the space between the product image and the divider,
   matching the blue-arrow reference. Keep the divider-to-category gap unchanged. */
body.vv-shop-designer.woocommerce ul.products li.product .ashade-woo-loop-item__footer,
body.vv-shop-designer.woocommerce-page ul.products li.product .ashade-woo-loop-item__footer {
  margin-top: 20px !important;
  padding-top: 7px !important;
}
@media (max-width: 760px) {
  body.vv-shop-designer.woocommerce ul.products li.product .ashade-woo-loop-item__footer,
  body.vv-shop-designer.woocommerce-page ul.products li.product .ashade-woo-loop-item__footer {
    margin-top: 16px !important;
    padding-top: 6px !important;
  }
}


/* Vita Vision Shop Designer 0.2.13
   Refine the archive result count and sorting control to match the
   dark premium storefront and orange Vita Vision accent. */
body.vv-shop-designer .woocommerce-result-count {
  display: inline-flex !important;
  align-items: center !important;
  min-height: 48px !important;
  margin: 0 0 22px !important;
  padding: 0 !important;
  color: #bdbdbd !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  letter-spacing: .01em !important;
  line-height: 1.4 !important;
}
body.vv-shop-designer .woocommerce-result-count .vvsd-result-number {
  display: inline-block !important;
  margin: 0 3px !important;
  color: #f28c28 !important;
  font-weight: 800 !important;
  font-variant-numeric: tabular-nums !important;
}
body.vv-shop-designer .woocommerce-ordering {
  margin: 0 0 22px !important;
}
body.vv-shop-designer .woocommerce-ordering select {
  min-width: 245px !important;
  min-height: 48px !important;
  padding: 0 44px 0 16px !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  color: #eeeeee !important;
  background-color: #171717 !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23f28c28' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 15px center !important;
  border: 1px solid rgba(255,255,255,.16) !important;
  border-radius: 5px !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.025) !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  letter-spacing: .01em !important;
  line-height: 1.2 !important;
  cursor: pointer !important;
  transition: border-color .2s ease, background-color .2s ease, box-shadow .2s ease !important;
}
body.vv-shop-designer .woocommerce-ordering select:hover {
  border-color: rgba(242,140,40,.65) !important;
  background-color: #1c1c1c !important;
}
body.vv-shop-designer .woocommerce-ordering select:focus,
body.vv-shop-designer .woocommerce-ordering select:focus-visible {
  outline: none !important;
  border-color: #f28c28 !important;
  box-shadow: 0 0 0 2px rgba(242,140,40,.16) !important;
}
body.vv-shop-designer .woocommerce-ordering select option {
  color: #eeeeee !important;
  background: #171717 !important;
}
@media (max-width: 760px) {
  body.vv-shop-designer .woocommerce-result-count {
    min-height: 42px !important;
    margin-bottom: 14px !important;
    font-size: 12px !important;
  }
  body.vv-shop-designer .woocommerce-ordering {
    margin-bottom: 14px !important;
  }
  body.vv-shop-designer .woocommerce-ordering select {
    min-width: 190px !important;
    min-height: 42px !important;
    padding-left: 12px !important;
    padding-right: 38px !important;
    background-position: right 12px center !important;
    font-size: 12px !important;
  }
}


/* Vita Vision Shop Designer 0.2.14
   Style the actual Ashade custom sorting control (the native select is hidden)
   and present the WooCommerce result count as a compact premium info card. */
body.vv-shop-designer p.woocommerce-result-count {
  display: inline-flex !important;
  align-items: center !important;
  box-sizing: border-box !important;
  min-height: 48px !important;
  width: max-content !important;
  max-width: 100% !important;
  margin: 0 0 22px !important;
  padding: 0 16px !important;
  color: #c7c7c7 !important;
  background: linear-gradient(135deg, #1c1c1c 0%, #151515 100%) !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  border-left: 2px solid #f28c28 !important;
  border-radius: 6px !important;
  box-shadow: 0 5px 16px rgba(0,0,0,.14), inset 0 1px 0 rgba(255,255,255,.025) !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  letter-spacing: .01em !important;
  line-height: 1.35 !important;
  transform: none !important;
}
body.vv-shop-designer p.woocommerce-result-count .vvsd-result-number {
  color: #f28c28 !important;
  font-weight: 800 !important;
  margin: 0 3px !important;
  font-variant-numeric: tabular-nums !important;
}
body.vv-shop-designer form.woocommerce-ordering .ashade-select-wrap {
  width: 245px !important;
  max-width: 100% !important;
  margin: 0 0 22px !important;
}
body.vv-shop-designer form.woocommerce-ordering .ashade-select.is-link {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  box-sizing: border-box !important;
  width: 100% !important;
  min-width: 0 !important;
  height: 48px !important;
  min-height: 48px !important;
  padding: 0 44px 0 16px !important;
  margin: 0 !important;
  color: #eeeeee !important;
  background: #171717 !important;
  border: 1px solid rgba(255,255,255,.16) !important;
  border-radius: 6px !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.025) !important;
  font-family: inherit !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  letter-spacing: .01em !important;
  line-height: 1.2 !important;
  cursor: pointer !important;
  transition: border-color .2s ease, background-color .2s ease, box-shadow .2s ease !important;
}
body.vv-shop-designer form.woocommerce-ordering .ashade-select.is-link::after {
  content: "" !important;
  position: absolute !important;
  top: 50% !important;
  right: 17px !important;
  width: 8px !important;
  height: 8px !important;
  margin: -6px 0 0 !important;
  border: 0 !important;
  border-right: 1.5px solid #f28c28 !important;
  border-bottom: 1.5px solid #f28c28 !important;
  border-radius: 0 !important;
  background: transparent !important;
  transform: rotate(45deg) !important;
  transition: transform .2s ease, border-color .2s ease !important;
}
body.vv-shop-designer form.woocommerce-ordering .ashade-select.is-link:hover {
  color: #ffffff !important;
  background: #1d1d1d !important;
  border-color: rgba(242,140,40,.65) !important;
  box-shadow: 0 0 0 1px rgba(242,140,40,.08) !important;
}
body.vv-shop-designer form.woocommerce-ordering .ashade-select.is-link:hover::after {
  border-color: #ffad55 !important;
}
@media (max-width: 760px) {
  body.vv-shop-designer p.woocommerce-result-count {
    min-height: 42px !important;
    margin-bottom: 14px !important;
    padding: 0 12px !important;
    font-size: 12px !important;
  }
  body.vv-shop-designer form.woocommerce-ordering .ashade-select-wrap {
    width: 190px !important;
    margin-bottom: 14px !important;
  }
  body.vv-shop-designer form.woocommerce-ordering .ashade-select.is-link {
    height: 42px !important;
    min-height: 42px !important;
    padding-left: 12px !important;
    padding-right: 38px !important;
    font-size: 12px !important;
  }
  body.vv-shop-designer form.woocommerce-ordering .ashade-select.is-link::after {
    right: 13px !important;
  }
}

/* Vita Vision Shop Designer 0.2.15
   Final Ashade dropdown polish: remove the added caret and style the real list. */
body.vv-shop-designer form.woocommerce-ordering .ashade-select.is-link::after,
body.vv-shop-designer form.woocommerce-ordering .ashade-select.is-link::before {
  content: none !important;
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  border: 0 !important;
  background: none !important;
  box-shadow: none !important;
}

body.vv-shop-designer form.woocommerce-ordering .ashade-select__list {
  box-sizing: border-box !important;
  min-width: 100% !important;
  margin: 2px 0 0 !important;
  padding: 5px !important;
  overflow: hidden !important;
  color: #e9e9e9 !important;
  background: #171717 !important;
  border: 1px solid rgba(255,255,255,.14) !important;
  border-radius: 6px !important;
  box-shadow: 0 12px 30px rgba(0,0,0,.48), 0 2px 8px rgba(0,0,0,.25) !important;
  list-style: none !important;
  z-index: 10020 !important;
}
body.vv-shop-designer form.woocommerce-ordering .ashade-select__list > li {
  position: relative !important;
  display: block !important;
  box-sizing: border-box !important;
  min-height: 42px !important;
  margin: 0 !important;
  padding: 11px 13px !important;
  color: #cfcfcf !important;
  background: transparent !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(255,255,255,.085) !important;
  border-radius: 3px !important;
  font-family: inherit !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  line-height: 1.4 !important;
  letter-spacing: .01em !important;
  text-align: left !important;
  cursor: pointer !important;
  transition: color .16s ease, background-color .16s ease, padding-left .16s ease !important;
}
body.vv-shop-designer form.woocommerce-ordering .ashade-select__list > li:last-child {
  border-bottom: 0 !important;
}
body.vv-shop-designer form.woocommerce-ordering .ashade-select__list > li:hover,
body.vv-shop-designer form.woocommerce-ordering .ashade-select__list > li:focus,
body.vv-shop-designer form.woocommerce-ordering .ashade-select__list > li:focus-visible {
  color: #ffffff !important;
  background: rgba(242,140,40,.12) !important;
  padding-left: 17px !important;
  outline: none !important;
}
body.vv-shop-designer form.woocommerce-ordering .ashade-select__list > li.active,
body.vv-shop-designer form.woocommerce-ordering .ashade-select__list > li.selected,
body.vv-shop-designer form.woocommerce-ordering .ashade-select__list > li[aria-selected="true"] {
  color: #f28c28 !important;
  background: rgba(242,140,40,.09) !important;
  font-weight: 700 !important;
}
@media (max-width: 760px) {
  body.vv-shop-designer form.woocommerce-ordering .ashade-select__list > li {
    min-height: 40px !important;
    padding: 10px 11px !important;
    font-size: 12px !important;
  }
}


/* AJAX sorting: subtle card-grid transition */
body.vv-shop-designer ul.products {
  transition: opacity .22s ease, transform .22s ease !important;
}
body.vv-shop-designer ul.products.vvsd-ajax-loading {
  pointer-events: none !important;
}
body.vv-shop-designer ul.products.vvsd-ajax-fade-out {
  opacity: 0 !important;
  transform: translateY(7px) !important;
}
body.vv-shop-designer ul.products.vvsd-ajax-fade-in {
  animation: vvsdGridReveal .34s ease both !important;
}
@keyframes vvsdGridReveal {
  from { opacity: 0; transform: translateY(7px); }
  to { opacity: 1; transform: translateY(0); }
}
body.vv-shop-designer .ashade-select__list li.vvsd-selected {
  color: #f28c28 !important;
  background: rgba(242,140,40,.10) !important;
}
@media (prefers-reduced-motion: reduce) {
  body.vv-shop-designer ul.products,
  body.vv-shop-designer ul.products.vvsd-ajax-fade-in {
    animation: none !important;
    transition: none !important;
  }
}


/* Vita Vision Shop Designer 0.2.17
   Mobile-first refinements for the AJAX sorting control and result toolbar.
   Keep Ashade's custom dropdown functional while making it comfortable to tap. */
@media (max-width: 760px) {
  body.vv-shop-designer p.woocommerce-result-count {
    box-sizing: border-box !important;
    min-height: 46px !important;
    max-width: calc(100vw - 32px) !important;
    margin: 0 0 12px !important;
    padding: 0 13px !important;
    font-size: 12px !important;
    line-height: 1.35 !important;
    white-space: normal !important;
  }

  body.vv-shop-designer form.woocommerce-ordering {
    float: none !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 0 18px !important;
  }

  body.vv-shop-designer form.woocommerce-ordering .ashade-select-wrap {
    float: none !important;
    display: block !important;
    width: min(245px, calc(100vw - 32px)) !important;
    max-width: 100% !important;
    margin: 0 0 18px auto !important;
  }

  body.vv-shop-designer form.woocommerce-ordering .ashade-select.is-link {
    min-height: 48px !important;
    height: 48px !important;
    padding: 0 16px !important;
    font-size: 13px !important;
    -webkit-tap-highlight-color: transparent !important;
    touch-action: manipulation !important;
  }

  body.vv-shop-designer form.woocommerce-ordering .ashade-select__list {
    width: 100% !important;
    min-width: 100% !important;
    max-width: calc(100vw - 32px) !important;
    max-height: min(55vh, 320px) !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    overscroll-behavior: contain !important;
    -webkit-overflow-scrolling: touch !important;
    touch-action: pan-y !important;
  }

  body.vv-shop-designer form.woocommerce-ordering .ashade-select__list > li {
    display: flex !important;
    align-items: center !important;
    min-height: 48px !important;
    padding: 11px 13px !important;
    font-size: 13px !important;
    line-height: 1.35 !important;
    touch-action: manipulation !important;
    -webkit-tap-highlight-color: transparent !important;
  }

  body.vv-shop-designer ul.products.vvsd-ajax-loading {
    opacity: .62 !important;
    transition: opacity .18s ease !important;
  }

  body.vv-shop-designer ul.products.vvsd-ajax-fade-out {
    opacity: 0 !important;
    transform: translateY(4px) !important;
  }

  body.vv-shop-designer ul.products.vvsd-ajax-fade-in {
    animation-duration: .24s !important;
  }
}

@media (max-width: 420px) {
  body.vv-shop-designer p.woocommerce-result-count {
    width: 100% !important;
    max-width: 100% !important;
  }

  body.vv-shop-designer form.woocommerce-ordering .ashade-select-wrap {
    width: 100% !important;
    margin-left: 0 !important;
  }

  body.vv-shop-designer form.woocommerce-ordering .ashade-select__list {
    width: 100% !important;
    max-width: 100% !important;
  }
}

/* Respect users who prefer less motion, including touch devices. */
@media (prefers-reduced-motion: reduce) {
  body.vv-shop-designer ul.products.vvsd-ajax-loading,
  body.vv-shop-designer ul.products.vvsd-ajax-fade-out,
  body.vv-shop-designer ul.products.vvsd-ajax-fade-in {
    opacity: 1 !important;
    transform: none !important;
    animation: none !important;
    transition: none !important;
  }
}


/* Vita Vision Shop Designer 0.2.18
   Vertically center Ashade's real inline SVG caret on tablet and mobile.
   Ashade appends this SVG as a sibling inside .ashade-select-wrap, so
   centering the trigger's pseudo-element alone does not move the real caret. */
@media (max-width: 1024px) {
  body.vv-shop-designer form.woocommerce-ordering .ashade-select-wrap {
    position: relative !important;
  }

  body.vv-shop-designer form.woocommerce-ordering .ashade-select-wrap > svg {
    position: absolute !important;
    top: 50% !important;
    right: 16px !important;
    left: auto !important;
    display: block !important;
    width: 20px !important;
    height: 11px !important;
    margin: 0 !important;
    padding: 0 !important;
    transform: translateY(-50%) !important;
    transform-origin: center center !important;
    pointer-events: none !important;
    vertical-align: middle !important;
  }
}

@media (max-width: 760px) {
  body.vv-shop-designer form.woocommerce-ordering .ashade-select-wrap > svg {
    right: 14px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
  }
}


/* Vita Vision Shop Designer 0.2.19
   Single-product redesign: spacious editorial layout, premium dark surfaces,
   orange accents, and mobile-first stacking. */
body.vv-shop-designer.single-product .ashade-content,
body.vv-shop-designer.single-product .ashade-content-inner,
body.vv-shop-designer.single-product .woocommerce {
  color: #eeeeee !important;
}

body.vv-shop-designer.single-product .woocommerce div.product {
  display: grid !important;
  grid-template-columns: minmax(0, 1.08fr) minmax(320px, .92fr) !important;
  align-items: start !important;
  column-gap: clamp(34px, 5vw, 76px) !important;
  row-gap: 42px !important;
  width: min(1240px, calc(100% - 48px)) !important;
  max-width: 1240px !important;
  margin: 54px auto 0 !important;
  padding: 0 !important;
}

/* Main product media */
body.vv-shop-designer.single-product .woocommerce div.product .woocommerce-product-gallery,
body.vv-shop-designer.single-product .woocommerce div.product .images {
  float: none !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 12px !important;
  box-sizing: border-box !important;
  background: linear-gradient(145deg, #1b1b1b, #111111) !important;
  border: 1px solid rgba(255,255,255,.10) !important;
  border-radius: 12px !important;
  box-shadow: 0 18px 46px rgba(0,0,0,.22) !important;
  overflow: hidden !important;
}
body.vv-shop-designer.single-product .woocommerce div.product .woocommerce-product-gallery__wrapper {
  margin: 0 !important;
}
body.vv-shop-designer.single-product .woocommerce div.product .woocommerce-product-gallery img,
body.vv-shop-designer.single-product .woocommerce div.product .images img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  border-radius: 7px !important;
}
body.vv-shop-designer.single-product .woocommerce div.product .woocommerce-product-gallery__trigger {
  top: 22px !important;
  right: 22px !important;
  border-radius: 50% !important;
  background: #f28c28 !important;
  color: #111111 !important;
  border: 0 !important;
}

/* Product information panel */
body.vv-shop-designer.single-product .woocommerce div.product .summary,
body.vv-shop-designer.single-product .woocommerce div.product .entry-summary {
  float: none !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: clamp(24px, 3vw, 42px) !important;
  box-sizing: border-box !important;
  background: linear-gradient(145deg, rgba(29,29,29,.96), rgba(18,18,18,.96)) !important;
  border: 1px solid rgba(255,255,255,.10) !important;
  border-radius: 12px !important;
  box-shadow: 0 18px 46px rgba(0,0,0,.18) !important;
}
body.vv-shop-designer.single-product .woocommerce div.product .product_title {
  margin: 0 0 18px !important;
  color: #f5f5f5 !important;
  font-size: clamp(25px, 2.4vw, 38px) !important;
  font-weight: 750 !important;
  line-height: 1.12 !important;
  letter-spacing: -.035em !important;
  text-transform: none !important;
}
body.vv-shop-designer.single-product .woocommerce div.product p.price,
body.vv-shop-designer.single-product .woocommerce div.product span.price {
  display: inline-flex !important;
  align-items: baseline !important;
  margin: 0 0 24px !important;
  padding: 9px 14px !important;
  color: #f28c28 !important;
  background: rgba(242,140,40,.09) !important;
  border: 1px solid rgba(242,140,40,.24) !important;
  border-radius: 7px !important;
  font-size: 24px !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
  font-variant-numeric: tabular-nums !important;
}
body.vv-shop-designer.single-product .woocommerce div.product .woocommerce-product-details__short-description,
body.vv-shop-designer.single-product .woocommerce div.product .summary > p:not(.price):not(.stock) {
  margin: 0 0 26px !important;
  color: #bdbdbd !important;
  font-size: 14px !important;
  line-height: 1.8 !important;
}
body.vv-shop-designer.single-product .woocommerce div.product .stock {
  color: #f28c28 !important;
  font-size: 12px !important;
}

/* Quantity and add-to-cart actions */
body.vv-shop-designer.single-product .woocommerce div.product form.cart {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: stretch !important;
  gap: 10px !important;
  margin: 28px 0 0 !important;
  padding-top: 22px !important;
  border-top: 1px solid rgba(255,255,255,.10) !important;
}
body.vv-shop-designer.single-product .woocommerce div.product form.cart .quantity {
  display: inline-flex !important;
  align-items: center !important;
  float: none !important;
  margin: 0 !important;
}
body.vv-shop-designer.single-product .woocommerce div.product form.cart .quantity .qty {
  width: 76px !important;
  min-height: 50px !important;
  padding: 0 10px !important;
  color: #f5f5f5 !important;
  background: #111111 !important;
  border: 1px solid rgba(255,255,255,.17) !important;
  border-radius: 6px !important;
  font-size: 14px !important;
  text-align: center !important;
}
body.vv-shop-designer.single-product .woocommerce div.product form.cart .single_add_to_cart_button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 50px !important;
  min-width: 170px !important;
  margin: 0 !important;
  padding: 0 25px !important;
  color: #151515 !important;
  background: #f28c28 !important;
  border: 1px solid #f28c28 !important;
  border-radius: 6px !important;
  box-shadow: 0 7px 20px rgba(242,140,40,.18) !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  letter-spacing: .055em !important;
  text-transform: uppercase !important;
  transition: transform .2s ease, background-color .2s ease, box-shadow .2s ease !important;
}
body.vv-shop-designer.single-product .woocommerce div.product form.cart .single_add_to_cart_button:hover {
  color: #111111 !important;
  background: #ffab50 !important;
  border-color: #ffab50 !important;
  box-shadow: 0 10px 26px rgba(242,140,40,.25) !important;
  transform: translateY(-2px) !important;
}

/* Tabs, metadata and related products */
body.vv-shop-designer.single-product .woocommerce div.product .woocommerce-tabs {
  grid-column: 1 / -1 !important;
  width: 100% !important;
  margin: 4px 0 0 !important;
  padding: 28px 0 0 !important;
  border-top: 1px solid rgba(255,255,255,.12) !important;
}
body.vv-shop-designer.single-product .woocommerce div.product .woocommerce-tabs ul.tabs {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  margin: 0 0 22px !important;
  padding: 0 !important;
  border: 0 !important;
}
body.vv-shop-designer.single-product .woocommerce div.product .woocommerce-tabs ul.tabs::before,
body.vv-shop-designer.single-product .woocommerce div.product .woocommerce-tabs ul.tabs li::before,
body.vv-shop-designer.single-product .woocommerce div.product .woocommerce-tabs ul.tabs li::after {
  display: none !important;
  content: none !important;
}
body.vv-shop-designer.single-product .woocommerce div.product .woocommerce-tabs ul.tabs li {
  margin: 0 !important;
  padding: 10px 16px !important;
  background: #191919 !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  border-radius: 6px !important;
}
body.vv-shop-designer.single-product .woocommerce div.product .woocommerce-tabs ul.tabs li.active {
  border-color: rgba(242,140,40,.55) !important;
  background: rgba(242,140,40,.10) !important;
}
body.vv-shop-designer.single-product .woocommerce div.product .woocommerce-tabs ul.tabs li a {
  color: #dddddd !important;
  font-size: 12px !important;
  font-weight: 700 !important;
}
body.vv-shop-designer.single-product .woocommerce div.product .woocommerce-tabs .panel {
  color: #bdbdbd !important;
  line-height: 1.8 !important;
}
body.vv-shop-designer.single-product .related,
body.vv-shop-designer.single-product .up-sells {
  grid-column: 1 / -1 !important;
  width: 100% !important;
  margin: 8px 0 0 !important;
  padding-top: 30px !important;
  border-top: 1px solid rgba(255,255,255,.12) !important;
}
body.vv-shop-designer.single-product .related > h2,
body.vv-shop-designer.single-product .up-sells > h2 {
  margin: 0 0 24px !important;
  color: #f4f4f4 !important;
  font-size: clamp(20px, 2vw, 27px) !important;
  font-weight: 800 !important;
  letter-spacing: -.025em !important;
  text-transform: uppercase !important;
}
body.vv-shop-designer.single-product .related ul.products,
body.vv-shop-designer.single-product .up-sells ul.products {
  width: 100% !important;
}

/* Tablet and mobile: stack the media and details, keep actions touch-friendly. */
@media (max-width: 900px) {
  body.vv-shop-designer.single-product .woocommerce div.product {
    grid-template-columns: minmax(0, 1fr) !important;
    width: min(720px, calc(100% - 32px)) !important;
    row-gap: 22px !important;
    margin-top: 28px !important;
  }
  body.vv-shop-designer.single-product .woocommerce div.product .summary,
  body.vv-shop-designer.single-product .woocommerce div.product .entry-summary {
    padding: 24px !important;
  }
  body.vv-shop-designer.single-product .woocommerce div.product .woocommerce-tabs,
  body.vv-shop-designer.single-product .related,
  body.vv-shop-designer.single-product .up-sells {
    grid-column: 1 !important;
  }
}
@media (max-width: 560px) {
  body.vv-shop-designer.single-product .woocommerce div.product {
    width: calc(100% - 24px) !important;
    row-gap: 14px !important;
    margin-top: 18px !important;
  }
  body.vv-shop-designer.single-product .woocommerce div.product .woocommerce-product-gallery,
  body.vv-shop-designer.single-product .woocommerce div.product .images {
    padding: 7px !important;
    border-radius: 9px !important;
  }
  body.vv-shop-designer.single-product .woocommerce div.product .summary,
  body.vv-shop-designer.single-product .woocommerce div.product .entry-summary {
    padding: 19px !important;
    border-radius: 9px !important;
  }
  body.vv-shop-designer.single-product .woocommerce div.product .product_title {
    margin-bottom: 13px !important;
    font-size: 25px !important;
  }
  body.vv-shop-designer.single-product .woocommerce div.product p.price,
  body.vv-shop-designer.single-product .woocommerce div.product span.price {
    margin-bottom: 18px !important;
    font-size: 21px !important;
  }
  body.vv-shop-designer.single-product .woocommerce div.product form.cart {
    gap: 8px !important;
    margin-top: 20px !important;
    padding-top: 17px !important;
  }
  body.vv-shop-designer.single-product .woocommerce div.product form.cart .quantity .qty {
    min-height: 48px !important;
    width: 66px !important;
  }
  body.vv-shop-designer.single-product .woocommerce div.product form.cart .single_add_to_cart_button {
    flex: 1 1 160px !important;
    min-width: 0 !important;
    min-height: 48px !important;
    padding: 0 15px !important;
  }
  body.vv-shop-designer.single-product .related,
  body.vv-shop-designer.single-product .up-sells {
    padding-top: 22px !important;
  }
  body.vv-shop-designer.single-product .woocommerce div.product .woocommerce-tabs ul.tabs {
    gap: 6px !important;
  }
  body.vv-shop-designer.single-product .woocommerce div.product .woocommerce-tabs ul.tabs li {
    padding: 9px 12px !important;
  }
}


/* Vita Vision Shop Designer 0.2.20
   Ashade-specific single-product layout.
   The theme's real layout wrapper is .ashade-single-product--main,
   not the outer WooCommerce product element. */
body.vv-shop-designer.single-product .ashade-single-product {
  width: min(1240px, calc(100% - 64px)) !important;
  max-width: 1240px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

body.vv-shop-designer.single-product .ashade-single-product--main {
  display: grid !important;
  grid-template-columns: minmax(0, 1.04fr) minmax(360px, .96fr) !important;
  align-items: start !important;
  gap: clamp(28px, 4vw, 64px) !important;
  width: 100% !important;
  max-width: none !important;
  margin: 38px 0 0 !important;
  padding: 0 !important;
}

body.vv-shop-designer.single-product .ashade-single-product--main > .woocommerce-product-gallery,
body.vv-shop-designer.single-product .ashade-single-product--main > .images {
  float: none !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 10px !important;
  box-sizing: border-box !important;
  background: linear-gradient(145deg, #1b1b1b, #111111) !important;
  border: 1px solid rgba(255,255,255,.11) !important;
  border-radius: 12px !important;
  box-shadow: 0 18px 48px rgba(0,0,0,.24) !important;
  overflow: hidden !important;
}

body.vv-shop-designer.single-product .ashade-single-product--main .woocommerce-product-gallery__wrapper {
  margin: 0 !important;
}
body.vv-shop-designer.single-product .ashade-single-product--main .woocommerce-product-gallery img,
body.vv-shop-designer.single-product .ashade-single-product--main .images img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  border-radius: 7px !important;
}
body.vv-shop-designer.single-product .ashade-single-product--main .woocommerce-product-gallery__trigger {
  top: 22px !important;
  right: 22px !important;
  background: #f28c28 !important;
  color: #111 !important;
  border: 0 !important;
  border-radius: 50% !important;
}

body.vv-shop-designer.single-product .ashade-single-product--main > .summary,
body.vv-shop-designer.single-product .ashade-single-product--main > .entry-summary {
  float: none !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: clamp(24px, 3vw, 42px) !important;
  box-sizing: border-box !important;
  background: linear-gradient(145deg, #1d1d1d, #141414) !important;
  border: 1px solid rgba(255,255,255,.11) !important;
  border-radius: 12px !important;
  box-shadow: 0 18px 48px rgba(0,0,0,.20) !important;
}

body.vv-shop-designer.single-product .ashade-single-product--title {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  gap: 14px 20px !important;
  margin: 0 0 20px !important;
}
body.vv-shop-designer.single-product .ashade-single-product--title h1,
body.vv-shop-designer.single-product .ashade-single-product--title h2,
body.vv-shop-designer.single-product .ashade-single-product--title h3,
body.vv-shop-designer.single-product .ashade-single-product--title .product_title {
  flex: 1 1 220px !important;
  min-width: 0 !important;
  margin: 0 !important;
  color: #f5f5f5 !important;
  font-size: clamp(25px, 2.3vw, 38px) !important;
  font-weight: 800 !important;
  line-height: 1.12 !important;
  letter-spacing: -.035em !important;
  text-transform: none !important;
}
body.vv-shop-designer.single-product .ashade-single-product--price {
  flex: 0 0 auto !important;
  margin: 0 !important;
  padding: 9px 14px !important;
  color: #f28c28 !important;
  background: rgba(242,140,40,.09) !important;
  border: 1px solid rgba(242,140,40,.25) !important;
  border-radius: 7px !important;
  font-size: 22px !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
  font-variant-numeric: tabular-nums !important;
}
body.vv-shop-designer.single-product .ashade-single-product--price .price,
body.vv-shop-designer.single-product .ashade-single-product--price .amount {
  color: #f28c28 !important;
  font-size: inherit !important;
  font-weight: inherit !important;
}

body.vv-shop-designer.single-product .ashade-single-product--excerpt,
body.vv-shop-designer.single-product .woocommerce-product-details__short-description {
  margin: 0 0 24px !important;
  color: #c2c2c2 !important;
  font-size: 14px !important;
  line-height: 1.8 !important;
}
body.vv-shop-designer.single-product .ashade-single-product--excerpt p {
  margin: 0 !important;
}

body.vv-shop-designer.single-product .ashade-single-product--qty {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 10px !important;
  margin: 26px 0 0 !important;
  padding-top: 22px !important;
  border-top: 1px solid rgba(255,255,255,.11) !important;
}
body.vv-shop-designer.single-product .ashade-single-add2cart--simple {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 12px !important;
  margin: 0 !important;
}
body.vv-shop-designer.single-product .ashade-single-add2cart--qty {
  display: inline-flex !important;
  align-items: stretch !important;
  height: 50px !important;
  margin: 0 !important;
  overflow: hidden !important;
  background: #111 !important;
  border: 1px solid rgba(255,255,255,.18) !important;
  border-radius: 6px !important;
}
body.vv-shop-designer.single-product .ashade-single-add2cart--qty a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 40px !important;
  min-width: 40px !important;
  color: #eee !important;
  background: #191919 !important;
  border: 0 !important;
  transition: color .18s ease, background .18s ease !important;
}
body.vv-shop-designer.single-product .ashade-single-add2cart--qty a:hover {
  color: #f28c28 !important;
  background: #242424 !important;
}
body.vv-shop-designer.single-product .ashade-single-add2cart--qty .quantity {
  display: flex !important;
  align-items: center !important;
  float: none !important;
  margin: 0 !important;
}
body.vv-shop-designer.single-product .ashade-single-add2cart--qty .quantity input.qty {
  width: 48px !important;
  height: 48px !important;
  min-height: 48px !important;
  padding: 0 !important;
  color: #f5f5f5 !important;
  background: #111 !important;
  border: 0 !important;
  border-left: 1px solid rgba(255,255,255,.12) !important;
  border-right: 1px solid rgba(255,255,255,.12) !important;
  border-radius: 0 !important;
  text-align: center !important;
  font-size: 14px !important;
}
body.vv-shop-designer.single-product .ashade-single-add2cart--button {
  margin: 0 !important;
}
body.vv-shop-designer.single-product .ashade-single-add2cart--button button,
body.vv-shop-designer.single-product .ashade-single-add2cart--button .single_add_to_cart_button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 180px !important;
  min-height: 50px !important;
  margin: 0 !important;
  padding: 0 24px !important;
  color: #151515 !important;
  background: #f28c28 !important;
  border: 1px solid #f28c28 !important;
  border-radius: 6px !important;
  box-shadow: 0 7px 20px rgba(242,140,40,.18) !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  letter-spacing: .055em !important;
  text-transform: uppercase !important;
  transition: transform .2s ease, background .2s ease, box-shadow .2s ease !important;
}
body.vv-shop-designer.single-product .ashade-single-add2cart--button button:hover,
body.vv-shop-designer.single-product .ashade-single-add2cart--button .single_add_to_cart_button:hover {
  color: #111 !important;
  background: #ffab50 !important;
  border-color: #ffab50 !important;
  box-shadow: 0 10px 26px rgba(242,140,40,.25) !important;
  transform: translateY(-2px) !important;
}

/* Ashade product navigation and related products */
body.vv-shop-designer.single-product .ashade-post-navigation-wrap {
  width: min(1240px, calc(100% - 64px)) !important;
  max-width: 1240px !important;
  margin: 42px auto 0 !important;
  padding: 20px 0 !important;
  border-top: 1px solid rgba(255,255,255,.12) !important;
  border-bottom: 1px solid rgba(255,255,255,.12) !important;
}
body.vv-shop-designer.single-product .ashade-post-navigation-wrap a,
body.vv-shop-designer.single-product .ashade-post-navigation-wrap h6 {
  color: #f0f0f0 !important;
}
body.vv-shop-designer.single-product .ashade-post-navigation-wrap a:hover {
  color: #f28c28 !important;
}
body.vv-shop-designer.single-product .related.products,
body.vv-shop-designer.single-product section.related {
  width: min(1240px, calc(100% - 64px)) !important;
  max-width: 1240px !important;
  margin: 34px auto 0 !important;
  padding-top: 0 !important;
  border: 0 !important;
}
body.vv-shop-designer.single-product .related.products > h2,
body.vv-shop-designer.single-product section.related > h2 {
  margin: 0 0 24px !important;
  color: #f5f5f5 !important;
  font-size: clamp(22px, 2.1vw, 30px) !important;
  font-weight: 800 !important;
  letter-spacing: -.025em !important;
  text-transform: uppercase !important;
}

/* Responsive layout for Ashade's actual product markup */
@media (max-width: 900px) {
  body.vv-shop-designer.single-product .ashade-single-product {
    width: min(720px, calc(100% - 36px)) !important;
  }
  body.vv-shop-designer.single-product .ashade-single-product--main {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 20px !important;
    margin-top: 26px !important;
  }
  body.vv-shop-designer.single-product .ashade-single-product--main > .summary,
  body.vv-shop-designer.single-product .ashade-single-product--main > .entry-summary {
    padding: 26px !important;
  }
  body.vv-shop-designer.single-product .ashade-post-navigation-wrap,
  body.vv-shop-designer.single-product .related.products,
  body.vv-shop-designer.single-product section.related {
    width: min(720px, calc(100% - 36px)) !important;
  }
}
@media (max-width: 560px) {
  body.vv-shop-designer.single-product .ashade-single-product {
    width: calc(100% - 24px) !important;
  }
  body.vv-shop-designer.single-product .ashade-single-product--main {
    gap: 14px !important;
    margin-top: 18px !important;
  }
  body.vv-shop-designer.single-product .ashade-single-product--main > .woocommerce-product-gallery,
  body.vv-shop-designer.single-product .ashade-single-product--main > .images {
    padding: 6px !important;
    border-radius: 9px !important;
  }
  body.vv-shop-designer.single-product .ashade-single-product--main > .summary,
  body.vv-shop-designer.single-product .ashade-single-product--main > .entry-summary {
    padding: 19px !important;
    border-radius: 9px !important;
  }
  body.vv-shop-designer.single-product .ashade-single-product--title h1,
  body.vv-shop-designer.single-product .ashade-single-product--title h2,
  body.vv-shop-designer.single-product .ashade-single-product--title h3,
  body.vv-shop-designer.single-product .ashade-single-product--title .product_title {
    flex-basis: 100% !important;
    font-size: 26px !important;
  }
  body.vv-shop-designer.single-product .ashade-single-product--price {
    font-size: 21px !important;
  }
  body.vv-shop-designer.single-product .ashade-single-add2cart--simple {
    width: 100% !important;
  }
  body.vv-shop-designer.single-product .ashade-single-add2cart--button,
  body.vv-shop-designer.single-product .ashade-single-add2cart--button button,
  body.vv-shop-designer.single-product .ashade-single-add2cart--button .single_add_to_cart_button {
    flex: 1 1 100% !important;
    width: 100% !important;
  }
  body.vv-shop-designer.single-product .ashade-post-navigation-wrap,
  body.vv-shop-designer.single-product .related.products,
  body.vv-shop-designer.single-product section.related {
    width: calc(100% - 24px) !important;
  }
}


/* Vita Vision Shop Designer 0.2.21
   Refine the product summary, Ashade product navigation and related-products
   section. This targets the actual Ashade single-product DOM from the user's
   inspector screenshots. */

/* Keep the information panel snug around its content rather than stretching
   into a large empty card. */
body.vv-shop-designer.single-product .ashade-single-product--main {
  align-items: start !important;
}
body.vv-shop-designer.single-product .ashade-single-product--main > .summary,
body.vv-shop-designer.single-product .ashade-single-product--main > .entry-summary {
  align-self: start !important;
  height: auto !important;
  min-height: 0 !important;
  padding: clamp(24px, 3vw, 38px) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
  gap: 0 !important;
}
body.vv-shop-designer.single-product .ashade-single-product--title {
  align-items: flex-start !important;
  gap: 12px 16px !important;
  margin-bottom: 22px !important;
}
body.vv-shop-designer.single-product .ashade-single-product--title h1,
body.vv-shop-designer.single-product .ashade-single-product--title h2,
body.vv-shop-designer.single-product .ashade-single-product--title h3,
body.vv-shop-designer.single-product .ashade-single-product--title .product_title {
  font-size: clamp(26px, 2.15vw, 36px) !important;
  line-height: 1.08 !important;
  font-weight: 800 !important;
  letter-spacing: -.045em !important;
  overflow-wrap: anywhere !important;
}
body.vv-shop-designer.single-product .ashade-single-product--price {
  margin-top: 2px !important;
  padding: 9px 13px !important;
  white-space: nowrap !important;
  font-size: 21px !important;
}
body.vv-shop-designer.single-product .ashade-single-product--excerpt,
body.vv-shop-designer.single-product .woocommerce-product-details__short-description {
  margin: 0 0 22px !important;
  font-size: 14px !important;
  line-height: 1.75 !important;
}
body.vv-shop-designer.single-product .ashade-single-product--qty {
  margin-top: 4px !important;
  padding-top: 20px !important;
  gap: 12px !important;
}
body.vv-shop-designer.single-product .ashade-single-add2cart--simple {
  gap: 12px !important;
}
body.vv-shop-designer.single-product .ashade-single-add2cart--button button,
body.vv-shop-designer.single-product .ashade-single-add2cart--button .single_add_to_cart_button {
  min-width: 180px !important;
  box-shadow: 0 8px 22px rgba(242,140,40,.16) !important;
}
body.vv-shop-designer.single-product .ashade-single-add2cart--button button:hover,
body.vv-shop-designer.single-product .ashade-single-add2cart--button .single_add_to_cart_button:hover {
  box-shadow: 0 12px 28px rgba(242,140,40,.23) !important;
}

/* Make Ashade's previous/next navigation look like two deliberate controls,
   rather than one long divider row. */
body.vv-shop-designer.single-product .ashade-post-navigation-wrap {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  align-items: stretch !important;
  gap: 14px !important;
  width: min(1240px, calc(100% - 64px)) !important;
  margin: 36px auto 0 !important;
  padding: 0 !important;
  border: 0 !important;
}
body.vv-shop-designer.single-product .ashade-post-navigation-wrap .ashade-prev-post-link,
body.vv-shop-designer.single-product .ashade-post-navigation-wrap .ashade-next-post-link {
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
  min-width: 0 !important;
  min-height: 76px !important;
  margin: 0 !important;
  padding: 14px 18px !important;
  box-sizing: border-box !important;
  background: linear-gradient(145deg, #1b1b1b, #141414) !important;
  border: 1px solid rgba(255,255,255,.10) !important;
  border-radius: 9px !important;
  transition: border-color .2s ease, background .2s ease, transform .2s ease !important;
}
body.vv-shop-designer.single-product .ashade-post-navigation-wrap .ashade-next-post-link {
  justify-content: flex-end !important;
  text-align: right !important;
}
body.vv-shop-designer.single-product .ashade-post-navigation-wrap .ashade-prev-post-link:hover,
body.vv-shop-designer.single-product .ashade-post-navigation-wrap .ashade-next-post-link:hover {
  background: linear-gradient(145deg, #202020, #171717) !important;
  border-color: rgba(242,140,40,.42) !important;
  transform: translateY(-2px) !important;
}
body.vv-shop-designer.single-product .ashade-post-navigation-wrap .ashade-post-nav-icon {
  display: flex !important;
  flex: 0 0 42px !important;
  align-items: center !important;
  justify-content: center !important;
  width: 42px !important;
  height: 42px !important;
  margin: 0 !important;
  color: #f28c28 !important;
  background: rgba(242,140,40,.08) !important;
  border: 1px solid rgba(242,140,40,.28) !important;
  border-radius: 7px !important;
}
body.vv-shop-designer.single-product .ashade-post-navigation-wrap .ashade-post-nav-icon svg {
  width: 15px !important;
  height: 15px !important;
  stroke: currentColor !important;
}
body.vv-shop-designer.single-product .ashade-post-navigation-wrap h6 {
  margin: 0 0 4px !important;
  color: #8d8d8d !important;
  font-size: 9px !important;
  line-height: 1.2 !important;
  font-weight: 700 !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
}
body.vv-shop-designer.single-product .ashade-post-navigation-wrap .ashade-prev-post-link a,
body.vv-shop-designer.single-product .ashade-post-navigation-wrap .ashade-next-post-link a {
  display: inline-block !important;
  color: #f3f3f3 !important;
  font-size: 15px !important;
  line-height: 1.25 !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  transition: color .2s ease !important;
}
body.vv-shop-designer.single-product .ashade-post-navigation-wrap .ashade-prev-post-link:hover a,
body.vv-shop-designer.single-product .ashade-post-navigation-wrap .ashade-next-post-link:hover a {
  color: #f28c28 !important;
}

/* Related products become a clear, spacious next section. */
body.vv-shop-designer.single-product .related.products,
body.vv-shop-designer.single-product section.related {
  width: min(1240px, calc(100% - 64px)) !important;
  max-width: 1240px !important;
  margin: 42px auto 0 !important;
  padding: 28px 0 0 !important;
  border-top: 1px solid rgba(255,255,255,.10) !important;
}
body.vv-shop-designer.single-product .related.products > h2,
body.vv-shop-designer.single-product section.related > h2 {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 7px !important;
  margin: 0 0 24px !important;
  color: #f5f5f5 !important;
  font-size: clamp(23px, 2.1vw, 30px) !important;
  line-height: 1.1 !important;
  font-weight: 850 !important;
  letter-spacing: -.035em !important;
}
body.vv-shop-designer.single-product .related.products > h2 span,
body.vv-shop-designer.single-product section.related > h2 span {
  color: #f28c28 !important;
  font-size: 10px !important;
  line-height: 1.2 !important;
  font-weight: 800 !important;
  letter-spacing: .16em !important;
  text-transform: uppercase !important;
}
body.vv-shop-designer.single-product .related.products ul.products,
body.vv-shop-designer.single-product section.related ul.products {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 20px !important;
  width: 100% !important;
  margin: 0 !important;
}
body.vv-shop-designer.single-product .related.products ul.products::before,
body.vv-shop-designer.single-product .related.products ul.products::after,
body.vv-shop-designer.single-product section.related ul.products::before,
body.vv-shop-designer.single-product section.related ul.products::after {
  display: none !important;
  content: none !important;
}
body.vv-shop-designer.single-product .related.products ul.products > li.product,
body.vv-shop-designer.single-product section.related ul.products > li.product {
  float: none !important;
  width: auto !important;
  min-width: 0 !important;
  margin: 0 !important;
}
@media (max-width: 900px) {
  body.vv-shop-designer.single-product .ashade-post-navigation-wrap,
  body.vv-shop-designer.single-product .related.products,
  body.vv-shop-designer.single-product section.related {
    width: min(720px, calc(100% - 36px)) !important;
  }
  body.vv-shop-designer.single-product .related.products ul.products,
  body.vv-shop-designer.single-product section.related ul.products {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 14px !important;
  }
}
@media (max-width: 560px) {
  body.vv-shop-designer.single-product .ashade-single-product--main > .summary,
  body.vv-shop-designer.single-product .ashade-single-product--main > .entry-summary {
    padding: 20px !important;
  }
  body.vv-shop-designer.single-product .ashade-post-navigation-wrap {
    grid-template-columns: 1fr !important;
    gap: 9px !important;
    width: calc(100% - 24px) !important;
    margin-top: 24px !important;
  }
  body.vv-shop-designer.single-product .ashade-post-navigation-wrap .ashade-prev-post-link,
  body.vv-shop-designer.single-product .ashade-post-navigation-wrap .ashade-next-post-link {
    min-height: 66px !important;
    padding: 11px 13px !important;
  }
  body.vv-shop-designer.single-product .ashade-post-navigation-wrap .ashade-post-nav-icon {
    flex-basis: 38px !important;
    width: 38px !important;
    height: 38px !important;
  }
  body.vv-shop-designer.single-product .related.products,
  body.vv-shop-designer.single-product section.related {
    width: calc(100% - 24px) !important;
    margin-top: 28px !important;
    padding-top: 22px !important;
  }
  body.vv-shop-designer.single-product .related.products ul.products,
  body.vv-shop-designer.single-product section.related ul.products {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }
}


/* Vita Vision Shop Designer 0.2.22
   Fix Ashade's previous/next navigation sizing: theme-level 50% max-width
   rules were shrinking each card to half of its grid cell. */
body.vv-shop-designer.single-product .ashade-post-navigation-wrap {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  align-items: stretch !important;
  justify-content: stretch !important;
  gap: 14px !important;
  width: min(1240px, calc(100% - 64px)) !important;
  max-width: 1240px !important;
  margin: 30px auto 0 !important;
  padding: 0 !important;
  border: 0 !important;
  box-sizing: border-box !important;
}
body.vv-shop-designer.single-product .ashade-post-navigation-wrap > .ashade-prev-post-link,
body.vv-shop-designer.single-product .ashade-post-navigation-wrap > .ashade-next-post-link {
  display: flex !important;
  flex: 0 0 auto !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  min-height: 76px !important;
  margin: 0 !important;
  padding: 14px 18px !important;
  box-sizing: border-box !important;
  align-items: center !important;
  gap: 14px !important;
  background: linear-gradient(145deg, #1b1b1b, #141414) !important;
  border: 1px solid rgba(255,255,255,.10) !important;
  border-radius: 9px !important;
}
body.vv-shop-designer.single-product .ashade-post-navigation-wrap > .ashade-next-post-link {
  justify-content: flex-end !important;
  text-align: right !important;
}
body.vv-shop-designer.single-product .ashade-post-navigation-wrap > .ashade-prev-post-link > div,
body.vv-shop-designer.single-product .ashade-post-navigation-wrap > .ashade-next-post-link > div {
  max-width: none !important;
}
body.vv-shop-designer.single-product .ashade-post-navigation-wrap .ashade-post-nav-icon {
  flex: 0 0 42px !important;
  width: 42px !important;
  height: 42px !important;
  margin: 0 !important;
}
body.vv-shop-designer.single-product .ashade-post-navigation-wrap h6 {
  margin: 0 0 4px !important;
}
body.vv-shop-designer.single-product .ashade-post-navigation-wrap a {
  white-space: normal !important;
}
@media (max-width: 900px) {
  body.vv-shop-designer.single-product .ashade-post-navigation-wrap {
    width: min(720px, calc(100% - 36px)) !important;
    gap: 10px !important;
  }
}
@media (max-width: 560px) {
  body.vv-shop-designer.single-product .ashade-post-navigation-wrap {
    grid-template-columns: minmax(0, 1fr) !important;
    width: calc(100% - 24px) !important;
    gap: 9px !important;
    margin-top: 24px !important;
  }
  body.vv-shop-designer.single-product .ashade-post-navigation-wrap > .ashade-prev-post-link,
  body.vv-shop-designer.single-product .ashade-post-navigation-wrap > .ashade-next-post-link {
    width: 100% !important;
    min-height: 66px !important;
    padding: 11px 13px !important;
  }
}


/* 0.2.23: Vita Vision orange micro-labels on product navigation */
body.vv-shop-designer.single-product .ashade-post-navigation-wrap > .ashade-prev-post-link h6,
body.vv-shop-designer.single-product .ashade-post-navigation-wrap > .ashade-next-post-link h6,
body.vv-shop-designer.single-product .ashade-post-navigation-wrap > .ashade-prev-post-link h6 *,
body.vv-shop-designer.single-product .ashade-post-navigation-wrap > .ashade-next-post-link h6 * {
  color: #F28C28 !important;
}


/* 0.2.24: Orange ONLY the small RETURN TO / PROCEED TO captions.
   Keep PRODUCT LISTING / SHOPPING CART and all other navigation text neutral. */
body.vv-shop-designer.single-product .ashade-post-navigation-wrap > .ashade-prev-post-link h6,
body.vv-shop-designer.single-product .ashade-post-navigation-wrap > .ashade-next-post-link h6 {
  color: #F28C28 !important;
}
body.vv-shop-designer.single-product .ashade-post-navigation-wrap > .ashade-prev-post-link a,
body.vv-shop-designer.single-product .ashade-post-navigation-wrap > .ashade-next-post-link a,
body.vv-shop-designer.single-product .ashade-post-navigation-wrap > .ashade-prev-post-link a *,
body.vv-shop-designer.single-product .ashade-post-navigation-wrap > .ashade-next-post-link a * {
  color: #eeeeee !important;
}


/* 0.2.25: Only the small Ashade caption spans are orange.
   The remaining h6 text nodes (PRODUCT LISTING / SHOPPING CART) stay grey-white. */
body.vv-shop-designer.single-product .ashade-post-navigation-wrap > .ashade-prev-post-link h6,
body.vv-shop-designer.single-product .ashade-post-navigation-wrap > .ashade-next-post-link h6 {
  color: #b8b8b8 !important;
}
body.vv-shop-designer.single-product .ashade-post-navigation-wrap > .ashade-prev-post-link h6 > span,
body.vv-shop-designer.single-product .ashade-post-navigation-wrap > .ashade-next-post-link h6 > span {
  color: #F28C28 !important;
}


/* Vita Vision Shop Designer 0.2.26
   Single-product hero refinement: unify image and information panel,
   give the summary a deliberate vertical rhythm and remove dead space. */
body.vv-shop-designer.single-product .ashade-single-product--main {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  align-items: stretch !important;
  gap: clamp(22px, 3.2vw, 44px) !important;
}

/* Artwork frame */
body.vv-shop-designer.single-product .ashade-single-product--main > .woocommerce-product-gallery,
body.vv-shop-designer.single-product .ashade-single-product--main > .images {
  align-self: stretch !important;
  padding: 9px !important;
  background: linear-gradient(150deg, #202020 0%, #111 72%) !important;
  border: 1px solid rgba(255,255,255,.13) !important;
  border-radius: 14px !important;
  box-shadow: 0 22px 54px rgba(0,0,0,.28) !important;
}
body.vv-shop-designer.single-product .ashade-single-product--main .woocommerce-product-gallery img,
body.vv-shop-designer.single-product .ashade-single-product--main .images img {
  border-radius: 8px !important;
}

/* Product details panel: match the artwork's height and center its content. */
body.vv-shop-designer.single-product .ashade-single-product--main > .summary,
body.vv-shop-designer.single-product .ashade-single-product--main > .entry-summary {
  position: relative !important;
  align-self: stretch !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  min-height: 100% !important;
  height: auto !important;
  padding: clamp(30px, 3.8vw, 54px) !important;
  overflow: hidden !important;
  background:
    radial-gradient(ellipse at 100% 0%, rgba(242,140,40,.10), transparent 48%),
    linear-gradient(145deg, #1d1d1d 0%, #151515 58%, #111 100%) !important;
  border: 1px solid rgba(255,255,255,.13) !important;
  border-radius: 14px !important;
  box-shadow: 0 22px 54px rgba(0,0,0,.24) !important;
}
body.vv-shop-designer.single-product .ashade-single-product--main > .summary::before,
body.vv-shop-designer.single-product .ashade-single-product--main > .entry-summary::before {
  content: "" !important;
  position: absolute !important;
  top: 0 !important;
  left: 30px !important;
  width: 58px !important;
  height: 2px !important;
  background: #f28c28 !important;
  border-radius: 0 0 2px 2px !important;
  opacity: .9 !important;
}

/* Title and price become a calm vertical hierarchy instead of competing
   for the same narrow row. */
body.vv-shop-designer.single-product .ashade-single-product--title {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: flex-start !important;
  gap: 17px !important;
  margin: 0 0 22px !important;
}
body.vv-shop-designer.single-product .ashade-single-product--title h1,
body.vv-shop-designer.single-product .ashade-single-product--title h2,
body.vv-shop-designer.single-product .ashade-single-product--title h3,
body.vv-shop-designer.single-product .ashade-single-product--title .product_title {
  flex: 0 1 auto !important;
  width: 100% !important;
  max-width: 18ch !important;
  color: #f7f7f7 !important;
  font-size: clamp(30px, 2.7vw, 43px) !important;
  font-weight: 800 !important;
  line-height: 1.06 !important;
  letter-spacing: -.045em !important;
  overflow-wrap: normal !important;
}
body.vv-shop-designer.single-product .ashade-single-product--price {
  display: inline-flex !important;
  align-items: center !important;
  align-self: flex-start !important;
  margin: 0 !important;
  padding: 8px 13px !important;
  color: #f28c28 !important;
  background: rgba(242,140,40,.08) !important;
  border: 1px solid rgba(242,140,40,.26) !important;
  border-radius: 6px !important;
  font-size: 19px !important;
  font-weight: 800 !important;
  line-height: 1.25 !important;
}
body.vv-shop-designer.single-product .ashade-single-product--price .price,
body.vv-shop-designer.single-product .ashade-single-product--price .amount {
  color: #f28c28 !important;
  font-size: inherit !important;
  font-weight: inherit !important;
}

/* Description and purchase controls */
body.vv-shop-designer.single-product .ashade-single-product--excerpt,
body.vv-shop-designer.single-product .woocommerce-product-details__short-description {
  max-width: 48ch !important;
  margin: 0 0 28px !important;
  color: #c5c5c5 !important;
  font-size: 14px !important;
  line-height: 1.8 !important;
}
body.vv-shop-designer.single-product .ashade-single-product--qty {
  margin: 0 !important;
  padding-top: 24px !important;
  border-top: 1px solid rgba(255,255,255,.12) !important;
  gap: 14px !important;
}
body.vv-shop-designer.single-product .ashade-single-add2cart--simple {
  gap: 14px !important;
}
body.vv-shop-designer.single-product .ashade-single-add2cart--qty {
  height: 52px !important;
  border-radius: 7px !important;
  border-color: rgba(255,255,255,.16) !important;
}
body.vv-shop-designer.single-product .ashade-single-add2cart--qty a {
  width: 42px !important;
  min-width: 42px !important;
}
body.vv-shop-designer.single-product .ashade-single-add2cart--qty .quantity input.qty {
  height: 50px !important;
  min-height: 50px !important;
  width: 48px !important;
}
body.vv-shop-designer.single-product .ashade-single-add2cart--button button,
body.vv-shop-designer.single-product .ashade-single-add2cart--button .single_add_to_cart_button {
  min-width: 190px !important;
  min-height: 52px !important;
  border-radius: 7px !important;
  letter-spacing: .045em !important;
  box-shadow: 0 9px 24px rgba(242,140,40,.20) !important;
}
body.vv-shop-designer.single-product .ashade-single-add2cart--button button:hover,
body.vv-shop-designer.single-product .ashade-single-add2cart--button .single_add_to_cart_button:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 13px 30px rgba(242,140,40,.28) !important;
}

@media (max-width: 900px) {
  body.vv-shop-designer.single-product .ashade-single-product--main {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 18px !important;
    align-items: start !important;
  }
  body.vv-shop-designer.single-product .ashade-single-product--main > .summary,
  body.vv-shop-designer.single-product .ashade-single-product--main > .entry-summary {
    min-height: 0 !important;
    padding: clamp(24px, 5vw, 38px) !important;
  }
  body.vv-shop-designer.single-product .ashade-single-product--title h1,
  body.vv-shop-designer.single-product .ashade-single-product--title h2,
  body.vv-shop-designer.single-product .ashade-single-product--title h3,
  body.vv-shop-designer.single-product .ashade-single-product--title .product_title {
    max-width: 24ch !important;
    font-size: clamp(28px, 5vw, 38px) !important;
  }
}
@media (max-width: 560px) {
  body.vv-shop-designer.single-product .ashade-single-product--main > .summary,
  body.vv-shop-designer.single-product .ashade-single-product--main > .entry-summary {
    padding: 23px 20px !important;
    border-radius: 11px !important;
  }
  body.vv-shop-designer.single-product .ashade-single-product--title {
    gap: 13px !important;
    margin-bottom: 18px !important;
  }
  body.vv-shop-designer.single-product .ashade-single-product--title h1,
  body.vv-shop-designer.single-product .ashade-single-product--title h2,
  body.vv-shop-designer.single-product .ashade-single-product--title h3,
  body.vv-shop-designer.single-product .ashade-single-product--title .product_title {
    font-size: 27px !important;
  }
  body.vv-shop-designer.single-product .ashade-single-product--excerpt,
  body.vv-shop-designer.single-product .woocommerce-product-details__short-description {
    margin-bottom: 20px !important;
    font-size: 13px !important;
  }
  body.vv-shop-designer.single-product .ashade-single-product--qty {
    padding-top: 18px !important;
  }
}


/* 0.2.27: Keep product titles on one line whenever the available width allows.
   JS applies a small per-title font reduction only when a title would overflow. */
body.vv-shop-designer.single-product .ashade-single-product--title h1,
body.vv-shop-designer.single-product .ashade-single-product--title h2,
body.vv-shop-designer.single-product .ashade-single-product--title h3,
body.vv-shop-designer.single-product .ashade-single-product--title .product_title {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  white-space: nowrap !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
  line-height: 1.12 !important;
  letter-spacing: -.045em !important;
  font-size: clamp(18px, 2.35vw, 36px) !important;
}
@media (max-width: 900px) {
  body.vv-shop-designer.single-product .ashade-single-product--title h1,
  body.vv-shop-designer.single-product .ashade-single-product--title h2,
  body.vv-shop-designer.single-product .ashade-single-product--title h3,
  body.vv-shop-designer.single-product .ashade-single-product--title .product_title {
    font-size: clamp(17px, 4.3vw, 32px) !important;
  }
}


/* 0.2.28: Keep the price beside the product title on the same row. */
body.vv-shop-designer.single-product .ashade-single-product--title {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: space-between !important;
  flex-wrap: nowrap !important;
  gap: clamp(12px, 2vw, 24px) !important;
  width: 100% !important;
}
body.vv-shop-designer.single-product .ashade-single-product--title h1,
body.vv-shop-designer.single-product .ashade-single-product--title h2,
body.vv-shop-designer.single-product .ashade-single-product--title h3,
body.vv-shop-designer.single-product .ashade-single-product--title .product_title {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
  white-space: nowrap !important;
}
body.vv-shop-designer.single-product .ashade-single-product--title .ashade-single-product--price {
  flex: 0 0 auto !important;
  align-self: center !important;
  margin: 0 0 0 auto !important;
  white-space: nowrap !important;
}
@media (max-width: 560px) {
  body.vv-shop-designer.single-product .ashade-single-product--title {
    gap: 8px !important;
  }
  body.vv-shop-designer.single-product .ashade-single-product--title .ashade-single-product--price {
    padding: 7px 9px !important;
    font-size: 15px !important;
  }
}


/* 0.2.29: Desktop product summary is top-aligned and more balanced.
   Keep the compact mobile layout from 0.2.28 unchanged. */
@media (min-width: 761px) {
  body.vv-shop-designer.single-product .ashade-single-product--main {
    align-items: stretch !important;
    gap: clamp(28px, 3.2vw, 56px) !important;
  }

  body.vv-shop-designer.single-product .ashade-single-product--main > .summary,
  body.vv-shop-designer.single-product .ashade-single-product--main > div.summary,
  body.vv-shop-designer.single-product .ashade-single-product--main .summary.entry-summary {
    align-self: stretch !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
    min-height: 0 !important;
  }

  body.vv-shop-designer.single-product .summary.entry-summary .ashade-single-product--title {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding-top: clamp(34px, 4vw, 58px) !important;
    gap: clamp(16px, 2vw, 28px) !important;
    align-items: flex-start !important;
  }

  body.vv-shop-designer.single-product .ashade-single-product--title h1,
  body.vv-shop-designer.single-product .ashade-single-product--title h2,
  body.vv-shop-designer.single-product .ashade-single-product--title h3,
  body.vv-shop-designer.single-product .ashade-single-product--title .product_title {
    font-size: clamp(25px, 2.15vw, 38px) !important;
    line-height: 1.12 !important;
    letter-spacing: -0.035em !important;
  }

  body.vv-shop-designer.single-product .ashade-single-product--title .ashade-single-product--price {
    margin-top: 2px !important;
    padding: 10px 14px !important;
    font-size: 18px !important;
  }

  body.vv-shop-designer.single-product .ashade-single-product--excerpt {
    margin-top: 20px !important;
  }

  body.vv-shop-designer.single-product .ashade-single-product--qty {
    margin-top: 26px !important;
  }
}


/* 0.2.30: Desktop title and price use separate grid tracks.
   The title gets the remaining width; the price can never overlap it. */
@media (min-width: 761px) {
  body.vv-shop-designer.single-product .summary.entry-summary .ashade-single-product--title {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) max-content !important;
    align-items: center !important;
    justify-content: stretch !important;
    column-gap: clamp(12px, 1.6vw, 24px) !important;
    width: 100% !important;
    min-width: 0 !important;
  }

  body.vv-shop-designer.single-product .ashade-single-product--title h1,
  body.vv-shop-designer.single-product .ashade-single-product--title h2,
  body.vv-shop-designer.single-product .ashade-single-product--title h3,
  body.vv-shop-designer.single-product .ashade-single-product--title .product_title {
    grid-column: 1 !important;
    grid-row: 1 !important;
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    margin: 0 !important;
    white-space: nowrap !important;
    overflow: visible !important;
    text-overflow: clip !important;
    font-size: clamp(16px, 1.85vw, 32px) !important;
    line-height: 1.12 !important;
    letter-spacing: -.04em !important;
  }

  body.vv-shop-designer.single-product .ashade-single-product--title .ashade-single-product--price {
    grid-column: 2 !important;
    grid-row: 1 !important;
    justify-self: end !important;
    align-self: center !important;
    flex: none !important;
    width: max-content !important;
    max-width: none !important;
    margin: 0 !important;
    white-space: nowrap !important;
    position: relative !important;
    z-index: 1 !important;
  }
}


/* 0.2.31: responsive title/price row without overlap.
   The title flexes into the available space; the price keeps its own width. */
body.vv-shop-designer.single-product .summary.entry-summary .ashade-single-product--title {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  width: 100% !important;
  min-width: 0 !important;
}

body.vv-shop-designer.single-product .ashade-single-product--title h1,
body.vv-shop-designer.single-product .ashade-single-product--title h2,
body.vv-shop-designer.single-product .ashade-single-product--title h3,
body.vv-shop-designer.single-product .ashade-single-product--title .product_title {
  flex: 1 1 0% !important;
  width: 0 !important;
  min-width: 0 !important;
  max-width: 100% !important;
  margin: 0 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: clip !important;
  line-height: 1.12 !important;
}

body.vv-shop-designer.single-product .ashade-single-product--title .ashade-single-product--price {
  flex: 0 0 auto !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 7px 9px !important;
  font-size: 15px !important;
  line-height: 1.2 !important;
  white-space: nowrap !important;
  align-self: center !important;
}

@media (min-width: 761px) {
  body.vv-shop-designer.single-product .summary.entry-summary .ashade-single-product--title {
    gap: clamp(10px, 1.2vw, 18px) !important;
  }
}


/* 0.2.32: fit the full title instead of clipping it, and normalize the
   price badge dimensions on desktop and mobile. */
body.vv-shop-designer.single-product .summary.entry-summary .ashade-single-product--title {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 12px !important;
  width: 100% !important;
  min-width: 0 !important;
}

body.vv-shop-designer.single-product .ashade-single-product--title h1,
body.vv-shop-designer.single-product .ashade-single-product--title h2,
body.vv-shop-designer.single-product .ashade-single-product--title h3,
body.vv-shop-designer.single-product .ashade-single-product--title .product_title {
  display: block !important;
  flex: 1 1 0% !important;
  width: 0 !important;
  min-width: 0 !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  white-space: nowrap !important;
  overflow: visible !important;
  text-overflow: unset !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
  line-height: 1.12 !important;
}

body.vv-shop-designer.single-product .ashade-single-product--title .ashade-single-product--price {
  display: inline-flex !important;
  flex: 0 0 auto !important;
  align-items: center !important;
  justify-content: center !important;
  align-self: center !important;
  width: max-content !important;
  min-width: 0 !important;
  max-width: max-content !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 7px 9px !important;
  box-sizing: border-box !important;
  white-space: nowrap !important;
  line-height: 18px !important;
  font-size: 15px !important;
}

body.vv-shop-designer.single-product .ashade-single-product--title .ashade-single-product--price > span,
body.vv-shop-designer.single-product .ashade-single-product--title .ashade-single-product--price p,
body.vv-shop-designer.single-product .ashade-single-product--title .ashade-single-product--price .price,
body.vv-shop-designer.single-product .ashade-single-product--title .ashade-single-product--price .woocommerce-Price-amount,
body.vv-shop-designer.single-product .ashade-single-product--title .ashade-single-product--price bdi {
  display: inline !important;
  width: auto !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: inherit !important;
  font-size: inherit !important;
  white-space: nowrap !important;
}

@media (max-width: 760px) {
  body.vv-shop-designer.single-product .summary.entry-summary .ashade-single-product--title {
    gap: 8px !important;
  }
  body.vv-shop-designer.single-product .ashade-single-product--title .ashade-single-product--price {
    padding: 7px 9px !important;
    font-size: 15px !important;
    line-height: 18px !important;
  }
}


/* 0.2.33: match the desktop hero-column gap to the spacing
   used between the two navigation cards below. */
@media (min-width: 901px) {
  body.vv-shop-designer.single-product .ashade-single-product--main {
    column-gap: 14px !important;
    gap: 14px !important;
  }
}


/* 0.2.34: align the product image/summary row with the narrower
   navigation-card content below, while retaining the 14px inner gap. */
@media (min-width: 901px) {
  body.vv-shop-designer.single-product .ashade-single-product--main {
    width: 94.5% !important;
    max-width: 94.5% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box !important;
    column-gap: 14px !important;
    gap: 14px !important;
  }
}


/* 0.2.35: keep the expanded product description anchored at the top.
   Center the artwork within its matching-height frame to balance the
   extra vertical space created by longer product descriptions. */
@media (min-width: 901px) {
  body.vv-shop-designer.single-product .ashade-single-product--main > .summary,
  body.vv-shop-designer.single-product .ashade-single-product--main > .entry-summary {
    justify-content: flex-start !important;
  }

  body.vv-shop-designer.single-product .ashade-single-product--main > .woocommerce-product-gallery,
  body.vv-shop-designer.single-product .ashade-single-product--main > .images {
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: stretch !important;
  }

  body.vv-shop-designer.single-product .ashade-single-product--main .woocommerce-product-gallery__wrapper {
    width: 100% !important;
    margin: 0 !important;
  }
}


/* 0.2.36: reserve a real grid column for the price so it can never
   overlap the title. The title gets the remaining width and can shrink. */
body.vv-shop-designer.single-product .summary.entry-summary .ashade-single-product--title {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) max-content !important;
  align-items: center !important;
  justify-content: stretch !important;
  column-gap: 12px !important;
  width: 100% !important;
  min-width: 0 !important;
}

body.vv-shop-designer.single-product .ashade-single-product--title h1,
body.vv-shop-designer.single-product .ashade-single-product--title h2,
body.vv-shop-designer.single-product .ashade-single-product--title h3,
body.vv-shop-designer.single-product .ashade-single-product--title .product_title {
  grid-column: 1 !important;
  grid-row: 1 !important;
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  white-space: nowrap !important;
  overflow: visible !important;
  text-overflow: clip !important;
  line-height: 1.12 !important;
}

body.vv-shop-designer.single-product .ashade-single-product--title .ashade-single-product--price {
  grid-column: 2 !important;
  grid-row: 1 !important;
  justify-self: end !important;
  align-self: center !important;
  display: inline-flex !important;
  flex: none !important;
  width: max-content !important;
  min-width: 0 !important;
  max-width: max-content !important;
  margin: 0 !important;
  padding: 7px 9px !important;
  box-sizing: border-box !important;
  white-space: nowrap !important;
  line-height: 18px !important;
  font-size: 15px !important;
}

body.vv-shop-designer.single-product .ashade-single-product--title .ashade-single-product--price > span,
body.vv-shop-designer.single-product .ashade-single-product--title .ashade-single-product--price p,
body.vv-shop-designer.single-product .ashade-single-product--title .ashade-single-product--price .price,
body.vv-shop-designer.single-product .ashade-single-product--title .ashade-single-product--price .woocommerce-Price-amount,
body.vv-shop-designer.single-product .ashade-single-product--title .ashade-single-product--price bdi {
  display: inline !important;
  width: auto !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: inherit !important;
  font-size: inherit !important;
  white-space: nowrap !important;
}

@media (max-width: 760px) {
  body.vv-shop-designer.single-product .summary.entry-summary .ashade-single-product--title {
    column-gap: 8px !important;
  }
}


/* 0.2.37: stable title/price row based on the actual Ashade markup. */
body.vv-shop-designer.single-product .summary.entry-summary .ashade-single-product--title {
  display: flex !important;
  flex-flow: row nowrap !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  width: 100% !important;
  min-width: 0 !important;
  position: relative !important;
}

body.vv-shop-designer.single-product .ashade-single-product--title > h3 {
  display: block !important;
  position: static !important;
  flex: 1 1 auto !important;
  min-width: 0 !important;
  width: auto !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  white-space: nowrap !important;
  overflow: visible !important;
  text-overflow: clip !important;
  line-height: 1.12 !important;
  letter-spacing: -0.035em !important;
  transform: none !important;
}

body.vv-shop-designer.single-product .ashade-single-product--title > .ashade-single-product--price {
  display: inline-flex !important;
  position: static !important;
  flex: 0 0 auto !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: max-content !important;
  margin: 0 !important;
  padding: 7px 9px !important;
  box-sizing: border-box !important;
  white-space: nowrap !important;
  line-height: 18px !important;
  font-size: 15px !important;
  transform: none !important;
}

body.vv-shop-designer.single-product .ashade-single-product--title > .ashade-single-product--price p,
body.vv-shop-designer.single-product .ashade-single-product--title > .ashade-single-product--price .price,
body.vv-shop-designer.single-product .ashade-single-product--title > .ashade-single-product--price .woocommerce-Price-amount,
body.vv-shop-designer.single-product .ashade-single-product--title > .ashade-single-product--price bdi {
  display: inline !important;
  width: auto !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  white-space: nowrap !important;
  line-height: inherit !important;
  font-size: inherit !important;
}

@media (max-width: 760px) {
  body.vv-shop-designer.single-product .summary.entry-summary .ashade-single-product--title {
    gap: 8px !important;
  }
}


/* 0.2.38: hard layout fallback. The title owns the flexible column;
   the price is a non-shrinking item and can never sit on top of it. */
body.single-product .ashade-single-product--title {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 12px !important;
  width: 100% !important;
  min-width: 0 !important;
}

body.single-product .ashade-single-product--title > h3 {
  display: block !important;
  position: static !important;
  float: none !important;
  flex: 1 1 0% !important;
  width: 0 !important;
  min-width: 0 !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  font-size: clamp(12px, 2.1vw, 30px) !important;
  line-height: 1.12 !important;
  letter-spacing: -0.035em !important;
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
  overflow-wrap: anywhere !important;
}

body.single-product .ashade-single-product--title > .ashade-single-product--price {
  display: inline-flex !important;
  position: static !important;
  float: none !important;
  flex: 0 0 auto !important;
  width: max-content !important;
  min-width: 0 !important;
  max-width: max-content !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 !important;
  padding: 7px 9px !important;
  box-sizing: border-box !important;
  white-space: nowrap !important;
  font-size: 15px !important;
  line-height: 18px !important;
}

body.single-product .ashade-single-product--title > .ashade-single-product--price p,
body.single-product .ashade-single-product--title > .ashade-single-product--price .price,
body.single-product .ashade-single-product--title > .ashade-single-product--price .woocommerce-Price-amount,
body.single-product .ashade-single-product--title > .ashade-single-product--price bdi {
  display: inline !important;
  width: auto !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  white-space: nowrap !important;
  font-size: inherit !important;
  line-height: inherit !important;
}

@media (min-width: 1100px) {
  body.single-product .ashade-single-product--title > h3 {
    font-size: clamp(14px, 1.65vw, 30px) !important;
  }
}

@media (max-width: 760px) {
  body.single-product .ashade-single-product--title {
    gap: 8px !important;
  }
  body.single-product .ashade-single-product--title > h3 {
    font-size: clamp(12px, 4vw, 22px) !important;
  }
}


/* 0.2.39: target the actual Ashade wrapper and its h3/price siblings.
   Grid reserves a dedicated price column, so the two can never overlap. */
body.single-product .summary.entry-summary div.ashade-single-product--title {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) max-content !important;
  grid-template-rows: auto !important;
  align-items: center !important;
  justify-content: stretch !important;
  column-gap: 12px !important;
  row-gap: 0 !important;
  width: 100% !important;
  min-width: 0 !important;
  container-type: inline-size !important;
}

body.single-product .summary.entry-summary div.ashade-single-product--title h3 {
  grid-column: 1 !important;
  grid-row: 1 !important;
  display: block !important;
  position: static !important;
  float: none !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  font-size: clamp(12px, 4.6cqi, 26px) !important;
  line-height: 1.12 !important;
  letter-spacing: -0.035em !important;
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
  overflow-wrap: anywhere !important;
  word-break: normal !important;
}

body.single-product .summary.entry-summary div.ashade-single-product--title div.ashade-single-product--price {
  grid-column: 2 !important;
  grid-row: 1 !important;
  display: inline-flex !important;
  position: static !important;
  float: none !important;
  justify-self: end !important;
  align-self: center !important;
  flex: 0 0 auto !important;
  width: max-content !important;
  min-width: 0 !important;
  max-width: max-content !important;
  margin: 0 !important;
  padding: 7px 9px !important;
  box-sizing: border-box !important;
  white-space: nowrap !important;
  font-size: 15px !important;
  line-height: 18px !important;
}

body.single-product .summary.entry-summary div.ashade-single-product--title div.ashade-single-product--price p,
body.single-product .summary.entry-summary div.ashade-single-product--title div.ashade-single-product--price .price,
body.single-product .summary.entry-summary div.ashade-single-product--title div.ashade-single-product--price .woocommerce-Price-amount,
body.single-product .summary.entry-summary div.ashade-single-product--title div.ashade-single-product--price bdi {
  display: inline !important;
  width: auto !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  white-space: nowrap !important;
  font-size: inherit !important;
  line-height: inherit !important;
}

@media (max-width: 760px) {
  body.single-product .summary.entry-summary div.ashade-single-product--title {
    column-gap: 8px !important;
  }
  body.single-product .summary.entry-summary div.ashade-single-product--title h3 {
    font-size: clamp(12px, 4.6cqi, 21px) !important;
  }
}


/* 0.2.40: Vita Vision orange links inside single-product descriptions.
   Keep surrounding copy and unrelated navigation links in their original colors. */
body.single-product .summary.entry-summary .ashade-single-product--excerpt a,
body.single-product .summary.entry-summary .woocommerce-product-details__short-description a {
  color: #F28C28 !important;
  text-decoration: none !important;
  text-decoration-color: #F28C28 !important;
  transition: color .2s ease, text-shadow .2s ease !important;
}

body.single-product .summary.entry-summary .ashade-single-product--excerpt a:hover,
body.single-product .summary.entry-summary .ashade-single-product--excerpt a:focus,
body.single-product .summary.entry-summary .woocommerce-product-details__short-description a:hover,
body.single-product .summary.entry-summary .woocommerce-product-details__short-description a:focus {
  color: #FFAD55 !important;
  text-decoration: underline !important;
  text-decoration-color: currentColor !important;
  text-underline-offset: 3px !important;
  text-shadow: 0 0 10px rgba(242, 140, 40, .22) !important;
}


/* 0.2.41: let the two product panels size to their own content.
   The gallery no longer gets vertically centered inside an artificially
   tall grid row, and the details panel no longer stretches to the image. */
body.vv-shop-designer.single-product .ashade-single-product--main {
  align-items: start !important;
  grid-auto-rows: max-content !important;
}

body.vv-shop-designer.single-product .ashade-single-product--main > .woocommerce-product-gallery,
body.vv-shop-designer.single-product .ashade-single-product--main > .images {
  align-self: start !important;
  display: block !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  justify-content: flex-start !important;
}

body.vv-shop-designer.single-product .ashade-single-product--main .woocommerce-product-gallery__wrapper,
body.vv-shop-designer.single-product .ashade-single-product--main .woocommerce-product-gallery__image {
  height: auto !important;
  min-height: 0 !important;
}

body.vv-shop-designer.single-product .ashade-single-product--main .woocommerce-product-gallery img,
body.vv-shop-designer.single-product .ashade-single-product--main .images img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  max-height: none !important;
  object-fit: contain !important;
}

body.vv-shop-designer.single-product .ashade-single-product--main > .summary,
body.vv-shop-designer.single-product .ashade-single-product--main > .entry-summary,
body.vv-shop-designer.single-product .ashade-single-product--main .summary.entry-summary {
  align-self: start !important;
  justify-content: flex-start !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  box-sizing: border-box !important;
}

/* Keep a little breathing room, but remove the large empty top/bottom zones. */
@media (min-width: 901px) {
  body.vv-shop-designer.single-product .ashade-single-product--main > .summary,
  body.vv-shop-designer.single-product .ashade-single-product--main > .entry-summary,
  body.vv-shop-designer.single-product .ashade-single-product--main .summary.entry-summary {
    padding-top: 30px !important;
    padding-bottom: 30px !important;
  }
}

@media (max-width: 900px) {
  body.vv-shop-designer.single-product .ashade-single-product--main {
    align-items: start !important;
  }
  body.vv-shop-designer.single-product .ashade-single-product--main > .woocommerce-product-gallery,
  body.vv-shop-designer.single-product .ashade-single-product--main > .images,
  body.vv-shop-designer.single-product .ashade-single-product--main > .summary,
  body.vv-shop-designer.single-product .ashade-single-product--main > .entry-summary {
    height: auto !important;
    min-height: 0 !important;
  }
}


/* 0.2.42: the desktop details panel follows the exact rendered gallery height.
   JS measures the gallery frame; this keeps the two cards edge-aligned. */
@media (min-width: 901px) {
  body.vv-shop-designer.single-product .ashade-single-product--main {
    align-items: start !important;
  }

  body.vv-shop-designer.single-product .ashade-single-product--main > .summary,
  body.vv-shop-designer.single-product .ashade-single-product--main > .entry-summary,
  body.vv-shop-designer.single-product .ashade-single-product--main .summary.entry-summary {
    height: auto;
    min-height: 0 !important;
    box-sizing: border-box !important;
    overflow: visible !important;
    transition: height .2s ease !important;
  }
}

@media (max-width: 900px) {
  body.vv-shop-designer.single-product .ashade-single-product--main > .summary,
  body.vv-shop-designer.single-product .ashade-single-product--main > .entry-summary,
  body.vv-shop-designer.single-product .ashade-single-product--main .summary.entry-summary {
    height: auto !important;
  }
}


/* 0.2.43: tighten the details panel and remove the oversized title offset. */
@media (min-width: 901px) {
  body.vv-shop-designer.single-product .summary.entry-summary {
    padding: 22px 24px 18px !important;
    justify-content: flex-start !important;
  }

  body.vv-shop-designer.single-product .summary.entry-summary .ashade-single-product--title {
    padding-top: 0 !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    gap: 10px !important;
  }

  body.vv-shop-designer.single-product .summary.entry-summary .ashade-single-product--excerpt,
  body.vv-shop-designer.single-product .summary.entry-summary .woocommerce-product-details__short-description {
    margin-top: 0 !important;
    margin-bottom: 14px !important;
  }

  body.vv-shop-designer.single-product .summary.entry-summary .ashade-single-product--qty {
    margin-top: 0 !important;
    padding-top: 14px !important;
  }
}


/* 0.2.44: vertically center the complete product information group
   inside the details card, while keeping its internal spacing intact. */
@media (min-width: 901px) {
  body.vv-shop-designer.single-product .ashade-single-product--main .summary.entry-summary {
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: stretch !important;
    padding-top: 24px !important;
    padding-bottom: 24px !important;
  }

  body.vv-shop-designer.single-product .ashade-single-product--main .summary.entry-summary > .ashade-single-product--title,
  body.vv-shop-designer.single-product .ashade-single-product--main .summary.entry-summary > .ashade-single-product--excerpt,
  body.vv-shop-designer.single-product .ashade-single-product--main .summary.entry-summary > .woocommerce-product-details__short-description,
  body.vv-shop-designer.single-product .ashade-single-product--main .summary.entry-summary > .ashade-single-product--qty,
  body.vv-shop-designer.single-product .ashade-single-product--main .summary.entry-summary > .ashade-single-product--tags {
    flex: 0 0 auto !important;
  }
}

@media (max-width: 900px) {
  body.vv-shop-designer.single-product .ashade-single-product--main .summary.entry-summary {
    justify-content: flex-start !important;
  }
}


/* 0.2.45: clear visual separation between the title/price row and description. */
@media (min-width: 901px) {
  body.vv-shop-designer.single-product .ashade-single-product--main .summary.entry-summary > .ashade-single-product--title {
    margin-bottom: 14px !important;
  }
}
@media (max-width: 900px) {
  body.vv-shop-designer.single-product .ashade-single-product--main .summary.entry-summary > .ashade-single-product--title {
    margin-bottom: 12px !important;
  }
}


/* 0.2.46: increase the title-to-description breathing room. */
@media (min-width: 901px) {
  body.vv-shop-designer.single-product .ashade-single-product--main .summary.entry-summary > .ashade-single-product--title {
    margin-bottom: 24px !important;
  }
}
@media (max-width: 900px) {
  body.vv-shop-designer.single-product .ashade-single-product--main .summary.entry-summary > .ashade-single-product--title {
    margin-bottom: 18px !important;
  }
}


/* 0.2.47: generous separation between product heading and description. */
@media (min-width: 901px) {
  body.vv-shop-designer.single-product .ashade-single-product--main .summary.entry-summary > .ashade-single-product--title {
    margin-bottom: 36px !important;
  }
}
@media (max-width: 900px) {
  body.vv-shop-designer.single-product .ashade-single-product--main .summary.entry-summary > .ashade-single-product--title {
    margin-bottom: 26px !important;
  }
}


/* 0.2.48: center the complete product information group vertically
   against the gallery card, matching the supplied reference layout. */
@media (min-width: 901px) {
  body.vv-shop-designer.single-product .ashade-single-product--main > .summary.entry-summary,
  body.vv-shop-designer.single-product .ashade-single-product--main > .entry-summary,
  body.vv-shop-designer.single-product .ashade-single-product--main .summary.entry-summary {
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: stretch !important;
    height: auto !important;
    min-height: 0 !important;
    box-sizing: border-box !important;
    padding: 24px 24px !important;
  }

  body.vv-shop-designer.single-product .ashade-single-product--main .summary.entry-summary > .ashade-single-product--title {
    flex: 0 0 auto !important;
    margin-top: 0 !important;
    margin-bottom: 36px !important;
  }

  body.vv-shop-designer.single-product .ashade-single-product--main .summary.entry-summary > .ashade-single-product--excerpt,
  body.vv-shop-designer.single-product .ashade-single-product--main .summary.entry-summary > .woocommerce-product-details__short-description {
    flex: 0 0 auto !important;
    margin-top: 0 !important;
  }

  body.vv-shop-designer.single-product .ashade-single-product--main .summary.entry-summary > .ashade-single-product--qty {
    flex: 0 0 auto !important;
  }
}


/* 0.2.49: center one unified product-information group against the gallery.
   The script wraps the summary children in .vvsd-product-info-inner and
   uses equal auto margins to make the visual center exact. */
@media (min-width: 901px) {
  body.vv-shop-designer.single-product .ashade-single-product--main > .summary.entry-summary {
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
    align-items: stretch !important;
    box-sizing: border-box !important;
    overflow: visible !important;
  }

  body.vv-shop-designer.single-product .ashade-single-product--main > .summary.entry-summary > .vvsd-product-info-inner {
    display: flex !important;
    flex: 0 0 auto !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
    align-items: stretch !important;
    width: 100% !important;
    min-height: 0 !important;
    margin-top: auto !important;
    margin-bottom: auto !important;
  }

  body.vv-shop-designer.single-product .vvsd-product-info-inner > .ashade-single-product--title {
    margin-top: 0 !important;
    margin-bottom: 36px !important;
    padding-top: 0 !important;
  }

  body.vv-shop-designer.single-product .vvsd-product-info-inner > .ashade-single-product--excerpt,
  body.vv-shop-designer.single-product .vvsd-product-info-inner > .woocommerce-product-details__short-description {
    margin-top: 0 !important;
  }

  body.vv-shop-designer.single-product .vvsd-product-info-inner > .ashade-single-product--qty {
    margin-top: 0 !important;
  }
}

@media (max-width: 900px) {
  body.vv-shop-designer.single-product .ashade-single-product--main > .summary.entry-summary {
    height: auto !important;
    justify-content: flex-start !important;
  }

  body.vv-shop-designer.single-product .ashade-single-product--main > .summary.entry-summary > .vvsd-product-info-inner {
    width: 100% !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
}


/* 0.2.50: responsive product hero + restored title/description rhythm. */
body.vv-shop-designer.single-product .vvsd-product-info-inner {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  min-width: 0 !important;
}

/* The heading row is separated from the description as part of the wrapper. */
body.vv-shop-designer.single-product .vvsd-product-info-inner > .ashade-single-product--title {
  flex: 0 0 auto !important;
  margin: 0 0 28px !important;
  padding-top: 0 !important;
}

body.vv-shop-designer.single-product .vvsd-product-info-inner > .ashade-single-product--excerpt {
  flex: 0 0 auto !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  margin: 0 0 22px !important;
}

body.vv-shop-designer.single-product .vvsd-product-info-inner > .ashade-single-product--excerpt .woocommerce-product-details__short-description,
body.vv-shop-designer.single-product .vvsd-product-info-inner > .woocommerce-product-details__short-description {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  overflow-wrap: anywhere !important;
}

body.vv-shop-designer.single-product .vvsd-product-info-inner > .ashade-single-product--qty {
  flex: 0 0 auto !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding-top: 18px !important;
}

body.vv-shop-designer.single-product .vvsd-product-info-inner .ashade-single-add2cart--simple,
body.vv-shop-designer.single-product .vvsd-product-info-inner form.cart {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 12px !important;
  max-width: 100% !important;
}

body.vv-shop-designer.single-product .vvsd-product-info-inner .ashade-single-add2cart--button,
body.vv-shop-designer.single-product .vvsd-product-info-inner .single_add_to_cart_button {
  max-width: 100% !important;
}

@media (min-width: 1101px) {
  body.vv-shop-designer.single-product .ashade-single-product--main {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    align-items: stretch !important;
  }

  body.vv-shop-designer.single-product .ashade-single-product--main > .summary.entry-summary {
    min-width: 0 !important;
    max-width: 100% !important;
  }

  body.vv-shop-designer.single-product .ashade-single-product--main > .summary.entry-summary > .vvsd-product-info-inner {
    width: 100% !important;
    margin-top: auto !important;
    margin-bottom: auto !important;
  }
}

/* Tablet and mobile: stack the two cards before either column gets cramped. */
@media (max-width: 1100px) {
  body.vv-shop-designer.single-product .ashade-single-product--main {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    grid-auto-rows: max-content !important;
    width: min(680px, calc(100% - 32px)) !important;
    max-width: 680px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    align-items: start !important;
    gap: 18px !important;
  }

  body.vv-shop-designer.single-product .ashade-single-product--main > .woocommerce-product-gallery,
  body.vv-shop-designer.single-product .ashade-single-product--main > .images,
  body.vv-shop-designer.single-product .ashade-single-product--main > .summary.entry-summary,
  body.vv-shop-designer.single-product .ashade-single-product--main > .entry-summary,
  body.vv-shop-designer.single-product .ashade-single-product--main > .summary {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    align-self: start !important;
    box-sizing: border-box !important;
  }

  body.vv-shop-designer.single-product .ashade-single-product--main > .summary.entry-summary {
    padding: 24px 22px !important;
    overflow: visible !important;
  }

  body.vv-shop-designer.single-product .ashade-single-product--main > .summary.entry-summary > .vvsd-product-info-inner {
    width: 100% !important;
    margin: 0 !important;
  }

  body.vv-shop-designer.single-product .vvsd-product-info-inner > .ashade-single-product--title {
    margin-bottom: 22px !important;
  }

  body.vv-shop-designer.single-product .vvsd-product-info-inner > .ashade-single-product--excerpt {
    margin-bottom: 18px !important;
  }

  body.vv-shop-designer.single-product .vvsd-product-info-inner > .ashade-single-product--qty {
    padding-top: 16px !important;
  }
}

@media (max-width: 560px) {
  body.vv-shop-designer.single-product .ashade-single-product--main {
    width: calc(100% - 24px) !important;
    gap: 14px !important;
  }

  body.vv-shop-designer.single-product .ashade-single-product--main > .summary.entry-summary {
    padding: 20px 17px !important;
  }

  body.vv-shop-designer.single-product .vvsd-product-info-inner .ashade-single-add2cart--simple,
  body.vv-shop-designer.single-product .vvsd-product-info-inner form.cart {
    gap: 10px !important;
  }

  body.vv-shop-designer.single-product .vvsd-product-info-inner .ashade-single-add2cart--button,
  body.vv-shop-designer.single-product .vvsd-product-info-inner .single_add_to_cart_button {
    width: 100% !important;
  }
}


/* 0.2.51: stack the product gallery and summary through 1400px.
   This gives the summary enough usable width for price, description and cart controls. */
@media (max-width: 1400px) {
  body.vv-shop-designer.single-product .ashade-single-product--main {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    grid-auto-rows: max-content !important;
    align-items: start !important;
    justify-items: center !important;
    width: min(760px, calc(100% - 32px)) !important;
    max-width: 760px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    gap: 18px !important;
  }

  body.vv-shop-designer.single-product .ashade-single-product--main > .woocommerce-product-gallery,
  body.vv-shop-designer.single-product .ashade-single-product--main > .images,
  body.vv-shop-designer.single-product .ashade-single-product--main > .summary.entry-summary,
  body.vv-shop-designer.single-product .ashade-single-product--main > .entry-summary,
  body.vv-shop-designer.single-product .ashade-single-product--main > .summary {
    grid-column: 1 !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    align-self: start !important;
    box-sizing: border-box !important;
  }

  body.vv-shop-designer.single-product .ashade-single-product--main > .summary.entry-summary {
    padding: 24px 22px !important;
    overflow: visible !important;
  }

  body.vv-shop-designer.single-product .ashade-single-product--main > .summary.entry-summary > .vvsd-product-info-inner {
    width: 100% !important;
    margin: 0 !important;
  }
}

/* 0.2.51: enforce a real, visible gap after the title row.
   Padding belongs to the title wrapper itself, so it cannot collapse with
   the description wrapper or be lost to theme margin resets. */
body.vv-shop-designer.single-product .vvsd-product-info-inner > .ashade-single-product--title {
  box-sizing: border-box !important;
  margin: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 28px !important;
}

body.vv-shop-designer.single-product .vvsd-product-info-inner > .ashade-single-product--excerpt,
body.vv-shop-designer.single-product .vvsd-product-info-inner > .woocommerce-product-details__short-description {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

@media (max-width: 900px) {
  body.vv-shop-designer.single-product .vvsd-product-info-inner > .ashade-single-product--title {
    padding-bottom: 22px !important;
  }
}


/* 0.2.52: remove Ashade's decorative center separator on stacked
   product navigation cards. Keep the two card borders and card styling. */
@media (max-width: 900px) {
  body.vv-shop-designer.single-product nav.ashade-post-navigation-wrap::before,
  body.vv-shop-designer.single-product nav.ashade-post-navigation-wrap::after {
    content: none !important;
    display: none !important;
    width: 0 !important;
    height: 0 !important;
    border: 0 !important;
    background: none !important;
    box-shadow: none !important;
  }

  body.vv-shop-designer.single-product nav.ashade-post-navigation-wrap {
    border: 0 !important;
    border-top: 0 !important;
    border-bottom: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    background-image: none !important;
  }
}


/* 0.2.53: add more breathing room between product title/price and description.
   Apply spacing to the whole title row so it remains consistent at all sizes. */
body.vv-shop-designer.single-product .vvsd-product-info-inner > .ashade-single-product--title {
  margin-bottom: 0 !important;
  padding-bottom: 44px !important;
}

@media (max-width: 900px) {
  body.vv-shop-designer.single-product .vvsd-product-info-inner > .ashade-single-product--title {
    padding-bottom: 32px !important;
  }
}


/* 0.2.54: make the info wrapper natural-height so the whole group can
   center in the summary card; don't stretch the wrapper itself. */
body.vv-shop-designer.single-product .ashade-single-product--main > .summary.entry-summary {
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
  align-items: stretch !important;
  min-width: 0 !important;
}

body.vv-shop-designer.single-product .ashade-single-product--main > .summary.entry-summary > .vvsd-product-info-inner {
  display: flex !important;
  flex: 0 0 auto !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
  align-items: stretch !important;
  width: 100% !important;
  height: max-content !important;
  min-height: 0 !important;
  max-height: none !important;
  box-sizing: border-box !important;
}

@media (min-width: 1401px) {
  body.vv-shop-designer.single-product .ashade-single-product--main > .summary.entry-summary > .vvsd-product-info-inner {
    margin-top: auto !important;
    margin-bottom: auto !important;
  }
}

@media (max-width: 1400px) {
  body.vv-shop-designer.single-product .ashade-single-product--main > .summary.entry-summary > .vvsd-product-info-inner {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
}

/* 470px and above: quantity + add-to-cart stay on one row. */
@media (min-width: 470px) and (max-width: 900px) {
  body.vv-shop-designer.single-product .vvsd-product-info-inner form.ashade-single-add2cart--simple,
  body.vv-shop-designer.single-product .vvsd-product-info-inner form.cart.ashade-single-add2cart--simple {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: flex-start !important;
    width: 100% !important;
    max-width: 100% !important;
    gap: 12px !important;
  }

  body.vv-shop-designer.single-product .vvsd-product-info-inner .ashade-single-add2cart--qty {
    flex: 0 0 auto !important;
    width: auto !important;
    max-width: none !important;
  }

  body.vv-shop-designer.single-product .vvsd-product-info-inner .ashade-single-add2cart--button {
    display: flex !important;
    flex: 1 1 0% !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
  }

  body.vv-shop-designer.single-product .vvsd-product-info-inner .ashade-single-add2cart--button button,
  body.vv-shop-designer.single-product .vvsd-product-info-inner .ashade-single-add2cart--button .single_add_to_cart_button {
    flex: 1 1 auto !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }
}

/* Below 470px: put the full-width button below the quantity selector. */
@media (max-width: 469px) {
  body.vv-shop-designer.single-product .vvsd-product-info-inner form.ashade-single-add2cart--simple,
  body.vv-shop-designer.single-product .vvsd-product-info-inner form.cart.ashade-single-add2cart--simple {
    display: flex !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    width: 100% !important;
    max-width: 100% !important;
    gap: 12px !important;
  }

  body.vv-shop-designer.single-product .vvsd-product-info-inner .ashade-single-add2cart--qty {
    flex: 0 0 auto !important;
    align-self: flex-start !important;
  }

  body.vv-shop-designer.single-product .vvsd-product-info-inner .ashade-single-add2cart--button {
    display: flex !important;
    flex: 0 0 auto !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }

  body.vv-shop-designer.single-product .vvsd-product-info-inner .ashade-single-add2cart--button button,
  body.vv-shop-designer.single-product .vvsd-product-info-inner .ashade-single-add2cart--button .single_add_to_cart_button {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }
}


/* 0.2.55: override older Ashade tablet button-stacking rules through 960px.
   The button shares a row with quantity from 470px upward. */
@media (min-width: 470px) and (max-width: 960px) {
  body.vv-shop-designer.single-product .vvsd-product-info-inner .ashade-single-add2cart--simple,
  body.vv-shop-designer.single-product .vvsd-product-info-inner form.cart,
  body.vv-shop-designer.single-product .vvsd-product-info-inner form.ashade-single-add2cart--simple {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: flex-start !important;
    width: 100% !important;
    max-width: 100% !important;
    gap: 12px !important;
  }

  body.vv-shop-designer.single-product .vvsd-product-info-inner .ashade-single-add2cart--qty,
  body.vv-shop-designer.single-product .vvsd-product-info-inner .quantity {
    display: inline-flex !important;
    flex: 0 0 auto !important;
    width: auto !important;
    min-width: max-content !important;
    max-width: none !important;
    align-self: center !important;
  }

  body.vv-shop-designer.single-product .vvsd-product-info-inner .ashade-single-add2cart--button {
    display: flex !important;
    flex: 1 1 0% !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    align-self: center !important;
  }

  body.vv-shop-designer.single-product .vvsd-product-info-inner .ashade-single-add2cart--button button,
  body.vv-shop-designer.single-product .vvsd-product-info-inner .ashade-single-add2cart--button .single_add_to_cart_button {
    display: block !important;
    flex: 1 1 auto !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    margin: 0 !important;
  }
}


/* 0.2.56: use measured visual-content centering, not auto margins.
   Empty metadata tags are removed so blank theme placeholders do not bias
   the visual center of the title, description and purchase controls. */
@media (min-width: 1401px) {
  body.vv-shop-designer.single-product .ashade-single-product--main > .summary.entry-summary {
    display: block !important;
    position: relative !important;
    box-sizing: border-box !important;
  }

  body.vv-shop-designer.single-product .ashade-single-product--main > .summary.entry-summary > .vvsd-product-info-inner {
    display: flex !important;
    position: relative !important;
    flex: none !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
    align-items: stretch !important;
    height: max-content !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 !important;
    width: 100% !important;
    transform: none;
  }

  body.vv-shop-designer.single-product .vvsd-product-info-inner > .ashade-single-product--tags:empty {
    display: none !important;
    margin: 0 !important;
    padding: 0 !important;
    height: 0 !important;
  }
}


/* 0.2.57: compact mobile purchase controls.
   Under 470px keep quantity and the add-to-cart action on one row.
   The existing local Lucide shopping-cart SVG replaces the button text. */
@media (max-width: 469px) {
  body.vv-shop-designer.single-product .vvsd-product-info-inner .ashade-single-product--qty {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding-top: 16px !important;
  }

  body.vv-shop-designer.single-product .vvsd-product-info-inner .ashade-single-product--qty form.ashade-single-add2cart--simple,
  body.vv-shop-designer.single-product .vvsd-product-info-inner .ashade-single-product--qty form.cart,
  body.vv-shop-designer.single-product .vvsd-product-info-inner form.ashade-single-add2cart--simple {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 10px !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    margin: 0 !important;
  }

  body.vv-shop-designer.single-product .vvsd-product-info-inner .ashade-single-add2cart--qty {
    display: inline-flex !important;
    flex: 0 0 auto !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: max-content !important;
    margin: 0 !important;
    align-self: center !important;
  }

  body.vv-shop-designer.single-product .vvsd-product-info-inner .ashade-single-add2cart--button {
    display: flex !important;
    flex: 0 0 52px !important;
    width: 52px !important;
    min-width: 52px !important;
    max-width: 52px !important;
    margin: 0 !important;
    padding: 0 !important;
    align-self: center !important;
  }

  body.vv-shop-designer.single-product .vvsd-product-info-inner .ashade-single-add2cart--button button,
  body.vv-shop-designer.single-product .vvsd-product-info-inner .ashade-single-add2cart--button .single_add_to_cart_button {
    position: relative !important;
    display: inline-flex !important;
    flex: 0 0 52px !important;
    align-items: center !important;
    justify-content: center !important;
    width: 52px !important;
    min-width: 52px !important;
    max-width: 52px !important;
    height: 52px !important;
    min-height: 52px !important;
    max-height: 52px !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    border-radius: 8px !important;
    font-size: 0 !important;
    line-height: 0 !important;
    letter-spacing: 0 !important;
    text-indent: 0 !important;
    color: transparent !important;
    box-sizing: border-box !important;
  }

  body.vv-shop-designer.single-product .vvsd-product-info-inner .ashade-single-add2cart--button button::before,
  body.vv-shop-designer.single-product .vvsd-product-info-inner .ashade-single-add2cart--button .single_add_to_cart_button::before {
    content: "" !important;
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    display: block !important;
    width: 25px !important;
    height: 25px !important;
    margin: 0 !important;
    padding: 0 !important;
    background-color: #111111 !important;
    -webkit-mask: url("shopping-cart.svg") center / contain no-repeat !important;
    mask: url("shopping-cart.svg") center / contain no-repeat !important;
    transform: translate(-50%, -50%) !important;
    opacity: 1 !important;
  }

  body.vv-shop-designer.single-product .vvsd-product-info-inner .ashade-single-add2cart--button button::after,
  body.vv-shop-designer.single-product .vvsd-product-info-inner .ashade-single-add2cart--button .single_add_to_cart_button::after {
    content: none !important;
    display: none !important;
  }
}


/* 0.2.58: keep the compact cart-icon action full-width beside quantity.
   The icon stays centered inside the available button width on narrow phones. */
@media (max-width: 469px) {
  body.vv-shop-designer.single-product .vvsd-product-info-inner form.ashade-single-add2cart--simple,
  body.vv-shop-designer.single-product .vvsd-product-info-inner form.cart,
  body.vv-shop-designer.single-product .vvsd-product-info-inner form.ashade-single-add2cart--simple {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 10px !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }

  body.vv-shop-designer.single-product .vvsd-product-info-inner .ashade-single-add2cart--qty {
    flex: 0 0 auto !important;
    width: auto !important;
    min-width: max-content !important;
    max-width: max-content !important;
    align-self: center !important;
  }

  body.vv-shop-designer.single-product .vvsd-product-info-inner .ashade-single-add2cart--button {
    display: flex !important;
    flex: 1 1 0% !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    align-self: stretch !important;
  }

  body.vv-shop-designer.single-product .vvsd-product-info-inner .ashade-single-add2cart--button button,
  body.vv-shop-designer.single-product .vvsd-product-info-inner .ashade-single-add2cart--button .single_add_to_cart_button {
    position: relative !important;
    display: inline-flex !important;
    flex: 1 1 auto !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: 52px !important;
    min-height: 52px !important;
    max-height: 52px !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    border-radius: 8px !important;
    box-sizing: border-box !important;
    font-size: 0 !important;
    line-height: 0 !important;
    letter-spacing: 0 !important;
    text-indent: -9999px !important;
    color: transparent !important;
  }

  body.vv-shop-designer.single-product .vvsd-product-info-inner .ashade-single-add2cart--button button::before,
  body.vv-shop-designer.single-product .vvsd-product-info-inner .ashade-single-add2cart--button .single_add_to_cart_button::before {
    content: "" !important;
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    display: block !important;
    width: 25px !important;
    height: 25px !important;
    margin: 0 !important;
    padding: 0 !important;
    background-color: #111111 !important;
    -webkit-mask: url("shopping-cart.svg") center / contain no-repeat !important;
    mask: url("shopping-cart.svg") center / contain no-repeat !important;
    transform: translate(-50%, -50%) !important;
    opacity: 1 !important;
  }
}
