/* ==========================================================================
   Petvixa - 2026 Master WooCommerce Stylesheet (Zero Bugs, 100% Responsive)
   ========================================================================== */

/* Design Tokens */
:root {
  --pv-primary: #ff6b35;
  --pv-primary-hover: #fa5a1e;
  --pv-primary-light: #fff0e8;
  --pv-secondary: #0f172a;
  --pv-surface: #ffffff;
  --pv-surface-alt: #f8fafc;
  --pv-border: #e2e8f0;
  --pv-text: #1e293b;
  --pv-muted: #64748b;
  --pv-danger: #ef4444;
  --pv-success: #10b981;
}

/* ==========================================================================
   1. SHOP CATALOG & MASTER PRODUCT GRID
   ========================================================================== */
.petvixa-shop-layout {
  display: grid !important;
  grid-template-columns: 260px 1fr !important;
  gap: 36px !important;
  padding: 20px 0 80px !important;
  align-items: start !important;
}

@media (max-width: 991px) {
  .petvixa-shop-layout {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
  }
}

.petvixa-shop-sidebar {
  background: #ffffff !important;
  border: 1px solid var(--pv-border) !important;
  border-radius: 20px !important;
  padding: 24px !important;
  box-shadow: 0 4px 20px -2px rgba(0, 0, 0, 0.05) !important;
}

.petvixa-shop-sidebar .widget {
  margin-bottom: 24px !important;
  padding-bottom: 18px !important;
  border-bottom: 1px solid var(--pv-border) !important;
}

.petvixa-shop-sidebar .widget:last-child {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
  border-bottom: none !important;
}

.petvixa-shop-sidebar .widget-title {
  font-size: 1.05rem !important;
  font-weight: 700 !important;
  margin-bottom: 14px !important;
  color: var(--pv-secondary) !important;
}

.petvixa-shop-content {
  min-width: 0 !important;
  width: 100% !important;
}

.petvixa-shop-controls {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  background: #ffffff !important;
  padding: 14px 18px !important;
  border-radius: 16px !important;
  border: 1px solid var(--pv-border) !important;
  margin-bottom: 24px !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
}

.woocommerce-result-count {
  font-size: 0.875rem !important;
  color: var(--pv-muted) !important;
  margin: 0 !important;
}

.woocommerce-ordering select {
  padding: 8px 14px !important;
  border-radius: 9999px !important;
  border: 1px solid var(--pv-border) !important;
  background: #ffffff !important;
  font-size: 0.875rem !important;
  color: var(--pv-text) !important;
  outline: none !important;
}

/* Master Product Grid (Desktop Defaults) */
.woocommerce ul.products,
.woocommerce-page ul.products,
ul.products,
#trending-products ul.products,
div.woocommerce ul.products,
.related ul.products,
.upsells ul.products,
.cross-sells ul.products {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 20px !important;
  list-style: none !important;
  margin: 0 0 40px 0 !important;
  padding: 0 !important;
  float: none !important;
  clear: both !important;
  width: 100% !important;
}

/* Related & Upsell Section Layout (Prevents single column squishing) */
section.related.products,
section.upsells.products,
section.cross-sells.products,
.related.products,
.upsells.products,
.cross-sells.products,
.related,
.upsells {
  display: block !important;
  width: 100% !important;
  clear: both !important;
  float: none !important;
  margin: 48px 0 30px !important;
  position: relative !important;
}

section.related.products > h2,
section.upsells.products > h2,
section.cross-sells.products > h2,
.related.products > h2,
.upsells.products > h2,
.related > h2,
.upsells > h2 {
  display: block !important;
  width: 100% !important;
  font-size: clamp(1.4rem, 2.5vw, 1.85rem) !important;
  font-weight: 800 !important;
  color: var(--pv-secondary) !important;
  margin: 0 0 24px 0 !important;
  padding: 0 0 12px 0 !important;
  border-bottom: 2px solid var(--pv-border) !important;
  text-align: left !important;
}

