/**
 * Leshop17 — CSS custom local
 * Modifier ce fichier pour tous les styles custom (mu-plugins PHP = logique uniquement).
 */

/* ==========================================================================
   Badges solde YayPricing (global)
   ========================================================================== */

.yaydp-sale-tag {
	background-color: transparent !important;
	border: 1px solid #dc2626 !important;
	border-color: #dc2626 !important;
	color: #dc2626 !important;
}

/* ==========================================================================
   Jet Listing — prix YayPricing + badges + catégories
   ========================================================================== */

.jet-listing-grid .jet-woo-builder-archive-product-thumbnail__wrapper {
	position: relative;
}

/* Prix listing : del = ancien prix barré, ins = promo sans soulignement */
.jet-listing-grid .yaydp-discounted-price,
.jet-listing-grid .jet-listing .price {
	display: inline-flex;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: center;
	gap: 0.35em;
}

.jet-listing-grid .yaydp-discounted-price del,
.jet-listing-grid .jet-listing .price del,
.jet-listing .yaydp-discounted-price del,
.jet-listing .price del {
	text-decoration: line-through;
	opacity: 0.6;
	font-weight: 400;
}

.jet-listing-grid .yaydp-discounted-price ins,
.jet-listing-grid .jet-listing .price ins,
.jet-listing .yaydp-discounted-price ins,
.jet-listing .price ins {
	text-decoration: none !important;
	font-weight: 700;
	background: none;
}

/* Conteneur vignette : ancrage badge solde */
.jet-listing-grid .elementor-3341 .elementor-element-8a8cff2 {
	position: relative;
}

/* Catégorie listing : masquée sur la vignette (boutique, accueil, fiche produit) */
.jet-listing-grid .elementor-3341 .elementor-element-66f3461,
.jet-listing-grid .elementor-3341 .elementor-element-e68b4a2,
.jet-listing-grid .elementor-1382 .elementor-element-898a75e {
	display: none !important;
}

/* Badge solde listing : haut droite, visible (override style inline YayPricing) */
.jet-listing-grid .jet-woo-builder-archive-product-thumbnail {
	position: relative;
}

.jet-listing-grid .jet-woo-builder-archive-product-thumbnail .yaydp-sale-tag,
.jet-listing-grid .yaydp-sale-tag {
	position: absolute !important;
	top: 12px !important;
	right: 12px !important;
	left: auto !important;
	z-index: 5;
	min-height: 22px;
	padding: 2px 12px 2px 8px !important;
	font-size: 11px;
	line-height: 1.15;
}

/* Accueil mobile — badge solde sous l'image, au-dessus du titre (DOM déplacé en JS) */
@media (max-width: 767px) {
	.home .jet-listing-grid .yaydp-sale-tag.leshop17-sale-badge-above-title {
		position: static !important;
		top: auto !important;
		right: auto !important;
		bottom: auto !important;
		left: auto !important;
		transform: none !important;
		display: inline-flex !important;
		align-items: center;
		justify-content: center;
		width: fit-content;
		max-width: 100%;
		margin: 6px auto 4px;
		z-index: auto;
	}
}

/* ==========================================================================
   Panier latéral — vignettes + footer (popup Elementor + Menu Cart)
   ========================================================================== */

:root {
	--leshop17-cart-thumb-size: 110px;
}

/* Popup Elementor « Mon panier » (ID 2568) — widget WooCommerce Cart */
.elementor-2568.elementor-location-popup .elementor-widget-woocommerce-cart .woocommerce table.cart td.product-thumbnail,
.elementor-location-popup .elementor-widget-woocommerce-cart .woocommerce table.cart td.product-thumbnail {
	width: var(--leshop17-cart-thumb-size) !important;
	min-width: var(--leshop17-cart-thumb-size) !important;
	max-width: var(--leshop17-cart-thumb-size) !important;
}

.elementor-2568.elementor-location-popup .elementor-widget-woocommerce-cart .woocommerce table.cart td.product-thumbnail a,
.elementor-location-popup .elementor-widget-woocommerce-cart .woocommerce table.cart td.product-thumbnail a {
	display: block !important;
	width: var(--leshop17-cart-thumb-size) !important;
}

