/**
 * Mini-panier Elementor (header #73) — style PEPS 2026.
 * Corrige le hover magenta/cyan et aligne l’encart side-cart sur la charte.
 */

.elementor-widget-woocommerce-menu-cart {
	--peps-pink: #e84d8a;
	--peps-pink-dark: #d43d78;
	--peps-pink-soft: #ffeffc;
	--peps-yellow: #fffebf;
	--peps-ink: #3d2b32;
	--peps-muted: #5a4f55;
	--peps-border: rgba(232, 77, 138, 0.22);

	/* Override variables Elementor (globals néon) */
	--toggle-button-icon-color: var(--peps-pink) !important;
	--toggle-button-icon-hover-color: var(--peps-pink-dark) !important;
	--toggle-button-hover-background-color: rgba(232, 77, 138, 0.1) !important;
	--toggle-button-hover-border-color: transparent !important;
	--toggle-button-hover-text-color: var(--peps-ink) !important;
	--items-indicator-background-color: var(--peps-pink) !important;
	--items-indicator-text-color: #fff !important;
	--cart-close-button-color: var(--peps-muted) !important;
	--cart-close-button-hover-color: var(--peps-pink) !important;
	--remove-item-button-color: var(--peps-muted) !important;
	--remove-item-button-hover-color: var(--peps-pink) !important;
	--view-cart-button-text-color: #fff !important;
	--view-cart-button-background-color: var(--peps-pink) !important;
	--view-cart-button-hover-text-color: #fff !important;
	--view-cart-button-hover-background-color: var(--peps-pink-dark) !important;
	--checkout-button-text-color: var(--peps-ink) !important;
	--checkout-button-background-color: var(--peps-yellow) !important;
	--checkout-button-hover-text-color: var(--peps-ink) !important;
	--checkout-button-hover-background-color: #fff59a !important;
}

/* —— Icône panier (toggle) —— */
.elementor-menu-cart__toggle .elementor-button {
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
	border-radius: 999px !important;
	padding: 8px 10px !important;
	transition: background 0.2s ease, transform 0.2s ease !important;
}