/* Shop Catalog with Sidebar on Desktop: 3 Columns */
.petvixa-shop-layout ul.products,
.petvixa-shop-content ul.products {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

.woocommerce ul.products::before,
.woocommerce ul.products::after,
ul.products::before,
ul.products::after {
  display: none !important;
  content: none !important;
}

/* Product Card Base */
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product,
.woocommerce ul.products[class*="columns-"] li.product,
.woocommerce-page ul.products[class*="columns-"] li.product,
ul.products li.product,
li.product.type-product,
.pv-product-card {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  float: none !important;
  margin: 0 !important;
  padding: 0 !important;
  clear: none !important;
  display: flex !important;
  flex-direction: column !important;
  background: transparent !important;
  border-radius: 18px !important;
  border: none !important;
  overflow: hidden !important;
  position: relative !important;
  transition: all 0.3s cubic-bezier(0.25, 1, 0.5, 1) !important;
}

.woocommerce ul.products li.product:hover,
.pv-product-card:hover {
  transform: translateY(-6px) !important;
  box-shadow: 0 20px 40px -10px rgba(0, 0, 0, 0.08) !important;
}

/* Product Thumbnail Container */
.pv-product-thumb-wrap,
.woocommerce ul.products li.product .pv-product-thumb-wrap {
  position: relative !important;
  width: 100% !important;
  height: 280px !important;
  min-height: 280px !important;
  background-color: transparent !important;
  overflow: hidden !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 10px !important;
  box-sizing: border-box !important;
}

.pv-product-thumb-wrap a,
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link,
.woocommerce-loop-product__link {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  height: 100% !important;
}

.pv-product-thumb-wrap img,
.woocommerce ul.products li.product img,
.woocommerce-LoopProduct-link img {
  width: 100% !important;
  height: 100% !important;
  max-height: 260px !important;
  object-fit: contain !important;
  display: block !important;
  margin: 0 auto !important;
  padding: 0 !important;
  transition: transform 0.4s ease !important;
}

.woocommerce ul.products li.product:hover img {
  transform: scale(1.03) !important;
}

/* Badges */
.pv-badges-wrap {
  position: absolute !important;
  top: 12px !important;
  left: 12px !important;
  z-index: 15 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 6px !important;
  pointer-events: none !important;
}

.pv-badge,
.pv-badge-sale,
.woocommerce span.onsale,
.woocommerce-page span.onsale,
.woocommerce ul.products li.product .onsale,
.woocommerce ul.products li.product span.onsale,
.woocommerce div.product span.onsale,
.woocommerce div.product div.images span.onsale,
.petvixa-single-gallery-column span.onsale,
.woocommerce-product-gallery span.onsale {
  position: absolute !important;
  top: 10px !important;
  left: 10px !important;
  right: auto !important;
  bottom: auto !important;
  z-index: 20 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  min-width: auto !important;
  max-width: none !important;
  height: auto !important;
  min-height: auto !important;
  max-height: none !important;
  padding: 3px 8px !important;
  border-radius: 9999px !important;
  background: linear-gradient(135deg, #ef4444 0%, #dc2626 100%) !important;
  background-color: #ef4444 !important;
  color: #ffffff !important;
  font-size: 0.68rem !important;
  font-weight: 800 !important;
  line-height: 1.1 !important;
  text-align: center !important;
  text-transform: uppercase !important;
  letter-spacing: 0.03em !important;
  white-space: nowrap !important;
  box-shadow: 0 2px 6px rgba(239, 68, 68, 0.35) !important;
  border: 1px solid rgba(255, 255, 255, 0.4) !important;
  margin: 0 !important;
  box-sizing: border-box !important;
  overflow: visible !important;
  pointer-events: none !important;
}

.pv-badges-wrap .pv-badge,
.pv-badges-wrap span.onsale,
.pv-badges-wrap .onsale {
  position: static !important;
}

.pv-badge-hot {
  background: linear-gradient(135deg, #ff6b35 0%, #fa5a1e 100%) !important;
  background-color: var(--pv-primary) !important;
  color: #ffffff !important;
  box-shadow: 0 4px 12px rgba(255, 107, 53, 0.4) !important;
}

/* Action Overlay */
.pv-product-actions-overlay {
  position: absolute !important;
  top: 10px !important;
  right: 10px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 6px !important;
  z-index: 6 !important;
  opacity: 0 !important;
  transform: translateX(8px) !important;
  transition: opacity 0.25s ease, transform 0.25s ease !important;
}

.woocommerce ul.products li.product:hover .pv-product-actions-overlay {
  opacity: 1 !important;
  transform: translateX(0) !important;
}

.pv-action-icon-btn {
  width: 34px !important;
  height: 34px !important;
  border-radius: 9999px !important;
  background: #ffffff !important;
  border: 1px solid var(--pv-border) !important;
  color: var(--pv-text) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08) !important;
  transition: all 0.2s ease !important;
}

.pv-action-icon-btn:hover {
  background-color: var(--pv-primary) !important;
  color: #ffffff !important;
  border-color: var(--pv-primary) !important;
}

/* Product Card Details */
.pv-product-content {
  padding: 16px 14px 20px !important;
  display: flex !important;
  flex-direction: column !important;
  flex: 1 !important;
  box-sizing: border-box !important;
  text-align: center !important;
  align-items: center !important;
}

.pv-product-cat {
  font-size: 0.725rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  color: var(--pv-muted) !important;
  margin-bottom: 6px !important;
  display: block !important;
}

.pv-product-title,
.woocommerce ul.products li.product .woocommerce-loop-product__title {
  font-size: 1rem !important;
  font-weight: 800 !important;
  color: var(--pv-secondary) !important;
  margin: 0 0 8px 0 !important;
  line-height: 1.3 !important;
  letter-spacing: -0.01em !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
  white-space: normal !important;
  word-break: break-word !important;
  padding: 0 !important;
}

.pv-product-title a,
.woocommerce-loop-product__title a {
  color: var(--pv-secondary) !important;
  text-decoration: none !important;
}

.pv-product-title a:hover,
.woocommerce-loop-product__title a:hover {
  color: var(--pv-primary) !important;
}

.star-rating,
.woocommerce .star-rating {
  font-size: 0.8rem !important;
  color: #f59e0b !important;
  margin-bottom: 6px !important;
  float: none !important;
}

.price,
.woocommerce ul.products li.product .price {
  font-size: 1.1rem !important;
  font-weight: 800 !important;
  color: var(--pv-primary) !important;
  margin-bottom: 12px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  line-height: 1.2 !important;
}

.price del,
.woocommerce ul.products li.product .price del {
  font-size: 0.825rem !important;
  font-weight: 500 !important;
  color: var(--pv-muted) !important;
  display: inline-block !important;
}

.price ins,
.woocommerce ul.products li.product .price ins {
  text-decoration: none !important;
  color: var(--pv-primary) !important;
  display: inline-block !important;
}

/* Product Card Add to Cart Button */
.pv-add-to-cart-wrapper,
.woocommerce ul.products li.product .pv-add-to-cart-wrapper {
  margin-top: auto !important;
  width: 100% !important;
}

.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product .add_to_cart_button,
.pv-add-to-cart-btn {
  width: 100% !important;
  background-color: var(--pv-surface-alt) !important;
  color: var(--pv-secondary) !important;
  border: 1px solid var(--pv-border) !important;
  font-weight: 700 !important;
  font-size: 0.85rem !important;
  padding: 10px 12px !important;
  border-radius: 9999px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  transition: all 0.2s ease !important;
  text-align: center !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  box-sizing: border-box !important;
}

.woocommerce ul.products li.product .button:hover,
.woocommerce ul.products li.product .add_to_cart_button:hover,
.pv-add-to-cart-btn:hover {
  background-color: var(--pv-primary) !important;
  color: #ffffff !important;
  border-color: var(--pv-primary) !important;
}

/* ==========================================================================
   RESPONSIVE PRODUCT GRID BREAKPOINTS (STRICT MOBILE 2-COL RULES)
   ========================================================================== */
@media screen and (max-width: 1100px) {
  .woocommerce ul.products,
  .woocommerce-page ul.products,
  ul.products,
  #trending-products ul.products,
  .petvixa-shop-layout ul.products,
  .petvixa-shop-content ul.products,
  .related ul.products,
  .upsells ul.products,
  .cross-sells ul.products {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 16px !important;
  }
}

/* Mobile Screens (768px & below): FORCED 2-COLUMN GRID EVERYWHERE */
@media screen and (max-width: 768px) {
  body .woocommerce ul.products,
  body .woocommerce-page ul.products,
  body ul.products,
  body #trending-products ul.products,
  body div.woocommerce ul.products,
  body .petvixa-shop-layout ul.products,
  body .petvixa-shop-content ul.products,
  body .related ul.products,
  body .upsells ul.products,
  body .cross-sells ul.products,
  .woocommerce ul.products,
  .woocommerce-page ul.products,
  ul.products,
  #trending-products ul.products,
  div.woocommerce ul.products,
  .related ul.products,
  .upsells ul.products,
  .cross-sells ul.products {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
    margin: 0 0 24px 0 !important;
    padding: 0 !important;
    width: 100% !important;
  }

  body .woocommerce ul.products li.product,
  body .woocommerce-page ul.products li.product,
  body ul.products li.product,
  body #trending-products ul.products li.product,
  body div.woocommerce ul.products li.product,
  .woocommerce ul.products li.product,
  .woocommerce-page ul.products li.product,
  ul.products li.product,
  li.product,
  .pv-product-card {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    float: none !important;
    margin: 0 !important;
    display: flex !important;
    flex-direction: column !important;
  }

  .pv-product-thumb-wrap,
  .woocommerce ul.products li.product .pv-product-thumb-wrap {
    height: 180px !important;
    min-height: 180px !important;
    width: 100% !important;
  }

  .pv-product-thumb-wrap img,
  .woocommerce ul.products li.product img {
    height: 180px !important;
    max-height: 180px !important;
    width: 100% !important;
    object-fit: cover !important;
  }

  .pv-product-content {
    padding: 10px 12px 14px !important;
  }

  .pv-product-title,
  .woocommerce ul.products li.product .woocommerce-loop-product__title {
    font-size: 0.875rem !important;
    line-height: 1.3 !important;
  }

  .price,
  .woocommerce ul.products li.product .price {
    font-size: 0.95rem !important;
    margin-bottom: 8px !important;
  }

  .woocommerce ul.products li.product .button,
  .woocommerce ul.products li.product .add_to_cart_button,
  .pv-add-to-cart-btn {
    font-size: 0.775rem !important;
    padding: 8px 10px !important;
    height: 36px !important;
  }
}

/* Small Mobile (< 360px) */
@media screen and (max-width: 360px) {
  body .woocommerce ul.products,
  body .woocommerce-page ul.products,
  body ul.products,
  body #trending-products ul.products,
  .woocommerce ul.products,
  .related ul.products,
  .upsells ul.products {
    grid-template-columns: 1fr !important;
  }
}

/* ==========================================================================
   2. SINGLE PRODUCT PAGE OVERHAUL (Shopify/Apple Level PDP)
   ========================================================================== */
.petvixa-single-product-wrap {
  display: grid !important;
  grid-template-columns: 1.05fr 0.95fr !important;
  gap: 48px !important;
  padding: 30px 0 50px !important;
  align-items: start !important;
  position: relative !important;
}

@media (max-width: 900px) {
  .petvixa-single-product-wrap {
    grid-template-columns: 1fr !important;
    gap: 30px !important;
  }
}

/* Gallery Column & Floating Sale Badge */
.petvixa-single-gallery-column {
  position: relative !important;
  width: 100% !important;
  min-width: 0 !important;
  display: block !important;
}

.petvixa-single-gallery-column span.onsale,
.petvixa-single-gallery-column .pv-badge-sale,
.woocommerce div.product div.images span.onsale,
.woocommerce div.product .petvixa-single-gallery-column span.onsale,
.woocommerce-product-gallery span.onsale {
  position: absolute !important;
  top: 14px !important;
  left: 14px !important;
  right: auto !important;
  bottom: auto !important;
  z-index: 25 !important;
  background: linear-gradient(135deg, #ef4444 0%, #dc2626 100%) !important;
  background-color: var(--pv-danger) !important;
  color: #ffffff !important;
  font-size: 0.725rem !important;
  font-weight: 800 !important;
  padding: 4px 10px !important;
  border-radius: 9999px !important;
  box-shadow: 0 2px 8px rgba(239, 68, 68, 0.35) !important;
  border: 1px solid rgba(255, 255, 255, 0.4) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.03em !important;
  line-height: 1.1 !important;
  white-space: nowrap !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  pointer-events: none !important;
  margin: 0 !important;
  width: auto !important;
  height: auto !important;
  min-width: auto !important;
  min-height: auto !important;
}

.woocommerce div.product div.images,
.petvixa-single-gallery-column {
  margin-bottom: 0 !important;
  width: 100% !important;
  float: none !important;
  position: relative !important;
}

.pv-single-gallery-box {
  position: relative !important;
  width: 100% !important;
}

.pv-single-main-image-wrap {
  width: 100% !important;
  height: 440px !important;
  max-height: 440px !important;
  border-radius: 20px !important;
  background: #f8fafc !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: hidden !important;
  border: 1px solid var(--pv-border) !important;
  box-shadow: 0 4px 20px -2px rgba(0, 0, 0, 0.05) !important;
}

.pv-single-main-link {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  height: 100% !important;
}

.pv-single-main-img,
.woocommerce div.product div.images img,
.woocommerce-product-gallery__image img {
  width: 100% !important;
  height: 100% !important;
  max-height: 440px !important;
  object-fit: contain !important;
  display: block !important;
  margin: 0 auto !important;
  border-radius: 18px !important;
}

/* Gallery Thumbnails Strip */
.pv-single-thumbnails-strip,
.woocommerce-product-gallery .flex-control-thumbs {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
  padding: 14px 0 0 0 !important;
  margin: 0 !important;
  list-style: none !important;
}

.pv-single-thumb,
.woocommerce-product-gallery .flex-control-thumbs li {
  width: 70px !important;
  height: 70px !important;
  min-width: 70px !important;
  float: none !important;
  margin: 0 !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  cursor: pointer !important;
  border: 2px solid var(--pv-border) !important;
  background: #ffffff !important;
  padding: 0 !important;
  transition: all 0.2s ease !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-sizing: border-box !important;
}

.pv-single-thumb img,
.woocommerce-product-gallery .flex-control-thumbs li img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  border-radius: 0 !important;
  display: block !important;
}

.pv-single-thumb.is-active,
.pv-single-thumb.flex-active,
.pv-single-thumb:hover,
.woocommerce-product-gallery .flex-control-thumbs li img.flex-active,
.woocommerce-product-gallery .flex-control-thumbs li:hover {
  border-color: var(--pv-primary) !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 4px 10px rgba(255, 107, 53, 0.25) !important;
}

@media (max-width: 768px) {
  .pv-single-main-image-wrap {
    height: 280px !important;
    max-height: 280px !important;
    border-radius: 16px !important;
  }
  .pv-single-main-img,
  .woocommerce div.product div.images img {
    max-height: 280px !important;
  }
  .pv-single-thumb,
  .woocommerce-product-gallery .flex-control-thumbs li {
    width: 56px !important;
    height: 56px !important;
    min-width: 56px !important;
    border-radius: 10px !important;
  }
}

/* Summary Column */
.woocommerce div.product div.summary,
.petvixa-single-summary-column {
  margin-bottom: 0 !important;
  width: 100% !important;
  float: none !important;
  display: flex !important;
  flex-direction: column !important;
}

.woocommerce div.product .product_title {
  font-size: clamp(1.6rem, 3vw, 2.2rem) !important;
  font-weight: 800 !important;
  color: var(--pv-secondary) !important;
  margin: 0 0 10px 0 !important;
  line-height: 1.25 !important;
}

.woocommerce div.product p.price,
.woocommerce div.product span.price {
  font-size: 1.6rem !important;
  font-weight: 800 !important;
  color: var(--pv-primary) !important;
  margin: 10px 0 16px 0 !important;
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
}

.woocommerce div.product .woocommerce-product-details__short-description {
  font-size: 0.95rem !important;
  line-height: 1.6 !important;
  color: var(--pv-muted) !important;
  margin-bottom: 20px !important;
}

/* Quantity & Action Buttons (Add to Cart + Buy Now) */
.woocommerce div.product form.cart {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  margin: 20px 0 !important;
  flex-wrap: wrap !important;
  width: 100% !important;
}

.woocommerce div.product form.cart .quantity {
  margin: 0 !important;
  float: none !important;
}

.woocommerce div.product form.cart .quantity input.qty {
  width: 64px !important;
  height: 50px !important;
  border-radius: 9999px !important;
  border: 1.5px solid var(--pv-border) !important;
  text-align: center !important;
  font-weight: 700 !important;
  font-size: 1rem !important;
  outline: none !important;
  background: #ffffff !important;
  transition: border-color 0.2s ease !important;
}

.woocommerce div.product form.cart .quantity input.qty:focus {
  border-color: var(--pv-primary) !important;
}

/* Add to Cart Button */
.woocommerce div.product form.cart .single_add_to_cart_button,
.woocommerce div.product form.cart button.button.alt,
.woocommerce #respond input#submit.alt,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt {
  flex: 1 1 160px !important;
  height: 50px !important;
  min-height: 50px !important;
  padding: 0 24px !important;
  border-radius: 9999px !important;
  background-color: var(--pv-primary) !important;
  color: #ffffff !important;
  font-size: 0.95rem !important;
  font-weight: 700 !important;
  border: none !important;
  cursor: pointer !important;
  box-shadow: 0 4px 14px rgba(255, 107, 53, 0.35) !important;
  transition: all 0.2s ease !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  white-space: nowrap !important;
  text-decoration: none !important;
}

.woocommerce div.product form.cart .single_add_to_cart_button:hover,
.woocommerce button.button.alt:hover {
  background-color: var(--pv-primary-hover) !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 20px rgba(255, 107, 53, 0.45) !important;
}

/* Buy Now Direct Checkout Button */
.pv-btn-buy-now,
.woocommerce div.product form.cart .pv-btn-buy-now,
.woocommerce div.product .pv-btn-buy-now {
  flex: 1 1 160px !important;
  height: 50px !important;
  min-height: 50px !important;
  padding: 0 24px !important;
  border-radius: 9999px !important;
  background: linear-gradient(135deg, #0f172a 0%, #1e293b 100%) !important;
  color: #ffffff !important;
  font-size: 0.95rem !important;
  font-weight: 700 !important;
  border: none !important;
  cursor: pointer !important;
  box-shadow: 0 4px 16px rgba(15, 23, 42, 0.25) !important;
  transition: all 0.2s ease !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  white-space: nowrap !important;
  text-decoration: none !important;
}

.pv-btn-buy-now:hover,
.woocommerce div.product form.cart .pv-btn-buy-now:hover {
  background: linear-gradient(135deg, #1e293b 0%, #334155 100%) !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 22px rgba(15, 23, 42, 0.35) !important;
  color: #ffffff !important;
}

.pv-btn-buy-now svg,
.pv-btn-buy-now .pv-buy-icon {
  color: #facc15 !important;
  fill: #facc15 !important;
  filter: drop-shadow(0 0 4px rgba(250, 204, 21, 0.5));
}

/* ==========================================================================
   VARIABLE PRODUCTS: ATTRIBUTES, SWATCHES & ACTION BAR STABILITY
   ========================================================================== */
.woocommerce div.product form.cart table.variations {
  width: 100% !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  margin: 16px 0 !important;
  border: none !important;
  display: block !important;
}

.woocommerce div.product form.cart table.variations tbody,
.woocommerce div.product form.cart table.variations tr {
  display: block !important;
  margin-bottom: 16px !important;
  border: none !important;
}

.woocommerce div.product form.cart table.variations td.label,
.woocommerce div.product form.cart table.variations th.label {
  display: block !important;
  padding: 0 0 8px 0 !important;
  border: none !important;
  text-align: left !important;
}

.woocommerce div.product form.cart table.variations td.label label,
.woocommerce div.product form.cart table.variations th.label label {
  font-size: 0.85rem !important;
  font-weight: 800 !important;
  color: var(--pv-secondary) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.04em !important;
  display: inline-block !important;
}

.woocommerce div.product form.cart table.variations td.value {
  display: block !important;
  padding: 0 !important;
  border: none !important;
  position: relative !important;
}

.woocommerce div.product form.cart table.variations select {
  width: 100% !important;
  max-width: 100% !important;
  height: 48px !important;
  padding: 10px 16px !important;
  border-radius: 12px !important;
  border: 1.5px solid var(--pv-border) !important;
  background-color: #ffffff !important;
  font-size: 0.925rem !important;
  font-weight: 600 !important;
  color: var(--pv-secondary) !important;
  outline: none !important;
  cursor: pointer !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.02) !important;
  transition: all 0.2s ease !important;
}

.woocommerce div.product form.cart table.variations select:focus {
  border-color: var(--pv-primary) !important;
  box-shadow: 0 0 0 3px rgba(255, 107, 53, 0.12) !important;
}

.woocommerce div.product form.cart .reset_variations {
  display: inline-block !important;
  margin-top: 8px !important;
  font-size: 0.775rem !important;
  font-weight: 700 !important;
  color: var(--pv-muted) !important;
  text-decoration: underline !important;
  transition: color 0.2s ease !important;
}

.woocommerce div.product form.cart .reset_variations:hover {
  color: var(--pv-danger) !important;
}

/* Custom Interactive Theme Swatches (Pills for S, M, L, XL & Colors) */
.pv-swatches-wrap {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  margin-top: 4px !important;
}

.pv-swatch-item {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 44px !important;
  height: 42px !important;
  padding: 4px 14px !important;
  border-radius: 12px !important;
  border: 1.5px solid var(--pv-border) !important;
  background: #ffffff !important;
  font-size: 0.875rem !important;
  font-weight: 800 !important;
  color: var(--pv-secondary) !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
  user-select: none !important;
  box-sizing: border-box !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.02) !important;
}

.pv-swatch-item:hover {
  border-color: var(--pv-primary) !important;
  color: var(--pv-primary) !important;
  background: var(--pv-primary-light) !important;
  transform: translateY(-2px) !important;
}

.pv-swatch-item.is-selected {
  border-color: var(--pv-primary) !important;
  background: linear-gradient(135deg, #ff6b35 0%, #fa5a1e 100%) !important;
  color: #ffffff !important;
  box-shadow: 0 4px 12px rgba(255, 107, 53, 0.35) !important;
}

/* Variation Price & Stock Status */
.woocommerce div.product .single_variation_wrap {
  width: 100% !important;
  margin-top: 16px !important;
}

.woocommerce div.product .woocommerce-variation-price {
  margin-bottom: 12px !important;
}

.woocommerce div.product .woocommerce-variation-price .price {
  font-size: 1.55rem !important;
  font-weight: 800 !important;
  color: var(--pv-primary) !important;
  display: block !important;
}

.woocommerce div.product .woocommerce-variation-availability {
  margin-bottom: 14px !important;
}

.woocommerce div.product .woocommerce-variation-availability .stock {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  padding: 4px 12px !important;
  border-radius: 9999px !important;
  font-size: 0.775rem !important;
  font-weight: 700 !important;
  background: #f0fdf4 !important;
  color: #15803d !important;
  border: 1px solid #bbf7d0 !important;
}

.woocommerce div.product .woocommerce-variation-availability .out-of-stock {
  background: #fef2f2 !important;
  color: #dc2626 !important;
  border-color: #fecaca !important;
}

/* Action Row Alignment for Variable Products */
.woocommerce div.product form.cart .woocommerce-variation-add-to-cart,
.woocommerce div.product form.cart.variations_form .woocommerce-variation-add-to-cart {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  flex-wrap: wrap !important;
  width: 100% !important;
  margin-top: 14px !important;
}

@media (max-width: 576px) {
  .woocommerce div.product form.cart,
  .woocommerce div.product form.cart .woocommerce-variation-add-to-cart {
    gap: 10px !important;
  }
  .woocommerce div.product form.cart .quantity,
  .woocommerce div.product form.cart .woocommerce-variation-add-to-cart .quantity {
    width: 100% !important;
  }
  .woocommerce div.product form.cart .quantity input.qty,
  .woocommerce div.product form.cart .woocommerce-variation-add-to-cart .quantity input.qty {
    width: 100% !important;
  }
  .woocommerce div.product form.cart .single_add_to_cart_button,
  .woocommerce div.product form.cart .woocommerce-variation-add-to-cart .single_add_to_cart_button,
  .pv-btn-buy-now,
  .woocommerce div.product form.cart .pv-btn-buy-now {
    width: 100% !important;
    flex: 1 1 100% !important;
  }
}

/* Single Trust Badges */
.pv-single-trust-badges {
  background: #f8fafc !important;
  border: 1px solid var(--pv-border) !important;
  border-radius: 16px !important;
  padding: 18px 20px !important;
  margin-top: 24px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
}

.trust-item {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
}

.trust-icon {
  width: 36px !important;
  height: 36px !important;
  border-radius: 9999px !important;
  background: #ffffff !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: var(--pv-primary) !important;
  border: 1px solid var(--pv-border) !important;
  font-size: 1.1rem !important;
}

.trust-text strong {
  display: block !important;
  font-size: 0.875rem !important;
  color: var(--pv-secondary) !important;
}

.trust-text span {
  font-size: 0.8rem !important;
  color: var(--pv-muted) !important;
}

/* Sizing Guide Button */
.pv-size-guide-trigger-wrap {
  margin: 14px 0 !important;
}

.pv-open-size-guide {
  font-size: 0.875rem !important;
  font-weight: 700 !important;
  color: var(--pv-primary) !important;
  text-decoration: underline !important;
  cursor: pointer !important;
  background: none !important;
  border: none !important;
  padding: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
  transition: color 0.2s ease !important;
}

.pv-open-size-guide:hover {
  color: var(--pv-primary-hover) !important;
}

/* Size Guide Modal & Responsive Table */
.pv-size-guide-modal-box {
  max-width: 760px !important;
  border-radius: 24px !important;
  padding: 36px 30px !important;
  background: #ffffff !important;
  box-shadow: 0 20px 50px -10px rgba(15, 23, 42, 0.25) !important;
  box-sizing: border-box !important;
}

.pv-size-guide-header {
  text-align: center !important;
  margin-bottom: 24px !important;
}

.pv-size-guide-emoji {
  font-size: 2.2rem !important;
  display: block !important;
  margin-bottom: 8px !important;
  line-height: 1 !important;
}

.pv-size-guide-title {
  font-size: clamp(1.4rem, 2.5vw, 1.85rem) !important;
  font-weight: 800 !important;
  color: var(--pv-secondary) !important;
  margin: 0 0 8px 0 !important;
  line-height: 1.25 !important;
}

.pv-size-guide-subtitle {
  color: var(--pv-muted) !important;
  font-size: 0.95rem !important;
  line-height: 1.55 !important;
  max-width: 560px !important;
  margin: 0 auto !important;
}

.pv-size-guide-section-label {
  font-size: 1.05rem !important;
  font-weight: 800 !important;
  color: var(--pv-primary) !important;
  margin-bottom: 12px !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
}

.pv-table-responsive {
  width: 100% !important;
  overflow-x: auto !important;
  -webkit-overflow-scrolling: touch !important;
  border: 1px solid var(--pv-border) !important;
  border-radius: 14px !important;
  margin: 12px 0 20px 0 !important;
  background: #ffffff !important;
}

table.pv-size-chart-table {
  width: 100% !important;
  min-width: 520px !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  margin: 0 !important;
}

table.pv-size-chart-table th {
  background: #f8fafc !important;
  color: var(--pv-secondary) !important;
  font-weight: 700 !important;
  font-size: 0.8rem !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  padding: 14px 16px !important;
  border-bottom: 2px solid var(--pv-border) !important;
  text-align: left !important;
  white-space: nowrap !important;
}

table.pv-size-chart-table td {
  padding: 13px 16px !important;
  border-bottom: 1px solid var(--pv-border) !important;
  color: var(--pv-text) !important;
  vertical-align: middle !important;
  font-size: 0.875rem !important;
  white-space: nowrap !important;
}

table.pv-size-chart-table td span {
  color: var(--pv-muted) !important;
  font-size: 0.825rem !important;
}

table.pv-size-chart-table tr:last-child td {
  border-bottom: none !important;
}

table.pv-size-chart-table tr:nth-child(even) {
  background-color: #fafbfc !important;
}

table.pv-size-chart-table tr:hover {
  background-color: #f1f5f9 !important;
}

.pv-size-badge {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 36px !important;
  height: 36px !important;
  border-radius: 9px !important;
  background: var(--pv-primary-light) !important;
  color: var(--pv-primary) !important;
  font-weight: 800 !important;
  font-size: 0.9rem !important;
}

.pv-size-guide-tip {
  background: #fff7ed !important;
  border-radius: 12px !important;
  padding: 14px 18px !important;
  border: 1px solid #fed7aa !important;
  margin-top: 14px !important;
}

.pv-size-guide-tip p {
  font-size: 0.85rem !important;
  color: #9a3412 !important;
  margin: 0 !important;
  line-height: 1.5 !important;
}

@media (max-width: 600px) {
  .pv-size-guide-modal-box {
    padding: 24px 16px !important;
    border-radius: 18px !important;
  }
}

/* ==========================================================================
   PRODUCT TABS: DESCRIPTION, SPECIFICATIONS TABLE & CUSTOMER REVIEWS
   ========================================================================== */
.pv-product-tabs-wrapper {
  margin-top: 48px !important;
  background: #ffffff !important;
  border: 1.5px solid var(--pv-border) !important;
  border-radius: 24px !important;
  padding: 36px 32px !important;
  box-shadow: 0 4px 24px -2px rgba(15, 23, 42, 0.04) !important;
}

.woocommerce-tabs ul.wc-tabs {
  display: inline-flex !important;
  gap: 8px !important;
  background: #f1f5f9 !important;
  border: none !important;
  border-radius: 9999px !important;
  padding: 6px !important;
  list-style: none !important;
  margin: 0 0 28px 0 !important;
  flex-wrap: wrap !important;
}

.woocommerce-tabs ul.wc-tabs li {
  margin: 0 !important;
  padding: 0 !important;
  background: none !important;
  border: none !important;
}

.woocommerce-tabs ul.wc-tabs li a {
  font-weight: 700 !important;
  font-size: 0.9rem !important;
  color: #64748b !important;
  padding: 8px 20px !important;
  border-radius: 9999px !important;
  background: transparent !important;
  text-decoration: none !important;
  display: inline-block !important;
  transition: all 0.2s ease !important;
}

.woocommerce-tabs ul.wc-tabs li.active a,
.woocommerce-tabs ul.wc-tabs li a:hover {
  background: linear-gradient(135deg, #ff6b35 0%, #fa5a1e 100%) !important;
  color: #ffffff !important;
  box-shadow: 0 4px 14px rgba(255, 107, 53, 0.35) !important;
}

.woocommerce-tabs .wc-tab {
  display: none;
  font-size: 0.95rem !important;
  line-height: 1.75 !important;
  color: var(--pv-text) !important;
}

.woocommerce-tabs .wc-tab.is-active,
.woocommerce-tabs .wc-tab:first-of-type {
  display: block;
}

.woocommerce-Tabs-panel--description h2,
.woocommerce-Tabs-panel--additional_information h2,
.woocommerce-Tabs-panel--reviews h2 {
  font-size: 1.25rem !important;
  font-weight: 800 !important;
  color: var(--pv-secondary) !important;
  margin-bottom: 16px !important;
}

/* Specifications Table (Additional Information) */
table.shop_attributes {
  width: 100% !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  border: 1.5px solid var(--pv-border) !important;
  border-radius: 16px !important;
  overflow: hidden !important;
  margin: 16px 0 24px 0 !important;
  box-sizing: border-box !important;
}

table.shop_attributes th {
  background: #f8fafc !important;
  padding: 12px 18px !important;
  font-weight: 700 !important;
  font-size: 0.85rem !important;
  color: var(--pv-secondary) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.03em !important;
  width: 30% !important;
  border-bottom: 1px solid var(--pv-border) !important;
  border-right: 1px solid var(--pv-border) !important;
  text-align: left !important;
}

table.shop_attributes td {
  padding: 12px 18px !important;
  color: var(--pv-text) !important;
  font-size: 0.9rem !important;
  border-bottom: 1px solid var(--pv-border) !important;
  background: #ffffff !important;
  font-style: normal !important;
}

table.shop_attributes tr:last-child th,
table.shop_attributes tr:last-child td {
  border-bottom: none !important;
}

table.shop_attributes tr:nth-child(even) td {
  background: #fafbfc !important;
}

@media (max-width: 768px) {
  table.shop_attributes {
    display: block !important;
    border: none !important;
    border-radius: 0 !important;
    background: transparent !important;
    margin: 10px 0 16px 0 !important;
  }

  table.shop_attributes tbody {
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
    width: 100% !important;
  }

  table.shop_attributes tr {
    display: flex !important;
    flex-direction: column !important;
    background: #ffffff !important;
    border: 1px solid var(--pv-border) !important;
    border-radius: 12px !important;
    padding: 10px 14px !important;
    width: 100% !important;
    box-sizing: border-box !important;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.02) !important;
  }

  table.shop_attributes th {
    width: 100% !important;
    padding: 0 0 4px 0 !important;
    border: none !important;
    background: transparent !important;
    font-size: 0.75rem !important;
    text-transform: uppercase !important;
    letter-spacing: 0.04em !important;
    color: var(--pv-muted) !important;
  }

  table.shop_attributes td {
    width: 100% !important;
    padding: 0 !important;
    border: none !important;
    background: transparent !important;
    font-size: 0.875rem !important;
    font-weight: 600 !important;
    color: var(--pv-secondary) !important;
  }
}

/* Reviews Overhaul */
#reviews #comments ol.commentlist {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 0 32px 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 16px !important;
}

#reviews #comments ol.commentlist li {
  background: #ffffff !important;
  border: 1.5px solid var(--pv-border) !important;
  border-radius: 18px !important;
  padding: 20px !important;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.02) !important;
}

