/* =============================================================================
   IT-Life Shop / Service Catalog Styles
   Targets WooCommerce product grid, cards, single product.
   Colors = CSS variables (theme-switchable)
   Layout = WooCommerce + Elementor controls
   ============================================================================= */

/* -----------------------------------------------------------------------------
   PRODUCT ARCHIVE / CATALOG GRID
   ----------------------------------------------------------------------------- */

/* Main shop wrapper */
.woocommerce .products,
.woocommerce ul.products {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: var(--il-space-lg) !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* Product card */
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
  background: var(--il-bg-card) !important;
  border: 1px solid var(--il-border-color) !important;
  border-radius: var(--il-border-radius-lg) !important;
  padding: 0 !important;
  margin: 0 !important;
  overflow: hidden;
  transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease !important;
  position: relative;
  display: flex !important;
  flex-direction: column !important;
  width: 100% !important;
  float: none !important;
}

.woocommerce ul.products li.product:hover {
  transform: translateY(-6px);
  box-shadow: var(--il-shadow-card-hover) !important;
  border-color: var(--il-accent-primary) !important;
}

/* Gradient theme cards */
html[data-theme="gradient"] .woocommerce ul.products li.product {
  background: var(--il-glass-bg) !important;
  border-color: var(--il-glass-border) !important;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

html[data-theme="gradient"] .woocommerce ul.products li.product:hover {
  border-color: rgba(247, 37, 133, 0.4) !important;
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.5), 0 0 30px rgba(247, 37, 133, 0.1) !important;
}


/* -----------------------------------------------------------------------------
   PRODUCT IMAGE
   ----------------------------------------------------------------------------- */

.woocommerce ul.products li.product a img,
.woocommerce ul.products li.product .attachment-woocommerce_thumbnail {
  width: 100% !important;
  height: 220px !important;
  object-fit: cover !important;
  display: block;
  transition: transform 0.5s ease !important;
  border-radius: 0 !important;
  margin: 0 !important;
}

.woocommerce ul.products li.product:hover a img {
  transform: scale(1.05);
}

/* Image wrapper */
.woocommerce ul.products li.product .woocommerce-loop-product__link {
  overflow: hidden;
  display: block;
}


/* -----------------------------------------------------------------------------
   PRODUCT TITLE
   ----------------------------------------------------------------------------- */

.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product h2 {
  font-family: var(--il-font-family) !important;
  font-size: var(--il-font-size-base) !important;
  font-weight: var(--il-font-weight-semibold) !important;
  color: var(--il-text-primary) !important;
  padding: var(--il-space-md) var(--il-space-md) var(--il-space-xs) !important;
  margin: 0 !important;
  line-height: 1.4 !important;
}


/* -----------------------------------------------------------------------------
   PRODUCT PRICE
   ----------------------------------------------------------------------------- */

.woocommerce ul.products li.product .price {
  padding: var(--il-space-xs) var(--il-space-md) !important;
  margin: 0 !important;
  font-size: var(--il-font-size-lg) !important;
  display: block !important;
}

.woocommerce ul.products li.product .price .amount,
.woocommerce ul.products li.product .price .woocommerce-Price-amount {
  color: var(--il-price-color) !important;
  font-weight: var(--il-font-weight-bold) !important;
  font-size: var(--il-font-size-lg) !important;
}


/* -----------------------------------------------------------------------------
   ADD TO CART BUTTON (in product card)
   ----------------------------------------------------------------------------- */

.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product a.button,
.woocommerce ul.products li.product .add_to_cart_button,
.woocommerce ul.products li.product .ajax_add_to_cart {
  margin: auto var(--il-space-md) var(--il-space-md) !important;
  padding: 10px 20px !important;
  font-size: var(--il-font-size-sm) !important;
  width: calc(100% - 32px) !important;
  box-sizing: border-box;
  text-align: center;
}


/* -----------------------------------------------------------------------------
   SALE BADGE
   ----------------------------------------------------------------------------- */

.woocommerce ul.products li.product .onsale,
.woocommerce span.onsale {
  background-color: var(--il-sale-bg) !important;
  color: var(--il-sale-text) !important;
  font-size: 12px !important;
  font-weight: var(--il-font-weight-bold) !important;
  border-radius: var(--il-border-radius-full) !important;
  padding: 4px 12px !important;
  min-width: auto !important;
  min-height: auto !important;
  line-height: 1.5 !important;
  top: 12px !important;
  left: 12px !important;
  right: auto !important;
  z-index: 2;
}

