/* PeeweePaw Fiches produit — « Vous aimerez peut-être aussi… », « Pour compléter la collection » (fiche)
   et les suggestions du panier en cartes, dans le même esprit que la page des favoris
   (cartes blanches arrondies, ombre terracotta, vert doux). */

:is(.single-product section.up-sells, .single-product section.related, .woocommerce-cart .cross-sells) ul.products {
	display: grid !important;
	grid-template-columns: repeat(auto-fit, minmax(190px, 260px));
	justify-content: center;
	gap: 22px;
	margin: 0 0 40px;
	padding: 0;
}
:is(.single-product section.up-sells, .single-product section.related, .woocommerce-cart .cross-sells) ul.products::before,
:is(.single-product section.up-sells, .single-product section.related, .woocommerce-cart .cross-sells) ul.products::after { display: none !important; }

:is(.single-product section.up-sells, .single-product section.related, .woocommerce-cart .cross-sells) ul.products li.product {
	position: relative;
	display: flex !important;
	flex-direction: column;
	float: none !important;
	width: auto !important;
	margin: 0 !important;
	padding: 12px 12px 18px !important;
	border: 1px solid #f3e6df;
	border-radius: 18px;
	background: #fff;
	box-shadow: 0 4px 14px rgba(222, 139, 106, .08);
	text-align: center;
	transition: box-shadow .2s, transform .2s;
}
:is(.single-product section.up-sells, .single-product section.related, .woocommerce-cart .cross-sells) ul.products li.product:hover {
	box-shadow: 0 12px 26px rgba(222, 139, 106, .18);
	transform: translateY(-2px);
}
:is(.single-product section.up-sells, .single-product section.related, .woocommerce-cart .cross-sells) li.product .woocommerce-LoopProduct-link {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	align-items: center;
	text-decoration: none;
}

/* Photo carrée aux coins arrondis (photos sur fond blanc : rien n'est rogné). */
:is(.single-product section.up-sells, .single-product section.related, .woocommerce-cart .cross-sells) li.product img {
	display: block;
	width: 100% !important;
	height: auto;
	aspect-ratio: 1 / 1;
	margin: 0 0 12px !important;
	border-radius: 12px;
	background: #fff;
	object-fit: contain;
}

/* Cœur simple, en haut à droite de la photo. */
:is(.single-product section.up-sells, .single-product section.related, .woocommerce-cart .cross-sells) li.product .woosw-btn {
	position: absolute;
	top: 20px;
	right: 20px;
	z-index: 2;
	width: 38px;
	height: 38px;
	margin: 0 !important;
	padding: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	opacity: 1;
}
:is(.single-product section.up-sells, .single-product section.related, .woocommerce-cart .cross-sells) li.product .woosw-btn .woosw-btn-icon { font-size: 20px !important; }
:is(.single-product section.up-sells, .single-product section.related, .woocommerce-cart .cross-sells) li.product .woosw-btn[disabled] .woosw-btn-icon { opacity: .6; }

/* Pastille « Promo ! » en haut à gauche. */
:is(.single-product section.up-sells, .single-product section.related, .woocommerce-cart .cross-sells) li.product .onsale {
	top: 20px !important;
	right: auto !important;
	left: 20px !important;
	z-index: 2;
	margin: 0 !important;
}