#reviews #comments ol.commentlist li .comment_container {
  display: flex !important;
  gap: 16px !important;
  align-items: flex-start !important;
}

#reviews #comments ol.commentlist li img.avatar {
  width: 44px !important;
  height: 44px !important;
  border-radius: 9999px !important;
  border: 2px solid var(--pv-primary) !important;
  object-fit: cover !important;
}

#reviews #comments ol.commentlist li .comment-text {
  flex: 1 !important;
}

#reviews #comments ol.commentlist li .star-rating {
  color: #f59e0b !important;
  float: right !important;
  margin-bottom: 8px !important;
}

#reviews #comments ol.commentlist li .meta {
  font-size: 0.85rem !important;
  color: var(--pv-muted) !important;
  margin-bottom: 8px !important;
}

#reviews #comments ol.commentlist li .meta strong {
  font-size: 0.95rem !important;
  color: var(--pv-secondary) !important;
}

#reviews #review_form #respond {
  background: #f8fafc !important;
  border: 1.5px solid var(--pv-border) !important;
  border-radius: 20px !important;
  padding: 24px !important;
  margin-top: 24px !important;
}

#reviews #review_form #respond .comment-reply-title {
  font-size: 1.15rem !important;
  font-weight: 800 !important;
  color: var(--pv-secondary) !important;
  margin-bottom: 16px !important;
  display: block !important;
}

#reviews #review_form input[type="text"],
#reviews #review_form input[type="email"],
#reviews #review_form textarea {
  width: 100% !important;
  padding: 12px 16px !important;
  border: 1.5px solid var(--pv-border) !important;
  border-radius: 12px !important;
  background: #ffffff !important;
  font-size: 0.925rem !important;
  outline: none !important;
  box-sizing: border-box !important;
  margin-bottom: 12px !important;
  transition: border-color 0.2s ease !important;
}

#reviews #review_form input[type="text"]:focus,
#reviews #review_form input[type="email"]:focus,
#reviews #review_form textarea:focus {
  border-color: var(--pv-primary) !important;
}

