/* Side cart of the header (Elementor Pro Menu Cart, widget .biothala-cart): forest / ivory / gold, Lora title, Mulish text.
   Elementor's own widget CSS is very specific, hence the !important on colours and sizes. */
.biothala-cart {
	--mc-forest: #15362D;
	--mc-ivory: #F3EBDD;
	--mc-paper: #FFFDF8;
	--mc-gold: #D9A321;
	--mc-ink: #202622;
	--mc-muted: #59645F;
	--mc-line: #E4DED2;
}
.biothala-cart .elementor-menu-cart__container { background: rgba(21, 54, 45, .45) !important; }
.biothala-cart .elementor-menu-cart__main {
	width: 410px !important;
	max-width: 100vw;
	padding: 0 !important;
	background: var(--mc-paper) !important;
	box-shadow: -12px 0 32px rgba(0, 0, 0, .14);
	font-family: Mulish, system-ui, sans-serif;
	display: flex !important;
	flex-direction: column;
}
.biothala-cart .elementor-menu-cart__close-button {
	position: absolute !important;
	top: 16px;
	right: 16px;
	z-index: 2;
	width: 40px !important;
	height: 40px !important;
	margin: 0 !important;
	border-radius: 50%;
	transition: background-color .2s;
}
.biothala-cart .elementor-menu-cart__close-button:hover { background: var(--mc-ivory); }
.biothala-cart .elementor-menu-cart__close-button::before,
.biothala-cart .elementor-menu-cart__close-button::after { left: 9px !important; width: 22px !important; height: 2px !important; background: var(--mc-forest) !important; }
.biothala-cart .widget_shopping_cart_content { display: flex; flex-direction: column; flex: 1; min-height: 0; }

/* Title + free shipping */
.bt-mc-head { display: flex; align-items: baseline; gap: 10px; padding: 24px 64px 16px 24px; border-bottom: 1px solid var(--mc-line); }
.bt-mc-title { margin: 0 !important; font: 700 24px/1.2 Lora, Georgia, serif; color: var(--mc-forest); }
.bt-mc-count { font-size: 14px; font-weight: 600; color: var(--mc-muted); }
.bt-mc-ship { margin: 0 24px; padding: 14px 0 16px; border-bottom: 1px solid var(--mc-line); }
.bt-mc-ship p { margin: 0 0 9px !important; font-size: 14px; line-height: 1.45; color: var(--mc-ink); }
.bt-mc-ship strong, .bt-mc-ship .amount { color: var(--mc-forest); font-weight: 800; }
.bt-mc-bar { display: block; height: 6px; overflow: hidden; border-radius: 999px; background: var(--mc-ivory); }
.bt-mc-bar span { display: block; height: 100%; border-radius: inherit; background: var(--mc-gold); transition: width .4s ease; }
.bt-mc-ship.is-done .bt-mc-bar span { background: var(--mc-forest); }

