/* VDP — panier latéral : corrige chevauchements + lignes produit horizontales */

#fkcart-modal {
	--vdp-sc-ink: #1a120c;
	--vdp-sc-muted: #6a615a;
	--vdp-sc-accent: #7c1010;
	--vdp-sc-line: rgba(26, 18, 12, 0.1);
	--vdp-sc-soft: #f7f6f4;
	--vdp-sc-pad-x: 16px;
	--fkcart-slider-desktop-width: 440px;
	--fkcart-slider-mobile-width: 100%;
}

/* Conteneur + UI : colonne pleine hauteur, sans overlap */
#fkcart-modal .fkcart-modal-container {
	width: var(--fkcart-slider-desktop-width) !important;
	max-width: 100vw !important;
	height: 100% !important;
	max-height: 100dvh !important;
	display: block !important;
	overflow: hidden !important;
	background: #fff !important;
}

#fkcart-modal .fkcart-preview-ui {
	display: flex !important;
	flex-direction: column !important;
	height: 100% !important;
	max-height: 100dvh !important;
	overflow: hidden !important;
	background: #fff !important;
}

#fkcart-modal .fkcart-slider-header {
	flex: 0 0 auto !important;
	position: relative !important;
	z-index: 3 !important;
	background: #fff !important;
}

/* Zone rewards + items : scrollable */
#fkcart-modal .fkcart-reward-product-wrap {
	flex: 1 1 auto !important;
	min-height: 0 !important;
	display: flex !important;
	flex-direction: column !important;
	overflow: hidden !important;
	position: relative !important;
	z-index: 1 !important;
}

#fkcart-modal .fkcart-slider-body {
	flex: 1 1 auto !important;
	min-height: 0 !important;
	height: auto !important;
	overflow-x: hidden !important;
	overflow-y: auto !important;
	-webkit-overflow-scrolling: touch;
	display: block !important;
	grid-template-rows: none !important;
	position: relative !important;
	z-index: 1 !important;
}

/* Footer : toujours sous le contenu, jamais par-dessus */
#fkcart-modal .fkcart-slider-footer {
	flex: 0 0 auto !important;
	position: relative !important;
	z-index: 4 !important;
	margin-top: auto !important;
	background: #fff !important;
	border-top: 1px solid var(--vdp-sc-line) !important;
	box-shadow: 0 -6px 20px rgba(26, 18, 12, 0.05) !important;
	padding: 10px 0 14px !important;
	overflow: visible !important;
}

/* ——— Header ——— */
#fkcart-modal .fkcart-slider-heading {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	padding: 14px var(--vdp-sc-pad-x) !important;
	margin: 0 !important;
	border-bottom: 1px solid var(--vdp-sc-line) !important;
	background: #fff !important;
	box-shadow: none !important;
}

#fkcart-modal .fkcart-title {
	font-family: "Poppins", system-ui, sans-serif !important;
	font-size: 16px !important;
	font-weight: 600 !important;
	color: var(--vdp-sc-ink) !important;
	margin: 0 !important;
	line-height: 1.3 !important;
}

#fkcart-modal .fkcart-modal-close {
	display: grid !important;
	place-items: center !important;
	width: 34px !important;
	height: 34px !important;
	border: 1px solid var(--vdp-sc-line) !important;
	background: #fff !important;
	flex: 0 0 auto !important;
}

/* ——— Barre Chronofresh : plus de texte coupé ——— */
#fkcart-modal .vdp-fs-bar,
#fkcart-modal .vdp-fs-bar--sidecart {
	margin: 12px var(--vdp-sc-pad-x) 8px !important;
	padding: 12px 14px !important;
	overflow: visible !important;
	max-height: none !important;
	height: auto !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	position: relative !important;
	z-index: 2 !important;
	flex: 0 0 auto !important;
}

#fkcart-modal .vdp-fs-bar__lead,
#fkcart-modal .vdp-fs-bar__hint,
#fkcart-modal .vdp-fs-bar__title,
#fkcart-modal .vdp-fs-bar__head {
	overflow: visible !important;
	max-height: none !important;
	height: auto !important;
	line-height: 1.4 !important;
	clip: auto !important;
	white-space: normal !important;
}

#fkcart-modal .vdp-fs-bar__lead {
	font-size: 13px !important;
	margin: 0 0 8px !important;
	padding: 0 !important;
	color: var(--vdp-sc-ink) !important;
}

