:root {
	--cmu-mini-cart-primary: #00416d;
	--cmu-mini-cart-accent: #f28c28;
	--cmu-mini-cart-white: #ffffff;
}

/* Panneau lateral Elementor : plus large sur ordinateur, fluide sur petit ecran. */
body .elementor-menu-cart__container .elementor-menu-cart__main {
	max-width: 100vw !important;
	width: 550px !important;
}

/* Une seule famille typographique pour toutes les informations du produit. */
body .elementor-menu-cart__container .elementor-menu-cart__product,
body .elementor-menu-cart__container .elementor-menu-cart__product *,
body .widget_shopping_cart_content .woocommerce-mini-cart-item,
body .widget_shopping_cart_content .woocommerce-mini-cart-item * {
	font-family: var(--e-global-typography-text-font-family, inherit) !important;
}

/* Davantage de place pour les titres et les informations a droite de l'image. */
body .elementor-menu-cart__container .elementor-menu-cart__product {
	column-gap: 24px !important;
	grid-template-columns: 100px minmax(0, 1fr) 24px !important;
}

body .elementor-menu-cart__container .elementor-menu-cart__product-image {
	width: 100px !important;
}

body .elementor-menu-cart__container .elementor-menu-cart__product-name {
	color: var(--cmu-mini-cart-primary) !important;
	font-size: 16px !important;
	line-height: 1.45 !important;
}

/* Le titre reste l'element distinctif du produit. */
body .elementor-menu-cart__container .elementor-menu-cart__product-name > a,
body .widget_shopping_cart_content .woocommerce-mini-cart-item > a:not(.remove) {
	color: var(--cmu-mini-cart-accent) !important;
	font-size: 18px !important;
	font-weight: 700 !important;
	line-height: 1.35 !important;
}

/* Reference, poids, attributs, variations, quantite et tarif : meme taille et bleu marine. */
body .elementor-menu-cart__container .elementor-menu-cart__product-name p,
body .elementor-menu-cart__container .elementor-menu-cart__product-name strong,
body .elementor-menu-cart__container .elementor-menu-cart__product-name .variation,
body .elementor-menu-cart__container .elementor-menu-cart__product-name .variation dt,
body .elementor-menu-cart__container .elementor-menu-cart__product-name .variation dd,
body .elementor-menu-cart__container .elementor-menu-cart__product-price,
body .elementor-menu-cart__container .elementor-menu-cart__product-price .quantity,
body .elementor-menu-cart__container .elementor-menu-cart__product-price .amount,
body .widget_shopping_cart_content .woocommerce-mini-cart-item .quantity,
body .widget_shopping_cart_content .woocommerce-mini-cart-item .amount,
body .widget_shopping_cart_content .woocommerce-mini-cart-item .variation,
body .widget_shopping_cart_content .woocommerce-mini-cart-item .variation dt,
body .widget_shopping_cart_content .woocommerce-mini-cart-item .variation dd {
	color: var(--cmu-mini-cart-primary) !important;
	font-size: 16px !important;
	line-height: 1.45 !important;
	opacity: 1 !important;
}

body .elementor-menu-cart__container .elementor-menu-cart__product-price,
body .elementor-menu-cart__container .elementor-menu-cart__product-price .quantity,
body .elementor-menu-cart__container .elementor-menu-cart__product-price .amount {
	font-weight: 600 !important;
}

/* Boutons conformes a la charte CMU. */
body .elementor-menu-cart__container .elementor-menu-cart__footer-buttons .elementor-button,
body .widget_shopping_cart_content .woocommerce-mini-cart__buttons .button {
	border: 0 !important;
	border-radius: 10px !important;
	box-shadow: none !important;
	color: var(--cmu-mini-cart-white) !important;
	font-size: 17px !important;
	font-weight: 600 !important;
	transition: background-color 0.2s ease, transform 0.2s ease !important;
}

