/*
 * Loja (arquivo de produtos) — L'Éléphant
 * Ajustada para replicar o mockup original: grelha contínua, células
 * divididas por linhas finas, filtro/carrinho/área pessoal na mesma linha
 * e paginação discreta junto ao rodapé.
 */

body.post-type-archive-product,
body.tax-product_cat,
body.tax-product_tag {
	background: #ede6e2;
}

.elephant-shop {
	padding: 0 0 var(--page-bottom-margin-mobile);
}

@media (min-width: 992px) {
	.elephant-shop {
		padding-bottom: var(--page-bottom-margin-desktop);
	}
}

.elephant-shop .woocommerce-notices-wrapper,
.elephant-shop .woocommerce-result-count,
.elephant-shop .woocommerce-ordering {
	display: none !important;
}

.elephant-shop__filters ul {
	display: flex;
	align-items: center;
	gap: 26px;
	list-style: none;
	margin: 0;
	padding: 0;
	white-space: nowrap;
	overflow-x: auto;
	scrollbar-width: none;
}

.elephant-shop__filters ul::-webkit-scrollbar {
	display: none;
}

.elephant-shop__filters a {
	color: var(--grey);
	padding-bottom: 0;
	font-size: inherit;
}

.elephant-shop__filters li.is-active a {
	color: var(--black);
	text-decoration: none;
}

.elephant-shop .elephant-product-grid {
	margin-top: 0;
}

.elephant-shop .woocommerce-pagination {
	margin-top: 22px;
	display: flex;
	justify-content: space-between;
	font-family: "Roboto", sans-serif;
	font-size: 14px;
	font-weight: 400;
	line-height: 20px;
	letter-spacing: 0.02em;
	text-transform: uppercase;
}

.elephant-shop .woocommerce-pagination .nav-links {
	display: flex;
	justify-content: space-between;
	width: 100%;
}

.elephant-shop .woocommerce-pagination .page-numbers {
	display: none;
}

.elephant-shop .woocommerce-pagination .prev,
.elephant-shop .woocommerce-pagination .next {
	display: inline-block;
	color: rgba(0, 0, 0, 0.65);
}

/* ---------------- Entrada progressiva dos produtos ---------------- */
.elephant-product-grid.is-arranging .elephant-product-card {
	opacity: 0;
	transition: opacity 0.28s ease;
	will-change: opacity;
}

.elephant-product-grid.is-arranging .elephant-product-card.is-visible {
	opacity: 1;
}

/* Com JS ativo a paginação continua no DOM como fallback, mas o utilizador
   recebe as páginas seguintes através do scroll. */
html.elephant-infinite-scroll-ready .elephant-shop .woocommerce-pagination {
	display: none !important;
}

.elephant-shop__load-sentinel {
	height: 1px;
	width: 100%;
	pointer-events: none;
}

.elephant-shop__load-sentinel.is-loading {
	height: 28px;
}

@media (prefers-reduced-motion: reduce) {
	.elephant-product-grid.is-arranging .elephant-product-card,
	.elephant-product-grid.is-arranging .elephant-product-card.is-visible {
		opacity: 1;
		transition: none;
	}
}


/* ---------------- Eixos do conteúdo vs. linhas da grelha ----------------
 * As linhas da loja pertencem à grelha e vão de margem a margem.
 * O conteúdo alinha-se pelo mesmo eixo visual do header.
 */
:root {
	--elephant-shop-left-axis: calc(1% + 15px);
	--elephant-shop-right-axis: calc(1% + 15px);
}

.elephant-shop {
	width: 100%;
	margin-left: 0;
	margin-right: 0;
}

.elephant-shop .elephant-topbar {
	padding-left: var(--elephant-shop-left-axis);
	padding-right: var(--elephant-shop-right-axis);
}

.elephant-shop .elephant-shop__filters ul {
	padding-left: 0;
	padding-right: 0;
}

.elephant-shop .elephant-product-grid {
	width: 100%;
	margin-left: 0;
	margin-right: 0;
}

/* Base editorial comum */
.elephant-shop .elephant-product-card__info {
	padding-left: 30px;
	padding-right: 30px;
}


@media (max-width: 780px) {
	:root {
		--elephant-shop-left-axis: var(--page-margin-mobile);
		--elephant-shop-right-axis: var(--page-margin-mobile);
	}

	.elephant-shop .elephant-topbar {
		padding-left: var(--elephant-shop-left-axis);
		padding-right: var(--elephant-shop-right-axis);
	}

}
