/* ============================================
   WOOCOMMERCE SPECIFIC OVERRIDES
   ============================================ */

/* Notices */
.woocommerce-notices-wrapper {
  margin-bottom: 24px;
}

.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
  padding: 14px 20px;
  border-radius: var(--radius-sm);
  margin-bottom: 16px;
  font-size: 14px;
  display: flex;
  align-items: center;
  gap: 12px;
}

.woocommerce-message {
  background: #e8f5e9;
  color: #2e7d32;
  border-left: 4px solid var(--success);
}

.woocommerce-info {
  background: #e3f2fd;
  color: #1565c0;
  border-left: 4px solid var(--info);
}

.woocommerce-error {
  background: #ffebee;
  color: #c62828;
  border-left: 4px solid var(--danger);
}

.woocommerce-message::before,
.woocommerce-info::before,
.woocommerce-error::before {
  display: none;
}

.woocommerce-message a,
.woocommerce-info a,
.woocommerce-error a {
  font-weight: 600;
  text-decoration: underline;
}

/* Product Loop - Remove defaults */
.woocommerce ul.products {
  display: grid !important;
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  gap: 16px !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

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

.woocommerce ul.products li.product {
  width: auto !important;
  max-width: 100% !important;
  margin: 0 !important;
  float: none !important;
  background: var(--white) !important;
  border-radius: var(--radius-md) !important;
  overflow: hidden !important;
  box-shadow: var(--shadow-sm) !important;
  transition: var(--transition) !important;
  padding: 0 !important;
  box-sizing: border-box !important;
  display: block !important;
}

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

.woocommerce ul.products li.product:hover {
  box-shadow: var(--shadow-lg) !important;
  transform: translateY(-4px) !important;
}

.woocommerce ul.products li.product > a:first-child,
.woocommerce ul.products li.product .product-card-image {
  display: block !important;
  position: relative !important;
  overflow: hidden !important;
  margin: 0 !important;
  padding-top: 100% !important;
  text-decoration: none !important;
  background: var(--gray-50) !important;
}

.woocommerce ul.products li.product > a:first-child img,
.woocommerce ul.products li.product .product-card-image img {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  transition: transform 0.5s ease !important;
}

.woocommerce ul.products li.product:hover > a:first-child img,
.woocommerce ul.products li.product:hover .product-card-image img {
  transform: scale(1.08) !important;
}

.woocommerce ul.products li.product .woocommerce-loop-product__link {
  display: block !important;
  text-decoration: none !important;
}

.woocommerce ul.products li.product a {
  text-decoration: none;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title {
  font-size: 14px !important;
  font-weight: 500 !important;
  color: var(--gray-800) !important;
  padding: 0 !important;
  margin: 0 0 6px !important;
}

.woocommerce ul.products li.product .price {
  color: var(--gray-900) !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  padding: 0 !important;
}

.woocommerce ul.products li.product .price del {
  color: var(--gray-500) !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  opacity: 1 !important;
}

.woocommerce ul.products li.product .price ins {
  text-decoration: none !important;
}

.woocommerce ul.products li.product .button {
  background: var(--secondary) !important;
  color: var(--white) !important;
  border: none !important;
  border-radius: var(--radius-sm) !important;
  padding: 8px 16px !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  margin-top: 10px !important;
  width: 100% !important;
  transition: var(--transition) !important;
}

.woocommerce ul.products li.product .button:hover {
  background: var(--secondary-dark) !important;
}

.woocommerce ul.products li.product img {
  border-radius: var(--radius-md) var(--radius-md) 0 0 !important;
  margin: 0 !important;
}

/* Sale Flash */
.woocommerce span.onsale {
  background: var(--danger) !important;
  color: var(--white) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  padding: 4px 10px !important;
  border-radius: 3px !important;
  min-height: auto !important;
  min-width: auto !important;
  line-height: 1.3 !important;
  margin: 0 !important;
  top: 8px !important;
  left: 8px !important;
  right: auto !important;
}

/* Single Product - Override defaults */
.woocommerce div.product {
  margin: 0 !important;
}

.woocommerce div.product .product_title {
  font-size: 24px !important;
  font-weight: 700 !important;
  color: var(--gray-900) !important;
  margin-bottom: 12px !important;
}

.woocommerce div.product p.price {
  font-size: 28px !important;
  font-weight: 700 !important;
  color: var(--gray-900) !important;
}

.woocommerce div.product p.price del {
  color: var(--gray-500) !important;
  font-size: 18px !important;
  font-weight: 400 !important;
  opacity: 1 !important;
}

.woocommerce div.product p.price ins {
  text-decoration: none !important;
}

.woocommerce div.product span.price {
  font-size: 28px !important;
  font-weight: 700 !important;
  color: var(--gray-900) !important;
}

.woocommerce div.product .stock {
  color: var(--success) !important;
  font-weight: 600 !important;
}

.woocommerce div.product .out-of-stock {
  color: var(--danger) !important;
  font-weight: 600 !important;
}

/* Single Add to Cart */
.woocommerce div.product form.cart {
  margin: 24px 0 !important;
}

.woocommerce div.product form.cart .button {
  background: var(--secondary) !important;
  color: var(--white) !important;
  border: none !important;
  border-radius: var(--radius-sm) !important;
  padding: 14px 32px !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  transition: var(--transition) !important;
}

.woocommerce div.product form.cart .button:hover {
  background: var(--secondary-dark) !important;
}

/* Quantity Input */
.woocommerce .quantity .qty {
  width: 60px !important;
  padding: 10px !important;
  border: 2px solid var(--gray-200) !important;
  border-radius: var(--radius-sm) !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  text-align: center !important;
}

/* Variations */
.woocommerce div.product form.cart .variations {
  margin-bottom: 20px !important;
}

.woocommerce div.product form.cart .variations label {
  font-weight: 600 !important;
  color: var(--gray-700) !important;
  font-size: 14px !important;
}

.woocommerce div.product form.cart .variations select {
  padding: 10px 36px 10px 14px !important;
  border: 2px solid var(--gray-200) !important;
  border-radius: var(--radius-sm) !important;
  font-size: 14px !important;
  min-width: 200px !important;
  outline: none !important;
  transition: var(--transition) !important;
}

.woocommerce div.product form.cart .variations select:focus {
  border-color: var(--primary) !important;
  box-shadow: 0 0 0 3px rgba(40, 116, 240, 0.1) !important;
}

.woocommerce div.product form.cart .reset_variations {
  font-size: 13px !important;
  color: var(--primary) !important;
}

/* Product Meta */
.woocommerce div.product .product_meta {
  padding: 20px 0 !important;
  border-top: 1px solid var(--gray-100) !important;
  font-size: 13px !important;
  color: var(--gray-600) !important;
}

.woocommerce div.product .product_meta > span {
  display: block !important;
  margin-bottom: 8px !important;
}

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

/* Tabs */
.woocommerce div.product .woocommerce-tabs {
  margin-top: 40px !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs {
  display: flex !important;
  border-bottom: 2px solid var(--gray-100) !important;
  padding: 0 !important;
  margin: 0 !important;
  background: none !important;
}

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

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

.woocommerce div.product .woocommerce-tabs ul.tabs li a {
  padding: 16px 24px !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  color: var(--gray-600) !important;
  border: none !important;
  position: relative !important;
}

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

.woocommerce div.product .woocommerce-tabs ul.tabs li.active a::after {
  content: '' !important;
  position: absolute !important;
  bottom: -2px !important;
  left: 0 !important;
  width: 100% !important;
  height: 3px !important;
  background: var(--primary) !important;
}

.woocommerce div.product .woocommerce-tabs .panel {
  padding: 24px !important;
  background: var(--white) !important;
  border: none !important;
  margin: 0 !important;
  border-radius: 0 0 var(--radius-lg) var(--radius-lg) !important;
}

/* Reviews */
#reviews .commentlist {
  padding: 0 !important;
}

#reviews .commentlist li {
  padding: 20px 0 !important;
  border-bottom: 1px solid var(--gray-100) !important;
}

#reviews .commentlist img.avatar {
  border-radius: 50% !important;
  border: none !important;
  padding: 0 !important;
  margin: 0 16px 0 0 !important;
  width: 48px !important;
  height: 48px !important;
}

