/*
 * Melegim – cardul de produs (spec §4): poză 1:1 pe --m-stone, rază 12px, eticheta reducerii
 * albă cu text --m-accent stânga-sus, meta 14px, nume 17px 500, preț 18px 700 + preț vechi 15px.
 */

.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
	position: relative;
	text-align: left;
}

.woocommerce ul.products li.product .astra-shop-thumbnail-wrap {
	position: relative;
	overflow: hidden;
	border-radius: var(--m-radius-m);
	background-color: var(--m-stone);
}

.woocommerce ul.products li.product a img {
	width: 100%;
	aspect-ratio: 1 / 1;
	margin: 0;
	object-fit: cover;
	background-color: var(--m-stone);
}

/* Eticheta reducerii: „−28%". Astra o desenează ca cerc; aici e o etichetă dreptunghiulară. */
.woocommerce ul.products li.product .onsale,
.woocommerce-page ul.products li.product .onsale,
.woocommerce span.onsale {
	position: absolute;
	top: 1.2rem;
	left: 1.2rem;
	right: auto;
	z-index: 3;
	width: auto;
	height: auto;
	min-width: 0;
	min-height: 0;
	margin: 0;
	padding: 0.4rem 1rem;
	border-radius: var(--m-radius-s);
	background-color: var(--m-white);
	color: var(--m-accent);
	font-family: var(--m-font-sans);
	font-size: 1.4rem;
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: normal;
	text-transform: none;
}

.woocommerce ul.products li.product .ast-woo-product-category {
	display: block;
	margin-bottom: 0.4rem;
	font-size: 1.4rem;
	color: var(--m-muted);
	text-transform: none;
	opacity: 1;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title {
	margin-bottom: 0.6rem;
	font-family: var(--m-font-sans);
	font-size: var(--m-text);
	font-weight: 500;
	line-height: 1.35;
	letter-spacing: normal;
	text-transform: none;
	color: var(--m-ink);
}

/* Pluginul Tiered Price Table învelește del/ins într-un span propriu; ordinea se aplică pe ambele. */
.woocommerce ul.products li.product .price .tiered-pricing-dynamic-price-wrapper {
	display: inline-flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 0.6rem;
}

.woocommerce ul.products li.product .price {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 0.6rem;
	font-size: 1.8rem;
	font-weight: 700;
	color: var(--m-ink);
}

.woocommerce ul.products li.product .price ins {
	order: 1;
	text-decoration: none;
	font-weight: 700;
}

.woocommerce ul.products li.product .price del {
	order: 2;
	font-size: 1.5rem;
	font-weight: 400;
	color: var(--m-muted);
	opacity: 1;
}

/*
 * Etichete duplicate din pluginuri (spec §4: „fără al doilea preț pe eticheta roșie"):
 * - BeRocket Advanced Product Labels, eticheta „Reduceri" de tip preț (fundal roșu cu prețul);
 * - Advanced Woo Labels, eticheta „Sale!" (ID 6456, același în producție) – o înlocuiește „−X%".
 * Etichetele rămân în pluginuri; aici doar nu se afișează. BeRocket pune `style="display: block"` pe eticheta
 * din galeria produsului după încărcare, de aici !important.
 */
.berocket_better_labels .berocket_better_labels_line .br_alabel.br_alabel_type_price,
ul.products li.product .br_alabel.br_alabel_type_price,
.woocommerce div.product .br_alabel.br_alabel_type_price,
.advanced-woo-labels .awl-label-wrap.awl-label-id-6456 {
	display: none !important; /* suprascrie stilul inline din BeRocket */
}

/*
 * Starea de stoc (inc/stock.php): pe card sub preț și pe pagina produsului (p.stock, și pe variantă).
 * Bulina: plină = la noi (în stoc / stoc mic), inel = la furnizor, gri = indisponibil.
 */
.melegim-stock {
	display: flex;
	align-items: center;
	gap: 0.7rem;
	margin: 0.6rem 0 0;
	font-size: var(--m-text-small);
	font-weight: 500;
	line-height: 1.4;
	color: var(--m-ink-2);
}

.melegim-stock::before {
	content: "";
	flex: 0 0 auto;
	width: 0.8rem;
	height: 0.8rem;
	border: 1.5px solid currentColor;
	border-radius: 50%;
	background-color: currentColor;
}

.melegim-stock--instock {
	color: var(--m-success);
}

.melegim-stock--low {
	color: var(--m-warning);
}

.melegim-stock--supplier::before {
	background-color: transparent;
}

.melegim-stock--unavailable {
	color: var(--m-muted);
}

.melegim-stock--unavailable::before {
	border-color: var(--m-field);
	background-color: var(--m-field);
}

/* Pe pagina produsului WooCommerce colorează .stock (verde / roșu); aici rămân culorile stării. */
.woocommerce div.product p.stock.melegim-stock {
	margin: 0 0 1.2rem;
	font-size: 1.6rem;
}

.woocommerce div.product p.stock.melegim-stock--instock { color: var(--m-success); }
.woocommerce div.product p.stock.melegim-stock--low { color: var(--m-warning); }
.woocommerce div.product p.stock.melegim-stock--supplier { color: var(--m-ink-2); }
.woocommerce div.product p.stock.melegim-stock--unavailable { color: var(--m-muted); }

/* Eticheta Astra „Stoc epuizat" peste poză: o înlocuiește starea de sub preț. */
.woocommerce ul.products li.product .ast-shop-product-out-of-stock {
	display: none;
}

/* ==========================================================================
   Pagina de categorie (spec §5.3)
   ========================================================================== */

/* Antetul: breadcrumb mic, aproape de header; titlu mai mic decât H1-ul general. */
.woocommerce.archive #primary {
	margin-top: 2.4rem;
}