#fkcart-modal .vdp-fs-bar__hint {
	font-size: 12px !important;
	margin-top: 8px !important;
	padding-top: 8px !important;
	line-height: 1.4 !important;
	color: var(--vdp-sc-muted) !important;
}

#fkcart-modal .vdp-fs-bar__meter,
#fkcart-modal .vdp-fs-bar__track {
	overflow: hidden !important;
}

/* ——— Lignes produit : image | infos | prix (horizontal) ——— */
#fkcart-modal .fkcart-item-wrap {
	padding: 4px 0 8px !important;
}

#fkcart-modal .fkcart--item-parent {
	margin: 0 !important;
}

#fkcart-modal .fkcart-item-wrap .fkcart--item,
#fkcart-modal .fkcart--item.fkcart-panel,
#fkcart-modal .fkcart--item {
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: nowrap !important;
	align-items: flex-start !important;
	gap: 12px !important;
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 !important;
	padding: 14px var(--vdp-sc-pad-x) !important;
	box-sizing: border-box !important;
	border: 0 !important;
	border-bottom: 1px solid var(--vdp-sc-line) !important;
	border-radius: 0 !important;
	background: #fff !important;
	box-shadow: none !important;
	height: auto !important;
	min-height: 0 !important;
	text-align: left !important;
	grid-template-columns: none !important;
}

#fkcart-modal .fkcart-thumb-wrap,
#fkcart-modal .fkcart-image-wrapper {
	flex: 0 0 72px !important;
	width: 72px !important;
	height: 72px !important;
	max-width: 72px !important;
	position: relative !important;
	overflow: hidden !important;
	background: var(--vdp-sc-soft) !important;
	border-radius: 0 !important;
	align-self: flex-start !important;
	margin: 0 !important;
}

#fkcart-modal .fkcart-thumb-wrap img,
#fkcart-modal .fkcart-image-wrapper img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
	display: block !important;
	border-radius: 0 !important;
}

#fkcart-modal .fkcart-remove-item {
	position: absolute !important;
	top: 2px !important;
	left: 2px !important;
	z-index: 2 !important;
	width: 22px !important;
	height: 22px !important;
}

/* Colonne centrale : titre + qty */
#fkcart-modal .fkcart-item-info,
#fkcart-modal .fkcart-item-wrap-start {
	flex: 1 1 auto !important;
	min-width: 0 !important;
	width: auto !important;
	max-width: none !important;
	display: flex !important;
	flex-direction: column !important;
	align-items: flex-start !important;
	justify-content: flex-start !important;
	gap: 8px !important;
	text-align: left !important;
	padding: 0 !important;
	margin: 0 !important;
}

#fkcart-modal .fkcart-item-meta {
	width: 100% !important;
	max-width: 100% !important;
	display: flex !important;
	flex-direction: column !important;
	gap: 4px !important;
	text-align: left !important;
}

#fkcart-modal .fkcart-item-title-price,
#fkcart-modal .fkcart-item-title,
#fkcart-modal .fkcart-item-title-price a,
#fkcart-modal a.fkcart-item-title {
	display: block !important;
	font-family: "Poppins", system-ui, sans-serif !important;
	font-size: 13.5px !important;
	font-weight: 550 !important;
	line-height: 1.35 !important;
	color: var(--vdp-sc-ink) !important;
	text-decoration: none !important;
	text-align: left !important;
	margin: 0 !important;
}

#fkcart-modal .fkcart-item-meta-content {
	font-size: 12px !important;
	line-height: 1.35 !important;
	color: var(--vdp-sc-muted) !important;
	text-align: left !important;
	margin: 0 !important;
}

#fkcart-modal .fkcart-qty-wrap {
	width: auto !important;
	margin: 0 !important;
	padding: 0 !important;
	display: block !important;
}

#fkcart-modal .fkcart-quantity-selector {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: flex-start !important;
	border-radius: 0 !important;
	box-shadow: 0 0 0 1px var(--vdp-sc-line) !important;
	background: #fff !important;
	overflow: hidden !important;
}

#fkcart-modal .fkcart-quantity-selector .fkcart-quantity-button {
	width: 30px !important;
	min-width: 30px !important;
	height: 30px !important;
	margin: 0 !important;
	border-radius: 0 !important;
}

#fkcart-modal .fkcart-quantity-selector .fkcart-quantity__input {
	width: 36px !important;
	min-width: 36px !important;
	height: 30px !important;
	min-height: 30px !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	font-size: 13px !important;
	font-weight: 600 !important;
}