#reviews .comment-text p.meta {
  font-size: 13px !important;
  color: var(--gray-500) !important;
}

#review_form_wrapper {
  margin-top: 24px !important;
}

#review_form .comment-form textarea,
#review_form .comment-form input {
  padding: 12px 16px !important;
  border: 1px solid var(--gray-200) !important;
  border-radius: var(--radius-sm) !important;
  font-size: 14px !important;
}

#review_form .comment-form textarea:focus,
#review_form .comment-form input:focus {
  border-color: var(--primary) !important;
  box-shadow: 0 0 0 3px rgba(40, 116, 240, 0.1) !important;
  outline: none !important;
}

#review_form .form-submit input {
  background: var(--primary) !important;
  color: var(--white) !important;
  border: none !important;
  border-radius: var(--radius-sm) !important;
  padding: 12px 24px !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  transition: var(--transition) !important;
}

#review_form .form-submit input:hover {
  background: var(--primary-dark) !important;
}

/* Related Products */
.woocommerce .related h2,
.woocommerce .up-sells h2 {
  font-size: 22px !important;
  font-weight: 700 !important;
  margin-bottom: 24px !important;
}

/* Cart Page */
.woocommerce-cart .cart-collaterals {
  margin-top: 24px !important;
}

.woocommerce-cart .cart-collaterals .cart_totals {
  float: none !important;
  width: 100% !important;
}