body .elementor-menu-cart__container .elementor-menu-cart__footer-buttons .elementor-button--view-cart,
body .widget_shopping_cart_content .woocommerce-mini-cart__buttons .button.wc-forward:not(.checkout) {
	background-color: var(--cmu-mini-cart-primary) !important;
}

body .elementor-menu-cart__container .elementor-menu-cart__footer-buttons .elementor-button--checkout,
body .widget_shopping_cart_content .woocommerce-mini-cart__buttons .button.checkout {
	background-color: var(--cmu-mini-cart-accent) !important;
}

body .elementor-menu-cart__container .elementor-menu-cart__footer-buttons .elementor-button--view-cart:hover,
body .elementor-menu-cart__container .elementor-menu-cart__footer-buttons .elementor-button--view-cart:focus,
body .widget_shopping_cart_content .woocommerce-mini-cart__buttons .button.wc-forward:not(.checkout):hover,
body .widget_shopping_cart_content .woocommerce-mini-cart__buttons .button.wc-forward:not(.checkout):focus {
	background-color: #1f8ac2 !important;
}

body .elementor-menu-cart__container .elementor-menu-cart__footer-buttons .elementor-button--checkout:hover,
body .elementor-menu-cart__container .elementor-menu-cart__footer-buttons .elementor-button--checkout:focus,
body .widget_shopping_cart_content .woocommerce-mini-cart__buttons .button.checkout:hover,
body .widget_shopping_cart_content .woocommerce-mini-cart__buttons .button.checkout:focus {
	background-color: var(--cmu-mini-cart-primary) !important;
}

@media (max-width: 767px) {
	body .elementor-menu-cart__container .elementor-menu-cart__main {
		width: 100vw !important;
	}

	body .elementor-menu-cart__container .elementor-menu-cart__product {
		column-gap: 16px !important;
		grid-template-columns: 88px minmax(0, 1fr) 22px !important;
	}

	body .elementor-menu-cart__container .elementor-menu-cart__product-image {
		width: 88px !important;
	}
}

/* Le recapitulatif complet remplace les donnees natives pour eviter les doublons. */
body .elementor-menu-cart__product:has(.cmu-mini-cart-details) .elementor-menu-cart__product-name > dl.variation,
body .woocommerce-mini-cart-item:has(.cmu-mini-cart-details) > dl.variation {
	display: none !important;
}

body .elementor-menu-cart__container .cmu-mini-cart-details,
body .widget_shopping_cart_content .cmu-mini-cart-details {
	display: block !important;
	margin: 6px 0 8px !important;
	color: var(--cmu-mini-cart-primary) !important;
	font-size: 16px !important;
	font-weight: 400 !important;
	line-height: 1.45 !important;
	overflow-wrap: anywhere;
}

body .elementor-menu-cart__container .cmu-mini-cart-details dl.variation,
body .widget_shopping_cart_content .cmu-mini-cart-details dl.variation {
	display: block !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
}

body .cmu-mini-cart-details dl.variation dt {
	display: inline !important;
	float: none !important;
	margin: 0 4px 0 0 !important;
	padding: 0 !important;
	font-weight: 600 !important;
}

body .cmu-mini-cart-details dl.variation dd {
	display: inline !important;
	float: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

body .cmu-mini-cart-details dl.variation dd::after {
	content: "";
	display: block;
	margin-bottom: 3px;
}

body .cmu-mini-cart-details dl.variation dd p {
	display: inline !important;
	margin: 0 !important;
}

/* Les regles de couleur Elementor ciblent aussi les listes internes. */
body .elementor-menu-cart__container .cmu-mini-cart-details dl.variation,
body .elementor-menu-cart__container .cmu-mini-cart-details dl.variation dt,
body .elementor-menu-cart__container .cmu-mini-cart-details dl.variation dd,
body .elementor-menu-cart__container .cmu-mini-cart-details dl.variation dd p {
	color: var(--cmu-mini-cart-primary) !important;
}