.woocommerce.archive .woocommerce-breadcrumb {
	margin: 0 0 0.8rem;
	font-size: 1.3rem;
	line-height: 1.5;
	color: var(--m-muted);
}

.woocommerce.archive .woocommerce-breadcrumb a {
	color: var(--m-muted);
}

.woocommerce.archive .woocommerce-breadcrumb a:hover {
	color: var(--m-ink);
}

.woocommerce.archive .woocommerce-products-header__title.page-title {
	margin: 0 0 2.4rem;
	font-size: clamp(2.8rem, 2.2rem + 1vw, 3.6rem);
}

@media (max-width: 921px) {
	.woocommerce.archive #primary {
		margin-top: 1.6rem;
	}
}

/* Subcategorii ca pastile; derulare orizontală pe mobil */
.melegim-subcats {
	display: flex;
	gap: 0.8rem;
	margin: 0 0 2rem;
	padding-bottom: 0.4rem;
	overflow-x: auto;
	scrollbar-width: thin;
}

.melegim-pill {
	display: inline-flex;
	flex: 0 0 auto;
	align-items: center;
	min-height: var(--m-target);
	padding: 0 1.8rem;
	border: 1px solid var(--m-line);
	border-radius: 999px;
	background-color: var(--m-white);
	color: var(--m-ink);
	font-size: 1.5rem;
	font-weight: 500;
	text-decoration: none;
	white-space: nowrap;
}

.melegim-pill:hover {
	border-color: var(--m-ink);
	color: var(--m-ink);
}

.melegim-pill[aria-current="page"] {
	border-color: var(--m-ink);
	background-color: var(--m-ink);
	color: var(--m-ivory);
}

/* Bara de filtre: Culoare, Preț, Doar la reducere; sortarea WooCommerce alături */
.melegim-filters {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	gap: 1rem;
	margin-bottom: 1.6rem;
}

.melegim-filter {
	position: relative;
}

.melegim-filter__toggle {
	display: inline-flex;
	align-items: center;
	gap: 0.6rem;
	min-height: var(--m-target);
	padding: 0 1.6rem;
	border: 1px solid var(--m-field);
	border-radius: var(--m-radius-s);
	background-color: var(--m-white);
	font-size: 1.5rem;
	font-weight: 500;
	cursor: pointer;
	list-style: none;
}

.melegim-filter__toggle::-webkit-details-marker {
	display: none;
}

.melegim-filter__toggle::after {
	content: "";
	width: 0.7rem;
	height: 0.7rem;
	border-right: 1.5px solid currentColor;
	border-bottom: 1.5px solid currentColor;
	transform: translateY(-2px) rotate(45deg);
}

.melegim-filter[open] .melegim-filter__toggle::after {
	transform: translateY(2px) rotate(-135deg);
}

.melegim-filter__panel {
	position: absolute;
	top: calc(100% + 0.6rem);
	left: 0;
	z-index: 20;
	min-width: 26rem;
	padding: 1.6rem;
	border: 1px solid var(--m-line);
	border-radius: var(--m-radius-m);
	background-color: var(--m-white);
	box-shadow: 0 8px 24px rgba(20, 20, 19, 0.08);
}

.melegim-filter__panel .widget {
	margin: 0;
}

.melegim-filter__panel ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.melegim-filter__panel li {
	display: flex;
	align-items: center;
	gap: 0.6rem;
}

.melegim-filter__panel li a {
	display: inline-flex;
	align-items: center;
	min-height: var(--m-target);
	color: var(--m-ink);
}

.melegim-filter__panel li .count {
	color: var(--m-muted);
	font-size: var(--m-text-small);
}

/* Mostra culorii (imaginea din pluginul de swatch-uri); culoarea aleasă are un inel. */
.melegim-filter__panel .melegim-swatch {
	flex: 0 0 auto;
	width: 2.4rem;
	height: 2.4rem;
	margin-right: 1rem;
	border: 1px solid var(--m-line);
	border-radius: 50%;
	background-color: var(--m-stone);
	object-fit: cover;
}

.melegim-filter__panel .chosen .melegim-swatch {
	outline: 2px solid var(--m-ink);
	outline-offset: 2px;
}

.melegim-filter__panel .chosen a {
	font-weight: 600;
}

/* WooCommerce pune un „×" roșu înaintea termenului ales; aici îl înlocuiește inelul mostrei. */
.melegim-filter__panel .widget_layered_nav ul li.chosen a::before {
	content: none;
}

.melegim-sale-filter {
	display: flex;
	align-items: center;
	gap: 0.8rem;
	margin: 0;
}

.melegim-sale-filter__label {
	display: inline-flex;
	align-items: center;
	gap: 0.8rem;
	min-height: var(--m-target);
	font-size: 1.5rem;
	cursor: pointer;
}

.melegim-sale-filter__label input {
	width: 2rem;
	height: 2rem;
	accent-color: var(--m-ink);
}

.melegim-js .melegim-sale-filter .melegim-sale-filter__apply {
	display: none;
}

/* „Încarcă mai multe"; paginarea WooCommerce se ascunde doar când rulează JS */
.melegim-load-more-wrap {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 1.2rem;
	margin: 3.2rem 0;
}

.melegim-progress {
	margin: 0;
	font-size: 1.6rem;
	color: var(--m-muted);
}

.melegim-js .melegim-load-more-wrap ~ .woocommerce-pagination {
	display: none;
}
