/*
 * LRS Sélecteur de variations : récapitulatif (prix et ajout au panier séparés des choix).
 * Carte sombre sur un thème sombre (détecté en JS), claire sinon. Variables --lrs-recap-* surchargeables.
 */

/* Le récapitulatif remplace le prix et le bouton WooCommerce, qui restent dans le formulaire (masqués). */
.lrs-recap-on .single_variation_wrap,
.lrs-recap-on .lrs-pa-total {
	display: none !important;
}

.lrs-recap-wrap {
	--r-primary: var(--lrs-recap-primary, var(--lrs-vs-primary, #e10600));
	--r-on-primary: var(--lrs-vs-on-primary, #fff);
	--r-ink: var(--lrs-recap-ink, var(--lrs-recap-ink-auto, currentColor));
	--r-bg: var(--lrs-recap-bg, #fff);
	--r-border: var(--lrs-recap-border, rgba(0, 0, 0, .1));
	--r-divider: var(--lrs-recap-divider, rgba(0, 0, 0, .1));

	box-sizing: border-box;
	color: var(--r-ink);
	font-family: var(--lrs-recap-font, var(--lrs-recap-font-auto, inherit));
}

.lrs-recap-wrap.is-dark {
	--r-bg: var(--lrs-recap-bg, rgba(0, 0, 0, .28));
	--r-border: var(--lrs-recap-border, rgba(255, 255, 255, .07));
	--r-divider: var(--lrs-recap-divider, rgba(255, 255, 255, .1));
}

.lrs-recap-wrap[hidden] {
	display: none !important;
}

.lrs-recap-wrap *,
.lrs-recap-wrap *::before,
.lrs-recap-wrap *::after {
	box-sizing: border-box;
}

/* Hors du formulaire (shortcode) : reste visible au défilement. */
.lrs-recap-wrap[data-lrs-recap="shortcode"] {
	position: sticky;
	top: var(--lrs-recap-top, 24px);
}

.lrs-recap-wrap[data-lrs-recap="form"] {
	margin: 8px 0 24px;
}

.lrs-recap {
	padding: 22px 22px 24px;
	border: 1px solid var(--r-border);
	border-radius: var(--lrs-recap-radius, 8px);
	background: var(--r-bg);
}

.lrs-recap-wrap:not(.is-dark) .lrs-recap {
	box-shadow: 0 10px 30px -18px rgba(0, 0, 0, .35);
}

/* Lignes Formule / Accessoires / Date */
.lrs-recap-wrap .lrs-recap__lines {
	display: flex;
	flex-direction: column;
	gap: 12px;
	margin: 0 0 20px;
	padding: 0 0 20px;
	border-bottom: 1px solid var(--r-divider);
}

.lrs-recap-wrap .lrs-recap__line {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 16px;
}

.lrs-recap-wrap .lrs-recap__line dt,
.lrs-recap-wrap .lrs-recap__line dd {
	margin: 0;
	padding: 0;
	font-size: 15px;
	line-height: 1.35;
}

.lrs-recap-wrap .lrs-recap__line dt {
	color: var(--r-ink);
	font-weight: 400;
	opacity: .6;
}

.lrs-recap-wrap .lrs-recap__line dd {
	color: var(--r-ink);
	font-weight: 500;
	text-align: right;
}

/* Total */
.lrs-recap-wrap .lrs-recap__total {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 12px;
	margin: 0 0 20px;
}

.lrs-recap-wrap .lrs-recap__total-label {
	color: var(--r-ink);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
}

.lrs-recap-wrap .lrs-recap__amount {
	color: var(--r-ink);
	font-size: 34px;
	font-weight: 800;
	line-height: 1;
	letter-spacing: -.01em;
	font-variant-numeric: tabular-nums;
	white-space: nowrap;
}

/* Bouton : pas de changement de fond au survol, seulement une ombre. */
.lrs-recap-wrap .lrs-recap__cta {
	display: flex !important;
	align-items: center;
	justify-content: center;
	width: 100% !important;
	min-height: 54px;
	margin: 0 !important;
	padding: 12px 20px !important;
	border: 0 !important;
	border-radius: var(--lrs-recap-cta-radius, 4px) !important;
	background: var(--r-primary) !important;
	box-shadow: none !important;
	color: var(--r-on-primary) !important;
	font-family: inherit !important;
	font-size: 17px !important;
	font-weight: 600 !important;
	line-height: 1.2 !important;
	letter-spacing: normal !important;
	text-transform: none !important;
	cursor: pointer;
	transition: box-shadow .15s ease, transform .15s ease, opacity .15s ease;
}

.lrs-recap-wrap .lrs-recap__cta:hover {
	box-shadow: 0 10px 24px -12px var(--r-primary) !important;
	transform: translateY(-1px);
}

.lrs-recap-wrap .lrs-recap__cta:focus-visible {
	outline: 2px solid var(--r-primary);
	outline-offset: 3px;
}

/* Choix incomplets : bouton atténué (il reste cliquable et explique ce qui manque). */
.lrs-recap-wrap .lrs-recap__cta.is-waiting {
	opacity: .55;
}

.lrs-recap-wrap .lrs-recap__cta.is-waiting:hover {
	box-shadow: none !important;
	transform: none;
}

.lrs-recap-wrap .lrs-recap__msg {
	margin: 12px 0 0;
	color: var(--lrs-pa-error, #e5484d);
	font-size: 14px;
	font-weight: 600;
	text-align: center;
}

.lrs-recap-wrap .lrs-recap__msg:empty {
	display: none;
}

/* Réassurance */
.lrs-recap-wrap .lrs-recap__trust {
	display: flex;
	flex-direction: column;
	gap: 18px;
	margin: 28px 0 0;
	padding: 0 0 0 4px;
	list-style: none;
}

.lrs-recap-wrap .lrs-recap__trust li {
	display: flex;
	align-items: center;
	gap: 16px;
	margin: 0;
	padding: 0;
	color: var(--r-ink);
	font-size: 16px;
	line-height: 1.35;
	list-style: none;
}

.lrs-recap-wrap .lrs-recap__icon {
	display: inline-flex;
	flex: none;
	color: var(--r-primary);
}

@media (max-width: 480px) {
	.lrs-recap {
		padding: 18px;
	}

	.lrs-recap-wrap .lrs-recap__amount {
		font-size: 28px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.lrs-recap-wrap .lrs-recap__cta {
		transition: none;
	}
}