.elementor-2568.elementor-location-popup .elementor-widget-woocommerce-cart .woocommerce table.cart img,
.elementor-location-popup .elementor-widget-woocommerce-cart .woocommerce table.cart img {
	display: block !important;
	width: var(--leshop17-cart-thumb-size) !important;
	height: var(--leshop17-cart-thumb-size) !important;
	min-width: var(--leshop17-cart-thumb-size) !important;
	max-width: none !important;
	object-fit: cover !important;
}

/* Side-cart Elementor (header, widget f1b738b) */
.elementor-widget-woocommerce-menu-cart.elementor-menu-cart--cart-type-side-cart .elementor-menu-cart__product {
	grid-template-columns: var(--leshop17-cart-thumb-size) minmax(0, 1fr) !important;
}

.elementor-widget-woocommerce-menu-cart .elementor-menu-cart__product-image {
	width: var(--leshop17-cart-thumb-size) !important;
	min-width: var(--leshop17-cart-thumb-size) !important;
}

.elementor-widget-woocommerce-menu-cart .elementor-menu-cart__product-image a,
.elementor-widget-woocommerce-menu-cart .elementor-menu-cart__product-image img {
	width: var(--leshop17-cart-thumb-size) !important;
	height: var(--leshop17-cart-thumb-size) !important;
	max-width: none !important;
	object-fit: cover !important;
}

/* Remonter « Voir le panier » / « Commander »
   Cause : --cart-buttons-position-margin:auto (réglage Elementor « Bottom ») pousse le footer en bas du viewport.
   Spécificité > post-1616.css (.elementor-element-f1b738b) pour écraser la variable héritée. */
.elementor-widget-woocommerce-menu-cart.elementor-menu-cart--cart-type-side-cart.elementor-element-f1b738b,
.elementor-widget-woocommerce-menu-cart.elementor-menu-cart--cart-type-side-cart {
	--cart-buttons-position-margin: 0;
	--product-divider-gap: 20px;
}

.elementor-widget-woocommerce-menu-cart.elementor-menu-cart--cart-type-side-cart .elementor-menu-cart__main .widget_shopping_cart_content {
	justify-content: flex-start;
	height: auto;
	min-height: 0;
}

.elementor-widget-woocommerce-menu-cart.elementor-menu-cart--cart-type-side-cart .elementor-menu-cart__subtotal {
	padding-bottom: 12px;
}

.elementor-widget-woocommerce-menu-cart.elementor-menu-cart--cart-type-side-cart .elementor-menu-cart__footer-buttons {
	margin-top: 16px !important;
	margin-bottom: 0 !important;
	padding-bottom: 12px;
}

@media (max-width: 767px) {
	:root {
		--leshop17-cart-thumb-size: 100px;
	}

	.elementor-2568.elementor-location-popup .elementor-widget-woocommerce-cart .woocommerce table.cart td.product-thumbnail,
	.elementor-location-popup .elementor-widget-woocommerce-cart .woocommerce table.cart td.product-thumbnail {
		display: block !important;
		text-align: left !important;
		padding-bottom: 12px !important;
	}

	.elementor-2568.elementor-location-popup .elementor-widget-woocommerce-cart .woocommerce table.cart td.product-thumbnail::before,
	.elementor-location-popup .elementor-widget-woocommerce-cart .woocommerce table.cart td.product-thumbnail::before {
		display: none !important;
	}
}

/* ==========================================================================
   Listing — swatches tailles (ShopEngine)
   ========================================================================== */

.jet-listing-grid .shopengine-swatches .variations td.label {
	display: none;
}

.jet-listing-grid .shopengine-swatches .variations {
	margin: 0;
	border: none;
}

.jet-listing-grid .shopengine-swatches .shopengine_swatches {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	justify-content: center;
	margin: 8px 0;
}

.jet-listing-grid .shopengine-swatches .swatch.swatch_label {
	margin-right: 0;
	min-width: 32px;
	min-height: 32px;
	font-size: 12px;
}

.jet-listing-grid .shopengine-swatches a.reset_variations {
	display: none;
}
