/**
 * Eventswala - product grids and store notices.
 *
 * Covers shop and category listings, related products and upsells, plus the
 * standard WooCommerce notice boxes. Scoped to WooCommerce body classes so
 * nothing leaks into ordinary pages.
 *
 * Cart and checkout are deliberately not styled here - those pages keep the
 * theme's own appearance.
 */

.woocommerce,
.woocommerce-page {
	--ewb-ink: #16181d;
	--ewb-muted: #667085;
	--ewb-line: #e6e8ec;
	--ewb-surface: #fff;
	--ewb-soft: #f7f8fa;
	--ewb-shadow: 0 1px 2px rgba( 16, 24, 40, 0.04 ), 0 8px 24px rgba( 16, 24, 40, 0.06 );
}

/* ==================================================================
 * Product grids - shop, categories, related products, upsells
 * ============================================================== */

.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
	display: flex;
	flex-direction: column;
	padding: 0 0 14px;
	border: 1px solid var( --ewb-line );
	border-radius: calc( var( --ewb-radius, 10px ) + 2px );
	background: var( --ewb-surface );
	overflow: hidden;
	transition: border-color 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease;
}

.woocommerce ul.products li.product:hover {
	border-color: var( --ewb-accent-ring );
	box-shadow: var( --ewb-shadow );
	transform: translateY( -3px );
}

.woocommerce ul.products li.product a img {
	margin: 0 0 12px;
	border-radius: 0;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	width: 100%;
}

.woocommerce ul.products li.product .ast-woo-product-category,
.woocommerce ul.products li.product .ast-woocommerce-category {
	padding: 0 14px;
	font-size: 12px;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var( --ewb-muted );
}

.woocommerce ul.products li.product .woocommerce-loop-product__title {
	padding: 0 14px !important;
	margin: 4px 0 6px !important;
	font-size: 15px !important;
	font-weight: 700;
	line-height: 1.4;
	color: var( --ewb-ink );
}

.woocommerce ul.products li.product .price {
	display: flex;
	align-items: baseline;
	flex-wrap: wrap;
	gap: 8px;
	padding: 0 14px;
	margin: 0 0 12px;
	font-size: 17px;
	font-weight: 800;
	color: var( --ewb-ink );
}

.woocommerce ul.products li.product .price del {
	order: 2;
	opacity: 1;
	font-size: 14px;
	font-weight: 500;
	color: var( --ewb-muted );
}

.woocommerce ul.products li.product .price ins {
	order: 1;
	text-decoration: none;
	background: none;
	font-weight: 800;
	color: var( --ewb-ink );
}

/* Push the button to the bottom so uneven titles still line up */
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product .added_to_cart {
	margin: auto 14px 0;
	padding: 11px 16px;
	border: none;
	border-radius: var( --ewb-radius, 10px );
	background: var( --ewb-accent );
	color: #fff;
	font-size: 14px;
	font-weight: 700;
	text-align: center;
	transition: background-color 0.15s ease, box-shadow 0.15s ease;
}

.woocommerce ul.products li.product .button:hover,
.woocommerce ul.products li.product .added_to_cart:hover {
	background: var( --ewb-hover );
	color: #fff;
	box-shadow: 0 6px 16px rgba( 16, 24, 40, 0.16 );
}

.woocommerce ul.products li.product .onsale,
.woocommerce span.onsale {
	top: 10px;
	left: 10px;
	right: auto;
	min-height: 0;
	min-width: 0;
	padding: 4px 10px;
	border-radius: 999px;
	background: var( --ewb-accent );
	color: #fff;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.5;
}

.woocommerce .related > h2,
.woocommerce .upsells > h2,
.woocommerce .cross-sells > h2 {
	font-size: clamp( 22px, 2.6vw, 28px );
	font-weight: 700;
	letter-spacing: -0.015em;
	color: var( --ewb-ink );
	margin-bottom: 20px;
}

/* ==================================================================
 * Notices
 * ============================================================== */

.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
	border: 1px solid var( --ewb-line );
	border-top-width: 1px;
	border-left: 4px solid var( --ewb-accent );
	border-radius: var( --ewb-radius, 10px );
	background: var( --ewb-soft );
	color: var( --ewb-ink );
	font-size: 15px;
}

.woocommerce-message {
	border-left-color: #12b76a;
}

.woocommerce-error {
	border-left-color: #d92d20;
	background: #fef3f2;
}

.woocommerce-message::before,
.woocommerce-info::before,
.woocommerce-error::before {
	display: none;
}

.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
	padding: 14px 18px;
}

.woocommerce-message .button,
.woocommerce-info .button {
	border-radius: 8px;
	background: var( --ewb-accent );
	color: #fff;
	font-weight: 600;
}

