.lft-side-cart-product-notice {
	background: #fff5f3;
	border: 1px solid #f1b8ae;
	border-radius: 10px;
	color: #9f2f22;
	font-size: 14px;
	line-height: 1.45;
	margin: 0 0 14px;
	padding: 11px 14px;
}

.lft-side-cart-product-notice:focus-visible {
	outline: 3px solid rgba(30, 91, 140, .2);
	outline-offset: 2px;
}

/*
 * WP Rocket peut servir une ancienne quantité dans le HTML public. Le script
 * remplace cette valeur depuis le cookie WooCommerce avant de retirer la classe.
 * Le fallback d'une seconde évite de masquer durablement le badge si JS échoue.
 */
body.lft-side-cart-count-pending .header-cart-link .cart-icon strong,
body.lft-side-cart-count-pending .header-cart-link .cart-count,
body.lft-side-cart-count-pending [data-lft-cart-count],
body.lft-side-cart-count-pending .header-cart-link [data-icon-label]::after,
body.lft-side-cart-count-pending .header-cart-link .icon-shopping-basket::after {
	visibility: hidden;
	animation: lft-side-cart-count-fallback 0s linear 3s forwards;
}

@keyframes lft-side-cart-count-fallback {
	to { visibility: visible; }
}

.lft-side-cart {
	--lft-blue: #013a68;
	--lft-blue-soft: #f2f8fc;
	--lft-blue-line: #c7ddeb;
	--lft-field-focus-blue: #3f9ed6;
	--lft-action-blue: #0b63ce;
	--lft-action-blue-hover: #084fa8;
	--lft-green: #02ca53;
	--lft-ink: #415157;
	--lft-copy: #52676e;
	--lft-muted: #6d7d82;
	--lft-line: #e2e9eb;
	--lft-page-bg: #f5f7f8;
	--lft-price: #10191d;
	--lft-footer-bg: #fff;
	--lft-drawer-open-duration: 500ms;
	--lft-drawer-close-duration: 340ms;
	--lft-overlay-open-duration: 420ms;
	--lft-overlay-close-duration: 260ms;
	position: fixed;
	inset: 0;
	z-index: 1000000;
	color: var(--lft-copy);
	font-family: Inter, sans-serif;
	font-size: inherit;
	font-weight: 400;
	line-height: inherit;
	visibility: hidden;
}

.lft-side-cart[hidden] { display: none !important; }
.lft-side-cart.is-visible { visibility: visible; }
.lft-side-cart, .lft-side-cart * { box-sizing: border-box; }
.lft-side-cart__safari-bottom-tint { display: none; }

.lft-side-cart__overlay {
	position: absolute;
	inset: 0;
	background: rgba(13, 27, 35, .52);
	opacity: 0;
	transition: opacity var(--lft-overlay-close-duration) cubic-bezier(.4, 0, 1, 1);
}

.lft-side-cart__dialog {
	position: absolute;
	top: 0;
	right: 0;
	display: grid;
	grid-template-rows: auto minmax(0, 1fr) auto;
	width: min(450px, 100vw);
	height: 100vh;
	height: 100dvh;
	background: var(--lft-footer-bg);
	box-shadow: -18px 0 54px rgba(16, 35, 42, .2);
	transform: translate3d(102%, 0, 0);
	transition: transform var(--lft-drawer-close-duration) cubic-bezier(.4, 0, .6, 1);
	outline: 0;
}

.lft-side-cart.is-visible .lft-side-cart__overlay { will-change: opacity; }
.lft-side-cart.is-visible .lft-side-cart__dialog { will-change: transform; }
.lft-side-cart.is-open .lft-side-cart__overlay {
	opacity: 1;
	transition-duration: var(--lft-overlay-open-duration);
	transition-timing-function: cubic-bezier(.25, .46, .45, .94);
}
.lft-side-cart.is-open .lft-side-cart__dialog {
	transform: translate3d(0, 0, 0);
	transition-duration: var(--lft-drawer-open-duration);
	transition-timing-function: cubic-bezier(.25, .46, .45, .94);
}

.lft-side-cart__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	min-height: 48px;
	padding: 2px 7px 2px 16px;
	border-bottom: 1px solid var(--lft-line);
	background: #fff;
}

.lft-side-cart__title { display: inline-flex; align-items: center; gap: 7px; margin: 0; color: var(--lft-ink); font-family: Poppins, sans-serif; font-size: 16px; font-weight: 800; letter-spacing: .015em; line-height: 1.2; }
.lft-side-cart__title .lft-side-cart__icon { flex: 0 0 auto; width: 18px; height: 18px; stroke-width: 2.15; transform: translateY(-1px); }
.lft-side-cart__content { min-height: 0; overflow: hidden; background: var(--lft-page-bg); }
.lft-side-cart__content-grid { display: grid; grid-template-rows: auto minmax(0, 1fr) auto; height: 100%; }
.lft-side-cart__content-grid.is-empty { grid-template-rows: minmax(0, 1fr); }
.lft-side-cart__content-grid.has-no-shipping-progress { grid-template-rows: minmax(0, 1fr) auto; }
.lft-side-cart__body { min-height: 0; overflow: auto; overscroll-behavior: contain; background: var(--lft-page-bg); touch-action: pan-y; }
.lft-side-cart__content[aria-busy="true"] { cursor: progress; }

