/* PeeweePaw Fiches produit — listes de produits (page d'accueil, boutique, catégories, Braderie et toute page
   qui affiche des produits ; pas la fiche produit ni le panier, qui ont leurs propres suggestions) :
   photo sur fond blanc, puis le nom dans une pastille vert doux et le prix. Pas de contour ni d'ombre. */

body:not(.single-product):not(.woocommerce-cart) ul.products {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 34px 28px;
	margin: 0 !important;
	padding: 0 0 60px !important; /* De l'air sous la dernière ligne (avant le bloc Instagram gris de l'accueil). */
}
/* Page d'accueil (blocs SiteOrigin) : le bloc des produits a une marge négative qui colle la dernière ligne
   au bloc gris suivant ; on l'annule. */
.panel-widget-style:has(ul.products) { margin-bottom: 0 !important; }
body:not(.single-product):not(.woocommerce-cart) ul.products::before,
body:not(.single-product):not(.woocommerce-cart) ul.products::after { display: none !important; }

body:not(.single-product):not(.woocommerce-cart) ul.products li.product {
	position: relative;
	display: flex !important;
	flex-direction: column;
	float: none !important;
	width: auto !important;
	margin: 0 !important;
	padding: 0 0 6px !important;
	background: none;
	text-align: center;
}
body:not(.single-product):not(.woocommerce-cart) ul.products li.product .woocommerce-LoopProduct-link {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	align-items: center;
	text-decoration: none;
}

/* Photo : toute la largeur, sur fond blanc, entière (rien n'est rogné), coins arrondis. */
body:not(.single-product):not(.woocommerce-cart) ul.products li.product img {
	display: block;
	width: 100% !important;
	height: auto !important;
	aspect-ratio: 4 / 3;
	margin: 0 0 12px !important;
	padding: 6px;
	border-radius: 16px !important;
	background: #fff;
	object-fit: contain;
	transition: transform .35s ease;
}
body:not(.single-product):not(.woocommerce-cart) ul.products li.product:hover img { transform: scale(1.03); }

/* Nom dans une pastille vert doux (comme « Fait-main en France » sur la fiche), sur une seule ligne pour que
   toutes les cartes aient la même hauteur : un nom trop long est écrit plus petit (pwpfp-shop.js) ;
   « … » seulement en dernier recours, sous 10 px. */
body:not(.single-product):not(.woocommerce-cart) ul.products li.product .woocommerce-loop-product__title {
	display: block;
	max-width: 100%;
	margin: 0 0 6px !important;
	padding: 6px 14px !important;
	overflow: hidden;
	border-radius: 8px; /* Rectangle aux coins arrondis. */
	background: #edf2ea;
	color: #3f4d38 !important;
	font-size: 14px !important;
	font-weight: 500 !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
	line-height: 1.25 !important;
	white-space: nowrap;
	text-overflow: ellipsis;
	transition: background .2s;
}
body:not(.single-product):not(.woocommerce-cart) ul.products li.product:hover .woocommerce-loop-product__title { background: #dfe8da; }
/* Étoiles masquées dans les listes (elles restent sur la fiche). */
body:not(.single-product):not(.woocommerce-cart) ul.products li.product .star-rating { display: none !important; }
body:not(.single-product):not(.woocommerce-cart) ul.products li.product .price {
	display: block;
	margin: 0 !important;
	padding: 0 !important;
	color: #b0684d !important;
	font-size: 14px !important;
	font-weight: 600;
	line-height: 1.3 !important;
}
body:not(.single-product):not(.woocommerce-cart) ul.products li.product .price del { color: #a99a93 !important; font-weight: 400; }
body:not(.single-product):not(.woocommerce-cart) ul.products li.product .price ins { text-decoration: none; }
body:not(.single-product):not(.woocommerce-cart) ul.products li.product > .button { display: none !important; }

/* Cœur simple, en haut à droite de la photo. */
body:not(.single-product):not(.woocommerce-cart) ul.products li.product .woosw-btn {
	position: absolute;
	top: 10px;
	right: 10px;
	z-index: 2;
	margin: 0 !important;
	padding: 0 !important;
}
body:not(.single-product):not(.woocommerce-cart) ul.products li.product .woosw-btn .woosw-btn-icon { font-size: 22px !important; }

/* « Promo ! » : petite étiquette en haut à gauche. */
body:not(.single-product):not(.woocommerce-cart) ul.products li.product .onsale {
	top: 12px !important;
	right: auto !important;
	left: 12px !important;
	z-index: 2;
	min-width: 0 !important;
	min-height: 0 !important;
	width: auto !important;
	height: auto !important;
	margin: 0 !important;
	padding: 4px 10px !important;
	border-radius: 999px !important;
	font-size: 10px !important;
	line-height: 1.4 !important;
}

@media (max-width: 768px) {
	body:not(.single-product):not(.woocommerce-cart) ul.products {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 16px 12px;
		padding-bottom: 40px !important;
	}
	body:not(.single-product):not(.woocommerce-cart) ul.products li.product .woocommerce-loop-product__title { padding: 5px 10px !important; font-size: 12.5px !important; }
	body:not(.single-product):not(.woocommerce-cart) ul.products li.product .price { font-size: 13px !important; }
}
