/**
 * AgenWebsite Store — WooCommerce styling.
 *
 * Styles WooCommerce's default markup (shop loop, single product, cart,
 * checkout, account) with the theme's design tokens so it matches the homepage
 * cards without overriding Woo templates (keeps AJAX/blocks intact).
 */

/* ---------- Layout wrappers ---------- */
.aws-woo__layout--sidebar { display: grid; grid-template-columns: 1fr 280px; gap: 40px; align-items: start; }
.aws-woo__aside .widget { margin-bottom: 30px; }
.aws-woo__aside .widget-title { font-size: 1.05rem; margin-bottom: 14px; padding-bottom: 10px; border-bottom: 2px solid var(--aws-border); }
@media (max-width: 1024px) { .aws-woo__layout--sidebar { grid-template-columns: 1fr; } }

.woocommerce-products-header { margin-bottom: 24px; }
.woocommerce-products-header__title { font-size: clamp(1.6rem, 3.4vw, 2.3rem); }
.term-description { color: var(--aws-text-light); }
.woocommerce .woocommerce-result-count { color: var(--aws-text-light); font-size: .88rem; margin: 0 0 18px; }
.woocommerce .woocommerce-ordering { margin-bottom: 18px; }
.woocommerce .woocommerce-ordering select,
.woocommerce form .form-row select,
.woocommerce select,
.woocommerce input[type="text"], .woocommerce input[type="email"], .woocommerce input[type="tel"],
.woocommerce input[type="password"], .woocommerce input[type="number"], .woocommerce input[type="search"],
.woocommerce textarea, .select2-container .select2-selection {
	padding: 11px 14px; border: 1px solid var(--aws-border); border-radius: var(--aws-radius);
	background: var(--aws-bg); color: var(--aws-text); min-height: 44px;
}

/* ---------- Shop loop as cards ---------- */
.woocommerce ul.products, .woocommerce-page ul.products {
	display: grid !important; grid-template-columns: repeat(var(--aws-cols, 4), 1fr);
	gap: var(--aws-gap); margin: 0; padding: 0; list-style: none;
}
/* WooCommerce's clearfix ::before/::after become stray grid items (occupying the
   first/last cell and indenting row 1). Neutralise them. */
