/**
 * Shop archive (category grids, related/upsell/cross-sell carousels,
 * wishlist grid) + Quick View modal.
 */

.woocommerce ul.products,
.evelia-products-grid {
	display: grid !important;
	grid-template-columns: repeat(2, 1fr);
	gap: 1.5rem 1.25rem;
	max-width: 86rem;
	margin: 2rem auto !important;
	padding-inline: 1.5rem;
	list-style: none;
}
@media (min-width: 640px) {
	.woocommerce ul.products,
	.evelia-products-grid { grid-template-columns: repeat(3, 1fr); gap: 2rem 1.5rem; }
}
.evelia-shop-cards--rounded .woocommerce ul.products { --evelia-card-radius: 2rem; }
.evelia-shop-cards--soft .woocommerce ul.products { --evelia-card-radius: 1.25rem; }

.woocommerce ul.products li.product,
.evelia-product-card {
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none;
	float: none !important;
}

.evelia-product-card__inner {
	position: relative;
	display: flex;
	height: 100%;
	flex-direction: column;
	border-radius: var(--evelia-card-radius, 2rem);
	background: hsl(var(--ivory));
	overflow: hidden;
	box-shadow: 0 12px 40px -16px hsl(348 34% 46% / 0.16);
	transition: transform 0.35s cubic-bezier(0.22, 1, 0.36, 1), box-shadow 0.35s ease-out;
}
.evelia-product-card__inner:hover { transform: translateY(-6px); box-shadow: 0 20px 50px -18px hsl(348 34% 46% / 0.26); }

.evelia-product-card__media { position: relative; display: block; background: hsl(var(--blush) / 0.4); aspect-ratio: 4/5; overflow: hidden; }
.evelia-product-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.9s cubic-bezier(0.22, 1, 0.36, 1); }
.evelia-product-card__inner:hover .evelia-product-card__media img { transform: scale(1.05); }

