/* ==========================================================================
   Éditions ATP — Structure & Grille Boutique (archive-product.php)
   Territoire : WOOCOMMERCE / SHOP
   ========================================================================== */

/* ── 1. Conteneur & En-tête Catalogue ── */
.atp-archive-container,
.atp-shop-archive-page {
	max-width: var(--atp-container-max-width, 1150px);
	margin: 30px auto;
	padding: 0 24px;
	min-height: 65vh;
}

.atp-shop-archive-container {
	width: 100%;
}

.woocommerce-products-header.atp-products-header,
.atp-shop-archive-container .woocommerce-products-header {
	margin-bottom: 28px;
	padding-bottom: 16px;
	border-bottom: 2px solid #f1f5f9;
}

.woocommerce-products-header__title.atp-products-header__title,
.atp-shop-archive-container .woocommerce-products-header__title {
	font-size: 28px;
	font-weight: 600;
	color: var(--atp-text-dark, #0f172a);
	margin: 0 0 8px;
}

/* ── 2. Barre d'outils Boutique (Compteur & Tri) ── */
.atp-shop-toolbar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	flex-wrap: wrap;
	margin-bottom: 28px;
	background-color: var(--atp-bg-light, #f8fafc);
	padding: 12px 18px;
	border-radius: 10px;
	border: 1px solid var(--atp-border-dark, #cbd5e1);
}

.woocommerce .woocommerce-ordering select,
.woocommerce-page .woocommerce-ordering select {
	padding: 6px 10px !important;
	border: 1px solid #d1d5db !important;
	border-radius: 6px !important;
	font-size: 13px !important;
	color: #1d2327 !important;
	background-color: #fff !important;
	cursor: pointer !important;
}

.woocommerce .woocommerce-result-count,
.woocommerce-page .woocommerce-result-count {
	font-size: 13px !important;
	color: #6b7280 !important;
	margin: 0 !important;
}

/* ── 3. Grille Catalogue Produits & Grille Page d'Accueil ── */
.woocommerce ul.products,
.woocommerce-page ul.products,
ul.products {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	gap: 24px !important;
	margin: 0 0 40px 0 !important;
	padding: 0 !important;
	list-style: none !important;
	width: 100% !important;
}

/* Grille spécifique Page d'Accueil (Shortcode [atp_home_books]) : 3 colonnes sur PC */
.atp-home-books-section ul.products,
.home ul.products,
.front-page ul.products {
	grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	gap: 28px !important;
}

ul.products::before,
ul.products::after {
	display: none !important;
}

/* ── 4. Pagination WooCommerce ── */
.woocommerce nav.woocommerce-pagination,
.atp-shop-archive-container .woocommerce-pagination {
	display: flex;
	justify-content: center;
	margin-top: 40px;
}

.woocommerce nav.woocommerce-pagination ul {
	border: none !important;
	display: flex;
	gap: 6px;
	align-items: center;
	padding: 0;
	margin: 0;
	list-style: none;
}

.woocommerce nav.woocommerce-pagination ul li {
	border: none !important;
	padding: 0 !important;
	margin: 0 !important;
	float: none !important;
}

.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-width: 38px !important;
	height: 38px !important;
	border: 1px solid #e5e7eb !important;
	border-radius: 6px !important;
	padding: 6px 12px !important;
	font-size: 13.5px !important;
	font-weight: 600 !important;
	color: #1d2327 !important;
	background: #ffffff !important;
	text-decoration: none !important;
	transition: background 0.16s, color 0.16s, border-color 0.16s !important;
}

.woocommerce nav.woocommerce-pagination ul li a:hover {
	background: #f2b300 !important;
	border-color: #f2b300 !important;
	color: #1d2327 !important;
	text-decoration: none !important;
}

.woocommerce nav.woocommerce-pagination ul li span.current {
	background: #1d2327 !important;
	border-color: #1d2327 !important;
	color: #fff !important;
}

/* ── 5. Responsive Grille Boutique & Accueil ── */
@media (max-width: 1023px) and (min-width: 769px) {
	.atp-home-books-section ul.products,
	.home ul.products,
	.front-page ul.products,
	.woocommerce ul.products,
	ul.products {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 20px !important;
	}
}

/* Description de Catégorie & En-tête */
.woocommerce-products-header .page-description,
.woocommerce-products-header .term-description,
.atp-products-header p {
	font-size: 14.5px;
	line-height: 1.6;
	color: #475569;
	margin: 10px 0 0 0;
}

@media (max-width: 768px) {
	.atp-archive-container,
	.atp-shop-archive-page {
		padding: 0 16px;
		margin: 16px auto !important;
	}

	.woocommerce-products-header.atp-products-header,
	.atp-shop-archive-container .woocommerce-products-header {
		margin-bottom: 18px;
		padding-bottom: 12px;
	}

	.woocommerce-products-header__title.atp-products-header__title,
	.atp-shop-archive-container .woocommerce-products-header__title {
		font-size: 22px;
		margin-bottom: 6px;
	}

	.woocommerce-products-header .page-description,
	.woocommerce-products-header .term-description,
	.atp-products-header p {
		font-size: 13.5px;
		line-height: 1.5;
		color: #475569;
		margin-top: 6px;
	}

	.atp-shop-toolbar {
		flex-direction: column;
		align-items: stretch;
		gap: 10px;
		width: 100%;
		padding: 12px 14px !important;
		margin-bottom: 20px !important;
		box-sizing: border-box !important;
	}

	.atp-shop-ordering,
	.woocommerce .woocommerce-ordering,
	.woocommerce-page .woocommerce-ordering {
		width: 100% !important;
		box-sizing: border-box !important;
	}

	.woocommerce .woocommerce-ordering select,
	.woocommerce-page .woocommerce-ordering select {
		width: 100% !important;
		max-width: 100% !important;
		box-sizing: border-box !important;
		padding: 10px 32px 10px 12px !important;
		font-size: 13.5px !important;
		min-height: 42px !important;
	}

	.atp-home-books-section ul.products,
	.home ul.products,
	.front-page ul.products,
	.woocommerce ul.products,
	ul.products {
		grid-template-columns: 1fr !important;
		gap: 24px !important;
		margin-bottom: 24px !important;
		justify-items: center;
	}
}