html[data-theme="gradient"] .woocommerce span.onsale {
  background: linear-gradient(135deg, #f72585, #7209b7) !important;
}


/* -----------------------------------------------------------------------------
   CATALOG ORDERING / RESULT COUNT
   ----------------------------------------------------------------------------- */

.woocommerce .woocommerce-result-count {
  color: var(--il-text-muted) !important;
  font-family: var(--il-font-family) !important;
}

.woocommerce .woocommerce-ordering select {
  background-color: var(--il-input-bg) !important;
  color: var(--il-input-text) !important;
  border: 1px solid var(--il-input-border) !important;
  border-radius: var(--il-border-radius) !important;
  padding: 8px 12px !important;
  font-family: var(--il-font-family) !important;
}


/* -----------------------------------------------------------------------------
   PRODUCT CATEGORIES (WooCommerce category pages)
   ----------------------------------------------------------------------------- */

.woocommerce ul.products li.product-category h2 {
  color: var(--il-text-primary) !important;
}

.woocommerce ul.products li.product-category h2 .count {
  color: var(--il-text-muted) !important;
  font-weight: var(--il-font-weight-normal) !important;
}


/* -----------------------------------------------------------------------------
   SIDEBAR / WIDGET FILTERS
   ----------------------------------------------------------------------------- */

.widget.woocommerce {
  background: var(--il-bg-card);
  border: 1px solid var(--il-border-color);
  border-radius: var(--il-border-radius-lg);
  padding: var(--il-space-lg);
  margin-bottom: var(--il-space-lg);
}

.widget.woocommerce .widget-title,
.widget .widgettitle {
  font-family: var(--il-font-family) !important;
  font-weight: var(--il-font-weight-bold) !important;
  color: var(--il-text-primary) !important;
  font-size: var(--il-font-size-base) !important;
  margin-bottom: var(--il-space-md) !important;
  padding-bottom: var(--il-space-sm) !important;
  border-bottom: 2px solid var(--il-accent-primary) !important;
}

.widget.woocommerce ul li a {
  color: var(--il-text-secondary) !important;
  font-family: var(--il-font-family) !important;
}

.widget.woocommerce ul li a:hover {
  color: var(--il-accent-primary) !important;
}


/* =============================================================================
   SINGLE PRODUCT PAGE
   ============================================================================= */

/* Product gallery */
.woocommerce div.product div.images img {
  border-radius: var(--il-border-radius-lg) !important;
  border: 1px solid var(--il-border-color) !important;
}

/* Product title */
.woocommerce div.product .product_title {
  font-family: var(--il-font-family) !important;
  font-weight: var(--il-font-weight-bold) !important;
  color: var(--il-text-primary) !important;
  font-size: var(--il-font-size-3xl) !important;
  margin-bottom: var(--il-space-md) !important;
}

/* Product price */
.woocommerce div.product p.price,
.woocommerce div.product span.price {
  font-size: var(--il-font-size-2xl) !important;
}

/* Product short description */
.woocommerce div.product .woocommerce-product-details__short-description {
  color: var(--il-text-secondary) !important;
  font-family: var(--il-font-family) !important;
  line-height: var(--il-line-height) !important;
}

/* Product meta (SKU, categories, tags) */
.woocommerce div.product .product_meta {
  color: var(--il-text-muted) !important;
  border-top: 1px solid var(--il-border-light) !important;
  padding-top: var(--il-space-md) !important;
  font-family: var(--il-font-family) !important;
}

.woocommerce div.product .product_meta a {
  color: var(--il-accent-primary) !important;
}


/* -----------------------------------------------------------------------------
   PRODUCT TABS
   ----------------------------------------------------------------------------- */

.woocommerce div.product .woocommerce-tabs ul.tabs {
  padding: 0 !important;
  margin: 0 0 var(--il-space-xl) !important;
  border-bottom: 2px solid var(--il-border-color) !important;
  display: flex !important;
  gap: 0 !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs::before {
  display: none !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li {
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a {
  display: block;
  padding: 14px 24px !important;
  color: var(--il-text-muted) !important;
  font-family: var(--il-font-family) !important;
  font-weight: var(--il-font-weight-medium) !important;
  font-size: var(--il-font-size-sm) !important;
  transition: color 0.2s ease;
  border-bottom: 2px solid transparent;
  margin-bottom: -2px;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a:hover {
  color: var(--il-accent-primary) !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
  color: var(--il-accent-primary) !important;
  border-bottom-color: var(--il-accent-primary) !important;
  font-weight: var(--il-font-weight-semibold) !important;
}

.woocommerce div.product .woocommerce-tabs .panel {
  background: var(--il-bg-card) !important;
  border: 1px solid var(--il-border-color) !important;
  border-radius: var(--il-border-radius-lg) !important;
  padding: var(--il-space-xl) !important;
  color: var(--il-text-secondary) !important;
  font-family: var(--il-font-family) !important;
  line-height: var(--il-line-height) !important;
}

.woocommerce div.product .woocommerce-tabs .panel h2 {
  color: var(--il-text-primary) !important;
  font-family: var(--il-font-family) !important;
}


/* -----------------------------------------------------------------------------
   RELATED / UPSELL PRODUCTS
   ----------------------------------------------------------------------------- */

.woocommerce div.product .related > h2,
.woocommerce div.product .upsells > h2 {
  font-family: var(--il-font-family) !important;
  font-weight: var(--il-font-weight-bold) !important;
  color: var(--il-text-primary) !important;
  font-size: var(--il-font-size-2xl) !important;
  margin-bottom: var(--il-space-lg) !important;
}


/* -----------------------------------------------------------------------------
   QUANTITY SELECTOR
   ----------------------------------------------------------------------------- */

.woocommerce .quantity .qty {
  background: var(--il-input-bg) !important;
  color: var(--il-input-text) !important;
  border: 1px solid var(--il-input-border) !important;
  border-radius: var(--il-border-radius) !important;
  padding: 8px 12px !important;
  font-family: var(--il-font-family) !important;
  width: 70px !important;
  text-align: center;
}

.woocommerce .quantity .qty:focus {
  border-color: var(--il-input-focus-border) !important;
  box-shadow: var(--il-input-focus-shadow) !important;
}


/* =============================================================================
   RESPONSIVE
   ============================================================================= */

@media (max-width: 1024px) {
  .woocommerce .products,
  .woocommerce ul.products {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}

@media (max-width: 600px) {
  .woocommerce .products,
  .woocommerce ul.products {
    grid-template-columns: 1fr !important;
    gap: var(--il-space-md) !important;
  }

  .woocommerce ul.products li.product a img {
    height: 180px !important;
  }

  .woocommerce div.product .product_title {
    font-size: var(--il-font-size-2xl) !important;
  }

  .woocommerce div.product .woocommerce-tabs ul.tabs {
    flex-wrap: wrap;
  }

  .woocommerce div.product .woocommerce-tabs ul.tabs li a {
    padding: 10px 16px !important;
    font-size: var(--il-font-size-xs) !important;
  }
}