.evelia-badge {
	position: absolute;
	top: 0.9rem;
	inset-inline-start: 0.9rem;
	border-radius: 999px;
	padding: 0.3rem 0.8rem;
	font-size: 10px;
	letter-spacing: 0.08em;
	z-index: 2;
}
.evelia-badge--sale { background: hsl(var(--rose)); color: #fff; }
.evelia-badge--custom { background: hsl(var(--plum)); color: hsl(var(--champagne)); top: 2.5rem; }
.evelia-badge--custom + .evelia-badge--sale,
.evelia-badge--sale ~ .evelia-badge--custom { top: 2.6rem; }

.evelia-wishlist-btn {
	position: absolute;
	top: 0.75rem;
	inset-inline-end: 0.75rem;
	z-index: 3;
	display: flex;
	height: 2.25rem;
	width: 2.25rem;
	align-items: center;
	justify-content: center;
	border-radius: 999px;
	background: hsl(var(--ivory) / 0.9);
	color: hsl(var(--plum) / 0.7);
	box-shadow: 0 6px 18px -8px hsl(348 34% 46% / 0.3);
	transition: color 0.2s, transform 0.2s;
}
.evelia-wishlist-btn:hover { color: hsl(var(--rose)); transform: scale(1.06); }
.evelia-wishlist-btn.is-wished { color: hsl(var(--rose)); }

.evelia-product-card__body { display: flex; flex-grow: 1; flex-direction: column; gap: 0.5rem; padding: 1.25rem 1.25rem 1.5rem; }
.evelia-product-card__title { font-family: var(--font-display-family); font-size: 1.125rem; line-height: 1.3; margin: 0; }
.evelia-product-card__title a { color: hsl(var(--plum)); }
.evelia-product-card__rating .star-rating { color: hsl(var(--gold)); font-size: 0.8rem; }
.evelia-product-card__price { font-size: 1.0625rem; color: hsl(var(--rose)); }
.evelia-product-card__price del { color: hsl(var(--muted-foreground)); opacity: 0.6; margin-inline-end: 0.4rem; }
.evelia-product-card__price ins { text-decoration: none; }

.evelia-product-card__actions { margin-top: auto; display: flex; align-items: center; gap: 0.5rem; padding-top: 0.5rem; }
.evelia-product-card__actions .button,
.evelia-product-card__actions a.add_to_cart_button,
.evelia-product-card__actions a.button {
	flex-grow: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 999px;
	background: hsl(var(--rose));
	color: hsl(var(--ivory));
	font-size: 12px;
	letter-spacing: 0.08em;
	padding: 0.65rem 1rem;
	text-align: center;
	transition: background 0.2s;
}
.evelia-addtocart--outline .evelia-product-card__actions .button { background: transparent; border: 1px solid hsl(var(--champagne)); color: hsl(var(--plum)); }
.evelia-product-card__actions .button:hover { background: hsl(var(--plum)); }
.evelia-product-card__actions .added_to_cart { display: none; }

.evelia-quickview-btn {
	flex-shrink: 0;
	display: flex;
	height: 2.5rem;
	width: 2.5rem;
	align-items: center;
	justify-content: center;
	border-radius: 999px;
	border: 1px solid hsl(var(--champagne));
	color: hsl(var(--plum));
	transition: background 0.2s;
}
.evelia-quickview-btn:hover { background: hsl(var(--blush) / 0.6); }

/* ---- Shop toolbar (result count + ordering) ---- */

.woocommerce-result-count,
.woocommerce-ordering {
	max-width: 86rem;
	margin-inline: auto;
	padding-inline: 1.5rem;
}
.woocommerce-notices-wrapper,
.woocommerce-result-count { font-size: 0.8125rem; color: hsl(var(--muted-foreground)); }
.woocommerce-ordering select {
	border: 1px solid hsl(var(--champagne) / 0.6);
	border-radius: 999px;
	padding: 0.5rem 1rem;
	background: hsl(var(--ivory));
	font-size: 0.8125rem;
}

nav.woocommerce-pagination {
	max-width: 86rem;
	margin: 2rem auto !important;
	padding-inline: 1.5rem;
	text-align: center;
}
nav.woocommerce-pagination ul { display: inline-flex; gap: 0.4rem; border: none !important; }
nav.woocommerce-pagination ul li { border: none !important; }
nav.woocommerce-pagination a, nav.woocommerce-pagination span.current {
	display: flex;
	height: 2.25rem;
	width: 2.25rem;
	align-items: center;
	justify-content: center;
	border-radius: 999px;
	border: 1px solid hsl(var(--champagne) / 0.6);
	color: hsl(var(--plum));
}
nav.woocommerce-pagination span.current { background: hsl(var(--rose)); color: #fff; border-color: transparent; }

/* ---- Empty shop ---- */

.woocommerce-info { max-width: 86rem; margin: 2rem auto; padding: 1rem 1.5rem; text-align: center; color: hsl(var(--muted-foreground)); list-style: none; }

/* ---- Wishlist page ---- */

.evelia-wishlist-empty { max-width: 40rem; margin: 4rem auto; text-align: center; }
.evelia-wishlist-empty__title { font-family: var(--font-display-family); font-size: 1.5rem; color: hsl(var(--plum)); }
.evelia-wishlist-empty__body { margin-top: 0.5rem; color: hsl(var(--muted-foreground)); }

/* ---- Quick View modal ---- */

.evelia-quickview-overlay {
	position: fixed;
	inset: 0;
	z-index: 80;
	display: flex;
	align-items: center;
	justify-content: center;
	background: hsl(var(--plum) / 0.55);
	backdrop-filter: blur(4px);
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.25s;
	padding: 1.5rem;
}
.evelia-quickview-overlay.is-open { opacity: 1; pointer-events: auto; }
.evelia-quickview-modal {
	position: relative;
	background: hsl(var(--ivory));
	border-radius: 2rem;
	max-width: 56rem;
	width: 100%;
	max-height: 88vh;
	overflow-y: auto;
	padding: 2.5rem 2rem;
}
.evelia-quickview-modal__close { position: absolute; top: 1rem; inset-inline-end: 1rem; color: hsl(var(--plum)); padding: 0.5rem; }
.evelia-quickview-modal__content { display: grid; gap: 2rem; }
@media (min-width: 640px) { .evelia-quickview-modal__content { grid-template-columns: 1fr 1fr; } }
.evelia-quickview__media img { width: 100%; border-radius: 1.5rem; object-fit: cover; }
.evelia-quickview__rating .star-rating { color: hsl(var(--gold)); margin-top: 0.5rem; }
.evelia-quickview__price { font-family: var(--font-display-family); font-size: 1.75rem; color: hsl(var(--plum)); margin-top: 0.75rem; }
.evelia-quickview__excerpt { margin-top: 1rem; font-size: 0.875rem; line-height: 1.9; color: hsl(var(--muted-foreground)); }
.evelia-quickview__cart { margin-top: 1.5rem; }
.evelia-quickview__link { display: inline-block; margin-top: 1rem; font-size: 0.75rem; letter-spacing: 0.15em; color: hsl(var(--rose)); border-bottom: 1px solid hsl(var(--rose)); }
.evelia-quickview__loading { text-align: center; padding: 3rem 0; grid-column: 1 / -1; }