.woocommerce-cart .cart-collaterals .cart_totals h2 {
  font-size: 18px !important;
  font-weight: 700 !important;
  margin-bottom: 20px !important;
}

.woocommerce-cart .cart-collaterals .cart_totals table {
  border: 1px solid var(--gray-200) !important;
  border-radius: var(--radius-md) !important;
  overflow: hidden !important;
}

.woocommerce-cart .cart-collaterals .cart_totals th,
.woocommerce-cart .cart-collaterals .cart_totals td {
  padding: 14px 16px !important;
  font-size: 14px !important;
  border-bottom: 1px solid var(--gray-100) !important;
}

.woocommerce-cart .cart-collaterals .cart_totals th {
  background: var(--gray-50) !important;
  font-weight: 600 !important;
  color: var(--gray-700) !important;
}

.woocommerce-cart .cart-collaterals .cart_totals .order-total th,
.woocommerce-cart .cart-collaterals .cart_totals .order-total td {
  font-size: 18px !important;
  font-weight: 700 !important;
  color: var(--gray-900) !important;
  background: var(--gray-50) !important;
}

.woocommerce-cart .cart-collaterals .cart_totals .wc-proceed-to-checkout {
  padding: 20px 0 0 !important;
}

.woocommerce-cart .cart-collaterals .cart_totals .wc-proceed-to-checkout a.checkout-button {
  display: block !important;
  width: 100% !important;
  padding: 16px !important;
  background: var(--secondary) !important;
  color: var(--white) !important;
  border: none !important;
  border-radius: var(--radius-sm) !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  text-align: center !important;
  transition: var(--transition) !important;
}

.woocommerce-cart .cart-collaterals .cart_totals .wc-proceed-to-checkout a.checkout-button:hover {
  background: var(--secondary-dark) !important;
  transform: translateY(-1px) !important;
  box-shadow: var(--shadow-md) !important;
}

/* Cart Table */
.woocommerce-cart-form {
  border: 1px solid var(--gray-200) !important;
  border-radius: var(--radius-md) !important;
  overflow: hidden !important;
}

.woocommerce-cart-table th {
  background: var(--gray-50) !important;
  padding: 14px 16px !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  color: var(--gray-600) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
}

.woocommerce-cart-table td {
  padding: 16px !important;
  vertical-align: middle !important;
}

.woocommerce-cart-table .product-thumbnail img {
  width: 72px !important;
  height: 72px !important;
  border-radius: var(--radius-sm) !important;
  object-fit: cover !important;
}

.woocommerce-cart-table .product-name a {
  font-weight: 500 !important;
  color: var(--gray-800) !important;
}

.woocommerce-cart-table .product-name a:hover {
  color: var(--primary) !important;
}

.woocommerce-cart-table .product-price,
.woocommerce-cart-table .product-subtotal {
  font-weight: 600 !important;
  color: var(--gray-900) !important;
}

.woocommerce-cart-table .product-remove a {
  color: var(--gray-400) !important;
  font-size: 20px !important;
  transition: var(--transition) !important;
}

.woocommerce-cart-table .product-remove a:hover {
  color: var(--danger) !important;
}

/* Coupon */
.woocommerce-cart .coupon {
  float: none !important;
  margin-bottom: 16px !important;
}

.woocommerce-cart .coupon input[type="text"] {
  padding: 10px 14px !important;
  border: 1px solid var(--gray-200) !important;
  border-radius: var(--radius-sm) 0 0 var(--radius-sm) !important;
  font-size: 14px !important;
}

.woocommerce-cart .coupon button {
  background: var(--gray-800) !important;
  color: var(--white) !important;
  border: none !important;
  border-radius: 0 var(--radius-sm) var(--radius-sm) 0 !important;
  padding: 10px 20px !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  cursor: pointer !important;
}

/* Checkout */
.woocommerce-checkout .col2-set {
  margin-bottom: 24px !important;
}

.woocommerce-checkout .col2-set .col-1,
.woocommerce-checkout .col2-set .col-2 {
  float: none !important;
  width: 100% !important;
}

.woocommerce-checkout #order_review_heading {
  font-size: 18px !important;
  font-weight: 700 !important;
  margin-bottom: 20px !important;
}