#reviews #review_form input#submit {
  padding: 12px 28px !important;
  background: var(--pv-primary) !important;
  color: #ffffff !important;
  font-weight: 800 !important;
  font-size: 0.95rem !important;
  border-radius: 9999px !important;
  border: none !important;
  cursor: pointer !important;
  box-shadow: 0 4px 14px rgba(255, 107, 53, 0.35) !important;
  transition: all 0.2s ease !important;
}

#reviews #review_form input#submit:hover {
  background: var(--pv-primary-hover) !important;
  transform: translateY(-2px) !important;
}

@media (max-width: 768px) {
  .pv-product-tabs-wrapper {
    padding: 20px 16px !important;
    border-radius: 18px !important;
    margin-top: 30px !important;
  }
  .woocommerce-tabs ul.wc-tabs {
    border-radius: 16px !important;
    width: 100% !important;
    justify-content: center !important;
  }
  .woocommerce-tabs ul.wc-tabs li a {
    padding: 8px 14px !important;
    font-size: 0.85rem !important;
  }
}

/* ==========================================================================
   3. CART PAGE & MINI CART DRAWER (Item 3 Fix)
   ========================================================================== */
.pv-cart-page-wrap {
  width: 100% !important;
  max-width: 1240px !important;
  margin: 0 auto !important;
  padding: 20px 0 60px !important;
  box-sizing: border-box !important;
}

.petvixa-cart-layout {
  display: grid !important;
  grid-template-columns: 1.45fr 1fr !important;
  gap: 32px !important;
  align-items: start !important;
}

@media (max-width: 991px) {
  .petvixa-cart-layout {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
  }
}

.woocommerce-cart-form {
  background: #ffffff !important;
  border: 1px solid var(--pv-border) !important;
  border-radius: 20px !important;
  padding: 24px !important;
  box-shadow: 0 4px 20px -2px rgba(0, 0, 0, 0.05) !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

table.shop_table.cart {
  width: 100% !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  border: none !important;
  margin: 0 !important;
}

table.shop_table.cart th {
  padding: 12px 14px !important;
  font-weight: 700 !important;
  font-size: 0.8rem !important;
  text-transform: uppercase !important;
  letter-spacing: 0.04em !important;
  color: var(--pv-muted) !important;
  border-bottom: 2px solid var(--pv-border) !important;
  background: none !important;
  text-align: left !important;
  white-space: nowrap !important;
}

table.shop_table.cart td {
  padding: 16px 12px !important;
  border-bottom: 1px solid var(--pv-border) !important;
  vertical-align: middle !important;
  font-size: 0.925rem !important;
}

table.shop_table.cart td.product-remove a.remove {
  color: var(--pv-danger) !important;
  font-size: 1.25rem !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 30px !important;
  height: 30px !important;
  border-radius: 9999px !important;
  background: #fee2e2 !important;
  transition: all 0.2s ease !important;
}

table.shop_table.cart td.product-remove a.remove:hover {
  background: var(--pv-danger) !important;
  color: #ffffff !important;
  transform: scale(1.1) !important;
}

table.shop_table.cart td.product-thumbnail img {
  width: 72px !important;
  height: 72px !important;
  min-width: 72px !important;
  border-radius: 12px !important;
  object-fit: cover !important;
  display: block !important;
  border: 1px solid var(--pv-border) !important;
}

a.pv-cart-prod-title,
table.shop_table.cart td.product-name a {
  font-weight: 700 !important;
  color: var(--pv-secondary) !important;
  font-size: 0.925rem !important;
  text-decoration: none !important;
  line-height: 1.35 !important;
}

a.pv-cart-prod-title:hover,
table.shop_table.cart td.product-name a:hover {
  color: var(--pv-primary) !important;
}

table.shop_table.cart td.product-price,
table.shop_table.cart td.product-subtotal {
  font-weight: 700 !important;
  color: var(--pv-secondary) !important;
  white-space: nowrap !important;
}

table.shop_table.cart td.product-subtotal {
  color: var(--pv-primary) !important;
  font-weight: 800 !important;
}

table.shop_table.cart .quantity input.qty {
  width: 60px !important;
  height: 42px !important;
  border-radius: 9999px !important;
  border: 1.5px solid var(--pv-border) !important;
  text-align: center !important;
  font-weight: 700 !important;
  font-size: 0.9rem !important;
  outline: none !important;
  background: #ffffff !important;
  box-sizing: border-box !important;
}

.pv-cart-actions-row {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
  padding-top: 14px !important;
}

.pv-cart-actions-row .coupon {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  flex: 1 1 260px !important;
}

.pv-cart-actions-row .coupon input.input-text {
  padding: 10px 16px !important;
  border-radius: 9999px !important;
  border: 1.5px solid var(--pv-border) !important;
  outline: none !important;
  font-size: 0.875rem !important;
  height: 44px !important;
  flex: 1 !important;
  box-sizing: border-box !important;
}

.pv-cart-actions-row .coupon button,
.pv-cart-actions-row button[name="update_cart"] {
  height: 44px !important;
  padding: 0 20px !important;
  border-radius: 9999px !important;
  font-weight: 700 !important;
  font-size: 0.875rem !important;
  cursor: pointer !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  line-height: 1 !important;
  white-space: nowrap !important;
  flex-shrink: 0 !important;
  min-width: max-content !important;
}

.woocommerce-cart table.cart td.actions .coupon,
.pv-cart-actions-row .coupon {
  display: flex !important;
  align-items: center !important;
  margin: 0 !important;
  padding: 0 !important;
  gap: 8px !important;
}

.woocommerce-cart table.cart td.actions .coupon {
  margin-bottom: 0 !important;
}

/* Cart Collaterals & Totals Summary */
.cart-collaterals {
  background: #ffffff !important;
  border: 1px solid var(--pv-border) !important;
  border-radius: 20px !important;
  padding: 24px 22px !important;
  box-shadow: 0 4px 20px -2px rgba(0, 0, 0, 0.05) !important;
  width: 100% !important;
  float: none !important;
  box-sizing: border-box !important;
}

.cart_totals {
  width: 100% !important;
  float: none !important;
}

.cart_totals h2 {
  font-size: 1.2rem !important;
  font-weight: 800 !important;
  margin-bottom: 16px !important;
  border-bottom: 2px solid var(--pv-border) !important;
  padding-bottom: 10px !important;
  color: var(--pv-secondary) !important;
}

.cart_totals table.shop_table {
  width: 100% !important;
  border-collapse: collapse !important;
  margin-bottom: 20px !important;
  border: none !important;
}

.cart_totals table.shop_table th,
.cart_totals table.shop_table td {
  padding: 12px 0 !important;
  border-bottom: 1px solid var(--pv-border) !important;
  font-size: 0.925rem !important;
  vertical-align: top !important;
}

.cart_totals table.shop_table th {
  font-weight: 700 !important;
  color: var(--pv-secondary) !important;
  text-align: left !important;
  width: 35% !important;
  white-space: nowrap !important;
}

.cart_totals table.shop_table td {
  text-align: right !important;
  font-weight: 600 !important;
  color: var(--pv-text) !important;
}

.cart_totals tr.order-total td strong {
  font-size: 1.35rem !important;
  color: var(--pv-primary) !important;
  font-weight: 800 !important;
  white-space: nowrap !important;
  display: inline-block !important;
}

/* ==========================================================================
   SHIPPING CALCULATOR / CHANGE ADDRESS FORM (Item 3 Fix)
   ========================================================================== */
.woocommerce-shipping-calculator {
  margin-top: 10px !important;
  width: 100% !important;
  text-align: right !important;
}

.shipping-calculator-button {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  font-size: 0.85rem !important;
  font-weight: 700 !important;
  color: var(--pv-primary) !important;
  text-decoration: underline !important;
  cursor: pointer !important;
  margin-bottom: 10px !important;
}

.shipping-calculator-button:hover {
  color: var(--pv-primary-hover) !important;
}

.shipping-calculator-form {
  background: #ffffff !important;
  border: 1px solid var(--pv-border) !important;
  border-radius: 14px !important;
  padding: 20px !important;
  margin-top: 14px !important;
  text-align: left !important;
  box-sizing: border-box !important;
  width: 100% !important;
  box-shadow: 0 4px 12px rgba(0,0,0,0.03) !important;
}

.shipping-calculator-form p.form-row {
  margin: 0 0 16px 0 !important;
  padding: 0 !important;
  width: 100% !important;
  float: none !important;
  box-sizing: border-box !important;
}

.shipping-calculator-form label {
  display: block !important;
  font-size: 0.825rem !important;
  font-weight: 700 !important;
  color: var(--pv-secondary) !important;
  margin-bottom: 6px !important;
}

.shipping-calculator-form select,
.shipping-calculator-form input.input-text,
.shipping-calculator-form .select2-container .select2-selection--single {
  width: 100% !important;
  height: 46px !important;
  padding: 0 14px !important;
  border-radius: 10px !important;
  border: 1.5px solid var(--pv-border) !important;
  background-color: #ffffff !important;
  font-size: 0.9rem !important;
  font-weight: 500 !important;
  color: var(--pv-secondary) !important;
  outline: none !important;
  box-sizing: border-box !important;
  display: flex !important;
  align-items: center !important;
  transition: border-color 0.2s ease !important;
}

.shipping-calculator-form .select2-container .select2-selection--single .select2-selection__arrow {
  height: 44px !important;
  right: 12px !important;
}

.shipping-calculator-form .select2-container .select2-selection--single .select2-selection__rendered {
  padding: 0 !important;
  line-height: normal !important;
  color: var(--pv-secondary) !important;
}

.shipping-calculator-form input.input-text:focus,
.shipping-calculator-form select:focus,
.shipping-calculator-form .select2-container--open .select2-selection--single {
  border-color: var(--pv-primary) !important;
  box-shadow: 0 0 0 3px rgba(255, 107, 53, 0.12) !important;
}

.shipping-calculator-form button.button[name="calc_shipping"] {
  width: 100% !important;
  height: 46px !important;
  border-radius: 9999px !important;
  background-color: var(--pv-secondary) !important;
  color: #ffffff !important;
  font-weight: 700 !important;
  font-size: 0.9rem !important;
  border: none !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin-top: 10px !important;
  transition: all 0.2s ease !important;
}

.shipping-calculator-form button.button[name="calc_shipping"]:hover {
  background-color: var(--pv-primary) !important;
}

.wc-proceed-to-checkout a.checkout-button {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  width: 100% !important;
  height: 48px !important;
  padding: 0 20px !important;
  background-color: var(--pv-primary) !important;
  color: #ffffff !important;
  border-radius: 9999px !important;
  font-weight: 800 !important;
  font-size: 0.95rem !important;
  text-align: center !important;
  text-decoration: none !important;
  transition: all 0.2s ease !important;
  box-shadow: 0 4px 14px rgba(255, 107, 53, 0.35) !important;
  box-sizing: border-box !important;
}

.wc-proceed-to-checkout a.checkout-button:hover {
  background-color: var(--pv-primary-hover) !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 20px rgba(255, 107, 53, 0.45) !important;
}

/* Mobile Responsive Cart Table */
@media (max-width: 768px) {
  .woocommerce-cart-form {
    padding: 16px 12px !important;
    border-radius: 16px !important;
  }

  table.shop_table.cart thead {
    display: none !important;
  }

  table.shop_table.cart tbody tr.woocommerce-cart-form__cart-item {
    display: grid !important;
    grid-template-columns: 80px minmax(0, 1fr) !important;
    gap: 12px !important;
    position: relative !important;
    padding: 14px 0 !important;
    border-bottom: 1px solid var(--pv-border) !important;
    align-items: start !important;
  }

  table.shop_table.cart td {
    padding: 2px 0 !important;
    border: none !important;
    white-space: normal !important;
  }

  table.shop_table.cart td.product-remove {
    position: absolute !important;
    right: 0 !important;
    top: 12px !important;
    z-index: 5 !important;
  }

  table.shop_table.cart td.product-thumbnail {
    grid-row: span 4 !important;
  }

  table.shop_table.cart td.product-thumbnail img {
    width: 80px !important;
    height: 80px !important;
    min-width: 80px !important;
    border-radius: 12px !important;
  }

  table.shop_table.cart td.product-name {
    padding-right: 32px !important;
  }

  table.shop_table.cart td.product-name a {
    font-size: 0.9rem !important;
    display: block !important;
  }

  table.shop_table.cart td.product-price {
    font-size: 0.85rem !important;
  }

  table.shop_table.cart td.product-quantity,
  table.shop_table.cart td.product-subtotal {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
    flex-wrap: wrap !important;
  }

  table.shop_table.cart td.product-quantity::before {
    content: "Qty:" !important;
    font-size: 0.8rem !important;
    font-weight: 700 !important;
    color: var(--pv-muted) !important;
  }

  table.shop_table.cart td.product-subtotal::before {
    content: "Subtotal:" !important;
    font-size: 0.8rem !important;
    font-weight: 700 !important;
    color: var(--pv-muted) !important;
  }

  .pv-cart-actions-row {
    flex-direction: column !important;
    gap: 8px !important;
    padding: 0 !important;
    margin: 10px 0 !important;
  }

  table.shop_table.cart td.actions {
    padding: 10px 0 0 0 !important;
    border: none !important;
  }

  .pv-cart-actions-row .coupon {
    width: 100% !important;
  }

  .pv-cart-actions-row .coupon input.input-text {
    flex: 1 !important;
  }

  .pv-cart-actions-row button[name="update_cart"] {
    width: 100% !important;
  }

  .cart-collaterals {
    padding: 20px 16px !important;
    border-radius: 16px !important;
  }

  .cart_totals table.shop_table tr {
    display: flex !important;
    flex-direction: column !important;
    padding: 12px 0 !important;
    border-bottom: 1px solid var(--pv-border) !important;
  }

  .cart_totals table.shop_table tr:last-child {
    border-bottom: none !important;
  }

  .cart_totals table.shop_table th {
    width: 100% !important;
    padding: 0 0 8px 0 !important;
    border: none !important;
    text-align: left !important;
    font-size: 0.85rem !important;
    white-space: normal !important;
  }

  .cart_totals table.shop_table td {
    width: 100% !important;
    padding: 0 !important;
    border: none !important;
    text-align: left !important;
  }

  .cart_totals tr.order-total td strong {
    font-size: 1.5rem !important;
  }
}


/* Mini Cart Drawer */
.widget_shopping_cart_content {
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
}

ul.woocommerce-mini-cart {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 0 20px 0 !important;
  flex: 1 !important;
}

li.woocommerce-mini-cart-item {
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
  padding: 14px 0 !important;
  border-bottom: 1px solid var(--pv-border) !important;
  position: relative !important;
}

li.woocommerce-mini-cart-item img {
  width: 60px !important;
  height: 60px !important;
  border-radius: 10px !important;
  object-fit: cover !important;
  display: block !important;
  margin: 0 !important;
}

li.woocommerce-mini-cart-item a.remove {
  position: absolute !important;
  right: 0 !important;
  top: 14px !important;
  color: var(--pv-danger) !important;
  font-size: 1.2rem !important;
  font-weight: 700 !important;
  text-decoration: none !important;
}

.mini-cart-item-details {
  flex: 1 !important;
  padding-right: 20px !important;
}

.mini-cart-item-details a {
  font-weight: 700 !important;
  font-size: 0.9rem !important;
  display: block !important;
  margin-bottom: 4px !important;
  color: var(--pv-secondary) !important;
  text-decoration: none !important;
  line-height: 1.3 !important;
}

.mini-cart-item-details a:hover {
  color: var(--pv-primary) !important;
}

.mini-cart-item-details .quantity {
  font-size: 0.85rem !important;
  color: var(--pv-muted) !important;
}

.woocommerce-mini-cart__total {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  font-size: 1.15rem !important;
  font-weight: 800 !important;
  padding: 16px 0 !important;
  border-top: 2px dashed var(--pv-border) !important;
  margin: 0 !important;
}

.woocommerce-mini-cart__total strong {
  color: var(--pv-secondary) !important;
}

.woocommerce-mini-cart__total .amount {
  color: var(--pv-primary) !important;
}

.woocommerce-mini-cart__buttons {
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
  margin: 0 !important;
  padding: 0 !important;
}

.woocommerce-mini-cart__buttons a.button {
  width: 100% !important;
  padding: 12px !important;
  text-align: center !important;
  border-radius: 9999px !important;
  font-weight: 700 !important;
  font-size: 0.95rem !important;
  display: block !important;
  box-sizing: border-box !important;
  text-decoration: none !important;
}

.woocommerce-mini-cart__buttons a.button:not(.checkout) {
  background-color: var(--pv-surface-alt) !important;
  color: var(--pv-secondary) !important;
  border: 1px solid var(--pv-border) !important;
}

.woocommerce-mini-cart__buttons a.button.checkout {
  background-color: var(--pv-primary) !important;
  color: #ffffff !important;
  box-shadow: 0 4px 14px rgba(255, 107, 53, 0.35) !important;
}

/* ==========================================================================
   4. CHECKOUT PAGE OVERHAUL (Shopify Style & 100% Mobile Responsive Wide Layout)
   ========================================================================== */
.pv-checkout-container {
  width: 100% !important;
  max-width: 1380px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding: 36px 20px 80px !important;
  box-sizing: border-box !important;
}

.petvixa-checkout-layout {
  display: grid !important;
  grid-template-columns: minmax(0, 1.45fr) minmax(380px, 1fr) !important;
  gap: 32px !important;
  align-items: start !important;
  width: 100% !important;
}

.pv-checkout-card {
  background: #ffffff !important;
  border: 1px solid var(--pv-border) !important;
  border-radius: 22px !important;
  padding: 32px 28px !important;
  box-shadow: 0 4px 20px -2px rgba(0, 0, 0, 0.05) !important;
  box-sizing: border-box !important;
  width: 100% !important;
}

.pv-checkout-heading {
  font-size: 1.25rem !important;
  font-weight: 800 !important;
  margin-bottom: 20px !important;
  border-bottom: 2px solid var(--pv-border) !important;
  padding-bottom: 12px !important;
  color: var(--pv-secondary) !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
}

/* Vertical Stack for Customer Details: Billing on Top, Shipping on Bottom (Oper / Nichy) */
.woocommerce .col2-set#customer_details,
.woocommerce-page .col2-set#customer_details,
.col2-set#customer_details,
#customer_details {
  display: flex !important;
  flex-direction: column !important;
  width: 100% !important;
  gap: 32px !important;
  float: none !important;
}