/* Items (the list scrolls, totals and buttons stay at the bottom) */
.biothala-cart .elementor-menu-cart__products { display: block !important; flex: 1; min-height: 0; overflow-y: auto; padding: 0 !important; margin: 0 !important; }
.biothala-cart .elementor-menu-cart__product {
	display: grid !important;
	grid-template-columns: 76px minmax(0, 1fr) 32px !important;
	grid-template-rows: auto auto;
	column-gap: 14px !important;
	align-items: start;
	margin: 0 24px !important;
	padding: 16px 0 !important;
	border-bottom: 1px solid var(--mc-line) !important;
}
.biothala-cart .elementor-menu-cart__product:last-child { border-bottom: 0 !important; }
.biothala-cart .elementor-menu-cart__product-image { grid-row: 1 / span 2; grid-column: 1; width: 76px !important; margin: 0 !important; }
.biothala-cart .elementor-menu-cart__product-image img { width: 76px !important; height: 76px !important; object-fit: contain; border-radius: 8px; background: #fff; border: 1px solid var(--mc-line); }
.biothala-cart .elementor-menu-cart__product-name { grid-column: 2; grid-row: 1; margin: 0 0 6px !important; padding: 0 !important; }
.biothala-cart .elementor-menu-cart__product-name a { font-family: Mulish, system-ui, sans-serif !important; color: var(--mc-ink) !important; font-size: 15px !important; font-weight: 700 !important; line-height: 1.35 !important; text-decoration: none !important; }
.biothala-cart .elementor-menu-cart__product-name a:hover { color: var(--mc-forest) !important; text-decoration: underline !important; }
.biothala-cart .elementor-menu-cart__product-price { grid-column: 2; grid-row: 2; margin: 0 !important; padding: 0 !important; }
.biothala-cart .elementor-menu-cart__product-price,
.biothala-cart .elementor-menu-cart__product-price .quantity { color: var(--mc-muted) !important; font-size: 14px !important; font-weight: 600 !important; }
.biothala-cart .elementor-menu-cart__product-price .amount { color: var(--mc-forest) !important; font-weight: 800 !important; }
.biothala-cart .elementor-menu-cart__product-remove {
	grid-column: 3; grid-row: 1;
	position: relative !important; top: auto !important; right: auto !important; bottom: auto !important;
	width: 32px !important; height: 32px !important; margin: 0 !important;
	border: 0 !important; border-radius: 50%; transition: background-color .2s;
}
.biothala-cart .elementor-menu-cart__product-remove:hover { background: var(--mc-ivory); }
.biothala-cart .elementor-menu-cart__product-remove::before,
.biothala-cart .elementor-menu-cart__product-remove::after { width: 14px !important; height: 1.5px !important; background: var(--mc-muted) !important; left: 9px !important; top: 15px !important; }
.biothala-cart .elementor-menu-cart__product-remove > a { z-index: 2; }

/* Totals and actions */
.biothala-cart .elementor-menu-cart__subtotal {
	display: flex !important; justify-content: space-between; align-items: baseline;
	margin: 0 !important; padding: 18px 24px 4px !important;
	border-top: 1px solid var(--mc-line) !important; border-bottom: 0 !important;
	font-size: 16px !important; color: var(--mc-ink) !important; text-align: left !important;
}
.biothala-cart .elementor-menu-cart__subtotal strong { font-weight: 700; }
.biothala-cart .elementor-menu-cart__subtotal .amount { color: var(--mc-forest) !important; font-size: 20px !important; font-weight: 800 !important; }
.biothala-cart .elementor-menu-cart__footer-buttons {
	display: flex !important; flex-direction: column-reverse; gap: 10px !important;
	margin: 0 !important; padding: 14px 24px 22px !important;
}
.biothala-cart .elementor-menu-cart__footer-buttons::after {
	content: "Paiement à la livraison";
	order: -1;
	padding-top: 2px;
	font-size: 13px; font-weight: 600; text-align: center; color: var(--mc-muted);
}
.biothala-cart .elementor-menu-cart__footer-buttons .elementor-button {
	display: flex !important; align-items: center; justify-content: center;
	width: 100% !important; min-height: 50px; margin: 0 !important; padding: 0 20px !important;
	border-radius: 8px !important; font-family: Mulish, sans-serif !important; font-size: 15px !important; font-weight: 800 !important;
	transition: background-color .2s, color .2s, border-color .2s;
}
.biothala-cart .elementor-button--checkout { background: var(--mc-forest) !important; color: var(--mc-paper) !important; border: 1px solid var(--mc-forest) !important; }
.biothala-cart .elementor-button--checkout:hover { background: #1E4A3D !important; }
.biothala-cart .elementor-button--view-cart { background: transparent !important; color: var(--mc-forest) !important; border: 1px solid var(--mc-forest) !important; }
.biothala-cart .elementor-button--view-cart:hover { background: var(--mc-ivory) !important; }
.biothala-cart .elementor-button:focus-visible,
.biothala-cart .elementor-menu-cart__close-button:focus-visible { outline: 3px solid var(--mc-gold); outline-offset: 2px; }

/* Empty cart */
.biothala-cart .woocommerce-mini-cart__empty-message { margin: auto 24px !important; padding: 40px 0 !important; text-align: center; font-size: 16px !important; font-weight: 600; color: var(--mc-muted) !important; }

@media (max-width: 480px) {
	.biothala-cart .elementor-menu-cart__main { width: 100vw !important; }
	.bt-mc-head { padding: 20px 60px 14px 18px; }
	.bt-mc-ship, .biothala-cart .elementor-menu-cart__product { margin-left: 18px !important; margin-right: 18px !important; }
	.biothala-cart .elementor-menu-cart__subtotal, .biothala-cart .elementor-menu-cart__footer-buttons { padding-left: 18px !important; padding-right: 18px !important; }
}
@media (prefers-reduced-motion: reduce) { .bt-mc-bar span { transition: none; } }

/* The floating WhatsApp button covered the cart buttons while the side cart is open. */
body:has(.biothala-cart.elementor-menu-cart--shown) .bt-wa { display: none !important; }
.biothala-cart .woocommerce-mini-cart__empty-message { display: flex; flex-direction: column; align-items: center; gap: 18px; font-family: Mulish, system-ui, sans-serif !important; }
.biothala-cart .bt-mc-empty-cta { display: inline-flex; align-items: center; justify-content: center; min-height: 50px; padding: 0 28px; border-radius: 8px; background: var(--mc-forest); color: var(--mc-paper) !important; font-size: 15px; font-weight: 800; text-decoration: none !important; }
.biothala-cart .bt-mc-empty-cta:hover { background: #1E4A3D; }
