/* ==========================================================================
   Sigillum · Tienda y colecciones
   Migas · Encabezado · Colecciones · Barra · Filtros · Paginación
   ========================================================================== */

.shop {
	padding-block: var(--space-6) var(--space-section);
}

/* ---------- Migas de pan ---------- */

.breadcrumb {
	margin-bottom: var(--space-7);
	font-size: var(--step--2);
	font-weight: var(--weight-ui);
	letter-spacing: var(--track-caps);
	text-transform: uppercase;
	color: var(--color-text-muted);
}

.breadcrumb a {
	text-decoration: none;
}

.breadcrumb__sep {
	margin-inline: var(--space-3);
	color: var(--sig-rule-gold);
}

/* ---------- Encabezado ---------- */

.shop-header {
	max-width: 46rem;
	margin-bottom: var(--space-7);
}

.shop-header .eyebrow {
	margin-bottom: var(--space-3);
	color: var(--sig-gold);
}

.shop-header__title {
	font-size: var(--step-4);
	letter-spacing: var(--track-display);
	text-transform: uppercase;
}

.shop-header__title::after {
	content: "";
	display: block;
	width: 3rem;
	margin-top: var(--space-5);
	border-top: var(--border-hair) solid var(--sig-gold);
}

.shop-header__intro {
	margin-top: var(--space-5);
	font-family: var(--font-display);
	font-size: var(--step-1);
	line-height: 1.5;
	color: var(--color-text-muted);
}

/* ---------- Chips (colecciones y filtros activos) ---------- */

.chip {
	display: inline-flex;
	align-items: center;
	gap: var(--space-2);
	min-height: 40px;
	padding: 0 var(--space-4);
	border: var(--border-hair) solid var(--sig-rule-light);
	border-radius: var(--radius-control);
	font-size: var(--step--2);
	font-weight: var(--weight-ui);
	letter-spacing: var(--track-caps);
	text-decoration: none;
	text-transform: uppercase;
	white-space: nowrap;
	transition: border-color var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease);
}

.chip:hover {
	border-color: var(--sig-muted);
	color: var(--color-text);
}

.chip[aria-current="page"],
.chip--active {
	border-color: var(--sig-gold);
	color: var(--sig-gold);
}

.chip__count {
	color: var(--color-text-muted);
	letter-spacing: 0;
}

.collections-nav {
	margin-bottom: var(--space-6);
}

.collections-nav__list {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-2);
}

/* En móvil las colecciones se desplazan en una sola línea */
@media (max-width: 599px) {
	.collections-nav {
		margin-inline: calc(-1 * var(--gutter));
	}

	/* .collections-nav sube la especificidad sobre el reset ul[class] */
	.collections-nav .collections-nav__list {
		flex-wrap: nowrap;
		overflow-x: auto;
		padding-inline: var(--gutter);
		padding-bottom: var(--space-2);
		scrollbar-width: none;
	}

	.collections-nav__list::-webkit-scrollbar {
		display: none;
	}
}

/* ---------- Barra de resultados ---------- */

.shop-toolbar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--space-3) var(--space-5);
	margin-bottom: var(--space-6);
	padding-block: var(--space-3);
	border-block: var(--border-hair) solid var(--sig-rule-light);
}

.shop-toolbar__count {
	margin-right: auto;
	font-family: var(--font-display);
	font-size: var(--step-1);
	font-style: italic;
	color: var(--color-text-muted);
}

.woocommerce-ordering {
	margin: 0;
}

.woocommerce-ordering select {
	min-height: 44px;
	padding: 0 var(--space-7) 0 var(--space-4);
	appearance: none;
	background: transparent;
	background-image: linear-gradient(45deg, transparent 50%, var(--sig-gold) 50%), linear-gradient(135deg, var(--sig-gold) 50%, transparent 50%);
	background-position: calc(100% - 20px) 50%, calc(100% - 15px) 50%;
	background-size: 5px 5px;
	background-repeat: no-repeat;
	border: var(--border-hair) solid var(--sig-rule-light);
	border-radius: var(--radius-control);
	font-size: var(--step--1);
	color: var(--color-text);
	cursor: pointer;
}

.woocommerce-ordering select:hover {
	border-color: var(--sig-muted);
}

.woocommerce-ordering select option {
	background: var(--sig-charcoal);
}

/* ---------- Filtros ---------- */

.shop-filters__toggle {
	display: inline-flex;
	align-items: center;
	gap: var(--space-2);
	min-height: 44px;
	font-size: var(--step--2);
	font-weight: var(--weight-ui);
	letter-spacing: var(--track-caps);
	text-transform: uppercase;
	cursor: pointer;
	list-style: none;
}

.shop-filters__toggle::-webkit-details-marker {
	display: none;
}

.shop-filters__toggle::after {
	content: "";
	width: 7px;
	height: 7px;
	border-right: var(--border-hair) solid var(--sig-gold);
	border-bottom: var(--border-hair) solid var(--sig-gold);
	transform: rotate(45deg) translateY(-2px);
}

.shop-filters[open] {
	flex-basis: 100%;
	order: 3;
}

.shop-filters__form {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	gap: var(--space-5) var(--space-7);
	padding-block: var(--space-4);
}

.shop-filters__group {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-2);
	margin: 0;
	padding: 0;
	border: 0;
}

.shop-filters__group legend {
	margin-bottom: var(--space-2);
}

.choice {
	position: relative;
}

.choice input {
	position: absolute;
	opacity: 0;
}

.choice span {
	display: inline-flex;
	align-items: center;
	min-height: 40px;
	padding: 0 var(--space-4);
	border: var(--border-hair) solid var(--sig-rule-light);
	border-radius: var(--radius-control);
	font-size: var(--step--1);
	cursor: pointer;
}

.choice input:checked + span {
	border-color: var(--sig-gold);
	color: var(--sig-gold);
}

.choice input:focus-visible + span {
	outline: 2px solid var(--color-focus);
	outline-offset: 2px;
}

/* Con JS los cambios se aplican solos */
.js-auto-submit .shop-filters__submit {
	display: none;
}

.active-filters {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-2);
	margin: calc(-1 * var(--space-3)) 0 var(--space-6);
}

/* ---------- Listado ---------- */

.products.product-grid li.product {
	margin: 0;
	padding: 0;
	list-style: none;
}

/* ---------- Paginación ---------- */

.woocommerce-pagination {
	margin-top: var(--space-8);
}

.woocommerce-pagination ul.page-numbers {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: var(--space-2);
	margin: 0;
	padding: 0;
	list-style: none;
}

.woocommerce-pagination .page-numbers a,
.woocommerce-pagination .page-numbers span {
	display: grid;
	place-items: center;
	min-width: 44px;
	height: 44px;
	padding-inline: var(--space-3);
	border: var(--border-hair) solid var(--sig-rule-light);
	border-radius: var(--radius-control);
	font-size: var(--step--1);
	text-decoration: none;
}

.woocommerce-pagination .page-numbers a:hover {
	border-color: var(--sig-muted);
}

.woocommerce-pagination .page-numbers .current {
	border-color: var(--sig-gold);
	color: var(--sig-gold);
}

/* ---------- Sin resultados ---------- */

.shop-empty {
	display: grid;
	justify-items: start;
	gap: var(--space-6);
	padding-block: var(--space-7);
}