.woocommerce .col2-set .col-1,
.woocommerce-page .col2-set .col-1,
.woocommerce .col2-set .col-2,
.woocommerce-page .col2-set .col-2,
.col2-set .col-1,
.col2-set .col-2 {
  float: none !important;
  width: 100% !important;
  max-width: 100% !important;
  flex: 1 1 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
}

.woocommerce-billing-fields,
.woocommerce-shipping-fields,
.woocommerce-additional-fields {
  width: 100% !important;
}

.woocommerce-billing-fields > h3,
.woocommerce-shipping-fields > h3:not(#ship-to-different-address),
.woocommerce-additional-fields > h3 {
  font-size: 1.3rem !important;
  font-weight: 800 !important;
  color: var(--pv-secondary) !important;
  margin: 0 0 20px 0 !important;
  padding-bottom: 12px !important;
  border-bottom: 2px solid var(--pv-border) !important;
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
}

/* Shipping / Ship to different address Section (Stacked Nichy) */
.pv-checkout-shipping-col {
  margin-top: 0 !important;
  padding-top: 28px !important;
  border-top: 1.5px dashed var(--pv-border) !important;
  width: 100% !important;
}

#ship-to-different-address {
  font-size: 1.05rem !important;
  font-weight: 700 !important;
  color: var(--pv-secondary) !important;
  margin: 0 0 16px 0 !important;
  background: #f8fafc !important;
  border: 1.5px solid var(--pv-border) !important;
  border-radius: 14px !important;
  padding: 16px 20px !important;
  transition: all 0.2s ease !important;
  box-sizing: border-box !important;
  width: 100% !important;
}

#ship-to-different-address:hover {
  background: #ffffff !important;
  border-color: var(--pv-primary) !important;
  box-shadow: 0 4px 14px rgba(255, 107, 53, 0.1) !important;
}

#ship-to-different-address label {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  cursor: pointer !important;
  margin: 0 !important;
  font-weight: 700 !important;
  font-size: 1.05rem !important;
  color: var(--pv-secondary) !important;
}

#ship-to-different-address input[type="checkbox"] {
  width: 22px !important;
  height: 22px !important;
  accent-color: var(--pv-primary) !important;
  cursor: pointer !important;
  margin: 0 !important;
  flex-shrink: 0 !important;
}

.shipping_address {
  margin-top: 18px !important;
  padding-top: 8px !important;
}

.woocommerce-additional-fields {
  margin-top: 24px !important;
}

.woocommerce-billing-fields__field-wrapper,
.woocommerce-shipping-fields__field-wrapper,
.woocommerce-address-fields__field-wrapper {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 18px 22px !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

.woocommerce-billing-fields__field-wrapper .form-row-wide,
.woocommerce-shipping-fields__field-wrapper .form-row-wide,
.woocommerce-address-fields__field-wrapper .form-row-wide,
.woocommerce form .form-row-wide,
#billing_address_1_field,
#billing_address_2_field,
#billing_country_field,
#billing_company_field,
#shipping_address_1_field,
#shipping_address_2_field,
#shipping_country_field,
#shipping_company_field {
  grid-column: 1 / -1 !important;
  width: 100% !important;
}

.woocommerce-checkout .form-row {
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
  width: 100% !important;
}

.woocommerce-checkout .form-row label {
  display: block !important;
  font-size: 0.88rem !important;
  font-weight: 700 !important;
  margin-bottom: 6px !important;
  color: var(--pv-secondary) !important;
}

.woocommerce-checkout input.input-text,
.woocommerce-checkout select,
.woocommerce-checkout textarea {
  width: 100% !important;
  height: 52px !important;
  padding: 12px 18px !important;
  border-radius: 12px !important;
  border: 1.5px solid var(--pv-border) !important;
  outline: none !important;
  font-size: 0.95rem !important;
  box-sizing: border-box !important;
  background: #ffffff !important;
  color: var(--pv-secondary) !important;
  transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
}

.woocommerce-checkout textarea {
  height: 110px !important;
  padding: 14px 18px !important;
  resize: vertical !important;
}

.woocommerce-checkout input.input-text:focus,
.woocommerce-checkout select:focus,
.woocommerce-checkout textarea:focus {
  border-color: var(--pv-primary) !important;
  box-shadow: 0 0 0 3px rgba(255, 107, 53, 0.12) !important;
}

/* Order Review Table & Amounts (Fixing broken prices and wrapping) */
table.woocommerce-checkout-review-order-table {
  width: 100% !important;
  border-collapse: collapse !important;
  margin-bottom: 20px !important;
  table-layout: auto !important;
}

table.woocommerce-checkout-review-order-table th,
table.woocommerce-checkout-review-order-table td {
  padding: 12px 8px !important;
  border-bottom: 1px solid var(--pv-border) !important;
  font-size: 0.925rem !important;
  vertical-align: middle !important;
}

table.woocommerce-checkout-review-order-table th {
  font-weight: 700 !important;
  color: var(--pv-secondary) !important;
  text-align: left !important;
}

table.woocommerce-checkout-review-order-table td.product-name {
  text-align: left !important;
  font-weight: 600 !important;
  color: var(--pv-secondary) !important;
  line-height: 1.45 !important;
  padding-right: 12px !important;
  word-break: break-word !important;
}

table.woocommerce-checkout-review-order-table td.product-name .product-quantity {
  font-weight: 700 !important;
  color: var(--pv-muted) !important;
  white-space: nowrap !important;
}

table.woocommerce-checkout-review-order-table td.product-total,
table.woocommerce-checkout-review-order-table th.product-total,
table.woocommerce-checkout-review-order-table tr.cart-subtotal td,
table.woocommerce-checkout-review-order-table tr.shipping td,
table.woocommerce-checkout-review-order-table tr.order-total td,
table.woocommerce-checkout-review-order-table .woocommerce-Price-amount,
table.woocommerce-checkout-review-order-table .amount {
  text-align: right !important;
  white-space: nowrap !important;
  font-weight: 700 !important;
  color: var(--pv-secondary) !important;
  min-width: 95px !important;
}

table.woocommerce-checkout-review-order-table tr.cart-subtotal th,
table.woocommerce-checkout-review-order-table tr.shipping th {
  text-align: left !important;
  font-weight: 700 !important;
  color: var(--pv-secondary) !important;
}

table.woocommerce-checkout-review-order-table tr.order-total th {
  font-size: 1.15rem !important;
  font-weight: 800 !important;
  color: var(--pv-secondary) !important;
  padding-top: 16px !important;
  border-bottom: none !important;
}

table.woocommerce-checkout-review-order-table tr.order-total td {
  padding-top: 16px !important;
  border-bottom: none !important;
  text-align: right !important;
  white-space: nowrap !important;
}

table.woocommerce-checkout-review-order-table tr.order-total td strong,
table.woocommerce-checkout-review-order-table tr.order-total td .woocommerce-Price-amount {
  font-size: 1.35rem !important;
  font-weight: 800 !important;
  color: var(--pv-primary) !important;
  white-space: nowrap !important;
  letter-spacing: -0.01em !important;
}

/* Payment Box & Card Fields Overhaul (Ultra-Modern Luxury Shopify/Stripe Grade) */
/* Payment Box & Card Fields Overhaul (Ultra-Modern Compact Luxury) */
#payment {
  background: transparent !important;
  border-radius: 0 !important;
  margin-top: 12px !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

#payment ul.payment_methods {
  padding: 0 !important;
  margin: 0 0 12px 0 !important;
  list-style: none !important;
  border: none !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

#payment ul.payment_methods li {
  background: #ffffff !important;
  border: 1.5px solid #e2e8f0 !important;
  border-radius: 14px !important;
  padding: 15px 16px !important;
  margin-bottom: 10px !important;
  font-weight: 600 !important;
  color: #334155 !important;
  transition: all 0.25s ease !important;
  width: 100% !important;
  box-sizing: border-box !important;
  box-shadow: 0 2px 8px -2px rgba(15, 23, 42, 0.04) !important;
}

#payment ul.payment_methods li:hover,
#payment ul.payment_methods li.is-selected {
  border-color: var(--pv-primary) !important;
  box-shadow: 0 4px 16px -2px rgba(255, 107, 53, 0.12) !important;
}

#payment ul.payment_methods li label {
  cursor: pointer !important;
  font-weight: 700 !important;
  font-size: 0.925rem !important;
  color: #334155 !important;
  margin-left: 6px !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  letter-spacing: -0.01em !important;
}

#payment ul.payment_methods li label img {
  max-height: 20px !important;
  margin-left: auto !important;
}