.woocommerce ul.products::before, .woocommerce ul.products::after,
.woocommerce-page ul.products::before, .woocommerce-page ul.products::after {
	content: none !important; display: none !important;
}
.woocommerce ul.products li.product, .woocommerce-page ul.products li.product {
	width: auto !important; margin: 0 !important; float: none !important; padding: 0 !important;
	background: var(--aws-bg); border: 1px solid var(--aws-border); border-radius: var(--aws-radius);
	overflow: hidden; display: flex; flex-direction: column; position: relative;
	transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.woocommerce ul.products li.product:hover { transform: translateY(-4px); box-shadow: 0 16px 34px rgba(var(--aws-primary-rgb,0,0,0), .14); border-color: transparent; }
.woocommerce ul.products li.product a img { margin: 0; aspect-ratio: var(--aws-card-aspect, 1/1); object-fit: cover; width: 100%; background: var(--aws-surface); transition: transform .45s ease; }
.woocommerce ul.products li.product:hover a img { transform: scale(1.05); }
.woocommerce ul.products li.product .woocommerce-loop-product__title { padding: 14px 16px 4px; font-size: 1rem; font-weight: 600; color: var(--aws-primary); font-family: var(--aws-font-heading); }
.woocommerce ul.products li.product .price { padding: 0 16px; color: var(--aws-text); font-weight: 700; font-size: 1rem; }
.woocommerce ul.products li.product .price del { color: var(--aws-text-light); font-weight: 400; }
.woocommerce ul.products li.product .price ins { color: var(--aws-sale); text-decoration: none; }
.woocommerce ul.products li.product .star-rating { margin: 8px 16px; font-size: .8em; color: #f5a623; }
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product .added_to_cart {
	margin: 12px 16px 16px; text-align: center; display: block;
}

/* ---------- Sale badge ---------- */
.woocommerce span.onsale, .aws-badge--sale.onsale {
	background: var(--aws-sale) !important; color: #fff !important; border-radius: calc(var(--aws-radius)/2) !important;
	min-height: auto !important; min-width: auto !important; line-height: 1.3 !important;
	padding: 4px 10px !important; font-size: .7rem !important; font-weight: 700 !important;
	text-transform: uppercase !important; letter-spacing: .04em !important; top: 12px; left: 12px; margin: 0;
}

/* ---------- Buttons ---------- */
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button,
.woocommerce #respond input#submit, .woocommerce a.button.alt, .woocommerce button.button.alt,
.woocommerce input.button.alt, .woocommerce .widget_price_filter .button {
	background: var(--aws-primary); color: var(--aws-on-primary, #fff); border-radius: var(--aws-radius);
	padding: 12px 24px; font-weight: 600; font-size: .9rem; border: 1.5px solid var(--aws-primary);
	transition: background .2s ease, transform .15s ease, box-shadow .25s ease; line-height: 1.2;
}
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover,
.woocommerce #respond input#submit:hover, .woocommerce a.button.alt:hover, .woocommerce button.button.alt:hover {
	background: var(--aws-primary-dark); border-color: var(--aws-primary-dark); color: var(--aws-on-primary, #fff); transform: translateY(-2px); box-shadow: 0 10px 24px rgba(var(--aws-primary-rgb,0,0,0), .26);
}
.woocommerce .button.added::after { content: " ✓"; }

/* ---------- Single product ---------- */
.woocommerce div.product { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; }
.woocommerce div.product .woocommerce-product-gallery { margin: 0; }
.woocommerce div.product .product_title { font-size: clamp(1.6rem, 3.4vw, 2.3rem); margin-bottom: .25em; }
.woocommerce div.product p.price, .woocommerce div.product span.price { color: var(--aws-text); font-size: 1.5rem; font-weight: 700; }
.woocommerce div.product p.price ins { color: var(--aws-sale); }
.woocommerce div.product .woocommerce-product-rating { margin-bottom: 14px; }
.woocommerce div.product form.cart { margin: 22px 0; display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }
.woocommerce div.product form.cart .quantity .qty { width: 72px; height: 48px; text-align: center; border: 1px solid var(--aws-border); border-radius: var(--aws-radius); }
.woocommerce div.product .woocommerce-tabs ul.tabs { padding: 0; }
.woocommerce div.product .woocommerce-tabs ul.tabs li { background: var(--aws-surface); border-radius: var(--aws-radius) var(--aws-radius) 0 0; border-color: var(--aws-border); }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active { background: var(--aws-bg); border-bottom-color: var(--aws-bg); }
.woocommerce #reviews #comments ol.commentlist li .comment-text { border: 1px solid var(--aws-border); border-radius: var(--aws-radius); }
.woocommerce div.product .related.products, .woocommerce div.product .upsells.products { grid-column: 1 / -1; }
.woocommerce div.product .related.products > h2, .woocommerce div.product .upsells > h2 { font-size: 1.5rem; margin-bottom: 24px; }
@media (max-width: 768px) { .woocommerce div.product { grid-template-columns: 1fr; gap: 24px; } }

/* ---------- Cart & checkout ---------- */
.woocommerce table.shop_table { border-radius: var(--aws-radius); border-color: var(--aws-border); }
.woocommerce table.shop_table th { background: var(--aws-surface); }
.woocommerce .cart-collaterals .cart_totals,
.woocommerce-checkout #order_review, .woocommerce-checkout .woocommerce-checkout-review-order {
	border: 1px solid var(--aws-border); border-radius: var(--aws-radius); padding: 6px 20px;
}
.woocommerce #payment, .woocommerce-checkout #payment { background: var(--aws-surface); border-radius: var(--aws-radius); }
.woocommerce-info, .woocommerce-message, .woocommerce-error {
	border-top-color: var(--aws-accent); border-radius: var(--aws-radius); background: var(--aws-surface);
}
.woocommerce-message { border-top-color: #46b450; }
.woocommerce-error { border-top-color: var(--aws-sale); }

/* ---------- Account ---------- */
.woocommerce-account .woocommerce-MyAccount-navigation ul { list-style: none; border: 1px solid var(--aws-border); border-radius: var(--aws-radius); overflow: hidden; }
.woocommerce-account .woocommerce-MyAccount-navigation li { border-bottom: 1px solid var(--aws-border); }
.woocommerce-account .woocommerce-MyAccount-navigation li a { display: block; padding: 12px 16px; }
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a { background: var(--aws-primary); color: var(--aws-on-primary, #fff); }

/* ---------- Breadcrumb ---------- */
.woocommerce .woocommerce-breadcrumb { color: var(--aws-text-light); font-size: .85rem; margin-bottom: 18px; }
.woocommerce .woocommerce-breadcrumb a { color: var(--aws-accent); }

@media (max-width: 560px) {
	.woocommerce ul.products, .woocommerce-page ul.products { --aws-cols: 2; gap: 14px; }
}
