/* SHOPWP VISUAL STYLING ONLY - Based on working shopwp-test.html */

/* Product Cards - Visual Appearance Only - Apply to ALL ShopWP products */
/* Added body class targeting for /products page */
body .wp-block-group.shopwp-theme .wps-item,
body .shopwp-theme .wps-item,
body .wps-item,
body .swp-item,
.page .wps-item,
.page .swp-item,
.wp-block-group.shopwp-theme .wps-item,
.shopwp-theme .wps-item,
.wps-item,
.swp-item {
  background: #000000 !important;
  color: #ffffff !important;
  border: 1px solid rgba(255,255,255,0.08) !important;
  padding: 20px !important;
  border-radius: 0 !important;
  box-shadow: 0 4px 16px rgba(0,0,0,0.3) !important;
  transition: transform .3s ease, box-shadow .3s ease !important;
  position: relative !important;
  cursor: pointer !important;
  overflow: visible !important;
  display: flex !important;
  flex-direction: column !important;
}

/* Card Hover Effects */
body .wp-block-group.shopwp-theme .wps-item:hover,
body .shopwp-theme .wps-item:hover,
body .wps-item:hover,
body .swp-item:hover,
.page .wps-item:hover,
.page .swp-item:hover,
.wp-block-group.shopwp-theme .wps-item:hover,
.shopwp-theme .wps-item:hover,
.wps-item:hover,
.swp-item:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 8px 24px rgba(0,0,0,.4) !important;
  border-color: rgba(255,255,255,0.15) !important;
}

