/*
 * Habillage VISUEL uniquement des cartes produits WooCommerce
 * (Boutique + "Nos produits" + toute autre grille du site, sauf la
 * recherche). Depuis la 1.0.4, ce fichier ne touche plus à la structure :
 * pas de display, pas de grid-template-columns, pas de float/width forcés.
 *
 * Pourquoi : la disposition (nombre de colonnes, responsive) est décidée
 * soit par WooCommerce, soit par le constructeur de page (Elementor) selon
 * la page. Essayer de l'imposer par-dessus avec !important créait des
 * conflits invisibles (colonnes qui changent d'une rangée à l'autre).
 * On laisse donc la structure à la plateforme, et on habille seulement
 * l'intérieur de chaque carte — d'où le rendu identique sur toutes les
 * pages, quel que soit le nombre de colonnes choisi ailleurs.
 *
 * Tout est en unités fluides (%, aspect-ratio, clamp) pour rester
 * responsive sans avoir à dupliquer des règles par taille d'écran.
 */

body:not(.search-results):not(.search) ul.products li.product {
	position: relative;
	box-sizing: border-box;
	overflow: hidden;
	background: #fff;
	border: 1px solid #e3ece4;
	border-radius: 18px;
	box-shadow: 0 8px 24px rgba(23, 75, 58, 0.06);
	transition: box-shadow 0.2s ease, transform 0.2s ease;
}

body:not(.search-results):not(.search) ul.products li.product:hover {
	box-shadow: 0 14px 32px rgba(23, 75, 58, 0.12);
	transform: translateY(-2px);
}

body:not(.search-results):not(.search) ul.products li.product a {
	display: block;
	color: inherit;
	text-decoration: none;
}

body:not(.search-results):not(.search) ul.products li.product img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 1 / 1;
	object-fit: contain;
	background: #f6f9f4;
	padding: 5%;
	box-sizing: border-box;
}

body:not(.search-results):not(.search) ul.products li.product .woocommerce-loop-product__title {
	margin: 14px 16px 4px;
	font-family: 'Cormorant Garamond', Georgia, serif;
	font-size: clamp(15px, 1.1vw + 12px, 20px);
	font-weight: 600;
	color: #174b3a;
	line-height: 1.25;
}

body:not(.search-results):not(.search) ul.products li.product .price {
	margin: 0 16px 14px;
	font-family: Inter, Arial, sans-serif;
	font-size: 14px;
	font-weight: 700;
	color: #0b9652;
}

body:not(.search-results):not(.search) ul.products li.product .onsale {
	position: absolute;
	top: 12px;
	left: 12px;
	min-width: 0;
	height: auto;
	margin: 0;
	padding: 4px 10px;
	font: 600 11px Inter, Arial, sans-serif;
	line-height: 1;
	color: #fff;
	background: #19533c;
	border-radius: 999px;
}

body:not(.search-results):not(.search) ul.products li.product .button {
	display: block;
	margin: 0 16px 16px;
	padding: 10px 14px;
	font: 600 13px Inter, Arial, sans-serif;
	color: #19533c;
	text-align: center;
	background: #fff;
	border: 1px solid #19533c;
	border-radius: 999px;
	cursor: pointer;
	transition: background 0.2s ease, color 0.2s ease;
}

body:not(.search-results):not(.search) ul.products li.product .button:hover {
	color: #fff;
	background: #19533c;
}