/* Seamless Full-Width Payment Form (No Awkward Nested Box / Arrow) */
#payment div.payment_box {
  background: transparent !important;
  border: none !important;
  border-top: 1px solid #f1f5f9 !important;
  border-radius: 0 !important;
  padding: 12px 0 2px 0 !important;
  margin: 10px 0 0 0 !important;
  font-size: 0.85rem !important;
  color: var(--pv-muted) !important;
  line-height: 1.5 !important;
  width: 100% !important;
  box-sizing: border-box !important;
  box-shadow: none !important;
}

#payment div.payment_box::before,
#payment div.payment_box::after {
  display: none !important;
  content: none !important;
}

#payment div.payment_box p:first-child {
  color: #94a3b8 !important;
  font-size: 0.775rem !important;
  font-weight: 400 !important;
  margin: 0 0 10px 0 !important;
  line-height: 1.4 !important;
}

#payment div.payment_box fieldset,
#payment div.payment_box .wc-credit-card-form,
#payment div.payment_box .wc-payment-form {
  border: none !important;
  padding: 0 !important;
  margin: 0 !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

#payment div.payment_box .form-row {
  position: relative !important;
  width: 100% !important;
  margin: 0 0 10px 0 !important;
  padding: 0 !important;
  float: none !important;
  box-sizing: border-box !important;
}

#payment div.payment_box .form-row label,
#payment div.payment_box label {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  font-size: 0.725rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  color: #64748b !important;
  margin-bottom: 4px !important;
}

#payment div.payment_box .form-row label img,
#payment div.payment_box .form-row .card-brands,
#payment div.payment_box .form-row .payment-icons {
  max-height: 18px !important;
  margin-left: auto !important;
  vertical-align: middle !important;
}

/* Icon positioning fix: prevents overlapping with placeholder and text */
#payment div.payment_box .form-row i,
#payment div.payment_box .form-row .icon,
#payment div.payment_box .form-row svg,
#payment div.payment_box .form-row span[class*="icon"],
#payment div.payment_box .form-row .input-icon {
  position: absolute !important;
  left: 14px !important;
  bottom: 13px !important;
  z-index: 3 !important;
  color: #94a3b8 !important;
  font-size: 1.05rem !important;
  pointer-events: none !important;
  line-height: 1 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

/* 2-Column Row for Expiration and CVC */
#payment div.payment_box .form-row-first,
#payment div.payment_box .form-row-last {
  width: calc(50% - 5px) !important;
  display: inline-block !important;
  vertical-align: top !important;
  box-sizing: border-box !important;
}

#payment div.payment_box .form-row-first {
  margin-right: 6px !important;
}

#payment div.payment_box .form-row-last {
  margin-right: 0 !important;
}

/* Compact Premium Input Fields with Clean Left Icon Padding */
#payment div.payment_box input.input-text,
#payment div.payment_box .wc-stripe-elements-field,
#payment div.payment_box iframe,
#stripe-card-element,
.wc-stripe-elements-field,
#payment div.payment_box input[type="text"],
#payment div.payment_box input[type="tel"],
#payment div.payment_box input[type="password"] {
  width: 100% !important;
  min-height: 46px !important;
  height: 46px !important;
  padding-left: 40px !important;
  padding-right: 12px !important;
  padding-top: 8px !important;
  padding-bottom: 8px !important;
  border-radius: 10px !important;
  border: 1.5px solid #e2e8f0 !important;
  box-sizing: border-box !important;
  background-color: #ffffff !important;
  font-size: 14.5px !important;
  font-weight: 500 !important;
  color: #0f172a !important;
  outline: none !important;
  transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
}

#payment div.payment_box input.input-text::placeholder,
#payment div.payment_box input[type="text"]::placeholder,
#payment div.payment_box input[type="tel"]::placeholder,
#payment div.payment_box input[type="password"]::placeholder {
  color: #94a3b8 !important;
  font-weight: 400 !important;
}

#payment div.payment_box input.input-text:focus,
#payment div.payment_box .wc-stripe-elements-field:focus {
  border-color: var(--pv-primary) !important;
  box-shadow: 0 0 0 3px rgba(255, 107, 53, 0.12) !important;
}

#place_order {
  width: 100% !important;
  height: 50px !important;
  padding: 0 20px !important;
  background-color: var(--pv-primary) !important;
  color: #ffffff !important;
  border-radius: 9999px !important;
  font-weight: 800 !important;
  font-size: 1rem !important;
  letter-spacing: 0.01em !important;
  border: none !important;
  cursor: pointer !important;
  box-shadow: 0 4px 14px rgba(255, 107, 53, 0.35) !important;
  transition: all 0.2s ease !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin-top: 14px !important;
}

#place_order:hover {
  background-color: var(--pv-primary-hover) !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 20px rgba(255, 107, 53, 0.45) !important;
}

.pv-checkout-guarantee {
  background: #f0fdf4 !important;
  border: 1px solid #bbf7d0 !important;
  border-radius: 16px !important;
  padding: 16px !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

/* ==========================================================================
   MOBILE RESPONSIVE RULES (Full-Width Edge-to-Edge Checkout Experience)
   ========================================================================== */
@media (max-width: 991px) {
  .petvixa-checkout-layout {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }
}

@media (max-width: 768px) {
  .pv-checkout-container,
  .woocommerce-checkout .pv-container,
  .woocommerce-page.woocommerce-checkout .pv-container {
    padding-left: 4px !important;
    padding-right: 4px !important;
    padding-top: 12px !important;
    padding-bottom: 30px !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  .pv-checkout-header {
    margin-bottom: 14px !important;
  }

  .pv-checkout-header .pv-section-title {
    font-size: 1.45rem !important;
  }

  .pv-checkout-card {
    padding: 16px 12px !important;
    border-radius: 16px !important;
    width: 100% !important;
    box-sizing: border-box !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04) !important;
    margin-bottom: 12px !important;
  }

  .petvixa-checkout-layout {
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
    width: 100% !important;
  }

  .woocommerce-billing-fields__field-wrapper,
  .woocommerce-shipping-fields__field-wrapper,
  .woocommerce-address-fields__field-wrapper {
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
    width: 100% !important;
  }

  .woocommerce-billing-fields__field-wrapper .form-row,
  .woocommerce-shipping-fields__field-wrapper .form-row,
  .woocommerce-address-fields__field-wrapper .form-row {
    width: 100% !important;
    margin: 0 !important;
  }

  .woocommerce-checkout input.input-text,
  .woocommerce-checkout select,
  .woocommerce-checkout textarea {
    height: 46px !important;
    padding: 8px 12px !important;
    font-size: 15px !important;
    border-radius: 10px !important;
    width: 100% !important;
  }

  #payment ul.payment_methods li {
    padding: 13px 12px !important;
    border-radius: 12px !important;
    width: 100% !important;
  }

  #payment div.payment_box {
    padding: 10px 0 0 0 !important;
    width: 100% !important;
  }

  #payment div.payment_box .form-row-first,
  #payment div.payment_box .form-row-last {
    width: calc(50% - 4px) !important;
    display: inline-block !important;
  }

  #payment div.payment_box .form-row-first {
    margin-right: 5px !important;
  }

  #payment div.payment_box input.input-text,
  #payment div.payment_box .wc-stripe-elements-field,
  #payment div.payment_box iframe {
    font-size: 14.5px !important;
    height: 46px !important;
    min-height: 46px !important;
    padding-left: 40px !important;
    width: 100% !important;
  }

  #place_order {
    height: 50px !important;
    font-size: 1rem !important;
  }
}

@media (min-width: 992px) {
  .petvixa-checkout-layout > div:last-child {
    position: sticky !important;
    top: 90px !important;
  }
}

/* ==========================================================================
   5. MY ACCOUNT PORTAL & AUTH CARDS (Item 2 Fix)
   ========================================================================== */
.woocommerce-account .woocommerce {
  display: block !important;
  width: 100% !important;
  padding: 20px 0 60px !important;
  box-sizing: border-box !important;
}

/* Logged-in Customer Portal: 2-Column Sidebar + Content Layout */
.woocommerce-account.logged-in .woocommerce,
.woocommerce-account .woocommerce:has(.woocommerce-MyAccount-navigation) {
  display: grid !important;
  grid-template-columns: 280px 1fr !important;
  gap: 36px !important;
  align-items: start !important;
}

@media (max-width: 860px) {
  .woocommerce-account.logged-in .woocommerce,
  .woocommerce-account .woocommerce:has(.woocommerce-MyAccount-navigation) {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 24px !important;
  }
}

.pv-account-navigation {
  background: #ffffff !important;
  border: 1px solid var(--pv-border) !important;
  border-radius: 20px !important;
  padding: 24px !important;
  box-shadow: 0 4px 20px -2px rgba(0, 0, 0, 0.05) !important;
  box-sizing: border-box !important;
}

.pv-account-user-card {
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
  padding-bottom: 18px !important;
  border-bottom: 1px solid var(--pv-border) !important;
  margin-bottom: 16px !important;
}

.pv-account-avatar img {
  border-radius: 9999px !important;
  width: 50px !important;
  height: 50px !important;
  object-fit: cover !important;
  border: 2px solid var(--pv-primary-light) !important;
}

.pv-account-user-info h4 {
  margin: 0 0 2px 0 !important;
  font-size: 1rem !important;
  font-weight: 800 !important;
  color: var(--pv-secondary) !important;
}

.pv-account-user-info span {
  font-size: 0.8rem !important;
  color: var(--pv-muted) !important;
}