/* Price Styling - Red with Magistral font */
html body .wp-block-group.shopwp-theme .wps-products-price,
html body .wp-block-group.shopwp-theme .wps-component-products-pricing .wps-products-price,
html body .shopwp-theme .wps-products-price,
.wp-block-group.shopwp-theme .wps-products-price,
.shopwp-theme .wps-products-price,
.wps-products-price,
.swp-price {
  color: rgb(196, 1, 31) !important;
  font-family: "magistral", sans-serif !important;
  font-weight: 500 !important;
  font-size: 18px !important;
  letter-spacing: 0.2px !important;
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

/* Remove spacing from price wrapper */
.wp-block-group.shopwp-theme .wps-component-products-pricing {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

/* Title Styling - White uppercase with Magistral font */
.wp-block-group.shopwp-theme .wps-products-title,
.shopwp-theme .wps-products-title,
.wps-products-title,
.swp-product-title {
  color: #ffffff !important;
  font-family: "magistral", sans-serif !important;
  font-weight: 500 !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  line-height: 1.15 !important;
  font-size: 16px !important;
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* Remove spacing from title wrapper */
.wp-block-group.shopwp-theme .wps-component-products-title {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* Images - Basic styling */
.wp-block-group.shopwp-theme .wps-product-image,
.wps-product-image,
.swp-product-image {
  border-radius: 0 !important;
}

/* Component Order: Image, Price, Title, Button */
/* These rules apply to ALL contexts */
.wps-item .wps-component-products-images,
.wps-item .wps-product-image-wrapper,
.swp-item .wps-component-products-images,
.swp-item .wps-product-image-wrapper,
.wp-block-group.shopwp-theme .wps-component-products-images,
.wp-block-group.shopwp-theme .wps-product-image-wrapper {
  order: 1 !important;
}

.wps-item .wps-component-products-pricing,
.wps-item .wps-products-price-wrapper,
.swp-item .wps-component-products-pricing,
.swp-item .wps-products-price-wrapper,
.wp-block-group.shopwp-theme .wps-component-products-pricing,
.wp-block-group.shopwp-theme .wps-products-price-wrapper {
  order: 2 !important;
}

.wps-item .wps-component-products-title,
.wps-item .wps-products-title-wrapper,
.swp-item .wps-component-products-title,
.swp-item .wps-products-title-wrapper,
.wp-block-group.shopwp-theme .wps-component-products-title,
.wp-block-group.shopwp-theme .wps-products-title-wrapper {
  order: 3 !important;
}

/* Make sure all direct children respect order */
.wps-item > *,
.swp-item > *,
.wp-block-group.shopwp-theme .wps-item > * {
  order: 50 !important;
}

/* CRITICAL: Button must always be last */
.wps-item > .wps-btn-wrapper,
.wps-item > .wps-component-products-buy-btn,
.wps-item > .wps-component-products-buy-button,
.swp-item > .wps-btn-wrapper,
.swp-item > .wps-component-products-buy-btn,
.swp-item > .wps-component-products-buy-button,
.wp-block-group.shopwp-theme .wps-item > .wps-btn-wrapper,
.wp-block-group.shopwp-theme .wps-item > .wps-component-products-buy-btn,
.wp-block-group.shopwp-theme .wps-item > .wps-component-products-buy-button {
  order: 999 !important;
}

/* Override with specific orders */
.wp-block-group.shopwp-theme .wps-item > .wps-component-products-images,
.wp-block-group.shopwp-theme .wps-item > .wps-product-image-wrapper {
  order: 1 !important;
}

.wp-block-group.shopwp-theme .wps-item > .wps-component-products-pricing,
.wp-block-group.shopwp-theme .wps-item > .wps-products-price-wrapper {
  order: 2 !important;
}

.wp-block-group.shopwp-theme .wps-item > .wps-component-products-title,
.wp-block-group.shopwp-theme .wps-item > .wps-products-title-wrapper {
  order: 3 !important;
}

/* Buttons - Match your .btn.btn-primary styling */
/* Apply to ALL ShopWP buttons across all contexts EXCEPT checkout button */
.wp-block-group.shopwp-theme .wps-btn:not(.wps-btn-checkout),
.shopwp-theme .wps-btn:not(.wps-btn-checkout),
.wps-btn:not(.wps-btn-checkout),
.swp-btn:not(.swp-btn-checkout),
body .wps-btn:not(.wps-btn-checkout),
body .swp-btn:not(.swp-btn-checkout),
main .wps-btn:not(.wps-btn-checkout),
article .wps-btn:not(.wps-btn-checkout),
.wps-component-products-buy-button .wps-btn:not(.wps-btn-checkout),
[class*="wps-"] .wps-btn:not(.wps-btn-checkout),
[class*="shopwp"] .wps-btn:not(.wps-btn-checkout) {
  /* Typography */
  font-family: 'Poppins', sans-serif !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  
  /* Visual appearance */
  background: none !important;
  border: none !important;
  border-radius: 0 !important;
  color: #ffffff !important;
  outline: none !important;
  box-shadow: none !important;
  transition: all 0.4s ease !important;
  cursor: pointer !important;
  
  /* Full width button */
  width: 100% !important;
  display: inline-block !important;
  padding: 20px 50px 20px 15px !important;
  box-sizing: border-box !important;
  text-align: left !important;
  
  /* For pseudo-elements */
  position: relative !important;
  
  /* Change text to BUY NOW using text-indent to hide and content injection */
  text-indent: -9999px !important;
  overflow: visible !important;
}

/* Add "BUY NOW" text using ::before (move border to wrapper) */
.wp-block-group.shopwp-theme .wps-btn::before,
.shopwp-theme .wps-btn::before,
.wps-btn::before,
body .wps-btn::before,
main .wps-btn::before,
article .wps-btn::before {
  content: 'BUY NOW' !important;
  text-indent: 0 !important;
  position: absolute !important;
  left: 50% !important;
  top: 50% !important;
  transform: translate(-50%, -50%) !important;
  font-size: 12px !important;
  letter-spacing: 1.5px !important;
  font-weight: 700 !important;
  color: #ffffff !important;
  pointer-events: none !important;
  
  /* Remove old border styling */
  background: none !important;
  border: none !important;
  height: auto !important;
  width: auto !important;
}

/* Button wrapper - ensure full width and add border frames */
.wp-block-group.shopwp-theme .wps-btn-wrapper,
.shopwp-theme .wps-btn-wrapper,
.wps-btn-wrapper,
body .wps-btn-wrapper,
main .wps-btn-wrapper,
article .wps-btn-wrapper,
.wps-component-products-buy-button {
  width: 100% !important;
  display: block !important;
  position: relative !important;
  overflow: visible !important;
}

/* Border frames on wrapper - top */
.wp-block-group.shopwp-theme .wps-btn-wrapper::before,
.shopwp-theme .wps-btn-wrapper::before,
.wps-btn-wrapper::before,
body .wps-btn-wrapper::before,
main .wps-btn-wrapper::before,
article .wps-btn-wrapper::before,
.wps-component-products-buy-button::before {
  background: none !important;
  border: 1px solid rgba(255, 255, 255, 0.15) !important;
  border-bottom: none !important;
  height: 12px !important;
  content: '' !important;
  left: 0 !important;
  position: absolute !important;
  top: 0 !important;
  pointer-events: none !important;
  width: 100% !important;
  transition: all 0.4s ease !important;
  z-index: 1 !important;
}

/* Border frames on wrapper - bottom */
.wp-block-group.shopwp-theme .wps-btn-wrapper::after,
.shopwp-theme .wps-btn-wrapper::after,
.wps-btn-wrapper::after,
body .wps-btn-wrapper::after,
main .wps-btn-wrapper::after,
article .wps-btn-wrapper::after,
.wps-component-products-buy-button::after {
  background: none !important;
  border: 1px solid rgba(255, 255, 255, 0.15) !important;
  border-top: none !important;
  height: 12px !important;
  content: '' !important;
  left: 0 !important;
  position: absolute !important;
  bottom: 0 !important;
  pointer-events: none !important;
  width: 100% !important;
  transition: all 0.4s ease !important;
  z-index: 1 !important;
}

/* Button Arrow (span element) - Overlaps container edge more */
.wp-block-group.shopwp-theme .wps-btn span,
.shopwp-theme .wps-btn span,
.wps-btn span,
body .wps-btn span,
main .wps-btn span,
article .wps-btn span {
  background: url("/wp-content/themes/lobalorning/assets/images/arrow-right.svg") center top no-repeat !important;
  background-size: cover !important;
  height: 10px !important;
  position: absolute !important;
  right: 5px !important;
  top: 50% !important;
  width: 30px !important;
  z-index: 1 !important;
  transform: translate(50%, -50%) !important;
  transition: all 0.4s ease !important;
  pointer-events: none !important;
}

/* Button hover effects */
.wp-block-group.shopwp-theme .wps-btn:hover,
.shopwp-theme .wps-btn:hover,
.wps-btn:hover,
body .wps-btn:hover,
main .wps-btn:hover,
article .wps-btn:hover {
  background: rgba(255, 255, 255, 0.15) !important;
}

/* Button hover - arrow slides right */
.wp-block-group.shopwp-theme .wps-btn:hover span,
.shopwp-theme .wps-btn:hover span,
.wps-btn:hover span,
body .wps-btn:hover span,
main .wps-btn:hover span,
article .wps-btn:hover span {
  transform: translate(calc(50% + 5px), -50%) !important;
}

/* Button hover - frames expand (on wrapper) */
.wp-block-group.shopwp-theme .wps-btn:hover + *::before,
.wp-block-group.shopwp-theme .wps-btn-wrapper:hover::before,
.wp-block-group.shopwp-theme .wps-btn-wrapper:hover::after {
  height: 50% !important;
}

/* Button text styling */
.wp-block-group.shopwp-theme .wps-btn *:not(span) {
  font: inherit !important;
  letter-spacing: inherit !important;
  text-transform: inherit !important;
  color: inherit !important;
  text-decoration: none !important;
}

/* ISSUE FIXES */

/* Make sure buttons are visible and properly styled */
.wp-block-group.shopwp-theme .wps-btn,
.wp-block-group.shopwp-theme .wps-btn-wrapper,
.shopwp-theme .wps-btn,
.shopwp-theme .wps-btn-wrapper {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
}

/* Disable button click - make card link work instead */
.wp-block-group.shopwp-theme .wps-btn,
.shopwp-theme .wps-btn {
  pointer-events: none !important;
}

/* Re-enable pointer events for the product title link which covers the whole card */
.wp-block-group.shopwp-theme .wps-products-title a::before,
.shopwp-theme .wps-products-title a::before {
  pointer-events: auto !important;
}

/* Make the product title link cover the entire card for clicking */
.wp-block-group.shopwp-theme .wps-products-title a,
.shopwp-theme .wps-products-title a {
  position: static !important;
}

.wp-block-group.shopwp-theme .wps-products-title a::before,
.shopwp-theme .wps-products-title a::before {
  content: '' !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  z-index: 10 !important;
}

/* Hover effect on the BUY NOW button */
.wp-block-group.shopwp-theme .wps-item:hover::after,
.shopwp-theme .wps-item:hover::after {
  background-color: rgba(255, 255, 255, 0.15) !important;
  background-position: calc(100% - 5px) center !important;
}

/* Hide Quick View / Modal Interface - but NOT buttons inside */
.wp-block-group.shopwp-theme .wps-modal:not(.wps-btn):not([class*="button"]),
.wp-block-group.shopwp-theme .shopwp-modal:not(.wps-btn):not([class*="button"]),
.wp-block-group.shopwp-theme [class*="modal-backdrop"],
.wp-block-group.shopwp-theme [class*="modal-overlay"],
.wp-block-group.shopwp-theme [class*="quick-view"]:not(.wps-btn):not([class*="button"]),
.wp-block-group.shopwp-theme .wps-component-products-modal,
.shopwp-theme .wps-modal:not(.wps-btn):not([class*="button"]),
.shopwp-theme .shopwp-modal:not(.wps-btn):not([class*="button"]),
.shopwp-theme [class*="modal-backdrop"],
.shopwp-theme [class*="modal-overlay"],
.shopwp-theme [class*="quick-view"]:not(.wps-btn):not([class*="button"]) {
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

/* Hide Quantity Selectors - BUT NOT IN CART */
.wp-block-group.shopwp-theme .wps-quantity,
.wp-block-group.shopwp-theme .quantity,
.wp-block-group.shopwp-theme [class*="quantity"],
.wp-block-group.shopwp-theme input[type="number"],
.shopwp-theme .wps-quantity,
.shopwp-theme .quantity,
.shopwp-theme [class*="quantity"] {
  display: none !important;
}

/* OVERRIDE: Force show ALL quantity elements inside cart with higher specificity */
.swp-cart [class*="quantity"],
.wps-cart [class*="quantity"],
.swp-cart-container [class*="quantity"],
.wps-cart-container [class*="quantity"],
body .swp-cart [class*="quantity"],
body .wps-cart [class*="quantity"],
.shopwp-theme .swp-cart [class*="quantity"],
.shopwp-theme .wps-cart [class*="quantity"],
.wp-block-group.shopwp-theme .swp-cart [class*="quantity"],
.wp-block-group.shopwp-theme .wps-cart [class*="quantity"],
html body .swp-cart [class*="quantity"],
html body .wps-cart [class*="quantity"],
.swp-cart .swp-lineitem-quantity-label,
.wps-cart .swp-lineitem-quantity-label,
.shopwp-theme .swp-cart .swp-lineitem-quantity-label,
.shopwp-theme .wps-cart .swp-lineitem-quantity-label {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  height: auto !important;
}

/* Hide "Add to Cart" buttons ONLY in modal context - keep product card buttons */
.wp-block-group.shopwp-theme .wps-modal .wps-btn-add-to-cart,
.wp-block-group.shopwp-theme [class*="modal"] .wps-btn-add-to-cart,
.shopwp-theme .wps-modal .wps-btn-add-to-cart,
.shopwp-theme [class*="modal"] .wps-btn-add-to-cart {
  display: none !important;
}

/* Force Buy Now/Product buttons to always display */
.wp-block-group.shopwp-theme .wps-item .wps-btn,
.wp-block-group.shopwp-theme .wps-btn-wrapper .wps-btn,
.wp-block-group.shopwp-theme .wps-component-products-buy-btn,
.shopwp-theme .wps-item .wps-btn,
.shopwp-theme .wps-btn-wrapper .wps-btn,
.shopwp-theme .wps-component-products-buy-btn {
  display: inline-block !important;
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
}

/* Issue #2: Hide variant options completely */
.wp-block-group.shopwp-theme .wps-product-options,
.wp-block-group.shopwp-theme .swp-variant-buttons,
.wp-block-group.shopwp-theme .wpshopify-products-variant-buttons,
.wp-block-group.shopwp-theme .swp-clear-selections {
  display: none !important;
}

/* Issue #4: Hide collection image */
.wp-block-group.shopwp-theme .swp-collection-image,
.wp-block-group.shopwp-theme .wps-component-collection-image {
  display: none !important;
}

/* Hide product descriptions ONLY on product list/grid pages (within product cards) */
.wps-item .wps-component-products-description,
.wps-item .wps-products-description,
.swp-item .wps-component-products-description,
.swp-item .wps-products-description,
.wp-block-group.shopwp-theme .wps-item .wps-component-products-description,
.wp-block-group.shopwp-theme .wps-item .wps-products-description,
.shopwp-theme .wps-item .wps-component-products-description,
.shopwp-theme .wps-item .wps-products-description,
.wps-items .wps-component-products-description,
.wps-items .wps-products-description,
.wps-items-list .wps-component-products-description,
.wps-items-list .wps-products-description {
  display: none !important;
}

/* Ensure images scale properly with wider columns */
.wp-block-group.shopwp-theme .wps-product-image {
  width: 100% !important;
  height: auto !important;
  max-width: none !important;
}

/* Force normal product grid display - prevent modal overlays */
.wp-block-group.shopwp-theme .wps-items-list,
.shopwp-theme .wps-items-list {
  position: relative !important;
  z-index: 1 !important;
  background: transparent !important;
}

/* Prevent any backdrop/overlay elements */
.wp-block-group.shopwp-theme .wps-backdrop,
.wp-block-group.shopwp-theme [class*="backdrop"],
.wp-block-group.shopwp-theme [class*="overlay"],
.shopwp-theme .wps-backdrop,
.shopwp-theme [class*="backdrop"],
.shopwp-theme [class*="overlay"] {
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
}

/* Ensure product cards are clickable/interactive normally */
.wp-block-group.shopwp-theme .wps-item {
  position: relative !important;
  z-index: auto !important;
  pointer-events: auto !important;
}

/* ============================================
   HIGH SPECIFICITY OVERRIDES FOR /PRODUCTS PAGE
   Apply styling specifically to products page and all ShopWP contexts
   ============================================ */

/* Target products page specifically with body classes */
body.page .wps-item,
body.single-product .wps-item,
body[class*="woocommerce"] .wps-item,
body[class*="shopwp"] .wps-item,
.page-template .wps-item,
article .wps-item,
main .wps-item {
  background: #000000 !important;
  color: #ffffff !important;
  border: 1px solid rgba(255,255,255,0.08) !important;
  padding: 20px !important;
  border-radius: 0 !important;
  box-shadow: 0 4px 16px rgba(0,0,0,0.3) !important;
  transition: transform .3s ease, box-shadow .3s ease !important;
  position: relative !important;
  cursor: pointer !important;
  overflow: visible !important;
  display: flex !important;
  flex-direction: column !important;
}

/* Price styling for products page */
body.page .wps-products-price,
body.single-product .wps-products-price,
main .wps-products-price,
article .wps-products-price {
  color: rgb(196, 1, 31) !important;
  font-family: "magistral", sans-serif !important;
  font-weight: 500 !important;
  font-size: 18px !important;
  letter-spacing: 0.2px !important;
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

/* Title styling for products page */
body.page .wps-products-title,
body.single-product .wps-products-title,
main .wps-products-title,
article .wps-products-title {
  color: #ffffff !important;
  font-family: "magistral", sans-serif !important;
  font-weight: 500 !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  line-height: 1.15 !important;
  font-size: 16px !important;
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* Button styling for products page */
body.page .wps-btn,
body.single-product .wps-btn,
main .wps-btn,
article .wps-btn {
  font-family: 'Poppins', sans-serif !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  background: none !important;
  border: none !important;
  border-radius: 0 !important;
  color: #ffffff !important;
  outline: none !important;
  box-shadow: none !important;
  transition: all 0.4s ease !important;
  cursor: pointer !important;
  width: 100% !important;
  display: inline-block !important;
  padding: 20px 50px 20px 15px !important;
  box-sizing: border-box !important;
  text-align: left !important;
  position: relative !important;
  text-indent: -9999px !important;
  overflow: visible !important;
}

/* Ensure component order on products page */
body.page .wps-component-products-images,
main .wps-component-products-images {
  order: 1 !important;
}

body.page .wps-component-products-pricing,
main .wps-component-products-pricing {
  order: 2 !important;
}

body.page .wps-component-products-title,
main .wps-component-products-title {
  order: 3 !important;
}

body.page .wps-btn-wrapper,
body.page .wps-component-products-buy-btn,
main .wps-btn-wrapper,
main .wps-component-products-buy-btn {
  order: 100 !important;
}


/* ========================================================================
   PRODUCT DETAIL PAGE (PDP) STYLING
   Matches custom Shopify single product page design
   ======================================================================== */

/* Hide empty Gutenberg block columns on PDP */
.single-wps_products .wp-block-columns .wp-block-column:empty {
  display: none !important;
}

/* Hide any grid/list items wrapper on single product pages */
.single-wps_products .swp-items-wrapper,
.single-wps_products .wps-items-wrapper,
.single-wps_products .swp-items,
.single-wps_products .wps-items,
.single-wps_products .swp-items-list,
.single-wps_products .wps-items-list {
  display: none !important;
}

/* Single product page container */
.single-wps_products .wps-container,
.single-wps_products section.wps-container {
  background: transparent;
  padding: 0;
}

/* Product single wrapper - custom layout */
.single-wps_products .wps-product-single {
  margin-top: 2em;
  margin-bottom: 2em;
}

/* Main product inner container - side-by-side layout */
.single-wps_products .wps-product-single-inner {
  display: flex;
  gap: 40px;
  align-items: flex-start;
}

/* Gallery section - left side */
.single-wps_products .wps-product-single-gallery {
  flex: 0 0 50%;
  max-width: 50%;
}

/* Main product image container - dark background with border */
.single-wps_products .wps-product-gallery,
.single-wps_products .wps-product-image-wrapper,
.single-wps_products #product_gallery {
  background: rgba(21, 21, 21, 0.85);
  border: 1px solid rgba(255, 255, 255, 0.15);
  padding: 10px;
  position: relative;
}

/* Product image with gradient overlay */
.single-wps_products .wps-product-image-wrapper {
  position: relative;
}

.single-wps_products .wps-product-image-wrapper::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.75) 100%);
  pointer-events: none;
  z-index: 1;
  padding: 20px;
}

.single-wps_products .wps-product-image,
.single-wps_products .wps-product-gallery img {
  width: 100%;
  height: auto;
  display: block;
}

/* Product thumbnails/additional images */
/* Product thumbnails/additional images */
.single-wps_products .wps-product-images-thumbs,
.single-wps_products .wps-product-thumbnails {
  margin-top: 10px;
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

.single-wps_products .wps-product-thumb,
.single-wps_products .swp-product-thumbnail,
.single-wps_products .wps-component.swp-product-thumbnail {
  cursor: pointer !important;
  width: calc(33.333% - 7px) !important;
  max-width: none !important;
  min-width: 0 !important;
  min-height: 0 !important;
  background: rgba(21, 21, 21, 0.85) !important;
  border: 1px solid rgba(255, 255, 255, 0.149) !important;
  padding: 10px !important;
  transition: border-color 0.3s ease !important;
  box-sizing: border-box !important;
  flex: 0 0 calc(33.333% - 7px) !important;
}

.single-wps_products .swp-product-image-thumb-wrapper {
  width: 100% !important;
  max-width: none !important;
  height: auto !important;
}

.single-wps_products .wps-product-thumb:hover,
.single-wps_products .wps-product-thumb.active,
.single-wps_products .swp-product-thumbnail:hover,
.single-wps_products .swp-product-thumbnail[data-wps-is-active="true"] {
  border-color: rgba(255, 255, 255, 0.5) !important;
}

.single-wps_products .wps-product-thumb img,
.single-wps_products .swp-product-image-thumb-wrapper img,
.single-wps_products .swp-product-thumbnail img {
  width: 100% !important;
  max-width: none !important;
  height: auto !important;
  display: block !important;
  min-height: 0 !important;
}

/* Content section - right side */
.single-wps_products .wps-product-single-content {
  flex: 0 0 calc(50% - 40px);
  max-width: calc(50% - 40px);
  padding: 0;
  display: flex !important;
  flex-direction: column !important;
}

/* Reviews/Rating section - ORDER 0 (before everything) */
.single-wps_products #product_reviews_rating,
.single-wps_products .wps-product-reviews,
.single-wps_products [data-block-name="shopwp/reviews"] {
  order: 0 !important;
}

/* Price styling - prominent red at top - ORDER 1 */
.single-wps_products .wp-block-column,
.single-wps_products .wps-product-pricing,
.single-wps_products .wps-component-products-pricing,
.single-wps_products #product_pricing,
.single-wps_products [data-block-name="shopwp/pricing"] {
  color: rgb(196, 1, 31) !important;
  font-family: 'Magistral', sans-serif !important;
  font-size: 28px !important;
  font-weight: 500 !important;
  letter-spacing: 0.2px !important;
  margin-bottom: 0px !important;
  padding-bottom: 0px !important;
  order: 1 !important;
  display: flex !important;
  flex-direction: column !important;
  overflow: visible !important;
  position: relative !important;
  z-index: 10 !important;
}

.single-wps_products .wps-product-price,
.single-wps_products .wps-product-pricing *,
.single-wps_products .wps-component-products-pricing *,
.single-wps_products [data-block-name="shopwp/pricing"] *,
.single-wps_products .swp-product-price,
.single-wps_products .swp-product-price *,
.single-wps_products .swp-product-price-name,
.single-wps_products .swp-product-price-name *,
.single-wps_products .wps-product-individual-price,
.single-wps_products .wp-block-column .swp-product-price-name {
  color: rgb(196, 1, 31) !important;
  font-size: 26px !important;
  font-weight: 500 !important;
  font-family: 'Magistral', sans-serif !important;
  position: relative !important;
  z-index: 10 !important;
  margin: 0px !important;
  padding: 0px !important;
}

/* Title styling - white, below price - ORDER 2 */
.single-wps_products .wps-product-title,
.single-wps_products .wps-component-products-title,
.single-wps_products #product_title,
.single-wps_products h1.wps-product-title,
.single-wps_products [data-block-name="shopwp/title"] {
  color: #ffffff !important;
  font-family: 'Magistral', sans-serif !important;
  font-size: 32.5px !important;
  font-weight: 500 !important;
  line-height: 1.25 !important;
  letter-spacing: 3px !important;
  text-transform: uppercase !important;
  margin: 0px !important;
  padding: 0px !important;
  order: 2 !important;
  display: flex !important;
  flex-direction: column !important;
}

/* Target all child elements within title block */
.single-wps_products .wps-product-title *,
.single-wps_products .wps-component-products-title *,
.single-wps_products [data-block-name="shopwp/title"] *,
.single-wps_products h1.wps-product-title * {
  color: #ffffff !important;
  font-family: 'Magistral', sans-serif !important;
  font-size: 32.5px !important;
  font-weight: 500 !important;
  line-height: 1.25 !important;
  letter-spacing: 3px !important;
  text-transform: uppercase !important;
  margin: 0px !important;
  padding: 0px !important;
}

/* Description styling - ORDER 3 */
.single-wps_products .wps-product-description,
.single-wps_products .wps-component-products-description,
.single-wps_products #product_description,
.single-wps_products [data-block-name="shopwp/description"] {
  color: #ffffff;
  font-family: 'Poppins', sans-serif !important;
  font-size: 14px !important;
  line-height: 1.6;
  margin-top: 0px !important;
  margin-bottom: 25px;
  padding-top: 0px !important;
  order: 3 !important;
  display: flex !important;
  flex-direction: column;
}

/* Hide empty paragraphs in description */
.single-wps_products .wps-product-description p:empty,
.single-wps_products .wps-component-products-description p:empty,
.single-wps_products .wps-product-description p:only-child:empty,
.single-wps_products .wps-product-description br:only-child {
  display: none !important;
}

.single-wps_products .wps-product-description ul li {
  margin-bottom: 15px;
  position: relative;
}

.single-wps_products .wps-product-description ul li:last-child {
  margin-bottom: 0;
}

/* Variant/Options selectors - ORDER 4 */
.single-wps_products .wps-product-variants,
.single-wps_products .wps-component-products-options,
.single-wps_products .wps-product-options,
.single-wps_products [data-wps-component="options"],
.single-wps_products .swp-variants,
.single-wps_products .wpshopify-variant-buttons {
  margin-bottom: 20px;
  order: 4 !important;
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  gap: 0 !important;
}

.single-wps_products .wps-product-option,
.single-wps_products .wps-option-select-wrapper,
.single-wps_products .swp-variant-wrapper,
.single-wps_products .wpshopify-variant-wrapper {
  margin-bottom: 15px;
  white-space: nowrap !important;
}

/* Labels - white text */
.single-wps_products .wps-product-option label,
.single-wps_products .wps-option-label,
.single-wps_products label,
.wps-container label,
body.single-wps_products label,
#product_buy_button label,
.swp-variants label,
.wpshopify-variant-buttons label {
  color: #ffffff !important;
  display: block;
  margin-bottom: 8px;
  font-size: 16px !important;
  font-family: 'Poppins', sans-serif !important;
  font-weight: 400;
  letter-spacing: 0.5px;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

/* VARIANT BUTTONS STYLING - These are buttons, not selects! */
.single-wps_products .swp-product-variant-button,
.single-wps_products button.swp-product-variant-button,
body.single-wps_products .swp-product-variant-button,
.wps-container .swp-product-variant-button,
.swp-variants .swp-product-variant-button,
.wpshopify-variant-buttons .swp-product-variant-button,
button[class*="variant-button"] {
  background: #000000 !important;
  background-color: #000000 !important;
  border: 1px solid #ffffff !important;
  border-radius: 0 !important;
  color: #ffffff !important;
  font-size: 14px !important;
  font-family: 'Poppins', sans-serif !important;
  outline: none !important;
  padding: 12px 15px !important;
  width: auto !important;
  min-width: auto !important;
  height: auto !important;
  min-height: 48px !important;
  cursor: pointer !important;
  box-shadow: none !important;
  transition: all 0.3s ease !important;
  text-transform: none !important;
  font-weight: 400 !important;
  margin-right: 10px !important;
  margin-bottom: 10px !important;
  display: inline-block !important;
  box-sizing: border-box !important;
  white-space: nowrap !important;
}

/* Remove margin from every 4th button to prevent wrapping */
.single-wps_products .swp-product-variant-button:nth-child(4n),
body.single-wps_products .swp-product-variant-button:nth-child(4n),
.swp-variants .swp-product-variant-button:nth-child(4n),
.wpshopify-variant-buttons .swp-product-variant-button:nth-child(4n) {
  margin-right: 0 !important;
}

/* Remove margin from every 4th button to prevent wrapping */
.single-wps_products .swp-product-variant-button:nth-child(4n),
body.single-wps_products .swp-product-variant-button:nth-child(4n),
.swp-variants .swp-product-variant-button:nth-child(4n),
.wpshopify-variant-buttons .swp-product-variant-button:nth-child(4n) {
  margin-right: 0 !important;
}

/* Variant button selected/active state */
.single-wps_products .swp-product-variant-button[data-is-variant-selected="true"],
.single-wps_products button.swp-product-variant-button[data-is-variant-selected="true"],
body.single-wps_products .swp-product-variant-button[data-is-variant-selected="true"],
.swp-product-variant-button.selected,
.swp-product-variant-button.active {
  background: rgb(196, 1, 31) !important;
  border-color: rgb(196, 1, 31) !important;
  color: #ffffff !important;
}

/* Variant button hover state */
.single-wps_products .swp-product-variant-button:hover,
body.single-wps_products .swp-product-variant-button:hover,
.swp-product-variant-button:hover {
  border-color: rgb(196, 1, 31) !important;
  background: rgba(196, 1, 31, 0.1) !important;
}

/* Variant button disabled/unavailable state */
.single-wps_products .swp-product-variant-button[data-is-available-in-shopify="false"],
.single-wps_products .swp-product-variant-button[data-is-available="false"],
body.single-wps_products .swp-product-variant-button[data-is-available-in-shopify="false"],
.swp-product-variant-button.disabled,
.swp-product-variant-button:disabled {
  opacity: 0.3 !important;
  cursor: not-allowed !important;
  border-color: rgba(255, 255, 255, 0.3) !important;
}

/* Target ALL select elements - INCLUDING SWP CLASSES (for dropdowns if they exist) */
html body.single-wps_products select,
html .single-wps_products select,
html .wps-container select,
html body select[name*="option"],
html body select[id*="option"],
html body select[class*="option"],
select.wps-product-select,
select[data-wps-select],
div[data-wps-component] select,
.wps-product-single select,
.wps-product-single-content select,
#product_buy_button select,
#product_buy_button + * select,
[id*="product"] select,
.single-wps_products .wps-product-option select,
.single-wps_products .wps-option-select,
.single-wps_products select[name*="option"],
.single-wps_products .wps-variants-dropdown select,
body.single-wps_products select,
.wps-container select,
.swp-variants select,
.wpshopify-variant-buttons select,
.single-wps_products .swp-variants select,
.single-wps_products .wpshopify-variant-buttons select,
body.single-wps_products .swp-variants select,
body.single-wps_products .wpshopify-variant-buttons select {
  background: #000000 !important;
  background-color: #000000 !important;
  border: 1px solid #ffffff !important;
  border-radius: 0 !important;
  color: #ffffff !important;
  font-size: 1em !important;
  font-family: 'Poppins', sans-serif !important;
  outline: none !important;
  padding: 12px 15px !important;
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  min-height: 48px !important;
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  appearance: none !important;
  cursor: pointer !important;
  box-shadow: none !important;
}

/* Select focus state */
html body.single-wps_products select:focus,
html .single-wps_products select:focus,
html .wps-container select:focus,
body.single-wps_products select:focus,
.wps-container select:focus,
.single-wps_products select:focus,
.swp-variants select:focus,
.wpshopify-variant-buttons select:focus {
  border-color: #c4011f !important;
  box-shadow: none !important;
  outline: none !important;
}

/* Select hover state */
html body.single-wps_products select:hover,
html .single-wps_products select:hover,
html .wps-container select:hover,
body.single-wps_products select:hover,
.wps-container select:hover,
.single-wps_products select:hover,
.swp-variants select:hover,
.wpshopify-variant-buttons select:hover {
  border-color: rgba(255, 255, 255, 0.8) !important;
}

/* Target select option elements */
.single-wps_products select option,
body.single-wps_products select option,
.wps-container select option,
.swp-variants select option,
.wpshopify-variant-buttons select option {
  background: #000000 !important;
  color: #ffffff !important;
}

/* Quantity selector - HIDDEN on PDP but NOT in cart */
.single-wps_products .wps-quantity-wrapper:not(.swp-cart *):not(.wps-cart *),
.single-wps_products .wps-product-quantity:not(.swp-cart *):not(.wps-cart *),
.single-wps_products .wps-quantity:not(.swp-cart *):not(.wps-cart *),
.single-wps_products [data-wps-component="quantity"]:not(.swp-cart *):not(.wps-cart *),
.single-wps_products .wps-component-products-quantity:not(.swp-cart *):not(.wps-cart *),
.single-wps_products .shopwp-quantity:not(.swp-cart *):not(.wps-cart *),
.single-wps_products [class*="quantity"]:not(.swp-cart *):not(.wps-cart *):not(.swp-cart):not(.wps-cart),
.single-wps_products [id*="quantity"]:not(.swp-cart *):not(.wps-cart *),
.wps-container .wps-quantity-wrapper:not(.swp-cart *):not(.wps-cart *),
.wps-container .wps-product-quantity:not(.swp-cart *):not(.wps-cart *),
.wps-container .wps-quantity:not(.swp-cart *):not(.wps-cart *),
.wps-container [data-wps-component="quantity"]:not(.swp-cart *):not(.wps-cart *),
.wps-container .wps-component-products-quantity:not(.swp-cart *):not(.wps-cart *),
.wps-container .shopwp-quantity:not(.swp-cart *):not(.wps-cart *),
body.single-wps_products [class*="quantity"]:not(.swp-cart *):not(.wps-cart *):not(.swp-cart):not(.wps-cart),
body.single-wps_products [id*="quantity"]:not(.swp-cart *):not(.wps-cart *) {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  height: 0 !important;
  width: 0 !important;
  overflow: hidden !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Buy button wrapper - removed custom styling */
.single-wps_products .wps-btn-wrapper,
.single-wps_products .wps-component-products-buy-btn,
.single-wps_products #product_buy_button,
.single-wps_products .wps-product-buy-button,
.single-wps_products [data-block-name="shopwp/buy-button"],
.single-wps_products .swp-add-to-cart-wrapper,
.single-wps_products .swp-component-buy-button {
  margin-top: 25px;
  order: 5 !important;
}

/* Buy button - removed custom styling */

/* Reviews/Rating section - ORDER 0 (optional, before price if exists) */
.single-wps_products #product_reviews_rating,
.single-wps_products .wps-product-reviews {
  margin-bottom: 20px;
  order: 0 !important;
}

/* Responsive adjustments */
@media (max-width: 992px) {
  .single-wps_products .wps-product-single-inner {
    flex-direction: column;
    gap: 30px;
  }

  .single-wps_products .wps-product-single-gallery,
  .single-wps_products .wps-product-single-content {
    flex: 0 0 100%;
    max-width: 100%;
  }
}

@media (max-width: 768px) {
  .single-wps_products .wps-product-title,
  .single-wps_products h1.wps-product-title {
    font-size: 2em;
  }

  .single-wps_products .wps-product-pricing {
    font-size: 1.5em;
  }

  .single-wps_products .wps-product-thumb {
    width: calc(33.333% - 7px);
  }
}

@media (max-width: 600px) {
  .single-wps_products .wps-container,
  .single-wps_products section.wps-container {
    padding: 0 1em;
  }

  .single-wps_products .wps-product-title,
  .single-wps_products h1.wps-product-title {
    font-size: 1.5em;
  }

  .single-wps_products .wps-product-pricing {
    font-size: 1.2em;
  }

  .single-wps_products .wps-product-thumb {
    width: calc(50% - 5px);
  }
}

/* ============================================
   CART STYLING
   ============================================ */

/* Cart background - black like the rest of the site */
.swp-cart,
.wps-cart,
.swp-cart-wrapper,
.wps-cart-wrapper,
[class*="cart-wrapper"],
[class*="Cart"] {
  background: #000000 !important;
  background-color: #000000 !important;
}

/* Cart text should be white - targeting specific text elements only, excluding icon spans */
.swp-cart,
.wps-cart,
.swp-cart p,
.wps-cart p,
.swp-cart h1,
.wps-cart h1,
.swp-cart h2,
.wps-cart h2,
.swp-cart h3,
.wps-cart h3,
.swp-cart h4,
.wps-cart h4,
.swp-cart h5,
.wps-cart h5,
.swp-cart h6,
.wps-cart h6,
.swp-cart span:not(.swp-dec-icon):not(.swp-inc-icon):not(.wps-quantity-icon),
.wps-cart span:not(.swp-dec-icon):not(.swp-inc-icon):not(.wps-quantity-icon),
.swp-cart a,
.wps-cart a,
.swp-cart label,
.wps-cart label,
.swp-cart div,
.wps-cart div,
.swp-cart td,
.wps-cart td,
.swp-cart th,
.wps-cart th,
.swp-cart li,
.wps-cart li {
  color: #ffffff !important;
}

/* Force quantity button icons to be BLACK and ensure proper display */
/* Use maximum specificity and restore all necessary properties */
.swp-cart .swp-btn-quantity .swp-inc-icon,
.swp-cart .swp-btn-quantity .swp-dec-icon,
.wps-cart .wps-quantity-decrement .wps-quantity-icon,
.wps-cart .wps-quantity-increment .wps-quantity-icon {
  background: #000000 !important;
  display: block !important;
  height: 1px !important;
  position: absolute !important;
}

.swp-cart .swp-btn-quantity .swp-inc-icon::after,
.wps-cart .wps-quantity-increment .wps-quantity-icon::after {
  background: #000000 !important;
  content: "" !important;
  display: block !important;
  height: 1px !important;
  position: absolute !important;
  transform: rotate(90deg) !important;
}

/* Cart subtotal - Font Styling */
.swp-cart-footer-totals,
.wps-cart-footer-totals,
.swp-subtotal-row,
.wps-subtotal-row,
.swp-cart-subtotal,
.wps-cart-subtotal,
[class*="subtotal"] {
  font-family: 'Magistral', sans-serif !important;
  font-size: 20px !important;
  font-weight: 300 !important;
  letter-spacing: 0.35px !important;
  color: #ffffff !important;
  text-transform: uppercase !important;
}

/* Cart quantity input - override white text from wildcard */
.swp-cart .swp-quantity-input,
.wps-cart .swp-quantity-input,
.swp-cart .wps-quantity-input,
.wps-cart .wps-quantity-input {
  color: rgb(0, 0, 1) !important;
}

/* Cart lineitem price breakdowns - black background */
.swp-lineitem-view-price-breakdowns,
.swp-lineitem-pricing,
.swp-lineitem-price-breakdowns {
  background: #000000 !important;
  background-color: #000000 !important;
}

/* Force "View price details" to its own line below quantity/price */
.swp-cart .swp-lineitem-view-price-breakdowns,
.wps-cart .swp-lineitem-view-price-breakdowns,
.swp-cart .wps-lineitem-view-price-breakdowns,
.wps-cart .wps-lineitem-view-price-breakdowns {
  display: block !important;
  width: 100% !important;
  margin-top: 10px !important;
}

/* Cart variant buttons - black background instead of white */
/* These need very high specificity to override CSS-in-JS */
.swp-cart .swp-product-variant-button,
.wps-cart .swp-product-variant-button,
.swp-cart button[class*="ProductVariantButton"],
.wps-cart button[class*="ProductVariantButton"],
[class*="cart"] .swp-product-variant-button,
[class*="cart"] button[class*="ProductVariantButton"],
.swp-cart .wps-container .swp-product-variant-button,
.wps-cart .wps-container .swp-product-variant-button,
.swp-cart .wpshopify-variant-buttons .swp-product-variant-button,
.wps-cart .wpshopify-variant-buttons .swp-product-variant-button {
  background: #000000 !important;
  background-color: #000000 !important;
  border: 1px solid rgba(255, 255, 255, 0.15) !important;
  color: #ffffff !important;
}

/* Cart lineitem variant title badge - the "X-Large" label in cart */
.swp-cart-lineitem-variant-title,
.wps-cart-lineitem-variant-title,
[class*="cart-lineitem-variant-title"],
div[class*="badgeCSS"] {
  background: #000000 !important;
  background-color: #000000 !important;
  border: 1px solid rgba(255, 255, 255, 0.15) !important;
  color: #ffffff !important;
}

/* Make Checkout Button Visible */
.swp-btn-checkout,
.wps-btn-checkout,
a.swp-btn-checkout,
a.wps-btn-checkout,
[class*="CartCheckoutButton"],
[class*="checkoutButtonCSS"],
a[class*="css-"][class*="CartCheckoutButton"] {
  background: #000000 !important;
  background-color: #000000 !important;
  
  /* Text color */
  color: #ffffff !important;
  
  /* Make sure it's visible */
  border: 1px solid #ffffff !important;
  
  /* Styling to match theme */
  font-family: 'Poppins', sans-serif !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
  padding: 20px 15px !important;
  text-decoration: none !important;
  border-radius: 0 !important;
}

/* Force white text on all child elements too */
.swp-btn-checkout *,
.wps-btn-checkout *,
a.swp-btn-checkout *,
[class*="CartCheckoutButton"] * {
  color: #ffffff !important;
}

.swp-btn-checkout:hover,
.wps-btn-checkout:hover,
a.swp-btn-checkout:hover,
[class*="CartCheckoutButton"]:hover,
[class*="checkoutButtonCSS"]:hover,
a[class*="css-"][class*="CartCheckoutButton"]:hover {
  background: rgba(255, 255, 255, 0.1) !important;
  background-color: rgba(255, 255, 255, 0.1) !important;
  border-color: rgba(255, 255, 255, 0.3) !important;
  color: #ffffff !important;
}

/* Force white text on hover too */
.swp-btn-checkout:hover *,
.wps-btn-checkout:hover *,
a.swp-btn-checkout:hover * {
  color: #ffffff !important;
}
a.wps-btn-checkout:hover {
  background: rgb(196, 1, 31) !important;
  border-color: rgb(196, 1, 31) !important;
  color: #000000 !important;
}

/* Force black text on hover too */
.swp-btn-checkout:hover *,
.wps-btn-checkout:hover *,
a.swp-btn-checkout:hover * {
  color: #000000 !important;
}