.woocommerce-checkout #order_review {
  background: var(--gray-50) !important;
  border-radius: var(--radius-md) !important;
  padding: 24px !important;
}

.woocommerce-checkout #order_review table {
  border: none !important;
}

.woocommerce-checkout #order_review th,
.woocommerce-checkout #order_review td {
  padding: 12px 0 !important;
  border-bottom: 1px solid var(--gray-200) !important;
}

.woocommerce-checkout #order_review tfoot th,
.woocommerce-checkout #order_review tfoot td {
  font-weight: 700 !important;
  font-size: 18px !important;
  color: var(--gray-900) !important;
  border-top: 2px solid var(--gray-200) !important;
  padding-top: 16px !important;
}

/* My Account */
.woocommerce-account .woocommerce-MyAccount-navigation {
  float: none !important;
  width: 100% !important;
  margin-bottom: 24px !important;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  padding: 0 !important;
}

.woocommerce-account .woocommerce-MyAccount-navigation li {
  margin: 0 !important;
}

.woocommerce-account .woocommerce-MyAccount-navigation a {
  display: block !important;
  padding: 10px 20px !important;
  background: var(--white) !important;
  border: 1px solid var(--gray-200) !important;
  border-radius: var(--radius-sm) !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  color: var(--gray-700) !important;
  transition: var(--transition) !important;
}

.woocommerce-account .woocommerce-MyAccount-navigation a:hover,
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a {
  background: var(--primary) !important;
  border-color: var(--primary) !important;
  color: var(--white) !important;
}

.woocommerce-account .woocommerce-MyAccount-content {
  float: none !important;
  width: 100% !important;
}

/* Login Form */
.woocommerce-form-login,
.woocommerce-form-register {
  background: var(--white) !important;
  border-radius: var(--radius-lg) !important;
  padding: 32px !important;
  box-shadow: var(--shadow-sm) !important;
  max-width: 480px !important;
  margin: 0 auto !important;
}

.woocommerce-form-login .form-row,
.woocommerce-form-register .form-row {
  margin-bottom: 16px !important;
}

.woocommerce-form-login input.input-text,
.woocommerce-form-register input.input-text {
  padding: 12px 16px !important;
  border: 1px solid var(--gray-200) !important;
  border-radius: var(--radius-sm) !important;
  font-size: 14px !important;
  width: 100% !important;
}

.woocommerce-form-login input.input-text:focus,
.woocommerce-form-register input.input-text:focus {
  border-color: var(--primary) !important;
  box-shadow: 0 0 0 3px rgba(40, 116, 240, 0.1) !important;
  outline: none !important;
}

.woocommerce-form-login button,
.woocommerce-form-register button {
  background: var(--secondary) !important;
  color: var(--white) !important;
  border: none !important;
  border-radius: var(--radius-sm) !important;
  padding: 14px 32px !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  transition: var(--transition) !important;
  width: 100% !important;
}

.woocommerce-form-login button:hover,
.woocommerce-form-register button:hover {
  background: var(--secondary-dark) !important;
}

/* Pagination */
.woocommerce nav.woocommerce-pagination {
  margin-top: 40px !important;
}

.woocommerce nav.woocommerce-pagination ul {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  border: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

.woocommerce nav.woocommerce-pagination ul li {
  border: none !important;
  margin: 0 !important;
}

.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 40px !important;
  height: 40px !important;
  padding: 0 12px !important;
  border: 1px solid var(--gray-200) !important;
  border-radius: var(--radius-sm) !important;
  font-weight: 500 !important;
  color: var(--gray-700) !important;
  background: var(--white) !important;
  transition: var(--transition) !important;
}

.woocommerce nav.woocommerce-pagination ul li a:hover {
  background: var(--primary) !important;
  border-color: var(--primary) !important;
  color: var(--white) !important;
}

.woocommerce nav.woocommerce-pagination ul li span.current {
  background: var(--primary) !important;
  border-color: var(--primary) !important;
  color: var(--white) !important;
}

/* Star Rating Override */
.woocommerce .star-rating {
  font-size: 14px !important;
  width: 80px !important;
  height: 16px !important;
}

.woocommerce p.stars a {
  font-size: 20px !important;
  color: var(--accent) !important;
}

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

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

  .woocommerce ul.products li.product .woocommerce-loop-product__title {
    font-size: 13px !important;
  }

  .woocommerce ul.products li.product .price {
    font-size: 14px !important;
  }

  .woocommerce-account .woocommerce-MyAccount-navigation ul {
    flex-direction: row !important;
  }

  .woocommerce-cart .actions {
    flex-direction: column !important;
  }
}

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

  .woocommerce ul.products li.product .button {
    padding: 6px 10px !important;
    font-size: 12px !important;
  }
}