.elementor-menu-cart__toggle .elementor-button:hover,
.elementor-menu-cart__toggle .elementor-button:focus {
	background: rgba(232, 77, 138, 0.1) !important;
	border: 0 !important;
	box-shadow: none !important;
	color: var(--peps-ink, #3d2b32) !important;
}

.elementor-menu-cart__toggle .elementor-button:hover .elementor-button-icon,
.elementor-menu-cart__toggle .elementor-button:hover svg,
.elementor-menu-cart__toggle .elementor-button:focus .elementor-button-icon,
.elementor-menu-cart__toggle .elementor-button:focus svg {
	color: #d43d78 !important;
	fill: #d43d78 !important;
}

.elementor-menu-cart__toggle .elementor-button-text {
	font-family: Poppins, "Trebuchet MS", Arial, sans-serif !important;
	font-size: 13px !important;
	font-weight: 500 !important;
	color: #3d2b32 !important;
}

.elementor-menu-cart__toggle .elementor-button-icon-qty[data-counter] {
	background: #e84d8a !important;
	color: #fff !important;
	font-family: Poppins, "Trebuchet MS", Arial, sans-serif !important;
	font-weight: 600 !important;
	border: 2px solid #fff !important;
	box-shadow: 0 2px 8px rgba(232, 77, 138, 0.35) !important;
}

/* —— Panneau side-cart (toujours à DROITE) —— */
.elementor-widget-woocommerce-menu-cart,
.elementor-menu-cart--cart-type-side-cart {
	--side-cart-alignment-transform: translateX(100%) !important;
	--side-cart-alignment-left: auto !important;
	--side-cart-alignment-right: 0 !important;
	--direction-multiplier: 1 !important;
}

body:not(.rtl) .elementor-menu-cart--cart-type-side-cart .elementor-menu-cart__main,
body:not(.rtl) .elementor-widget-woocommerce-menu-cart .elementor-menu-cart__main {
	/* Ne pas forcer position:relative — casse le side-cart fixed */
	background: linear-gradient(180deg, #fff 0%, #fff9fc 100%) !important;
	border-left: 1px solid rgba(232, 77, 138, 0.18) !important;
	border-right: 0 !important;
	box-shadow: -18px 0 48px rgba(61, 43, 50, 0.12) !important;
	font-family: Poppins, "Trebuchet MS", Arial, sans-serif !important;
	color: #5a4f55 !important;
	padding: 0 !important;
	left: auto !important;
	right: 0 !important;
	inset-inline-start: auto !important;
	inset-inline-end: 0 !important;
}

.elementor-menu-cart__main::before {
	content: "Votre panier";
	display: block;
	flex: 0 0 auto;
	padding: 20px 52px 14px 20px;
	font-family: "Cormorant Garamond", Georgia, "Times New Roman", serif;
	font-size: 1.55rem;
	font-weight: 500;
	font-style: italic;
	line-height: 1.15;
	letter-spacing: 0.02em;
	color: #3d2b32;
	border-bottom: 1px solid rgba(232, 77, 138, 0.14);
}

.elementor-menu-cart__close-button,
.elementor-menu-cart__close-button-custom {
	position: absolute !important;
	top: 16px !important;
	right: 14px !important;
	left: auto !important;
	margin: 0 !important;
	z-index: 5 !important;
	align-self: auto !important;
}

.elementor-menu-cart__close-button:after,
.elementor-menu-cart__close-button:before,
.elementor-menu-cart__close-button-custom:after,
.elementor-menu-cart__close-button-custom:before {
	background: #5a4f55 !important;
	transition: background 0.2s ease !important;
}

.elementor-menu-cart__close-button:hover:after,
.elementor-menu-cart__close-button:hover:before,
.elementor-menu-cart__close-button-custom:hover:after,
.elementor-menu-cart__close-button-custom:hover:before {
	background: #e84d8a !important;
}

.elementor-menu-cart__main .widget_shopping_cart_content {
	padding: 8px 0 0 !important;
	box-sizing: border-box !important;
}

/* —— Lignes produits —— */
.elementor-menu-cart__product {
	display: grid !important;
	grid-template-columns: 72px minmax(0, 1fr) !important;
	grid-template-rows: auto auto !important;
	column-gap: 12px !important;
	row-gap: 4px !important;
	align-items: start !important;
	padding: 14px 44px 14px 16px !important;
	border-bottom: 1px solid rgba(232, 77, 138, 0.12) !important;
	box-sizing: border-box !important;
}

.elementor-menu-cart__product-image {
	grid-column: 1 !important;
	grid-row: 1 / span 2 !important;
	width: 72px !important;
}

.elementor-menu-cart__product-image img {
	width: 72px !important;
	height: 72px !important;
	object-fit: cover !important;
	border-radius: 14px !important;
	border: 1px solid rgba(232, 77, 138, 0.16) !important;
	background: #fff !important;
}

.elementor-menu-cart__product-name {
	grid-column: 2 !important;
	grid-row: 1 !important;
	padding-inline-start: 0 !important;
	padding-right: 0 !important;
	min-width: 0 !important;
	overflow-wrap: anywhere !important;
	word-break: break-word !important;
}

.elementor-menu-cart__product-name a {
	font-family: Poppins, "Trebuchet MS", Arial, sans-serif !important;
	font-size: 13px !important;
	font-weight: 500 !important;
	line-height: 1.35 !important;
	color: #3d2b32 !important;
	text-decoration: none !important;
	transition: color 0.2s ease !important;
}

.elementor-menu-cart__product-name a:hover {
	color: #e84d8a !important;
}

/* Variations : garder la grille Elementor, sans coller à droite */
.elementor-menu-cart__product .variation {
	display: grid !important;
	grid-template-columns: auto minmax(0, 1fr) !important;
	column-gap: 6px !important;
	margin: 6px 0 0 !important;
	font-size: 12px !important;
	line-height: 1.4 !important;
	color: #5a4f55 !important;
}

.elementor-menu-cart__product .variation dt,
.elementor-menu-cart__product .variation dd {
	display: block !important;
	float: none !important;
	margin: 0 !important;
	min-width: 0 !important;
}

.elementor-menu-cart__product .variation dd p {
	margin: 0 !important;
	overflow-wrap: anywhere !important;
}

.elementor-menu-cart__product-price {
	grid-column: 2 !important;
	grid-row: 2 !important;
	padding-inline-start: 0 !important;
	font-family: Poppins, "Trebuchet MS", Arial, sans-serif !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	color: #e84d8a !important;
	align-self: start !important;
}

.elementor-menu-cart__product-remove {
	position: absolute !important;
	top: 14px !important;
	right: 14px !important;
	bottom: auto !important;
	inset-inline-end: 14px !important;
	transform: none !important;
}

.elementor-menu-cart__products .cart_item:not(:first-of-type) .elementor-menu-cart__product-remove {
	top: 14px !important;
}

.elementor-menu-cart__product-remove:hover {
	border-color: rgba(232, 77, 138, 0.35) !important;
	background: rgba(232, 77, 138, 0.08) !important;
}

/* —— Sous-total —— */
.elementor-menu-cart__subtotal {
	padding: 16px 20px !important;
	border-top: 1px solid rgba(232, 77, 138, 0.14) !important;
	font-family: Poppins, "Trebuchet MS", Arial, sans-serif !important;
	font-size: 15px !important;
	color: #3d2b32 !important;
}

.elementor-menu-cart__subtotal strong {
	font-weight: 500 !important;
}

/* Sous-total FR (corrige Subtotal anglais / TRP) */
html[lang^="fr"] .elementor-menu-cart__subtotal strong,
html:lang(fr) .elementor-menu-cart__subtotal strong {
	font-size: 0 !important;
	letter-spacing: 0 !important;
}

html[lang^="fr"] .elementor-menu-cart__subtotal strong::before,
html:lang(fr) .elementor-menu-cart__subtotal strong::before {
	content: "Sous-total";
	font-size: 15px;
	font-weight: 500;
	letter-spacing: normal;
	color: #3d2b32;
}

html[lang^="fr"] .elementor-menu-cart__subtotal strong::after,
html:lang(fr) .elementor-menu-cart__subtotal strong::after {
	content: " :";
	font-size: 15px;
	font-weight: 500;
	color: #3d2b32;
}

.elementor-menu-cart__subtotal .amount {
	font-weight: 700 !important;
	color: #e84d8a !important;
}

/* —— Boutons pied de panier —— */
.elementor-menu-cart__footer-buttons {
	display: grid !important;
	grid-template-columns: 1fr 1fr !important;
	gap: 10px !important;
	padding: 6px 16px 22px !important;
	box-sizing: border-box !important;
}

.elementor-menu-cart__footer-buttons .elementor-button {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 100% !important;
	min-height: 46px !important;
	padding: 12px 14px !important;
	border: 1.5px solid transparent !important;
	border-radius: 999px !important;
	font-family: Poppins, "Trebuchet MS", Arial, sans-serif !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	line-height: 1.2 !important;
	text-transform: none !important;
	letter-spacing: 0.01em !important;
	box-shadow: none !important;
	transition:
		background 0.2s ease,
		border-color 0.2s ease,
		color 0.2s ease,
		transform 0.2s ease,
		box-shadow 0.2s ease !important;
}

.elementor-menu-cart__footer-buttons .elementor-button--view-cart {
	background: #e84d8a !important;
	border-color: #e84d8a !important;
	color: #fff !important;
	box-shadow: 0 8px 20px rgba(232, 77, 138, 0.22) !important;
}

.elementor-menu-cart__footer-buttons .elementor-button--view-cart:hover,
.elementor-menu-cart__footer-buttons .elementor-button--view-cart:focus {
	background: #d43d78 !important;
	border-color: #d43d78 !important;
	color: #fff !important;
	transform: translateY(-1px);
	box-shadow: 0 10px 24px rgba(232, 77, 138, 0.28) !important;
}

.elementor-menu-cart__footer-buttons .elementor-button--checkout {
	background: #fffebf !important;
	border-color: rgba(232, 77, 138, 0.28) !important;
	color: #3d2b32 !important;
}

.elementor-menu-cart__footer-buttons .elementor-button--checkout:hover,
.elementor-menu-cart__footer-buttons .elementor-button--checkout:focus {
	background: #fff59a !important;
	border-color: #e84d8a !important;
	color: #3d2b32 !important;
	transform: translateY(-1px);
	box-shadow: 0 8px 18px rgba(232, 77, 138, 0.12) !important;
}

/*
 * Libellés FR forcés (corrige le bug AJAX TranslatePress
 * qui renvoie parfois l’espagnol sur le site français).
 */
html[lang^="fr"] .elementor-menu-cart__footer-buttons .elementor-button--view-cart .elementor-button-text,
html:lang(fr) .elementor-menu-cart__footer-buttons .elementor-button--view-cart .elementor-button-text {
	font-size: 0 !important;
	line-height: 0 !important;
}

html[lang^="fr"] .elementor-menu-cart__footer-buttons .elementor-button--view-cart .elementor-button-text::after,
html:lang(fr) .elementor-menu-cart__footer-buttons .elementor-button--view-cart .elementor-button-text::after {
	content: "Panier";
	font-size: 13px;
	line-height: 1.2;
	font-weight: 600;
	color: inherit;
}

html[lang^="fr"] .elementor-menu-cart__footer-buttons .elementor-button--checkout .elementor-button-text,
html:lang(fr) .elementor-menu-cart__footer-buttons .elementor-button--checkout .elementor-button-text {
	font-size: 0 !important;
	line-height: 0 !important;
}

html[lang^="fr"] .elementor-menu-cart__footer-buttons .elementor-button--checkout .elementor-button-text::after,
html:lang(fr) .elementor-menu-cart__footer-buttons .elementor-button--checkout .elementor-button-text::after {
	content: "Commander";
	font-size: 13px;
	line-height: 1.2;
	font-weight: 600;
	color: inherit;
}

/* —— Message panier vide —— */
.elementor-menu-cart__main .woocommerce-mini-cart__empty-message {
	margin: 28px 16px !important;
	padding: 22px 18px !important;
	border: 1px dashed rgba(232, 77, 138, 0.28) !important;
	border-radius: 18px !important;
	background: rgba(255, 239, 252, 0.65) !important;
	font-family: Poppins, "Trebuchet MS", Arial, sans-serif !important;
	font-size: 14px !important;
	line-height: 1.5 !important;
	text-align: center !important;
	color: #5a4f55 !important;
}

/* Overlay side-cart */
.elementor-menu-cart__container.elementor-lightbox::before {
	background: rgba(61, 43, 50, 0.35) !important;
}

@media (max-width: 767px) {
	.elementor-menu-cart__footer-buttons {
		grid-template-columns: 1fr !important;
		padding: 6px 14px 20px !important;
	}

	.elementor-menu-cart__product {
		padding: 14px 40px 14px 14px !important;
		grid-template-columns: 64px minmax(0, 1fr) !important;
	}

	.elementor-menu-cart__product-image,
	.elementor-menu-cart__product-image img {
		width: 64px !important;
		height: 64px !important;
	}

	.elementor-menu-cart__main::before {
		font-size: 1.4rem;
		padding: 18px 48px 12px 16px;
	}
}