.lft-side-cart button, .lft-side-cart input, .lft-side-cart a { font: inherit; }
.lft-side-cart button { text-transform: none; letter-spacing: 0; }
.lft-side-cart .screen-reader-text { position: absolute !important; width: 1px !important; height: 1px !important; margin: -1px !important; padding: 0 !important; overflow: hidden !important; clip: rect(0, 0, 0, 0) !important; clip-path: inset(50%) !important; border: 0 !important; white-space: nowrap !important; }
.lft-side-cart__icon { display: block; width: 20px; height: 20px; }
.lft-side-cart__icon-button,
.lft-side-cart [data-lft-quantity-decrease],
.lft-side-cart [data-lft-quantity-increase],
.lft-side-cart [data-lft-remove-item] {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	min-width: 44px;
	min-height: 44px;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 10px;
	background: transparent;
	color: var(--lft-ink);
	cursor: pointer;
	transition: color 160ms ease, background-color 160ms ease, transform 160ms ease;
}
.lft-side-cart__icon-button:hover,
.lft-side-cart [data-lft-remove-item]:hover { background: var(--lft-blue-soft); color: var(--lft-blue); }
.lft-side-cart__close-button {
	position: relative;
	width: 44px;
	height: 44px;
	min-width: 44px;
	min-height: 44px;
	border: 0;
	border-radius: 50%;
	background: transparent;
	color: #3f5359;
	box-shadow: none;
}
.lft-side-cart__close-button::before { position: absolute; inset: 5px; border: 1px solid #c9d5d9; border-radius: 50%; background: #fff; box-shadow: 0 2px 7px rgba(17, 45, 55, .08); content: ""; transition: border-color 160ms ease, background-color 160ms ease, transform 160ms ease; }
.lft-side-cart__close-button .lft-side-cart__icon { position: relative; z-index: 1; width: 15px; height: 15px; stroke-width: 2.35; }
.lft-side-cart__close-button:hover { background: transparent; color: var(--lft-blue); transform: none; }
.lft-side-cart__close-button:hover::before { border-color: var(--lft-blue-line); background: var(--lft-blue-soft); transform: rotate(3deg); }
.lft-side-cart button:focus-visible,
.lft-side-cart a:focus-visible,
.lft-side-cart input:focus-visible { outline: 3px solid rgba(63, 158, 214, .34); outline-offset: 2px; }
.lft-side-cart button:disabled { cursor: wait; opacity: .55; }

.lft-side-cart__loading { display: grid; gap: 12px; padding: 18px 16px; }
.lft-side-cart__loading span { height: 96px; border-radius: 15px; background: linear-gradient(90deg, #edf1f2 25%, #f8fafb 45%, #edf1f2 65%); background-size: 300% 100%; animation: lft-side-cart-shimmer 1.2s linear infinite; }
@keyframes lft-side-cart-shimmer { to { background-position: -150% 0; } }

.lft-side-cart__notice {
	position: absolute;
	right: 16px;
	bottom: calc(16px + env(safe-area-inset-bottom));
	left: 16px;
	z-index: 4;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 12px 14px;
	border: 1px solid #b9d7e9;
	border-radius: 10px;
	background: #f2f8fc;
	color: #014f86;
	box-shadow: 0 12px 28px rgba(10, 31, 44, .14);
	font-size: 14px;
	font-weight: 700;
}
.lft-side-cart__notice.is-error { border-color: #f4b4ae; background: #fff5f3; color: #b42318; }
.lft-side-cart__notice button { min-height: 44px; border: 0; background: transparent; color: inherit; font-weight: 800; text-decoration: underline; cursor: pointer; }
.lft-side-cart__live { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; white-space: nowrap !important; border: 0 !important; }

/* Contrats de rendu serveur : le HTML canonique peut évoluer sans modifier la structure du shell. */
.lft-side-cart__items { display: grid; gap: 12px; padding: 16px; }
.lft-side-cart__item { position: relative; display: grid; grid-template-columns: 81px minmax(0, 1fr); align-items: center; gap: 12px; max-height: 1000px; overflow: hidden; padding: 12px 14px; border: 1px solid var(--lft-line); border-radius: 15px; background: #fff; transition: max-height 240ms cubic-bezier(.22, 1, .36, 1), padding 240ms cubic-bezier(.22, 1, .36, 1), border-width 240ms ease, opacity 180ms ease, transform 240ms cubic-bezier(.22, 1, .36, 1); }
.lft-side-cart__item-image { position: relative; align-self: center; display: block; width: 81px; height: 81px; margin: 0 !important; padding: 0; border: 0; border-radius: 8px; overflow: hidden; background: #fff; cursor: zoom-in !important; }
.lft-side-cart__item-image img { display: block; width: 100%; height: 100%; object-fit: contain; cursor: zoom-in !important; }
.lft-side-cart__item-copy { display: grid; align-content: center; gap: 7px; min-width: 0; }
.lft-side-cart__item-heading { display: block; min-width: 0; }
.lft-side-cart__item-title-line { min-width: 0; padding-right: 31px; color: var(--lft-ink); font-family: Poppins, sans-serif; font-size: 14px; font-weight: 700; line-height: 1.35; }
.lft-side-cart__item-name { display: inline; min-width: 0; margin: 0; color: inherit; font-family: inherit; font-size: 13.5px; font-weight: inherit; line-height: inherit; }
.lft-side-cart__item-name a { color: inherit; text-decoration: none; }
.lft-side-cart__remove { position: absolute; top: 0; right: 1px; margin: 0 !important; color: #52676e; }
.lft-side-cart__remove .lft-side-cart__icon { width: 17px; height: 17px; stroke-width: 1.9; }
.lft-side-cart__item-variations { display: inline; color: var(--lft-copy); font-family: Inter, sans-serif; font-size: 11.5px; font-weight: 600; line-height: inherit; white-space: normal; }
.lft-side-cart__item-variations::before { color: #9aa7ab; content: " — "; font-weight: 500; }
.lft-side-cart__item-title-line.has-single-line-name .lft-side-cart__item-name,
.lft-side-cart__item-title-line.has-single-line-name .lft-side-cart__item-variations,
.lft-side-cart__item-title-line.has-variations-on-new-line .lft-side-cart__item-variations { display: block; }
.lft-side-cart__item-title-line.has-single-line-name .lft-side-cart__item-variations,
.lft-side-cart__item-title-line.has-variations-on-new-line .lft-side-cart__item-variations { margin-top: 1px; line-height: 1.25; }
.lft-side-cart__item-title-line.has-single-line-name .lft-side-cart__item-variations::before,
.lft-side-cart__item-title-line.has-variations-on-new-line .lft-side-cart__item-variations::before { content: none; }
.lft-side-cart__item-variation-separator { padding: 0 2px; color: #a1adb1; }
.lft-side-cart__item-meta { margin: 0 0 8px; color: var(--lft-muted); font-size: 12.5px; line-height: 1.4; }
.lft-side-cart__item-meta dl,
.lft-side-cart__item-meta p { margin: 0; }
.lft-side-cart__item-meta dt,
.lft-side-cart__item-meta dd { display: inline; margin: 0; }
.lft-side-cart__item-meta dd::after { content: "\A"; white-space: pre; }
.lft-side-cart__item-bottom { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; gap: 12px; min-height: 36px; }
.lft-side-cart__quantity { display: inline-grid; grid-template-columns: 32px 28px 32px; align-items: center; height: 36px; min-height: 36px; overflow: hidden; border: 1px solid transparent; border-radius: 999px; background: #ebf2fc; color: #173763; }
.lft-side-cart__quantity [data-lft-quantity-decrease],
.lft-side-cart__quantity [data-lft-quantity-increase] { width: 32px; min-width: 32px; height: 36px; min-height: 36px; border-radius: 50%; color: #173763; }
.lft-side-cart__quantity [data-lft-quantity-decrease]:hover,
.lft-side-cart__quantity [data-lft-quantity-increase]:hover { background: rgba(1, 58, 104, .08); transform: none; }
.lft-side-cart__quantity [data-lft-quantity-decrease] .lft-side-cart__icon,
.lft-side-cart__quantity [data-lft-quantity-increase] .lft-side-cart__icon { width: 15px; height: 15px; stroke-width: 2.25; }
.lft-side-cart__quantity-value { min-width: 28px; color: #173763; text-align: center; font-size: 14px; font-weight: 800; font-variant-numeric: tabular-nums; }
.lft-side-cart__single-quantity { color: var(--lft-muted); font-size: 13px; }
.lft-side-cart__item-price { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: flex-end; align-self: center; gap: 1px 5px; min-width: 0; color: var(--lft-price); font-size: 14px; font-weight: 700; line-height: 1.2; text-align: right; white-space: normal; }
.lft-side-cart__item-price .amount,
.lft-side-cart__item-price bdi,
.lft-side-cart__item-price ins { color: inherit !important; }
.lft-side-cart__item-price ins { font-weight: 800; text-decoration: none; }
.lft-side-cart__item-price del { color: #64757a; font-size: 12px; font-weight: 600; line-height: 1.2; white-space: nowrap; text-decoration-thickness: 1px; }
.lft-side-cart__item-price del .amount,
.lft-side-cart__item-price del bdi { color: inherit !important; }
.lft-side-cart__item-price .gestion-retours-discount-badge { display: inline-flex !important; flex: 0 0 auto; align-self: center; align-items: center; justify-content: center; height: 16px !important; min-height: 16px !important; margin: 0 !important; padding: 1px 5px !important; border-radius: 5px !important; background: #e6f8ee !important; color: #087a3d !important; font-size: 9.5px !important; font-weight: 800 !important; line-height: 1 !important; }
.lft-side-cart__item-price.has-line-discount { display: grid; grid-template-columns: auto; grid-template-rows: auto auto; justify-items: end; align-items: center; gap: 2px 5px; }
.lft-side-cart__item-price.has-line-discount del { grid-column: 1; grid-row: 2; }
.lft-side-cart__item-price.has-line-discount ins { grid-column: 1 / -1; grid-row: 1; justify-self: end; }
.lft-side-cart__item-price.has-line-discount.has-discount-badge { grid-template-columns: auto auto; }
.lft-side-cart__item-price.has-line-discount.has-discount-badge .gestion-retours-discount-badge { grid-column: 2; grid-row: 2; }

.lft-side-cart__advantages { margin: 0 16px 12px; overflow: hidden; border: 1px solid rgba(171, 201, 219, .72); border-radius: 15px; background: #fff; box-shadow: 0 5px 18px rgba(17, 55, 75, .065); }
.lft-side-cart__advantages-heading { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 3px 7px; min-height: 27px; padding: 3px 12px 2px; border-bottom: 1px solid rgba(164, 199, 218, .74); background: linear-gradient(180deg, #eff6fa 0%, #e6f1f7 100%); text-align: center; }
.lft-side-cart__advantages-heading h3 { flex: 0 1 auto; min-width: 0; margin: 0; color: #243f4c; font-family: Poppins, sans-serif; font-size: 12.5px; font-weight: 850; letter-spacing: .012em; line-height: 1.2; }
.lft-side-cart__advantages-timer { flex: 0 0 auto; color: var(--lft-blue); font-family: Poppins, sans-serif; font-size: 11.5px; font-weight: 800; line-height: 1.2; font-variant-numeric: tabular-nums; white-space: nowrap; }
.lft-side-cart__advantages-timer strong { color: inherit; font-size: inherit; font-weight: inherit; }
.lft-side-cart__benefit-steps { --lft-benefits-track: #dce5e8; --lft-benefits-marker: 15px; --lft-benefits-marker-half: 7.5px; --lft-benefits-step-height: 28px; --lft-benefits-marker-offset: 6.5px; --lft-benefits-pad-x: 12px; --lft-benefits-pad-top: 6px; --lft-benefits-pad-bottom: 7px; position: relative; display: grid; gap: 0; margin: 0; padding: var(--lft-benefits-pad-top) var(--lft-benefits-pad-x) var(--lft-benefits-pad-bottom); list-style: none; }
.lft-side-cart__benefit-steps::before { position: absolute; z-index: 0; top: calc(var(--lft-benefits-pad-top) + var(--lft-benefits-marker-offset)); bottom: calc(var(--lft-benefits-pad-bottom) + var(--lft-benefits-marker-offset)); left: calc(var(--lft-benefits-pad-x) + var(--lft-benefits-marker-half) - 1px); width: 2px; border-radius: 999px; background: linear-gradient(to bottom, #16a862 0%, #16a862 var(--lft-benefits-progress), var(--lft-benefits-track) var(--lft-benefits-progress), var(--lft-benefits-track) 100%); content: ""; }
.lft-side-cart__benefits.is-manual .lft-side-cart__benefit-steps::before { display: none; }
.lft-side-cart__benefit-step { position: relative; z-index: 1; display: grid; grid-template-columns: var(--lft-benefits-marker) minmax(0, 1fr) auto; align-items: center; gap: 9px; min-height: var(--lft-benefits-step-height); margin: 0; padding: 2px 0; color: var(--lft-ink); font-size: 12.25px; line-height: 1.22; }
.lft-side-cart__benefit-step.has-inline-reward { grid-template-columns: var(--lft-benefits-marker) minmax(0, 1fr); }
.lft-side-cart__benefit-marker { position: relative; display: grid; place-items: center; width: var(--lft-benefits-marker); height: var(--lft-benefits-marker); border: 2px solid #cbd7db; border-radius: 50%; background: #fff; color: #fff; box-shadow: 0 0 0 1.5px #fff; }
.lft-side-cart__benefit-marker .lft-side-cart__icon { width: 9px; height: 9px; stroke-width: 3.1; }
.lft-side-cart__benefit-step.is-unlocked .lft-side-cart__benefit-marker { border-color: #139a59; background: #16a862; }
.lft-side-cart__benefit-step.is-next .lft-side-cart__benefit-marker { border-color: #1473d2; background: #fff; box-shadow: 0 0 0 1.5px #fff; }
.lft-side-cart__benefit-step.is-locked .lft-side-cart__benefit-marker { border-color: #ccd7db; background: #f9fbfb; }
.lft-side-cart__benefit-step.is-replaced .lft-side-cart__benefit-marker { border-color: #aebbc0; background: #f5f7f7; }
.lft-side-cart__benefit-copy { align-self: center; min-width: 0; color: #38515c; font-weight: 650; line-height: 1.22; overflow-wrap: anywhere; }
.lft-side-cart__benefit-value { justify-self: end; max-width: 150px; color: #139157; font-size: 11.75px; font-weight: 850; line-height: 1.15; text-align: right; white-space: nowrap; }
.lft-side-cart__benefit-step.is-next .lft-side-cart__benefit-copy { color: #38515c; font-weight: 750; }
.lft-side-cart__benefit-next-action,
.lft-side-cart__benefit-next-connector,
.lft-side-cart__benefit-next-reward { display: inline; font-size: 1em; line-height: inherit; vertical-align: baseline; }
.lft-side-cart__benefit-next-reward { display: inline-flex; align-items: center; justify-content: center; min-width: 43px; min-height: 17px; margin-left: 0; padding: 0 3px; border: 1px solid rgba(11, 99, 206, .24); border-radius: 5px; background: #eaf4ff; color: var(--lft-action-blue); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .72), 0 1px 3px rgba(1, 58, 104, .08); font-size: 11px; font-variant-numeric: tabular-nums; font-weight: 900; line-height: 1; white-space: nowrap; }
.lft-side-cart__benefit-step.is-next .lft-side-cart__benefit-value { color: #0b63bd; }
.lft-side-cart__benefit-step.is-locked .lft-side-cart__benefit-copy,
.lft-side-cart__benefit-step.is-locked .lft-side-cart__benefit-value,
.lft-side-cart__benefit-step.is-replaced .lft-side-cart__benefit-copy,
.lft-side-cart__benefit-step.is-replaced .lft-side-cart__benefit-value { color: #74858b; font-weight: 600; }
.lft-side-cart__benefit-step.is-replaced .lft-side-cart__benefit-value { max-width: 145px; line-height: 1.1; white-space: normal; }

@media (prefers-reduced-motion: no-preference) {
	.lft-side-cart__benefits.is-updating .lft-side-cart__benefit-steps::before { animation: lft-benefit-track-update 380ms ease-out both; }
	.lft-side-cart__benefit-step.is-newly-unlocked .lft-side-cart__benefit-marker { animation: lft-benefit-unlock 380ms cubic-bezier(.2, .9, .3, 1.25) both; }
	.lft-side-cart__benefit-step.is-newly-unlocked .lft-side-cart__benefit-value { animation: lft-benefit-value 390ms ease-out both; }
	@keyframes lft-benefit-track-update { 0% { filter: saturate(.5); opacity: .45; } 100% { filter: saturate(1); opacity: 1; } }
	@keyframes lft-benefit-unlock { 0% { transform: scale(.72); } 58% { transform: scale(1.16); } 100% { transform: scale(1); } }
	@keyframes lft-benefit-value { 0% { opacity: .35; transform: translateX(4px); } 100% { opacity: 1; transform: none; } }
}
.lft-side-cart__shipping-progress { position: relative; z-index: 1; box-sizing: border-box; width: calc(100% - 32px); margin: 0 auto; padding: 8px 0 6px; overflow: visible; border-bottom: 0; background: transparent; }
.lft-side-cart__shipping-progress p { margin: 0 0 7px; color: var(--lft-ink); font-size: 12.5px; line-height: 1.35; text-align: center; }
.lft-side-cart__shipping-progress.is-free p { color: #087a3d; }
.lft-side-cart__shipping-progress.is-free.is-previous-label-visible p { color: var(--lft-ink); }
.lft-side-cart__shipping-progress.is-free p strong { display: inline-block; }
.lft-side-cart__progress-track { position: relative; height: 8px; overflow: visible; border-radius: 999px; background: #e4e9e9; box-shadow: inset 0 1px 2px rgba(16, 35, 42, .05); }
.lft-side-cart__progress-track span { position: relative; display: block; width: var(--lft-side-cart-progress, 0); height: 100%; overflow: hidden; border-radius: inherit; background: linear-gradient(90deg, #087a3d 0%, #12b96a 52%, var(--lft-green) 100%); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .24), 0 1px 6px rgba(8, 122, 61, .22); transition: width 820ms cubic-bezier(.25, .46, .45, .94); isolation: isolate; will-change: width; }

@media (prefers-reduced-motion: no-preference) {
	.lft-side-cart__shipping-progress.is-complete-celebration .lft-side-cart__progress-track {
		transform-origin: 50% 50%;
		animation: lft-side-cart-progress-complete 620ms cubic-bezier(.2, .82, .24, 1) both;
	}
	.lft-side-cart__shipping-progress.is-complete-celebration:not(.is-free-label-leaving):not(.is-free-label-entering) p strong {
		transform-origin: 50% 70%;
		animation: lft-side-cart-free-text-pop 560ms 55ms cubic-bezier(.2, .82, .24, 1) both;
	}
	.lft-side-cart__shipping-progress.is-free-label-leaving p {
		animation: lft-side-cart-progress-label-out 110ms cubic-bezier(.4, 0, 1, 1) both;
	}
	.lft-side-cart__shipping-progress.is-free-label-entering p strong {
		transform-origin: 50% 70%;
		animation: lft-side-cart-progress-label-in 520ms cubic-bezier(.2, .82, .24, 1) both;
	}

	@keyframes lft-side-cart-progress-complete {
		0%, 100% { transform: scale3d(1, 1, 1); }
		30% { transform: scale3d(1.004, 1.3, 1); }
		55% { transform: scale3d(.999, .94, 1); }
		77% { transform: scale3d(1.001, 1.065, 1); }
	}
	@keyframes lft-side-cart-free-text-pop {
		0%, 100% { transform: translate3d(0, 0, 0) scale(1); }
		34% { transform: translate3d(0, -1px, 0) scale(1.065); }
		59% { transform: translate3d(0, 0, 0) scale(.985); }
		80% { transform: translate3d(0, 0, 0) scale(1.018); }
	}
	@keyframes lft-side-cart-progress-label-out {
		0% { opacity: 1; transform: translate3d(0, 0, 0) scale(1); }
		100% { opacity: 0; transform: translate3d(0, -2px, 0) scale(.985); }
	}
	@keyframes lft-side-cart-progress-label-in {
		0% { opacity: 0; transform: translate3d(0, 2px, 0) scale(.96); }
		38% { opacity: 1; transform: translate3d(0, -1px, 0) scale(1.06); }
		64% { opacity: 1; transform: translate3d(0, 0, 0) scale(.988); }
		82% { opacity: 1; transform: translate3d(0, 0, 0) scale(1.016); }
		100% { opacity: 1; transform: translate3d(0, 0, 0) scale(1); }
	}
}

.lft-side-cart__coupon { margin: 0; padding: 0; }
.lft-side-cart__coupon-toggle { display: flex; align-items: center; justify-content: space-between; gap: 12px; width: 100%; min-height: 32px; margin: 0 0 2.5px !important; padding: 0 2px; border: 0; background: transparent; color: var(--lft-blue); font-size: 12.5px !important; font-weight: 750 !important; line-height: 1; cursor: pointer; }
.lft-side-cart__coupon-toggle-copy { display: inline-flex; align-items: center; gap: 8px; min-height: 20px; line-height: 1; }
.lft-side-cart__coupon-toggle-copy .lft-side-cart__icon { flex: 0 0 16px; width: 16px; height: 16px; }
.lft-side-cart__coupon-toggle > .lft-side-cart__icon { width: 15px; height: 15px; transition: transform 180ms ease; }
.lft-side-cart__coupon-toggle[aria-expanded="true"] > .lft-side-cart__icon { transform: rotate(180deg); }
.lft-side-cart__coupon-panel[hidden] { display: none; }
.lft-side-cart__coupon-panel { padding: 0 0 2.5px; }
.lft-side-cart__coupon form { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 4px; margin: 0 !important; padding: 3px; border: 1px solid var(--lft-blue-line); border-radius: 10px; background: #f3f7fa; box-shadow: inset 0 1px 2px rgba(16, 35, 42, .035); transition: border-color 160ms ease, box-shadow 160ms ease; }
.lft-side-cart__coupon form:focus-within { border-color: var(--lft-field-focus-blue); box-shadow: 0 0 0 3px rgba(63, 158, 214, .12); }
.lft-side-cart__coupon input { width: 100%; height: 38px !important; min-height: 38px !important; margin: 0 !important; padding: 7px 10px !important; border: 0 !important; border-radius: 7px !important; background: #fff !important; color: var(--lft-ink); box-shadow: none !important; font-size: 16px !important; line-height: 1.2; }
.lft-side-cart__coupon input:focus,
.lft-side-cart__coupon input:focus-visible { outline: 0; box-shadow: none; }
.lft-side-cart__coupon button[type="submit"] { min-height: 38px; margin: 0 !important; padding: 0 14px; border: 0; border-radius: 7px; background: var(--lft-blue); color: #fff; box-shadow: 0 3px 8px rgba(1, 58, 104, .16); font-size: 12.5px; font-weight: 750; line-height: 1; cursor: pointer; transition: background-color 160ms ease, box-shadow 160ms ease; }
.lft-side-cart__coupon button[type="submit"]:hover { background: #012f55; box-shadow: 0 4px 10px rgba(1, 58, 104, .2); }
.lft-side-cart__coupon-error { margin: 6px 3px 1px; color: #b42318; font-size: 12px; font-weight: 700; line-height: 1.3; }
.lft-side-cart__applied-coupons { margin: 1px 0 5px; }
.lft-side-cart__applied-coupon { display: grid; grid-template-columns: 16px minmax(0, 1fr) auto; align-items: center; gap: 8px; min-height: 32px; padding: 3px 2px; }
.lft-side-cart__applied-coupon + .lft-side-cart__applied-coupon { border-top: 1px solid var(--lft-line); }
.lft-side-cart__applied-coupon-icon { display: grid; place-items: center; align-self: stretch; width: 16px; min-height: 20px; color: var(--lft-blue); }
.lft-side-cart__applied-coupon-icon .lft-side-cart__icon { width: 16px; height: 16px; }
.lft-side-cart__applied-coupon-copy { display: grid; gap: 0; min-width: 0; }
.lft-side-cart__applied-coupon-label { display: flex; align-items: center; min-width: 0; min-height: 20px; color: var(--lft-blue); font-size: 12.5px; font-weight: 750; line-height: 1; }
.lft-side-cart__applied-coupon-label > span { min-width: 0; overflow-wrap: anywhere; }
.lft-side-cart__applied-coupon-label button { display: inline-flex; flex: 0 0 26px; align-items: center; justify-content: center; width: 26px; height: 26px; min-width: 26px; min-height: 26px; margin: -3px 0 -3px 1px; padding: 0; border: 0; border-radius: 50%; background: transparent; color: #c0392b; cursor: pointer; }
.lft-side-cart__applied-coupon-label button:hover { background: #fff2f0; color: #a62d22; }
.lft-side-cart__applied-coupon-label button .lft-side-cart__icon { width: 14px; height: 14px; stroke-width: 2.4; }
.lft-side-cart__applied-coupon-amount { align-self: center; min-height: 20px; color: #078a43; font-size: 13px; font-weight: 850; line-height: 20px; text-align: right; white-space: nowrap; }
.lft-side-cart__applied-coupon-amount .amount,
.lft-side-cart__applied-coupon-amount bdi { color: inherit !important; }
.lft-side-cart__automatic-promotion { display: grid; grid-template-columns: 16px minmax(0, 1fr) auto; align-items: center; gap: 8px; margin: 1px 0 5px; padding: 7px 8px; border: 1px solid #cce9da; border-radius: 9px; background: #f0fbf5; color: #36564a; }
.lft-side-cart__automatic-promotion > span:nth-child(2) { display: grid; gap: 2px; min-width: 0; }
.lft-side-cart__automatic-promotion > span > strong { color: #12643f; font-size: 12.5px; font-weight: 800; line-height: 1.1; }
.lft-side-cart__automatic-promotion small { color: #567064; font-size: 10.5px; font-weight: 650; line-height: 1.2; }

.lft-side-cart__footer { --lft-footer-cta-gap: 11px; --lft-footer-totals-shift: 3.5px; position: relative; z-index: 2; padding: 3px 20px calc(14px + env(safe-area-inset-bottom)); border: 1px solid rgba(218, 228, 231, .92); border-bottom: 0; border-radius: 18px 18px 0 0; background: var(--lft-footer-bg); box-shadow: 0 -13px 34px rgba(16, 35, 42, .13); }
.lft-side-cart__totals { display: grid; gap: 0; margin: 0; }
.lft-side-cart__totals > div { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 9px 0 3px; border-top: 1px solid var(--lft-line); font-size: 13px; }
.lft-side-cart__totals dt, .lft-side-cart__totals dd { margin: 0; }
.lft-side-cart__totals dt { color: var(--lft-ink); font-weight: 750; }
.lft-side-cart__savings-total { padding-top: 6px !important; padding-bottom: 1px !important; font-size: 12.25px !important; line-height: 1.15; }
.lft-side-cart__totals--with-savings .lft-side-cart__savings-total { padding-top: calc(6px + var(--lft-footer-totals-shift)) !important; }
.lft-side-cart__totals--with-savings + .lft-side-cart__checkout-button { margin-top: calc(var(--lft-footer-cta-gap) - var(--lft-footer-totals-shift)); }
.lft-side-cart__savings-total dt { font-weight: 700; text-transform: none !important; }
.lft-side-cart__savings-total + .lft-side-cart__products-total { padding-top: 3px; border-top: 0; }
.lft-side-cart__savings-total dd { color: #078a43; font-size: 12.25px; font-weight: 800; text-align: right; white-space: nowrap; }
.lft-side-cart__savings-total dd .amount,
.lft-side-cart__savings-total dd bdi { color: inherit !important; }
.lft-side-cart__products-total dd { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 5px; min-width: 0; font-weight: 700; text-align: right; }
.lft-side-cart__products-total del { color: #64757a; font-size: 12px; font-weight: 600; line-height: 1.2; white-space: nowrap; text-decoration-thickness: 1px; }
.lft-side-cart__products-total del .amount,
.lft-side-cart__products-total del bdi { color: inherit !important; }
.lft-side-cart__products-total dd > strong { color: var(--lft-price); font-size: 14px; font-weight: 850; line-height: 1.2; white-space: nowrap; }
.lft-side-cart__products-total dd > strong .amount,
.lft-side-cart__products-total dd > strong bdi { color: inherit !important; }
.lft-side-cart__empty { display: grid; justify-items: center; align-content: center; min-height: 100%; padding: 24px 20px; text-align: center; }
.lft-side-cart__empty-icon { display: grid; place-items: center; width: 58px; height: 58px; border-radius: 50%; background: var(--lft-blue-soft); color: var(--lft-blue); }
.lft-side-cart__empty-icon .lft-side-cart__icon { width: 28px; height: 28px; }
.lft-side-cart__empty h3 { margin: 10px 0 14px; color: var(--lft-blue); font-size: 19px; line-height: 1.25; }
.lft-side-cart__empty-continue { display: inline-flex; align-items: center; justify-content: center; width: min(230px, 100%); min-height: 48px; margin: 0 !important; padding: 10px 18px; border: 0; border-radius: 10px; background: var(--lft-action-blue); color: #fff; box-shadow: 0 8px 18px rgba(11, 99, 206, .18); font-size: 14px; font-weight: 800; line-height: 1.2; cursor: pointer; transition: background-color 160ms ease, box-shadow 160ms ease, transform 160ms ease; }
.lft-side-cart__empty-continue:hover { background: var(--lft-action-blue-hover); box-shadow: 0 10px 22px rgba(11, 99, 206, .22); transform: translateY(-1px); }
.lft-side-cart__total-row { display: flex; justify-content: space-between; gap: 16px; margin-bottom: 8px; font-size: 14px; }
.lft-side-cart__total-row--primary { color: var(--lft-ink); font-size: 16px; font-weight: 700; }
.lft-side-cart__checkout, .lft-side-cart__checkout-button { display: flex; align-items: center; justify-content: center; gap: 7px; width: 100%; min-height: 57px; margin-top: 11px; padding: 10px 16px; border: 0; border-radius: 11px; background: var(--lft-action-blue); color: #fff !important; font-size: 17px; font-weight: 900; letter-spacing: .02em; text-align: center; text-decoration: none !important; box-shadow: 0 10px 18px rgba(11, 99, 206, .18); transition: background-color 160ms ease, transform 160ms ease, box-shadow 160ms ease; }
.lft-side-cart__checkout-button { position: relative; font-size: 18px !important; font-weight: 900 !important; letter-spacing: .02em !important; text-transform: uppercase !important; }
.lft-side-cart__checkout-label { display: inline-flex; align-items: center; justify-content: center; gap: 7px; }
.lft-side-cart__checkout-button .lft-side-cart__icon { width: 20px; height: 20px; stroke-width: 2.8; }
.lft-side-cart__checkout-loader { position: absolute; inset: 0; display: none; grid-auto-flow: column; place-content: center; align-items: center; gap: 5px; pointer-events: none; }
.lft-side-cart__checkout-loader-dot { width: 7px; height: 7px; border-radius: 50%; background: #fff; box-shadow: 0 1px 3px rgba(0, 38, 83, .16); opacity: .42; transform: translate3d(0, 0, 0) scale(.78); animation: lft-side-cart-checkout-dot 760ms ease-in-out infinite; will-change: opacity, transform; }
.lft-side-cart__checkout-loader-dot:nth-child(2) { animation-delay: 110ms; }
.lft-side-cart__checkout-loader-dot:nth-child(3) { animation-delay: 220ms; }
.lft-side-cart__checkout-button.is-loading,
.lft-side-cart__checkout-button.is-loading:hover { background: var(--lft-action-blue); box-shadow: 0 10px 18px rgba(11, 99, 206, .18); cursor: wait; pointer-events: none; transform: none; }
.lft-side-cart__checkout-button.is-loading .lft-side-cart__checkout-label { opacity: 0; }
.lft-side-cart__checkout-button.is-loading .lft-side-cart__checkout-loader { display: grid; }
.lft-side-cart__checkout:hover, .lft-side-cart__checkout-button:hover { background: var(--lft-action-blue-hover); box-shadow: 0 14px 24px rgba(11, 99, 206, .22); transform: translateY(-1px); }
@keyframes lft-side-cart-checkout-dot {
	0%, 60%, 100% { opacity: .42; transform: translate3d(0, 0, 0) scale(.78); }
	30% { opacity: 1; transform: translate3d(0, -3px, 0) scale(1); }
}

@media (prefers-reduced-motion: reduce) {
	.lft-side-cart__checkout-loader-dot { opacity: .82; animation: none; transform: none; }
}

.lft-side-cart__image-modal { position: absolute; inset: 0; z-index: 8; display: grid; place-items: center; padding: 20px; opacity: 0; visibility: hidden; transition: opacity 180ms ease; }
.lft-side-cart__image-modal.is-open { opacity: 1; visibility: visible; }
.lft-side-cart__image-modal-backdrop { position: absolute; inset: 0; background: rgba(13, 27, 35, .68); }
.lft-side-cart__image-modal-panel { position: relative; width: min(390px, 100%); max-height: 90%; overflow: auto; padding: 18px; border-radius: 12px; background: #fff; box-shadow: 0 24px 70px rgba(16,35,42,.26); transform: translateY(8px) scale(.985); transition: transform 180ms ease; outline: 0; }
.lft-side-cart__image-modal.is-open .lft-side-cart__image-modal-panel { transform: none; }
.lft-side-cart__image-modal-image { display: block; width: 100%; max-height: 48vh; object-fit: contain; border-radius: 9px; }
.lft-side-cart__image-modal-panel > .lft-side-cart__image-modal-close { position: sticky; top: 0; z-index: 1; float: right; margin: -8px -8px 0 8px; background: transparent; }
.lft-side-cart__image-modal-panel h3 { clear: both; margin: 16px 0 4px; color: var(--lft-blue); font-size: 18px; line-height: 1.3; }
.lft-side-cart__image-modal-panel [data-lft-image-meta] { margin: 0; color: var(--lft-muted); font-size: 13px; }
.lft-side-cart__image-modal-actions { display: grid; gap: 8px; margin-top: 14px; }
.lft-side-cart__image-modal-actions .lft-side-cart__checkout { font-weight: 800 !important; }
.lft-side-cart__secondary-action { display: flex; align-items: center; justify-content: center; min-height: 50px; padding: 9px 14px; border: 1px solid var(--lft-blue-line); border-radius: 10px; background: #fff; color: var(--lft-blue) !important; font-weight: 750; text-align: center; text-decoration: none !important; transition: border-color 160ms ease, background-color 160ms ease; }
.lft-side-cart__secondary-action:hover { border-color: var(--lft-blue); background: var(--lft-blue-soft); }

html.lft-side-cart-open,
body.lft-side-cart-open { overflow: hidden !important; overscroll-behavior: none; }
html.lft-side-cart-open { color-scheme: light; }
html.lft-side-cart-open .header-wrapper.stuck {
  width: var(--lft-side-cart-locked-viewport-width, 100%) !important;
  margin-right: 0 !important;
  margin-left: 0 !important;
}
.lft-side-cart__overlay { touch-action: none; }

@media (min-width: 601px) {
	.lft-side-cart__dialog { overflow: hidden; border-radius: 18px; }
}

@media (max-width: 768px) {
	.lft-side-cart__footer { --lft-footer-cta-gap: 10px; --lft-footer-totals-shift: 3px; }
	.lft-side-cart__checkout-button {
		min-height: 54px;
		margin-top: 10px;
		font-size: 17px !important;
	}
	.lft-side-cart__checkout-button .lft-side-cart__icon { width: 19px; height: 19px; }
}

@media (max-width: 600px) {
	html.lft-side-cart-open,
	body.lft-side-cart-open {
		background-color: #fff !important;
	}
	/*
	 * Safari 26 échantillonne un élément fixe au bord inférieur pour teinter
	 * la zone située sous ses contrôles. Cette bande reste dans le fond blanc
	 * du footer et ne participe ni au layout, ni aux interactions.
	 */
	.lft-side-cart.is-visible .lft-side-cart__safari-bottom-tint {
		position: fixed;
		right: 0;
		bottom: 0;
		left: 0;
		z-index: 9;
		display: block;
		height: 12px;
		background-color: var(--lft-footer-bg);
		pointer-events: none;
	}
	.lft-side-cart__dialog { width: 100vw; max-width: none; box-shadow: none; }
	.lft-side-cart__header { min-height: calc(48px + env(safe-area-inset-top)); padding: calc(2px + env(safe-area-inset-top)) 7px 2px 16px; }
	.lft-side-cart__items { padding: 12px 16px; }
	.lft-side-cart__item { grid-template-columns: 91px minmax(0, 1fr); padding: 6px 12px 6px 8px; }
	.lft-side-cart__item-image { width: 91px; height: 91px; }
	.lft-side-cart__footer { --lft-footer-cta-gap: 8px; --lft-footer-totals-shift: 2px; padding-right: 16px; padding-left: 16px; }
	.lft-side-cart__advantages-heading { min-height: 27px; padding: 3px 10px 2px; }
	.lft-side-cart__advantages-heading h3 { font-size: 11.5px; }
	.lft-side-cart__advantages-timer { font-size: 10.5px; }
	.lft-side-cart__benefit-steps { --lft-benefits-marker: 14px; --lft-benefits-marker-half: 7px; --lft-benefits-step-height: 26px; --lft-benefits-marker-offset: 6px; --lft-benefits-pad-x: 10px; --lft-benefits-pad-top: 5px; --lft-benefits-pad-bottom: 6px; }
	.lft-side-cart__benefit-step { gap: 7px; padding: 1px 0; font-size: 11.75px; }
	.lft-side-cart__benefit-next-reward { min-width: 41px; min-height: 16px; padding-inline: 2.5px; border-radius: 4.5px; font-size: 10.5px; }
	.lft-side-cart__benefit-marker .lft-side-cart__icon { width: 8px; height: 8px; }
	.lft-side-cart__benefit-value { font-size: 11.25px; }
	.lft-side-cart__savings-total { font-size: 11.75px !important; }
	.lft-side-cart__savings-total dd { font-size: 11.75px; }
	.lft-side-cart__checkout-button {
		gap: 6px;
		min-height: clamp(47px, 12vw, 51px);
		margin-top: 8px;
		padding: 8px 12px;
		border-radius: 10px;
		font-size: clamp(14.5px, 4vw, 16px) !important;
		letter-spacing: .015em !important;
		box-shadow: 0 8px 16px rgba(11, 99, 206, .17);
	}
	.lft-side-cart__checkout-button .lft-side-cart__icon { width: 18px; height: 18px; }
}

@media (max-width: 600px) and (max-height: 720px) {
	.lft-side-cart__image-modal { padding: 10px; }
	.lft-side-cart__image-modal-panel {
		max-height: calc(100dvh - 20px);
		padding: 12px;
	}
	.lft-side-cart__image-modal-panel > .lft-side-cart__image-modal-close {
		position: absolute;
		top: 8px;
		right: 8px;
		float: none;
		margin: 0;
	}
	.lft-side-cart__image-modal-image { max-height: min(39dvh, 250px); }
	.lft-side-cart__image-modal-panel h3 { margin: 8px 0 2px; font-size: 16px; }
	.lft-side-cart__image-modal-panel [data-lft-image-meta] { font-size: 12px; }
	.lft-side-cart__image-modal-actions { gap: 6px; margin-top: 8px; }
	.lft-side-cart__image-modal-actions .lft-side-cart__secondary-action {
		min-height: 42px;
		padding: 6px 10px;
	}
	.lft-side-cart__image-modal-actions .lft-side-cart__checkout {
		min-height: 44px;
		margin-top: 0;
		padding: 6px 10px;
		font-size: 15px;
	}
}

@media (max-width: 359px) {
	.lft-side-cart__advantages-heading { gap: 6px; }
	.lft-side-cart__items { padding-right: 12px; padding-left: 12px; }
	.lft-side-cart__item { grid-template-columns: 80px minmax(0, 1fr); gap: 9px; padding: 6px 10px 6px 7px; }
	.lft-side-cart__item-image { width: 80px; height: 80px; }
	.lft-side-cart__item-title-line { padding-right: 27px; font-size: 12.5px; line-height: 1.3; }
	.lft-side-cart__item-name { font-size: 12.25px; }
	.lft-side-cart__item-copy { gap: 5px; }
	.lft-side-cart__item-bottom { gap: 4px 6px; min-height: 34px; }
	.lft-side-cart__quantity { grid-template-columns: 28px 26px 28px; height: 34px; min-height: 34px; }
	.lft-side-cart__quantity [data-lft-quantity-decrease],
	.lft-side-cart__quantity [data-lft-quantity-increase] { width: 28px; min-width: 28px; height: 34px; min-height: 34px; }
	.lft-side-cart__quantity-value { min-width: 26px; font-size: 13px; }
	.lft-side-cart__item-price { font-size: 13px; }
	.lft-side-cart__item-price .gestion-retours-discount-badge { padding: 1px 4px !important; font-size: 8.5px !important; }
	.lft-side-cart__advantages { margin-right: 12px; margin-left: 12px; }
	.lft-side-cart__advantages-heading { min-height: 26px; padding: 2px 8px; }
	.lft-side-cart__advantages-heading h3 { font-size: 10.75px; }
	.lft-side-cart__advantages-timer { font-size: 10px; }
	.lft-side-cart__benefit-steps { --lft-benefits-marker: 13px; --lft-benefits-marker-half: 6.5px; --lft-benefits-step-height: 24px; --lft-benefits-marker-offset: 5.5px; --lft-benefits-pad-x: 8px; --lft-benefits-pad-top: 4px; --lft-benefits-pad-bottom: 5px; }
	.lft-side-cart__benefit-step { gap: 6px; font-size: 11px; }
	.lft-side-cart__benefit-next-reward { min-width: 39px; padding-inline: 2px; font-size: 10px; }
	.lft-side-cart__benefit-marker .lft-side-cart__icon { width: 7px; height: 7px; }
	.lft-side-cart__benefit-value { max-width: 105px; font-size: 10.75px; }
	.lft-side-cart__benefit-step.is-replaced .lft-side-cart__benefit-value { max-width: 112px; }
	.lft-side-cart__savings-total { font-size: 11.5px !important; }
	.lft-side-cart__savings-total dd { font-size: 11.5px; }
	.lft-side-cart__shipping-progress { width: calc(100% - 24px); }
	.lft-side-cart__applied-coupon { gap: 8px; }
	.lft-side-cart__applied-coupon-label { font-size: 11.5px; }
	.lft-side-cart__totals > div { gap: 8px; font-size: 11.5px; }
	.lft-side-cart__products-total dd { flex-wrap: nowrap; gap: 4px; max-width: none; }
	.lft-side-cart__products-total del { font-size: 10.5px; }
	.lft-side-cart__products-total dd > strong { font-size: 13px; }
	.lft-side-cart__checkout-button {
		min-height: 46px;
		padding-right: 9px;
		padding-left: 9px;
		font-size: 14px !important;
	}
	.lft-side-cart__checkout-button .lft-side-cart__icon { width: 17px; height: 17px; }
}

@media (prefers-reduced-motion: reduce) {
	.lft-side-cart *, .lft-side-cart *::before, .lft-side-cart *::after { scroll-behavior: auto !important; animation: none !important; transition-duration: .01ms !important; }
}