/* Prix à droite */
#fkcart-modal .fkcart-item-misc {
	flex: 0 0 auto !important;
	width: auto !important;
	max-width: 38% !important;
	min-width: 72px !important;
	display: flex !important;
	flex-direction: column !important;
	align-items: flex-end !important;
	justify-content: flex-start !important;
	text-align: right !important;
	padding: 0 !important;
	margin: 0 !important;
	gap: 4px !important;
}

#fkcart-modal .fkcart-item-price,
#fkcart-modal .fkcart-item-price .amount,
#fkcart-modal .fkcart-item-price bdi {
	font-family: "Poppins", system-ui, sans-serif !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	color: var(--vdp-sc-ink) !important;
	text-align: right !important;
	line-height: 1.3 !important;
	white-space: nowrap !important;
}

#fkcart-modal .fkcart-discounted-price {
	justify-content: flex-end !important;
	text-align: right !important;
}

/* ——— Footer blocks ——— */
#fkcart-modal .vdp-fk-coupon,
#fkcart-modal .fkcart-coupon-area {
	margin: 0 var(--vdp-sc-pad-x) 8px !important;
	border: 1px solid var(--vdp-sc-line) !important;
	background: #fff !important;
	border-radius: 0 !important;
	position: relative !important;
	z-index: 1 !important;
}

#fkcart-modal .vdp-fk-coupon__toggle {
	padding: 12px 14px !important;
}

#fkcart-modal .vdp-fk-summary,
#fkcart-modal .fkcart-order-summary {
	margin: 4px var(--vdp-sc-pad-x) 8px !important;
	padding: 8px 0 0 !important;
	border-top: 1px solid var(--vdp-sc-line) !important;
	background: transparent !important;
	box-shadow: none !important;
	border-radius: 0 !important;
	position: relative !important;
	z-index: 1 !important;
}

#fkcart-modal .fkcart-summary-line-item {
	display: flex !important;
	justify-content: space-between !important;
	align-items: flex-start !important;
	gap: 12px !important;
	padding: 6px 0 !important;
}

#fkcart-modal .fkcart-summary-text,
#fkcart-modal .fkcart-summary-amount {
	font-family: "Poppins", system-ui, sans-serif !important;
	font-size: 14px !important;
	color: var(--vdp-sc-ink) !important;
}

#fkcart-modal .vdp-fk-coupon-chip {
	border-radius: 0 !important;
}

#fkcart-modal .fkcart-checkout-wrap {
	margin: 8px var(--vdp-sc-pad-x) 0 !important;
	padding: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	border: 0 !important;
	position: relative !important;
	z-index: 1 !important;
}

#fkcart-modal #fkcart-checkout-button {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 8px !important;
	width: 100% !important;
	min-height: 48px !important;
	padding: 12px 16px !important;
	border-radius: 0 !important;
	background: var(--vdp-sc-accent) !important;
	color: #fff !important;
	font-family: "Poppins", system-ui, sans-serif !important;
	font-size: 15px !important;
	font-weight: 600 !important;
	text-decoration: none !important;
	box-shadow: none !important;
}

#fkcart-modal #fkcart-checkout-button:hover {
	background: #961414 !important;
	color: #fff !important;
}

#fkcart-modal .fkcart-checkout--text,
#fkcart-modal .fkcart-checkout--price,
#fkcart-modal .fkcart-checkout--price * {
	color: #fff !important;
}

#fkcart-modal .fkcart-shopping-link {
	display: block !important;
	margin-top: 10px !important;
	text-align: center !important;
	font-size: 13px !important;
	color: var(--vdp-sc-muted) !important;
	text-decoration: underline !important;
	background: transparent !important;
}

/* Empêche panels de se chevaucher */
#fkcart-modal .fkcart-panel {
	position: relative !important;
	box-shadow: none !important;
}

@media (max-width: 767px) {
	#fkcart-modal .fkcart-modal-container {
		width: 100% !important;
	}

	#fkcart-modal .fkcart-thumb-wrap,
	#fkcart-modal .fkcart-image-wrapper {
		flex-basis: 64px !important;
		width: 64px !important;
		height: 64px !important;
		max-width: 64px !important;
	}

	#fkcart-modal .fkcart-item-wrap .fkcart--item,
	#fkcart-modal .fkcart--item {
		gap: 10px !important;
		padding: 12px var(--vdp-sc-pad-x) !important;
	}

	#fkcart-modal .fkcart-item-misc {
		min-width: 64px !important;
		max-width: 34% !important;
	}
}