:is(.single-product section.up-sells, .single-product section.related, .woocommerce-cart .cross-sells) li.product .woocommerce-loop-product__title {
	margin: 0 0 6px !important;
	padding: 0 4px !important;
	color: #555;
	font-size: 15px !important;
	font-weight: 600;
	line-height: 1.35;
}
:is(.single-product section.up-sells, .single-product section.related, .woocommerce-cart .cross-sells) li.product .star-rating {
	margin: 0 auto 6px !important;
	font-size: 11px;
}
:is(.single-product section.up-sells, .single-product section.related, .woocommerce-cart .cross-sells) li.product .price {
	margin: 0 0 14px !important;
	color: #de8b6a !important;
	font-size: 14px !important;
	font-weight: 700;
}
:is(.single-product section.up-sells, .single-product section.related, .woocommerce-cart .cross-sells) li.product .price del { color: #999; font-weight: 400; }

/* Bouton « Ajouter au panier » / « Choix des options » des listes : remplacé par « Découvrir » (lien de la carte). */
:is(.single-product section.up-sells, .single-product section.related, .woocommerce-cart .cross-sells) li.product > .button { display: none !important; }

/* Petit bouton « Découvrir » en bas de la carte (vert doux, comme Mon compte). */
:is(.single-product section.up-sells, .single-product section.related, .woocommerce-cart .cross-sells) li.product .woocommerce-LoopProduct-link::after {
	content: "Découvrir";
	display: inline-block;
	margin-top: auto;
	padding: 8px 20px;
	border-radius: 999px;
	background: #edf2ea;
	color: #5b7150;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
	transition: background .2s, color .2s;
}
:is(.single-product section.up-sells, .single-product section.related, .woocommerce-cart .cross-sells) li.product:hover .woocommerce-LoopProduct-link::after {
	background: #6f8763;
	color: #fff;
}

/* Panier : la colonne des suggestions prend toute la largeur, au-dessus du total. */
.woocommerce-cart .cart-collaterals .cross-sells {
	float: none !important;
	width: 100% !important;
	margin-bottom: 30px;
}
.woocommerce-cart .cart-collaterals .cross-sells > h2 { text-align: center; }

/* Bas de fiche et panier : petites cartes, une seule ligne (4 au maximum) pour ne pas alourdir la page. */
:is(.single-product section.up-sells, .single-product section.related, .woocommerce-cart .cross-sells) ul.products {
	grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	grid-auto-flow: column;
	max-width: 760px;
	margin: 0 auto 30px !important;
	gap: 14px !important;
}
:is(.single-product section.up-sells, .single-product section.related, .woocommerce-cart .cross-sells) ul.products li.product:nth-child(n+5) { display: none !important; }
:is(.single-product section.up-sells, .single-product section.related, .woocommerce-cart .cross-sells) ul.products li.product {
	padding: 8px 8px 12px !important;
	border-radius: 14px;
}
:is(.single-product section.up-sells, .single-product section.related, .woocommerce-cart .cross-sells) li.product img { margin-bottom: 8px !important; border-radius: 10px; }
:is(.single-product section.up-sells, .single-product section.related, .woocommerce-cart .cross-sells) li.product .woocommerce-loop-product__title {
	font-size: 12px !important;
	line-height: 1.3;
}
:is(.single-product section.up-sells, .single-product section.related, .woocommerce-cart .cross-sells) li.product .star-rating { display: none !important; }
:is(.single-product section.up-sells, .single-product section.related, .woocommerce-cart .cross-sells) li.product .price { margin-bottom: 8px !important; font-size: 12px !important; }
:is(.single-product section.up-sells, .single-product section.related, .woocommerce-cart .cross-sells) li.product .woocommerce-LoopProduct-link::after { padding: 6px 12px; font-size: 10px; }
:is(.single-product section.up-sells, .single-product section.related, .woocommerce-cart .cross-sells) li.product .woosw-btn { top: 12px; right: 12px; width: 28px; height: 28px; }
:is(.single-product section.up-sells, .single-product section.related, .woocommerce-cart .cross-sells) li.product .woosw-btn .woosw-btn-icon { font-size: 15px !important; }
:is(.single-product section.up-sells, .single-product section.related, .woocommerce-cart .cross-sells) li.product .onsale {
	top: 12px !important;
	left: 12px !important;
	min-width: 0 !important;
	min-height: 0 !important;
	width: auto !important;
	height: auto !important;
	padding: 3px 8px !important;
	border-radius: 999px !important;
	font-size: 9px !important;
	line-height: 1.4 !important;
}

/* Bas de fiche : la ligne de 4 prend toute la largeur du texte descriptif au-dessus. */
:is(.single-product section.up-sells, .single-product section.related) ul.products {
	max-width: none;
	gap: 20px !important;
}
:is(.single-product section.up-sells, .single-product section.related) ul.products li.product { padding: 12px 12px 16px !important; }
:is(.single-product section.up-sells, .single-product section.related) li.product .woocommerce-loop-product__title { font-size: 14px !important; }
:is(.single-product section.up-sells, .single-product section.related) li.product .price { font-size: 13px !important; }

@media (max-width: 600px) {
	/* Sur téléphone : 2 × 2, tout visible d'un coup (rien à faire défiler). */
	:is(.single-product section.up-sells, .single-product section.related, .woocommerce-cart .cross-sells) ul.products {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		grid-auto-flow: row;
		gap: 10px !important;
	}
	:is(.single-product section.up-sells, .single-product section.related, .woocommerce-cart .cross-sells) li.product .woocommerce-loop-product__title { font-size: 12px !important; }
}
