/** WooCommerce Custom Styles */
.woocommerce ul.products li.product .sf-product-image-wrapper { position: relative; overflow: hidden; border-radius: var(--sf-radius); margin-bottom: 14px; background: var(--sf-light); }
.woocommerce ul.products li.product .sf-product-image-wrapper img { margin: 0 !important; width: 100%; aspect-ratio: 1 / 1; object-fit: cover; transition: transform .5s; }
.woocommerce ul.products li.product:hover .sf-product-image-wrapper img { transform: scale(1.05); }
.sf-product-overlay { position: absolute; inset: auto 0 0 0; padding: 12px; display: flex; justify-content: center; opacity: 0; transform: translateY(10px); transition: var(--sf-transition); }
.woocommerce ul.products li.product:hover .sf-product-overlay { opacity: 1; transform: none; }
.sf-quick-view { background: #fff; color: var(--sf-dark); padding: 8px 18px; border-radius: var(--sf-btn-radius); font-size: .85rem; font-weight: 600; box-shadow: var(--sf-shadow); cursor: pointer; }
.sf-quick-view:hover { background: var(--sf-primary); color: #fff; }
.woocommerce ul.products li.product { background: #fff; border-radius: var(--sf-radius-lg); padding: 14px 14px 20px !important; box-shadow: var(--sf-shadow); transition: var(--sf-transition); }
.woocommerce ul.products li.product:hover { transform: translateY(-6px); box-shadow: var(--sf-shadow-lg); }
.woocommerce ul.products li.product .price { color: var(--sf-primary) !important; font-weight: 700; }
.woocommerce ul.products li.product .button, .woocommerce a.button, .woocommerce button.button, .woocommerce input.button, .woocommerce #respond input#submit,
.woocommerce div.product form.cart .button, .woocommerce .cart .button, .woocommerce .checkout-button, .woocommerce #place_order {
    background: linear-gradient(135deg, var(--sf-primary), var(--sf-secondary)) !important; color: #fff !important; border: 0 !important; border-radius: var(--sf-btn-radius) !important; font-weight: 600; transition: var(--sf-transition);
}
.woocommerce a.button:hover, .woocommerce button.button:hover { transform: translateY(-2px); box-shadow: 0 8px 25px color-mix(in srgb, var(--sf-primary) 35%, transparent); }
.woocommerce div.product .product_title { font-family: var(--sf-font-heading); font-size: clamp(1.8rem, 3vw, 2.5rem); }
.woocommerce div.product p.price, .woocommerce div.product span.price { font-size: 1.6rem; color: var(--sf-primary) !important; font-weight: 700; }
.woocommerce div.product .woocommerce-product-gallery { border-radius: var(--sf-radius-lg); overflow: hidden; }
.woocommerce div.product form.cart .variations select { border-radius: var(--sf-radius); padding: 10px 14px; border: 1px solid var(--sf-border); min-width: 200px; }
.woocommerce div.product form.cart .single_add_to_cart_button { padding: 16px 44px !important; font-size: 1.05rem; }
.woocommerce span.onsale { background: var(--sf-primary) !important; border-radius: 20px !important; min-height: auto !important; line-height: 1 !important; padding: 7px 12px !important; }
.woocommerce nav.woocommerce-pagination ul li a, .woocommerce nav.woocommerce-pagination ul li span { border-radius: 8px; margin: 0 4px; }
.woocommerce .woocommerce-ordering select { border-radius: 8px; padding: 10px 16px; border: 1px solid var(--sf-border); }
.woocommerce-message, .woocommerce-info { border-top-color: var(--sf-primary) !important; }
.woocommerce-message::before, .woocommerce-info::before { color: var(--sf-primary) !important; }
.sf-product-badge { position: absolute; top: 10px; left: 10px; background: var(--sf-primary); color: white; padding: 4px 12px; border-radius: 20px; font-size: 0.75rem; font-weight: 600; z-index: 1; }
.sf-product-badge.sale { background: #e74c3c; }
.sf-product-badge.new { background: #27ae60; }
.sf-brand { display: block; }