.pv-account-nav-list {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

.pv-account-nav-list li {
  margin-bottom: 4px !important;
}

.pv-account-nav-list a {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 10px 14px !important;
  border-radius: 10px !important;
  color: var(--pv-text) !important;
  font-weight: 600 !important;
  font-size: 0.9rem !important;
  text-decoration: none !important;
  transition: all 0.2s ease !important;
}

.pv-account-nav-list a:hover,
.pv-account-nav-list li.is-active a {
  background-color: var(--pv-primary-light) !important;
  color: var(--pv-primary) !important;
}

.woocommerce-MyAccount-content {
  background: #ffffff !important;
  border: 1px solid var(--pv-border) !important;
  border-radius: 20px !important;
  padding: 32px !important;
  box-shadow: 0 4px 20px -2px rgba(0, 0, 0, 0.05) !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}

@media (max-width: 768px) {
  .woocommerce-MyAccount-content {
    padding: 20px 16px !important;
    border-radius: 16px !important;
  }
}

/* Centered Luxury Auth Wrapper for Login & Register */
.pv-auth-wrapper {
  max-width: 920px !important;
  margin: 0 auto !important;
  padding: 10px 0 40px !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

.pv-auth-wrapper.single-card {
  max-width: 480px !important;
}

.pv-auth-grid {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 28px !important;
  align-items: start !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

.pv-auth-wrapper.single-card .pv-auth-grid {
  grid-template-columns: 1fr !important;
}

@media (max-width: 768px) {
  .pv-auth-grid {
    grid-template-columns: 1fr !important;
    gap: 20px !important;
  }
}

.pv-auth-card {
  background: #ffffff !important;
  border: 1px solid var(--pv-border) !important;
  border-radius: 20px !important;
  padding: 28px 24px !important;
  box-shadow: 0 4px 20px -2px rgba(0, 0, 0, 0.05) !important;
  box-sizing: border-box !important;
  width: 100% !important;
}

.pv-auth-card-header {
  margin-bottom: 20px !important;
  border-bottom: 1px solid var(--pv-border) !important;
  padding-bottom: 14px !important;
}

.pv-auth-card-header h2 {
  font-size: 1.3rem !important;
  font-weight: 800 !important;
  margin: 0 0 4px 0 !important;
  color: var(--pv-secondary) !important;
}

.pv-auth-card-header p {
  font-size: 0.85rem !important;
  color: var(--pv-muted) !important;
  margin: 0 !important;
}

.pv-auth-card .form-row {
  margin-bottom: 14px !important;
  padding: 0 !important;
  float: none !important;
  width: 100% !important;
}

.pv-auth-card label {
  display: block !important;
  font-size: 0.825rem !important;
  font-weight: 700 !important;
  color: var(--pv-secondary) !important;
  margin-bottom: 6px !important;
}

.pv-auth-card input.input-text {
  width: 100% !important;
  height: 48px !important;
  padding: 10px 16px !important;
  border-radius: 12px !important;
  border: 1.5px solid var(--pv-border) !important;
  outline: none !important;
  font-size: 0.925rem !important;
  box-sizing: border-box !important;
  background-color: #ffffff !important;
  transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
}

.pv-auth-card input.input-text:focus {
  border-color: var(--pv-primary) !important;
  box-shadow: 0 0 0 3px rgba(255, 107, 53, 0.12) !important;
}

.pv-auth-remember-row {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  margin: 12px 0 16px !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  font-size: 0.85rem !important;
}

.pv-auth-remember-row label {
  margin: 0 !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
}

.pv-lost-pwd {
  font-size: 0.825rem !important;
  font-weight: 700 !important;
  color: var(--pv-primary) !important;
}

/* ==========================================================================
   6. QUICK VIEW MODAL UI OVERHAUL (Item 7 & Wide Image Fix)
   ========================================================================== */
.pv-quickview-container {
  display: grid !important;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr) !important;
  gap: 28px !important;
  align-items: start !important;
  box-sizing: border-box !important;
  width: 100% !important;
  min-width: 0 !important;
}

@media (max-width: 768px) {
  .pv-quickview-container {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }
}

.pv-quickview-gallery {
  position: relative !important;
  width: 100% !important;
  min-width: 0 !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
}

.pv-qv-main-image-wrap {
  width: 100% !important;
  height: 350px !important;
  max-height: 350px !important;
  border-radius: 18px !important;
  overflow: hidden !important;
  border: 1.5px solid var(--pv-border) !important;
  background: #f8fafc !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-sizing: border-box !important;
}

.pv-qv-main-img {
  width: 100% !important;
  height: 100% !important;
  max-height: 350px !important;
  object-fit: contain !important;
  display: block !important;
  margin: 0 auto !important;
}

@media (max-width: 768px) {
  .pv-qv-main-image-wrap {
    height: 240px !important;
    max-height: 240px !important;
  }
  .pv-qv-main-img {
    max-height: 240px !important;
  }
}

.pv-qv-thumbnails {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  margin-top: 12px !important;
  padding-bottom: 4px !important;
  width: 100% !important;
}

.pv-qv-thumb-btn {
  width: 52px !important;
  height: 52px !important;
  min-width: 52px !important;
  border-radius: 10px !important;
  border: 2px solid var(--pv-border) !important;
  background: #ffffff !important;
  padding: 0 !important;
  cursor: pointer !important;
  overflow: hidden !important;
  transition: all 0.2s ease !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-sizing: border-box !important;
}

.pv-qv-thumb-btn img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
}

.pv-qv-thumb-btn.is-active,
.pv-qv-thumb-btn:hover {
  border-color: var(--pv-primary) !important;
  transform: translateY(-1px) !important;
}

.pv-quickview-details {
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
  min-width: 0 !important;
  width: 100% !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
}

.pv-qv-category {
  font-size: 0.775rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.04em !important;
  color: var(--pv-muted) !important;
  line-height: 1.3 !important;
}

.pv-qv-title {
  font-size: clamp(1.15rem, 1.8vw, 1.45rem) !important;
  font-weight: 800 !important;
  color: var(--pv-secondary) !important;
  margin: 0 !important;
  line-height: 1.3 !important;
  word-break: normal !important;
  overflow-wrap: break-word !important;
}

.pv-qv-title a {
  color: var(--pv-secondary) !important;
  text-decoration: none !important;
}

.pv-qv-rating {
  font-size: 0.85rem !important;
  color: #f59e0b !important;
  margin: 2px 0 !important;
  display: flex !important;
  align-items: center !important;
  gap: 4px !important;
}

.pv-qv-price {
  font-size: 1.35rem !important;
  font-weight: 800 !important;
  color: var(--pv-primary) !important;
  margin: 4px 0 8px !important;
  display: flex !important;
  align-items: baseline !important;
  gap: 8px !important;
  flex-wrap: wrap !important;
  white-space: nowrap !important;
}

.pv-qv-price del {
  color: #94a3b8 !important;
  font-size: 1rem !important;
  font-weight: 600 !important;
}

.pv-qv-price ins {
  text-decoration: none !important;
  color: var(--pv-primary) !important;
}

.pv-qv-excerpt {
  font-size: 0.875rem !important;
  color: var(--pv-muted) !important;
  line-height: 1.6 !important;
  margin-bottom: 12px !important;
  word-break: normal !important;
  overflow-wrap: break-word !important;
}

.pv-qv-actions form.cart {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  flex-wrap: wrap !important;
  margin: 10px 0 !important;
  width: 100% !important;
}

.pv-qv-actions form.cart .quantity input.qty {
  width: 56px !important;
  height: 44px !important;
  border-radius: 9999px !important;
  border: 1.5px solid var(--pv-border) !important;
  text-align: center !important;
  font-weight: 700 !important;
  box-sizing: border-box !important;
}

.pv-qv-actions form.cart .single_add_to_cart_button {
  flex: 1 1 140px !important;
  height: 44px !important;
  border-radius: 9999px !important;
  background-color: var(--pv-primary) !important;
  color: #ffffff !important;
  font-weight: 700 !important;
  font-size: 0.9rem !important;
  border: none !important;
  cursor: pointer !important;
  padding: 0 18px !important;
  transition: all 0.2s ease !important;
}

.pv-qv-actions form.cart .single_add_to_cart_button:hover {
  background-color: var(--pv-primary-hover) !important;
}

.pv-qv-meta {
  display: flex !important;
  flex-direction: column !important;
  gap: 4px !important;
  font-size: 0.8rem !important;
  color: var(--pv-muted) !important;
  margin-top: 10px !important;
  border-top: 1px solid var(--pv-border) !important;
  padding-top: 10px !important;
  width: 100% !important;
}

.pv-qv-meta strong {
  color: var(--pv-secondary) !important;
}

/* Responsive Fixes - Customer details strictly stacked vertically */
.pv-checkout-shipping-col {
  margin-top: 0 !important;
  padding-top: 28px !important;
  border-top: 1.5px dashed var(--pv-border) !important;
}

@media (min-width: 769px) {
  .col2-set#customer_details {
    display: flex !important;
    flex-direction: column !important;
    gap: 32px !important;
  }
  .col2-set#customer_details .col-1,
  .col2-set#customer_details .col-2 {
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
  }
}

/* Global Fix for WooCommerce Select2 Dropdowns (Country/State) */
.select2-container {
  z-index: 99999 !important;
}
.select2-container--default .select2-dropdown {
  z-index: 999999 !important;
  border: 1px solid var(--pv-border) !important;
  border-radius: 12px !important;
  box-shadow: 0 10px 40px rgba(0,0,0,0.15) !important;
  overflow: hidden !important;
  background-color: #ffffff !important;
}
.select2-container--open {
  z-index: 999999 !important;
}
/* Ensure the form wrapper doesn't clip the dropdown if appended inside */
.woocommerce-checkout .select2-container,
.woocommerce-cart .select2-container {
  width: 100% !important;
}
.woocommerce form .form-row {
  overflow: visible !important;
}
.select2-search__field {
  outline: none !important;
  border: 1px solid var(--pv-border) !important;
  border-radius: 8px !important;
}

/* Fix Coupon form globally in WooCommerce Cart & Checkout */
.woocommerce-cart .coupon,
.woocommerce-checkout .checkout_coupon,
.cart_totals .coupon {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  flex-wrap: nowrap !important;
  margin: 0 !important;
  padding: 0 !important;
  width: 100% !important;
}
.woocommerce-cart .coupon input.input-text,
.woocommerce-checkout .checkout_coupon input.input-text,
.cart_totals .coupon input.input-text {
  flex: 1 1 auto !important;
  width: 100% !important;
  min-width: 100px !important;
  height: 44px !important;
  padding: 0 16px !important;
  border-radius: 9999px !important;
  border: 1.5px solid var(--pv-border) !important;
  outline: none !important;
  box-sizing: border-box !important;
}
.woocommerce-cart .coupon button,
.woocommerce-checkout .checkout_coupon button,
.cart_totals .coupon button {
  flex: 0 0 auto !important;
  width: auto !important;
  min-width: 110px !important;
  height: 44px !important;
  padding: 0 20px !important;
  border-radius: 9999px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  white-space: nowrap !important;
  word-break: keep-all !important;
  overflow: visible !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  box-sizing: border-box !important;
  margin: 0 !important;
  background: var(--pv-primary) !important;
  color: #ffffff !important;
  border: none !important;
  transition: all 0.3s ease !important;
}
.woocommerce-cart .coupon button:hover,
.woocommerce-checkout .checkout_coupon button:hover,
.cart_totals .coupon button:hover {
  background: var(--pv-primary-hover) !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 4px 12px rgba(0,0,0,0.1) !important;
}
@media (max-width: 480px) {
  .woocommerce-cart .coupon,
  .cart_totals .coupon {
    flex-direction: row !important;
    gap: 8px !important;
    margin-bottom: 0 !important;
  }
}

/* Hide all compare buttons (Theme built-in and YITH Compare Plugin) */
a.compare.button,
.yith-woocompare-widget,
.woocommerce-product-compare,
.pv-compare-btn,
.compare-button,
.product .compare {
  display: none !important;
}

/* Completely hide View Cart notice, Returning customer, Coupon form, and Privacy policy text on Checkout */
.woocommerce-checkout .woocommerce-message,
.woocommerce-checkout .woocommerce-message a.button.wc-forward,
.woocommerce-checkout .woocommerce-form-login-toggle,
.woocommerce-checkout form.woocommerce-form-login,
.woocommerce-checkout form.login,
.woocommerce-checkout .woocommerce-form-coupon-toggle,
.woocommerce-checkout form.checkout_coupon,
.woocommerce-checkout form.woocommerce-form-coupon,
.woocommerce-checkout .checkout_coupon,
.woocommerce-checkout .woocommerce-privacy-policy-text,
.woocommerce-privacy-policy-text {
  display: none !important;
  margin: 0 !important;
  padding: 0 !important;
  height: 0 !important;
  visibility: hidden !important;
}

/* ==========================================================================
   24. ULTRA-CLEAN & MODERN SHOP PAGINATION
   ========================================================================== */
.woocommerce nav.woocommerce-pagination,
.woocommerce .woocommerce-pagination,
nav.woocommerce-pagination,
.pv-pagination {
  margin: 50px auto 20px auto !important;
  text-align: center !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  width: 100% !important;
  clear: both !important;
  border: none !important;
  background: transparent !important;
  box-shadow: none !important;
}

/* Strip WooCommerce core list container styling */
.woocommerce nav.woocommerce-pagination ul,
.woocommerce nav.woocommerce-pagination ul.page-numbers,
.woocommerce .woocommerce-pagination ul,
.woocommerce .woocommerce-pagination ul.page-numbers,
nav.woocommerce-pagination ul.page-numbers,
.pv-pagination ul.page-numbers,
.pv-pagination .nav-links {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 auto !important;
  border: none !important;
  background: transparent !important;
  box-shadow: none !important;
  white-space: nowrap !important;
  float: none !important;
}

/* Strip WooCommerce core border-right and float from each li */
.woocommerce nav.woocommerce-pagination ul li,
.woocommerce nav.woocommerce-pagination ul.page-numbers li,
.woocommerce .woocommerce-pagination ul li,
.woocommerce .woocommerce-pagination ul.page-numbers li,
nav.woocommerce-pagination ul li,
.pv-pagination ul li {
  border: none !important;
  border-right: none !important;
  border-left: none !important;
  border-top: none !important;
  border-bottom: none !important;
  background: transparent !important;
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
  display: inline-flex !important;
  overflow: visible !important;
  list-style: none !important;
}

/* Standalone Button Styling for Every Number & Arrow */
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span,
.woocommerce nav.woocommerce-pagination ul li .page-numbers,
.woocommerce .woocommerce-pagination ul li a,
.woocommerce .woocommerce-pagination ul li span,
.woocommerce .woocommerce-pagination ul li .page-numbers,
nav.woocommerce-pagination ul li .page-numbers,
.pv-pagination ul li .page-numbers,
.pv-pagination .nav-links .page-numbers {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 44px !important;
  height: 44px !important;
  min-width: 44px !important;
  padding: 0 !important;
  margin: 0 !important;
  border-radius: 12px !important;
  border: 1.5px solid #e2e8f0 !important;
  background: #ffffff !important;
  color: #334155 !important;
  font-size: 0.95rem !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.04) !important;
  transition: all 0.22s cubic-bezier(0.4, 0, 0.2, 1) !important;
  cursor: pointer !important;
  line-height: 1 !important;
  box-sizing: border-box !important;
}

/* SVG Arrow Icon inside Prev/Next buttons */
.woocommerce nav.woocommerce-pagination ul li a svg,
.woocommerce .woocommerce-pagination ul li a svg,
nav.woocommerce-pagination ul li a svg,
.pv-pagination ul li a svg {
  display: inline-block !important;
  width: 18px !important;
  height: 18px !important;
  stroke: currentColor !important;
  vertical-align: middle !important;
  transition: transform 0.2s ease !important;
}

/* Hover state on unselected buttons */
.woocommerce nav.woocommerce-pagination ul li a:hover,
.woocommerce nav.woocommerce-pagination ul li a:focus,
.woocommerce .woocommerce-pagination ul li a:hover,
.woocommerce .woocommerce-pagination ul li a:focus,
nav.woocommerce-pagination ul li a:hover,
.pv-pagination ul li a:hover,
.pv-pagination .nav-links a:hover {
  background: #fff7ed !important;
  border-color: #ff6b35 !important;
  color: #ff6b35 !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 4px 12px rgba(255, 107, 53, 0.18) !important;
}

.woocommerce nav.woocommerce-pagination ul li a.next:hover svg,
.woocommerce .woocommerce-pagination ul li a.next:hover svg {
  transform: translateX(2px) !important;
}

.woocommerce nav.woocommerce-pagination ul li a.prev:hover svg,
.woocommerce .woocommerce-pagination ul li a.prev:hover svg {
  transform: translateX(-2px) !important;
}

/* ACTIVE / CURRENT PAGE BUTTON (Completely kills WC core gray background) */
.woocommerce nav.woocommerce-pagination ul li span.current,
.woocommerce nav.woocommerce-pagination ul.page-numbers li span.current,
.woocommerce .woocommerce-pagination ul li span.current,
.woocommerce .woocommerce-pagination ul.page-numbers li span.current,
nav.woocommerce-pagination ul.page-numbers li span.current,
.pv-pagination ul.page-numbers li span.current,
.pv-pagination .nav-links span.current {
  background: #ff6b35 !important;
  background-color: #ff6b35 !important;
  border: 1.5px solid #ff6b35 !important;
  border-color: #ff6b35 !important;
  color: #ffffff !important;
  font-weight: 700 !important;
  box-shadow: 0 4px 14px rgba(255, 107, 53, 0.4) !important;
  transform: translateY(-1px) !important;
  cursor: default !important;
  pointer-events: none !important;
}

