/**
 * Busly — woocommerce.css
 * Restyles WooCommerce's own markup via CSS/hooks only — no core templates
 * are duplicated except the thin wrapper hooks in inc/integrations/woocommerce.php.
 */

/* Every button WooCommerce itself renders (add-to-cart, checkout, place
   order, "Continue Shopping", coupon apply, etc.) — targeted by WooCommerce's
   own real default classes rather than a custom class-injecting filter. */
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button,
.woocommerce #respond input#submit, .woocommerce-page a.button,
.woocommerce-page button.button, .woocommerce-page input.button,
.woocommerce-page #respond input#submit,
.woocommerce a.checkout-button, #place_order {
	display: inline-flex; align-items: center; justify-content: center; gap: 8px;
	padding: 12px 26px; border-radius: 100px; font-size: 13.5px; font-weight: 700;
	background: var(--busly-primary); color: #fff; border: none; cursor: pointer;
	transition: opacity .15s, transform .1s;
}
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover,
.woocommerce #respond input#submit:hover, .woocommerce a.checkout-button:hover, #place_order:hover {
	opacity: .9; transform: translateY(-1px); color: #fff;
}
.woocommerce a.button.alt, .woocommerce button.button.alt, .woocommerce input.button.alt {
	background: var(--busly-accent);
}
.woocommerce a.added_to_cart, .woocommerce a.wc-forward {
	font-size: 12.5px; font-weight: 700; color: var(--busly-primary); text-decoration: underline;
}

.busly-woo-main .woocommerce-products-header { margin-bottom: 28px; }
.busly-woo-main .woocommerce-result-count,
.busly-woo-main .woocommerce-ordering select { font-size: 13px; color: var(--busly-s500); }
.busly-woo-main .woocommerce-ordering select { padding: 9px 14px; border-radius: var(--busly-r12); border: 1px solid var(--busly-s200); }

ul.products { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; list-style: none; }
ul.products li.product {
	background: #fff; border: 1px solid var(--busly-s200); border-radius: var(--busly-r20); padding: 16px;
	transition: box-shadow .15s, transform .15s;
}
ul.products li.product:hover { box-shadow: 0 10px 30px rgba(0,0,0,.08); transform: translateY(-2px); }
ul.products li.product img { border-radius: var(--busly-r16); aspect-ratio: 1/1; object-fit: cover; margin-bottom: 14px; }
ul.products li.product .woocommerce-loop-product__title { font-size: 14.5px; font-weight: 700; color: var(--busly-s900); margin: 0 0 6px; }
ul.products li.product .price { font-size: 15px; font-weight: 800; color: var(--busly-primary); }
ul.products li.product .star-rating { font-size: 12px; color: #f59e0b; margin-bottom: 6px; }
ul.products li.product .button { margin-top: 12px; width: 100%; }
.onsale { background: var(--busly-accent) !important; border-radius: 100px !important; font-size: 11px !important; font-weight: 800 !important; padding: 4px 10px !important; }

/* Single product */
.single-product div.product .woocommerce-product-gallery { border-radius: var(--busly-r20); overflow: hidden; }
.single-product div.product .product_title { font-size: 26px; font-weight: 900; letter-spacing: -.02em; }
.single-product div.product p.price { font-size: 22px; font-weight: 800; color: var(--busly-primary); margin: 12px 0; }
.single-product div.product .quantity input.qty {
	width: 64px; padding: 11px; border-radius: var(--busly-r12); border: 1px solid var(--busly-s200); text-align: center;
}
.single-product div.product form.cart .button { margin-left: 10px; }
.woocommerce-tabs ul.tabs { display: flex; gap: 6px; border-bottom: 1px solid var(--busly-s200); margin-bottom: 24px; }
.woocommerce-tabs ul.tabs li { list-style: none; }
.woocommerce-tabs ul.tabs li a { display: inline-block; padding: 10px 18px; font-weight: 700; font-size: 13.5px; color: var(--busly-s500); }
.woocommerce-tabs ul.tabs li.active a { color: var(--busly-primary); border-bottom: 2px solid var(--busly-primary); }

/* Cart / Checkout tables */
table.shop_table { border: 1px solid var(--busly-s200); border-radius: var(--busly-r16); overflow: hidden; }
table.shop_table th { background: var(--busly-s50); font-size: 11.5px; text-transform: uppercase; letter-spacing: .04em; padding: 14px; text-align: left; }
table.shop_table td { padding: 16px 14px; border-top: 1px solid var(--busly-s100); }
.woocommerce-cart-form .product-remove a { color: #dc2626; }
#coupon_code { padding: 12px 16px; border-radius: var(--busly-r12); border: 1px solid var(--busly-s200); }
.cart-collaterals .cart_totals { background: #fff; border: 1px solid var(--busly-s200); border-radius: var(--busly-r16); padding: 22px; }
.cart_totals .order-total .amount { color: var(--busly-primary); font-weight: 900; font-size: 18px; }

.woocommerce-checkout #customer_details { background: #fff; border: 1px solid var(--busly-s200); border-radius: var(--busly-r16); padding: 24px; }
#order_review { background: #fff; border: 1px solid var(--busly-s200); border-radius: var(--busly-r16); padding: 24px; }
.woocommerce-checkout-payment ul.payment_methods { list-style: none; }
.woocommerce-checkout-payment .payment_box { background: var(--busly-s50); border-radius: var(--busly-r12); padding: 16px; margin: 10px 0; font-size: 13px; }
#place_order { width: 100%; }

/* My Account */
.woocommerce-MyAccount-navigation ul { display: flex; flex-direction: column; gap: 4px; }
.woocommerce-MyAccount-navigation li a { display: block; padding: 11px 16px; border-radius: var(--busly-r12); font-size: 13.5px; font-weight: 600; color: var(--busly-s600); }
.woocommerce-MyAccount-navigation li.is-active a,
.woocommerce-MyAccount-navigation li a:hover { background: var(--busly-i50); color: var(--busly-primary); }
.woocommerce-MyAccount-content { background: #fff; border: 1px solid var(--busly-s200); border-radius: var(--busly-r16); padding: 28px; }

/* Notices */
.woocommerce-message, .woocommerce-info, .woocommerce-error, .woocommerce-noreviews {
	border-radius: var(--busly-r16); padding: 16px 20px !important; border-top: none !important;
	background: var(--busly-i50); color: var(--busly-primary); list-style: none;
}
.woocommerce-error { background: #fef2f2; color: #b91c1c; }
.woocommerce-message::before, .woocommerce-info::before, .woocommerce-error::before { display: none; }

/* Mini-cart */
.widget_shopping_cart_content ul.cart_list li { display: flex; gap: 12px; align-items: center; padding: 10px 0; border-bottom: 1px solid var(--busly-s100); }
.widget_shopping_cart_content ul.cart_list li img { width: 44px; height: 44px; border-radius: 10px; object-fit: cover; }
.widget_shopping_cart_content .total { font-weight: 800; color: var(--busly-primary); margin-top: 12px; }

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