/* Ellipsis (...) */
.woocommerce nav.woocommerce-pagination ul li span.dots,
.woocommerce .woocommerce-pagination ul li span.dots,
nav.woocommerce-pagination ul li span.dots,
.pv-pagination ul li span.dots,
.pv-pagination .nav-links span.dots {
  border: none !important;
  background: transparent !important;
  box-shadow: none !important;
  color: #94a3b8 !important;
  width: 28px !important;
  min-width: 28px !important;
  font-size: 1.1rem !important;
  letter-spacing: 2px !important;
  cursor: default !important;
  pointer-events: none !important;
}

/* Mobile screens */
@media (max-width: 576px) {
  .woocommerce nav.woocommerce-pagination ul,
  .woocommerce nav.woocommerce-pagination ul.page-numbers,
  nav.woocommerce-pagination ul.page-numbers {
    gap: 6px !important;
  }
  .woocommerce nav.woocommerce-pagination ul li a,
  .woocommerce nav.woocommerce-pagination ul li span,
  .woocommerce nav.woocommerce-pagination ul li .page-numbers {
    width: 38px !important;
    height: 38px !important;
    min-width: 38px !important;
    font-size: 0.88rem !important;
    border-radius: 10px !important;
  }
}

/* ==========================================================================
   26. SOCIAL PROOF & LIVE URGENCY BADGES (LIVE VIEWERS & UNITS SOLD)
   ========================================================================== */
.pv-social-proof-wrap {
  display: flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
  margin: 14px 0 18px 0 !important;
  width: 100% !important;
}

.pv-proof-badge {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 8px 16px !important;
  border-radius: 9999px !important;
  font-size: 0.85rem !important;
  line-height: 1 !important;
  font-weight: 500 !important;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.03) !important;
  transition: all 0.25s ease !important;
}

/* Live Viewers Badge */
.pv-proof-badge.pv-proof-live {
  background: #ecfdf5 !important;
  border: 1px solid rgba(16, 185, 129, 0.3) !important;
  color: #065f46 !important;
}

.pv-live-pulse-dot {
  width: 9px !important;
  height: 9px !important;
  min-width: 9px !important;
  background-color: #10b981 !important;
  border-radius: 50% !important;
  display: inline-block !important;
  flex-shrink: 0 !important;
  box-shadow: 0 0 0 0 rgba(16, 185, 129, 0.75) !important;
  animation: pv-live-pulse 1.8s infinite cubic-bezier(0.4, 0, 0.6, 1) !important;
}

.pv-live-pulse-dot::after {
  display: none !important;
}

@keyframes pv-live-pulse {
  0% {
    box-shadow: 0 0 0 0 rgba(16, 185, 129, 0.8);
  }
  70% {
    box-shadow: 0 0 0 7px rgba(16, 185, 129, 0);
  }
  100% {
    box-shadow: 0 0 0 0 rgba(16, 185, 129, 0);
  }
}

/* Sold Count Badge */
.pv-proof-badge.pv-proof-sold {
  background: #fff7ed !important;
  border: 1px solid rgba(249, 115, 22, 0.3) !important;
  color: #9a3412 !important;
}

.pv-fire-icon {
  font-size: 1rem !important;
  display: inline-block !important;
  line-height: 1 !important;
}

.pv-proof-badge strong {
  font-weight: 700 !important;
  color: inherit !important;
}

/* Mobile responsive adjustments */
@media (max-width: 576px) {
  .pv-social-proof-wrap {
    gap: 8px !important;
    margin: 12px 0 16px 0 !important;
  }
  .pv-proof-badge {
    width: 100% !important;
    justify-content: flex-start !important;
    padding: 9px 14px !important;
    font-size: 0.82rem !important;
    border-radius: 12px !important;
  }
}

/* ==========================================================================
   27. ORDER RECEIVED / THANK YOU PAGE (DESKTOP & MOBILE FIX)
   ========================================================================== */
.pv-thankyou-container {
  max-width: 860px !important;
  margin: 40px auto 60px auto !important;
  padding: 0 16px !important;
}

/* Success / Failed Status Hero Card */
.pv-order-status-card {
  background: #ffffff !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 20px !important;
  padding: 36px 24px !important;
  text-align: center !important;
  margin-bottom: 24px !important;
  box-shadow: 0 4px 20px -4px rgba(0, 0, 0, 0.05) !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
}

.pv-order-status-card.pv-order-success {
  border-top: 4px solid #10b981 !important;
}

.pv-order-status-card.pv-order-failed {
  border-top: 4px solid #ef4444 !important;
}

.pv-status-icon {
  width: 64px !important;
  height: 64px !important;
  border-radius: 50% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin-bottom: 16px !important;
}

.pv-status-icon.pv-icon-success {
  background: #ecfdf5 !important;
  color: #10b981 !important;
  box-shadow: 0 0 0 8px rgba(16, 185, 129, 0.12) !important;
}

.pv-status-icon.pv-icon-failed {
  background: #fef2f2 !important;
  color: #ef4444 !important;
  font-size: 2rem !important;
  box-shadow: 0 0 0 8px rgba(239, 68, 68, 0.12) !important;
}

.pv-status-badge {
  display: inline-block !important;
  font-size: 0.8rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  color: #059669 !important;
  background: #ecfdf5 !important;
  padding: 4px 12px !important;
  border-radius: 9999px !important;
  margin-bottom: 12px !important;
}

.pv-status-title {
  font-size: 1.55rem !important;
  font-weight: 800 !important;
  color: #0f172a !important;
  margin: 0 0 10px 0 !important;
  line-height: 1.3 !important;
}

.pv-status-sub {
  font-size: 0.95rem !important;
  color: #64748b !important;
  margin: 0 !important;
  line-height: 1.5 !important;
  max-width: 540px !important;
}

/* Disable WooCommerce clearfix pseudo-elements that hijack grid slots */
.woocommerce ul.order_details::before,
.woocommerce ul.order_details::after,
.woocommerce-order-overview::before,
.woocommerce-order-overview::after,
.pv-order-overview-card::before,
.pv-order-overview-card::after,
.woocommerce ul.order_details:before,
.woocommerce ul.order_details:after,
.woocommerce-order-overview:before,
.woocommerce-order-overview:after,
.pv-order-overview-card:before,
.pv-order-overview-card:after {
  content: none !important;
  display: none !important;
}

/* Modern Receipt Overview Card (Desktop) */
.woocommerce ul.order_details,
.woocommerce-order-overview,
.pv-order-overview-card {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 14px !important;
  background: #ffffff !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 18px !important;
  padding: 24px !important;
  list-style: none !important;
  margin: 0 0 30px 0 !important;
  box-shadow: 0 4px 16px -4px rgba(0, 0, 0, 0.04) !important;
  position: relative !important;
}

/* Strip all core WooCommerce floats and dashed borders completely */
.woocommerce ul.order_details li,
.woocommerce-order-overview li,
.pv-overview-item {
  float: none !important;
  border: none !important;
  border-right: none !important;
  margin: 0 !important;
  padding: 14px 12px !important;
  background: #f8fafc !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 12px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 6px !important;
  word-break: break-word !important;
}

.pv-overview-label,
.woocommerce ul.order_details li {
  font-size: 0.72rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  color: #64748b !important;
  line-height: 1.3 !important;
}

.pv-overview-value,
.woocommerce ul.order_details li strong {
  font-size: 1.05rem !important;
  font-weight: 700 !important;
  color: #0f172a !important;
  display: block !important;
  line-height: 1.4 !important;
  text-transform: none !important;
}

.pv-overview-total,
.woocommerce ul.order_details li.total strong {
  color: var(--petvixa-primary, #ff6b35) !important;
  font-size: 1.25rem !important;
  font-weight: 800 !important;
}

.pv-overview-email,
.woocommerce ul.order_details li.email strong {
  font-size: 0.95rem !important;
  word-break: break-all !important;
}

.woocommerce ul.order_details li.method,
.woocommerce-order-overview li.method,
.pv-overview-item.pv-overview-method {
  grid-column: span 2 !important;
}

.woocommerce ul.order_details li.method strong,
.pv-overview-method strong {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 6px !important;
  font-size: 0.92rem !important;
}

.woocommerce ul.order_details li.method img,
.pv-overview-method img {
  max-height: 22px !important;
  width: auto !important;
  display: inline-block !important;
}

/* Order Details Table & Address Cards */
.woocommerce-order-details,
.woocommerce-customer-details {
  background: #ffffff !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 18px !important;
  padding: 24px !important;
  margin-bottom: 24px !important;
  box-shadow: 0 4px 16px -4px rgba(0, 0, 0, 0.04) !important;
}

.woocommerce-order-details__title,
.woocommerce-customer-details__title {
  font-size: 1.25rem !important;
  font-weight: 700 !important;
  color: #0f172a !important;
  margin-bottom: 16px !important;
}

.woocommerce table.order_details {
  border: none !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  width: 100% !important;
  margin-bottom: 0 !important;
}

.woocommerce table.order_details th,
.woocommerce table.order_details td {
  padding: 12px 14px !important;
  border-top: none !important;
  border-bottom: 1px solid #f1f5f9 !important;
  color: #334155 !important;
}

.woocommerce table.order_details thead th {
  background: #f8fafc !important;
  font-size: 0.78rem !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  color: #64748b !important;
  border-radius: 8px !important;
}

.woocommerce table.order_details tfoot tr:last-child th,
.woocommerce table.order_details tfoot tr:last-child td {
  border-bottom: none !important;
  font-size: 1.15rem !important;
  font-weight: 800 !important;
  color: #0f172a !important;
}

.woocommerce-customer-details address {
  background: #f8fafc !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 12px !important;
  padding: 16px !important;
  font-style: normal !important;
  line-height: 1.6 !important;
  color: #334155 !important;
}

.pv-thankyou-footer-actions {
  text-align: center !important;
  margin: 32px 0 20px 0 !important;
}

.pv-thankyou-footer-actions .pv-btn {
  padding: 14px 32px !important;
  font-size: 1rem !important;
  border-radius: 9999px !important;
  box-shadow: 0 4px 16px rgba(255, 107, 53, 0.25) !important;
}

/* ==========================================================================
   MOBILE RESPONSIVE RULES FOR THANK YOU PAGE (<= 768px)
   ========================================================================== */
@media (max-width: 768px) {
  .pv-thankyou-container {
    margin: 20px auto 40px auto !important;
    padding: 0 12px !important;
  }

  .pv-order-status-card {
    padding: 24px 16px !important;
    border-radius: 16px !important;
    margin-bottom: 16px !important;
  }

  .pv-status-icon {
    width: 52px !important;
    height: 52px !important;
    margin-bottom: 12px !important;
  }

  .pv-status-icon svg {
    width: 26px !important;
    height: 26px !important;
  }

  .pv-status-title {
    font-size: 1.25rem !important;
  }

  .pv-status-sub {
    font-size: 0.85rem !important;
  }

  /* Clean 2-column & Full-Width Receipt Grid on Mobile */
  .woocommerce ul.order_details,
  .woocommerce-order-overview,
  .pv-order-overview-card {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 10px !important;
    padding: 14px !important;
    border-radius: 16px !important;
    margin-bottom: 24px !important;
  }

  .woocommerce ul.order_details li,
  .woocommerce-order-overview li,
  .pv-overview-item {
    float: none !important;
    width: 100% !important;
    border-right: none !important;
    border-bottom: none !important;
    padding: 12px 10px !important;
    border-radius: 10px !important;
    margin: 0 !important;
    box-sizing: border-box !important;
  }

  /* Force Order Number (Col 1) & Date (Col 2) on Row 1 */
  .woocommerce ul.order_details li.order,
  .woocommerce-order-overview li.order,
  .pv-overview-item.order {
    grid-column: 1 / 2 !important;
    grid-row: 1 !important;
  }

  .woocommerce ul.order_details li.date,
  .woocommerce-order-overview li.date,
  .pv-overview-item.date {
    grid-column: 2 / 3 !important;
    grid-row: 1 !important;
  }

  /* Email, Total & Payment Method on Rows 2, 3, and 4 (Full Width) */
  .woocommerce ul.order_details li.email,
  .woocommerce-order-overview li.email,
  .pv-overview-item.email {
    grid-column: 1 / -1 !important;
    grid-row: 2 !important;
  }

  .woocommerce ul.order_details li.total,
  .woocommerce-order-overview li.total,
  .pv-overview-item.total {
    grid-column: 1 / -1 !important;
    grid-row: 3 !important;
    background: #fff0e8 !important;
    border: 1px solid rgba(255, 107, 53, 0.2) !important;
  }

  .woocommerce ul.order_details li.method,
  .woocommerce-order-overview li.method,
  .pv-overview-item.pv-overview-method {
    grid-column: 1 / -1 !important;
    grid-row: 4 !important;
  }

  .pv-overview-value,
  .woocommerce ul.order_details li strong {
    font-size: 0.95rem !important;
  }

  .pv-overview-total,
  .woocommerce ul.order_details li.total strong {
    font-size: 1.2rem !important;
  }

  .woocommerce-order-details,
  .woocommerce-customer-details {
    padding: 16px !important;
    border-radius: 16px !important;
  }

  .woocommerce table.order_details th,
  .woocommerce table.order_details td {
    padding: 10px 8px !important;
    font-size: 0.85rem !important;
  }
}



