/**
 * R30 — Checkout / carrello mobile-first (storefront).
 * Caricato dopo css_style_mod_custom.css: vince su Bootstrap e su
 * `.btn-success.bottoneavanti` globali per i CTA semantici checkout.
 */

/* ── Pagina checkout: spazio per bottombar ───────────────────────── */
body.wa-use-bottombar .wa-checkout-page {
	padding-bottom: calc(
		var(--wa-mobile-bottombar-h, 56px) + 1.5rem + env(safe-area-inset-bottom, 0px)
	);
}

/* ── Stepper compatto mobile (≤767px) ─────────────────────────────── */
@media (max-width: 767px) {
	.wa-checkout-stepper {
		margin: 0.35rem 0 0.5rem;
		padding: 0;
	}
	.wa-stepper__scroll {
		overflow-x: auto;
		padding-bottom: 2px;
		margin-bottom: 0;
	}
	.wa-stepper__row {
		min-width: 100%;
		justify-content: space-between;
	}
	.wa-stepper__seg {
		min-width: 48px;
		max-width: 64px;
		flex: 1 1 0;
	}
	.wa-stepper__rail {
		flex: 0 0 5px;
		width: 5px;
		min-width: 4px;
		margin-top: 13px;
	}
	.wa-stepper__circle {
		width: 30px;
		height: 30px;
		font-size: 12px;
		border-width: 2px;
	}
	.wa-stepper__hit--active .wa-stepper__circle {
		box-shadow: 0 0 0 3px color-mix(in srgb, var(--wa-color-primary) 18%, transparent);
	}
	.wa-stepper__check {
		font-size: 15px;
	}
	.wa-stepper__label {
		font-size: 9px;
		line-height: 1.2;
		max-width: 60px;
	}
	.wa-stepper__hit {
		padding: 1px 1px 4px;
		gap: 3px;
	}
	.wa-checkout-subtitle--stepper-hint {
		font-size: 0.8rem;
		margin-top: 0;
		margin-bottom: 0.3rem;
		line-height: 1.35;
	}
}

/* ── Blocco indirizzo: niente sovrapposizioni ─────────────────────── */
.wa-checkout-delivery-block .wa-checkout-delivery-title {
	margin-bottom: 0.75rem;
	line-height: var(--wa-line-normal);
}
.wa-checkout-delivery-block .wa-checkout-field {
	margin-bottom: 1rem;
}
.wa-checkout-delivery-block .wa-checkout-hint,
.wa-checkout-delivery-block .wa-addr-esteso-help {
	margin-top: 0.35rem;
	margin-bottom: 0.75rem;
	line-height: var(--wa-line-relaxed);
}
.wa-checkout-delivery-fallback-lead {
	margin: 1.25rem 0 0.75rem;
	line-height: var(--wa-line-relaxed);
}
.wa-checkout-delivery-fallback-form {
	margin-top: 1.5rem;
	margin-bottom: 0.5rem;
}

/* ── Mappa: altezza gestita su mobile ────────────────────────────── */
@media (max-width: 767px) {
	.wa-addr-map {
		height: min(38vh, 210px);
		min-height: 180px;
	}
	.wa-addr-map-copy,
	.wa-addr-map-copy-sub {
		line-height: var(--wa-line-relaxed);
		padding-left: 12px;
		padding-right: 12px;
	}
	.wa-addr-map-toolbar {
		padding-bottom: 10px;
	}
}

/* Bootstrap outline mappa → token primary (non blu Bootstrap) */
.wa-checkout-page .btn-outline-primary,
.wa-checkout-page .wa-addr-add-pin-btn {
	color: var(--wa-color-primary);
	border-color: var(--wa-color-primary);
	background-color: transparent;
}
.wa-checkout-page .btn-outline-primary:active:not(:disabled),
.wa-checkout-page .wa-addr-add-pin-btn:active:not(:disabled) {
	transform: scale(0.98);
	opacity: 0.92;
}

/* ── CTA conferma / step (batte css_style_mod_editor.css .btn-choose #c1121f) ─ */
.wa-checkout-page .wa-checkout-cta-step,
.wa-checkout-page .wa-checkout-cta-choice,
.wa-checkout-page .wa-lucy-verify-btn--primary,
.wa-checkout-page .wa-lucy-blocked-retry-btn,
.wa-checkout-page button.btn-choose.bottoneavanti,
.wa-checkout-page .btn-choose.btn-success.bottoneavanti,
.wa-checkout-page .btn-choose.btn-success.textcustom-carrello,
.wa-checkout-page .wa-checkout-delivery-primary,
.wa-checkout-page .wa-checkout-cta-delivery.wa-checkout-delivery-primary {
	background-color: var(--wa-checkout-primary-bg, var(--wa-cta-confirm-bg)) !important;
	border-color: var(--wa-checkout-primary-border, var(--wa-checkout-primary-bg, var(--wa-cta-confirm-bg))) !important;
	color: var(--wa-checkout-primary-color, var(--wa-cta-confirm-color)) !important;
	font-family: var(--wa-font-body) !important;
	font-weight: var(--wa-button-weight, 700) !important;
	font-size: 1rem;
	line-height: var(--wa-line-normal);
	min-height: var(--wa-control-height, var(--wa-btn-height, 48px));
	border-radius: var(--wa-radius-button, var(--wa-radius-pill)) !important;
	box-shadow: var(--wa-shadow-button, none) !important;
	text-transform: none;
	letter-spacing: 0.02em;
	padding: 0.875rem 1.25rem !important;
	margin-top: 1rem !important;
	width: 100%;
}
.wa-checkout-page .wa-checkout-cta-pickup {
	background-color: var(--wa-cta-pickup-bg) !important;
	border: 2px solid var(--wa-cta-pickup-border) !important;
	color: var(--wa-cta-pickup-color) !important;
	font-size: 1rem;
	line-height: var(--wa-line-normal);
	min-height: var(--wa-btn-height);
	text-transform: none;
}
/* Chip servizio step 1 — delivery filled */
.wa-checkout-page .wa-checkout-cta-delivery:not(.wa-checkout-delivery-primary) {
	background-color: var(--wa-cta-delivery-bg) !important;
	border-color: var(--wa-cta-delivery-border) !important;
	color: var(--wa-cta-delivery-color) !important;
	text-transform: none;
}
/* Link indietro: non sembrare CTA principale */
.wa-checkout-page .wa-checkout-back-btn.menuapri,
.wa-checkout-page .wa-checkout-back-link {
	font-weight: 500;
	text-transform: none;
	color: var(--wa-checkout-link-color, var(--wa-link-color)) !important;
}

/* ═══════════════════════════════════════════════════════════════════════════
 * R44 — Checkout White/Dark Classic (solo UI; token madre)
 * Caricato anche via extraHeadHtml su checkout.php dopo wa-mother-base.
 * ═══════════════════════════════════════════════════════════════════════════ */

body.wa-page-checkout .wa-checkout-page {
	color: var(--wa-checkout-color, var(--wa-app-color));
}

body.wa-page-checkout .wa-checkout-page .wa-flow-page-title.iltuo {
	color: var(--wa-checkout-title-color, var(--wa-heading-color, var(--wa-app-color))) !important;
}

body.wa-page-checkout .wa-checkout-page .coloretestocarrello {
	color: var(--wa-accent-color) !important;
}

body.wa-page-checkout .wa-checkout-page .testoconsegna,
body.wa-page-checkout .wa-checkout-page .wa-checkout-subtitle,
body.wa-page-checkout .wa-checkout-page .wa-checkout-hint,
body.wa-page-checkout .wa-checkout-page .wa-checkout-delivery-lead,
body.wa-page-checkout .wa-checkout-page .wa-checkout-pagamento-lead,
body.wa-page-checkout .wa-checkout-page .wa-checkout-marketing-hint {
	color: var(--wa-checkout-muted-color, var(--wa-app-muted-color)) !important;
	line-height: 1.55 !important;
}

body.wa-page-checkout .wa-checkout-page .wa-checkout-delivery-title,
body.wa-page-checkout .wa-checkout-page .wa-checkout-time-choice__title,
body.wa-page-checkout .wa-checkout-page .wa-checkout-pagamento-title,
body.wa-page-checkout .wa-checkout-page .wa-checkout-label {
	color: var(--wa-checkout-title-color, var(--wa-app-color)) !important;
}

/* Titoli dentro il pannello chiaro (wa-checkout-inner): contrasto sul panel-bg, non sul page-bg */
body.wa-page-checkout .wa-checkout-inner .wa-checkout-servizio-heading,
body.wa-page-checkout .wa-checkout-inner .wa-checkout-step-title,
body.wa-page-checkout .wa-checkout-inner .wa-checkout-delivery-title,
body.wa-page-checkout .wa-checkout-inner .wa-checkout-time-choice__title,
body.wa-page-checkout .wa-checkout-inner .wa-checkout-pagamento-title {
	color: var(--wa-checkout-panel-color, var(--wa-checkout-service-card-color, var(--wa-app-color))) !important;
}

body.wa-page-checkout .wa-checkout-page .wa-checkout-servizio-heading {
	font-size: 1.1rem !important;
	font-weight: 700 !important;
	margin: 0 0 1rem !important;
	padding: 0 !important;
	line-height: 1.4 !important;
}

/* Stepper — rail done senza verde decorativo */
body.wa-page-checkout .wa-stepper__rail--done {
	background: var(--wa-checkout-step-done-border, var(--wa-accent-color)) !important;
}

body.wa-page-checkout .wa-stepper__label {
	color: var(--wa-checkout-muted-color, var(--wa-app-muted-color)) !important;
}

/* Card servizio step 1 — stesso aspetto ritiro/consegna */
body.wa-page-checkout .wa-checkout-page .wa-checkout-service-card--pickup,
body.wa-page-checkout .wa-checkout-page .wa-checkout-service-card--delivery {
	background: var(--wa-checkout-service-card-bg) !important;
	color: var(--wa-checkout-service-card-color) !important;
	border-color: var(--wa-checkout-service-card-border) !important;
	box-shadow: none !important;
}

body.wa-page-checkout .wa-checkout-page .wa-checkout-service-card--pickup .wa-checkout-service-card__icon,
body.wa-page-checkout .wa-checkout-page .wa-checkout-service-card--delivery .wa-checkout-service-card__icon {
	background: var(--wa-checkout-service-icon-bg) !important;
	color: var(--wa-checkout-service-icon-color) !important;
}

body.wa-page-checkout .wa-checkout-page .wa-checkout-service-card__title {
	color: var(--wa-checkout-service-card-color) !important;
}

body.wa-page-checkout .wa-checkout-page .wa-checkout-service-card__text {
	color: var(--wa-checkout-muted-color, var(--wa-app-muted-color)) !important;
	line-height: 1.55 !important;
}

body.wa-page-checkout .wa-checkout-page .wa-checkout-service-card.is-selected,
body.wa-page-checkout .wa-checkout-page .wa-checkout-service-card--pickup.is-selected,
body.wa-page-checkout .wa-checkout-page .wa-checkout-service-card--delivery.is-selected {
	background: var(--wa-checkout-service-card-selected-bg) !important;
	color: var(--wa-checkout-service-card-selected-color) !important;
	border-color: var(--wa-checkout-service-card-selected-border) !important;
	box-shadow: 0 0 0 2px color-mix(in srgb, var(--wa-checkout-service-card-selected-border) 30%, transparent) !important;
}

body.wa-page-checkout .wa-checkout-page .wa-checkout-service-card.is-selected .wa-checkout-service-card__text,
body.wa-page-checkout .wa-checkout-page .wa-checkout-service-card--pickup.is-selected .wa-checkout-service-card__text,
body.wa-page-checkout .wa-checkout-page .wa-checkout-service-card--delivery.is-selected .wa-checkout-service-card__text {
	color: var(--wa-checkout-muted-color, var(--wa-app-muted-color)) !important;
}

body.wa-page-checkout .wa-checkout-page .wa-checkout-service-card.is-selected::after,
body.wa-page-checkout .wa-checkout-page .wa-checkout-service-card--pickup.is-selected::after,
body.wa-page-checkout .wa-checkout-page .wa-checkout-service-card--delivery.is-selected::after {
	color: var(--wa-checkout-service-card-selected-border) !important;
}

body.wa-page-checkout .wa-checkout-page .wa-checkout-service-card:focus-visible {
	outline-color: var(--wa-accent-color) !important;
}

/* Scelta orario ASAP / fascia (R47C token dedicati) */
body.wa-page-checkout .wa-checkout-page .wa-checkout-time-option {
	background: var(--wa-checkout-time-option-bg, var(--wa-checkout-service-card-bg)) !important;
	border-color: var(--wa-checkout-time-option-border, var(--wa-checkout-service-card-border)) !important;
	color: var(--wa-checkout-time-option-color, var(--wa-checkout-service-card-color)) !important;
	box-shadow: none !important;
	padding: var(--wa-checkout-time-card-padding, 16px) !important;
}

body.wa-page-checkout .wa-checkout-page .wa-checkout-time-option__icon {
	background: var(--wa-checkout-time-option-icon-bg, var(--wa-checkout-service-icon-bg)) !important;
	color: var(--wa-checkout-time-option-icon-color, var(--wa-checkout-service-icon-color)) !important;
}

body.wa-page-checkout .wa-checkout-page .wa-checkout-time-option__icon::before {
	content: '';
	display: block;
	width: 1.15rem;
	height: 1.15rem;
	background-color: currentColor;
	-webkit-mask: center / contain no-repeat;
	mask: center / contain no-repeat;
}

body.wa-page-checkout .wa-checkout-page .wa-checkout-time-option__icon--asap::before {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23000' d='M11.251 1.001a.5.5 0 0 1 .447.724L9.524 8.5H13.5a.5.5 0 0 1 .395.808l-8 10.5a.5.5 0 0 1-.876-.396L6.476 8.5H2.5a.5.5 0 0 1-.395-.808l8-10.5a.5.5 0 0 1 .646-.09z'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23000' d='M11.251 1.001a.5.5 0 0 1 .447.724L9.524 8.5H13.5a.5.5 0 0 1 .395.808l-8 10.5a.5.5 0 0 1-.876-.396L6.476 8.5H2.5a.5.5 0 0 1-.395-.808l8-10.5a.5.5 0 0 1 .646-.09z'/%3E%3C/svg%3E");
}

body.wa-page-checkout .wa-checkout-page .wa-checkout-time-option__icon--scheduled::before {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23000' d='M8 3.5a.5.5 0 0 0-1 0V9a.5.5 0 0 0 .252.434l3.5 2a.5.5 0 0 0 .496-.868L8 8.71V3.5z'/%3E%3Cpath fill='%23000' d='M8 16A8 8 0 1 0 8 0a8 8 0 0 0 0 16zm0-1A7 7 0 1 1 8 1a7 7 0 0 1 0 14z'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23000' d='M8 3.5a.5.5 0 0 0-1 0V9a.5.5 0 0 0 .252.434l3.5 2a.5.5 0 0 0 .496-.868L8 8.71V3.5z'/%3E%3Cpath fill='%23000' d='M8 16A8 8 0 1 0 8 0a8 8 0 0 0 0 16zm0-1A7 7 0 1 1 8 1a7 7 0 0 1 0 14z'/%3E%3C/svg%3E");
}

body.wa-page-checkout .wa-checkout-page .wa-checkout-time-option.is-active {
	background: var(--wa-checkout-time-option-selected-bg, var(--wa-checkout-service-card-selected-bg)) !important;
	border-color: var(--wa-checkout-time-option-selected-border, var(--wa-checkout-service-card-selected-border)) !important;
	color: var(--wa-checkout-time-option-selected-color, var(--wa-checkout-service-card-selected-color)) !important;
	box-shadow: 0 0 0 2px var(--wa-checkout-time-glow-color, color-mix(in srgb, var(--wa-accent-color) 28%, transparent)) !important;
}

body.wa-page-checkout .wa-checkout-page .wa-checkout-time-option.is-active .wa-checkout-time-option__icon {
	background: var(--wa-checkout-time-option-icon-bg, var(--wa-checkout-service-icon-bg)) !important;
	color: var(--wa-checkout-time-option-icon-color, var(--wa-checkout-service-icon-color)) !important;
}

body.wa-page-checkout .wa-checkout-page .wa-checkout-time-option.is-active .wa-checkout-time-option__text {
	color: var(--wa-checkout-muted-color, var(--wa-app-muted-color)) !important;
}

body.wa-page-checkout .wa-checkout-page .wa-checkout-time-option:focus-visible {
	outline-color: var(--wa-accent-color) !important;
}

/* R47D — Lead orario (senza scelta giorno Oggi/Domani) */
body.wa-page-checkout .wa-checkout-page .wa-checkout-day-choice-hint,
body.wa-page-checkout .wa-checkout-page .wa-checkout-time-lead {
	margin: 0 0 1.15rem;
	font-size: 1.125rem;
	line-height: 1.45;
	font-weight: 500;
	color: var(--wa-checkout-muted-color, var(--wa-app-muted-color)) !important;
}

@media (min-width: 768px) {
	body.wa-page-checkout .wa-checkout-page .wa-checkout-day-choice-hint,
	body.wa-page-checkout .wa-checkout-page .wa-checkout-time-lead {
		font-size: 1.2rem;
	}
}

body.wa-page-checkout .wa-checkout-page .wa-checkout-day-choice__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: var(--wa-checkout-time-options-gap, 12px);
	margin: 0 0 0.75rem;
}

@media (max-width: 359px) {
	body.wa-page-checkout .wa-checkout-page .wa-checkout-day-choice__grid {
		grid-template-columns: 1fr;
	}
}

body.wa-page-checkout .wa-checkout-page .wa-checkout-day-option {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 3.25rem;
	padding: 0.65rem 0.5rem;
	border-radius: var(--wa-radius-md, 10px);
	border: 1px solid var(--wa-checkout-day-option-border, var(--wa-border-color)) !important;
	background: var(--wa-checkout-day-option-bg, var(--wa-surface-bg)) !important;
	color: var(--wa-checkout-day-option-color, var(--wa-app-color)) !important;
	font: inherit;
	text-align: center;
	cursor: pointer;
	box-shadow: none !important;
}

body.wa-page-checkout .wa-checkout-page .wa-checkout-day-option__line {
	display: inline-flex;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: center;
	gap: 0;
	line-height: 1.35;
}

body.wa-page-checkout .wa-checkout-page .wa-checkout-day-option__title {
	font-weight: 600;
}

body.wa-page-checkout .wa-checkout-page .wa-checkout-day-option__date {
	color: var(--wa-checkout-day-option-muted-color, var(--wa-app-muted-color)) !important;
	font-size: 0.92em;
	font-weight: 500;
}

body.wa-page-checkout .wa-checkout-page .wa-checkout-day-option.is-active {
	background: var(--wa-checkout-day-option-selected-bg, var(--wa-surface-soft-bg)) !important;
	color: var(--wa-checkout-day-option-selected-color, var(--wa-app-color)) !important;
	border-color: var(--wa-checkout-day-option-selected-border, var(--wa-accent-color)) !important;
	box-shadow: 0 0 0 2px var(--wa-checkout-time-glow-color, color-mix(in srgb, var(--wa-accent-color) 28%, transparent)) !important;
}

body.wa-page-checkout .wa-checkout-page .wa-checkout-day-option.is-active .wa-checkout-day-option__date {
	color: var(--wa-checkout-day-option-muted-color, var(--wa-app-muted-color)) !important;
}

body.wa-page-checkout .wa-checkout-page .wa-checkout-day-option:focus-visible {
	outline: 2px solid var(--wa-accent-color);
	outline-offset: 2px;
}

body.wa-page-checkout .wa-checkout-page .wa-checkout-day-picker-wrap--hidden {
	display: none !important;
}

body.wa-page-checkout .wa-checkout-page .wa-checkout-day-picker-wrap:not(.wa-checkout-day-picker-wrap--hidden) {
	margin-top: 0.15rem;
}

body.wa-page-checkout .wa-checkout-page .wa-checkout-day-picker-label {
	margin-bottom: 0.35rem;
}

/* Pagamento — card evidenti (superficie bianca, bordo e stato selezione leggibili) */
body.wa-page-checkout .wa-checkout-pagamento-grid {
	gap: 0.65rem;
}

body.wa-page-checkout .wa-checkout-page .wa-checkout-pagamento-card {
	position: relative;
	display: block;
	margin: 0;
	padding: 0.95rem 1rem 0.95rem 2.85rem;
	min-height: 4.35rem;
	background: var(--wa-field-surface-bg, #ffffff) !important;
	border: 2px solid color-mix(in srgb, var(--wa-text-color, #1f1a16) 28%, var(--wa-field-surface-border, #ded2c3)) !important;
	border-radius: 14px;
	box-shadow: 0 2px 8px rgba(31, 26, 22, 0.1) !important;
	cursor: pointer;
	transition: border-color 0.15s ease, box-shadow 0.15s ease, transform 0.12s ease, background-color 0.15s ease;
}

body.wa-page-checkout .wa-checkout-page .wa-checkout-pagamento-card::before {
	content: "";
	position: absolute;
	left: 1rem;
	top: 50%;
	transform: translateY(-50%);
	width: 1.2rem;
	height: 1.2rem;
	border-radius: 50%;
	border: 2px solid var(--wa-checkbox-control-border, #6f6258);
	background: var(--wa-checkbox-control-bg, #ffffff);
	box-shadow: inset 0 1px 2px rgba(15, 23, 42, 0.06);
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

body.wa-page-checkout .wa-checkout-page .wa-checkout-pagamento-card:hover {
	border-color: color-mix(in srgb, var(--wa-accent-color, #b87932) 55%, var(--wa-border-color, #ded2c3)) !important;
	box-shadow: 0 4px 14px rgba(31, 26, 22, 0.12) !important;
	transform: translateY(-1px);
}

body.wa-page-checkout .wa-checkout-page .wa-checkout-pagamento-card-label {
	color: var(--wa-text-color, #1f1a16) !important;
	font-weight: 700 !important;
	font-size: 1rem !important;
	line-height: 1.3 !important;
}

body.wa-page-checkout .wa-checkout-page .wa-checkout-pagamento-card-hint {
	color: var(--wa-muted-color, #6f6258) !important;
	font-size: 0.82rem !important;
	line-height: 1.45 !important;
}

body.wa-page-checkout .wa-checkout-page .wa-checkout-pagamento-card.is-selected {
	background: color-mix(in srgb, var(--wa-field-surface-bg, #ffffff) 88%, var(--wa-accent-color, #b87932) 12%) !important;
	border-color: var(--wa-accent-color, #b87932) !important;
	box-shadow:
		0 0 0 3px color-mix(in srgb, var(--wa-accent-color, #b87932) 28%, transparent),
		0 6px 16px rgba(31, 26, 22, 0.14) !important;
	transform: none;
}

body.wa-page-checkout .wa-checkout-page .wa-checkout-pagamento-card.is-selected::before {
	border-color: var(--wa-accent-color, #b87932);
	background: var(--wa-accent-color, #b87932);
	box-shadow: inset 0 0 0 3px var(--wa-field-surface-bg, #ffffff);
}

body.wa-page-checkout .wa-checkout-page .wa-checkout-pagamento-card.is-selected .wa-checkout-pagamento-card-label,
body.wa-page-checkout .wa-checkout-page .wa-checkout-pagamento-card.is-selected .wa-checkout-pagamento-card-hint {
	color: var(--wa-text-color, #1f1a16) !important;
}

body.wa-page-checkout .wa-checkout-page .wa-checkout-pagamento-card.is-t0-locked,
body.wa-page-checkout .wa-checkout-page .wa-checkout-pagamento-card:has(.wa-checkout-pagamento-input:disabled) {
	opacity: 0.55;
	cursor: not-allowed;
	transform: none;
	box-shadow: none !important;
}

body.wa-page-checkout .wa-checkout-page .wa-checkout-pagamento-card:focus-within {
	outline: 2px solid var(--wa-accent-color, #b87932);
	outline-offset: 2px;
}

/* Lucy alternative — surface madre, no verde neon */
body.wa-page-checkout .wa-checkout-page .wa-lucy-alt-card {
	background: var(--wa-checkout-lucy-card-bg, var(--wa-surface-bg)) !important;
	border-color: var(--wa-checkout-lucy-card-border, var(--wa-border-color)) !important;
	color: var(--wa-checkout-lucy-card-color, var(--wa-app-color)) !important;
	box-shadow: none !important;
	transform: none !important;
}

body.wa-page-checkout .wa-checkout-page .wa-lucy-alt-card:hover,
body.wa-page-checkout .wa-checkout-page .wa-lucy-alt-card:active {
	background: var(--wa-checkout-lucy-card-bg, var(--wa-surface-bg)) !important;
	border-color: var(--wa-checkout-lucy-card-border, var(--wa-border-color)) !important;
	box-shadow: none !important;
	transform: none !important;
}

body.wa-page-checkout .wa-checkout-page .wa-lucy-alt-card--recommended {
	background: var(--wa-checkout-lucy-recommended-bg, var(--wa-surface-soft-bg)) !important;
	border-color: var(--wa-checkout-lucy-recommended-border, var(--wa-accent-color)) !important;
	color: var(--wa-checkout-lucy-recommended-color, var(--wa-app-color)) !important;
	box-shadow: 0 0 0 1px var(--wa-checkout-time-glow-color, color-mix(in srgb, var(--wa-accent-color) 22%, transparent)) !important;
}

body.wa-page-checkout .wa-checkout-page .wa-lucy-alt-card--recommended:hover {
	border-color: var(--wa-checkout-lucy-recommended-border, var(--wa-accent-color)) !important;
}

body.wa-page-checkout .wa-checkout-page .wa-lucy-alt-card-badge {
	background: var(--wa-surface-soft-bg) !important;
	color: var(--wa-accent-color) !important;
}

body.wa-page-checkout .wa-checkout-page .wa-lucy-alt-card-time,
body.wa-page-checkout .wa-checkout-page .wa-lucy-alt-card-sub {
	color: var(--wa-checkout-muted-color, var(--wa-app-muted-color)) !important;
}

/* Input / textarea */
body.wa-page-checkout .wa-checkout-page .wa-checkout-input,
body.wa-page-checkout .wa-checkout-page .form-control,
body.wa-page-checkout .wa-checkout-page textarea.wa-checkout-input {
	background: var(--wa-field-surface-bg, #ffffff) !important;
	color: var(--wa-field-surface-color, var(--wa-checkout-input-color, var(--wa-input-color))) !important;
	border-color: var(--wa-field-surface-border, var(--wa-checkout-input-border, var(--wa-input-border))) !important;
	box-shadow: var(--wa-field-surface-shadow, 0 1px 2px rgba(31, 26, 22, 0.07));
}

body.wa-page-checkout .wa-checkout-page .wa-checkout-input::placeholder,
body.wa-page-checkout .wa-checkout-page .form-control::placeholder {
	color: var(--wa-checkout-input-placeholder, var(--wa-input-placeholder)) !important;
}

body.wa-page-checkout .wa-checkout-page .wa-checkout-input:focus,
body.wa-page-checkout .wa-checkout-page .form-control:focus {
	border-color: var(--wa-checkout-input-focus-border, var(--wa-input-focus-border)) !important;
	box-shadow: none !important;
}

/* Mappa / posizione */
body.wa-page-checkout .wa-checkout-page .wa-addr-map-wrap {
	background: var(--wa-checkout-map-bg, var(--wa-surface-soft-bg)) !important;
	border: 1px solid var(--wa-checkout-map-border, var(--wa-border-color)) !important;
	border-radius: var(--wa-checkout-map-radius, var(--wa-radius-md)) !important;
	color: var(--wa-checkout-map-color, var(--wa-app-color)) !important;
}

body.wa-page-checkout .wa-checkout-page .wa-addr-map-copy,
body.wa-page-checkout .wa-checkout-page .wa-addr-map-copy-sub {
	color: var(--wa-checkout-map-color, var(--wa-app-color)) !important;
	line-height: 1.55 !important;
}

/* Voice / geo secondari */
body.wa-page-checkout .wa-checkout-page .wa-checkout-voice-btn,
body.wa-page-checkout .wa-checkout-page .wa-addr-geo-btn,
body.wa-page-checkout .wa-checkout-page .btn-outline-primary.wa-addr-add-pin-btn {
	background: var(--wa-checkout-secondary-bg, var(--wa-button-secondary-bg)) !important;
	color: var(--wa-checkout-secondary-color, var(--wa-button-secondary-color)) !important;
	border-color: var(--wa-checkout-secondary-border, var(--wa-border-color)) !important;
}

/* Riepilogo / totale */
body.wa-page-checkout .wa-checkout-page .wa-checkout-riepilogo,
body.wa-page-checkout .wa-checkout-page .wa-confirm-recap {
	background: var(--wa-checkout-summary-bg) !important;
	color: var(--wa-checkout-summary-color) !important;
	border-color: var(--wa-checkout-summary-border) !important;
}

body.wa-page-checkout .wa-checkout-page .wa-checkout-riepilogo-line,
body.wa-page-checkout .wa-checkout-page .wa-checkout-k {
	color: var(--wa-checkout-summary-color) !important;
	line-height: 1.55 !important;
}

body.wa-page-checkout .wa-checkout-page .totalecifre,
body.wa-page-checkout .wa-checkout-page #wa-checkout-totale-cifre {
	color: var(--wa-checkout-total-color, var(--wa-accent-color)) !important;
	font-size: var(--wa-checkout-total-font-size, 1.45rem) !important;
	font-weight: 900 !important;
}

/* Pannelli interni — respiro sopra/sotto (premium) senza alterare radius/card dei template */
body.wa-page-checkout .wa-checkout-page .wa-checkout-inner,
body.wa-page-checkout .wa-checkout-page .wa-lucy-form-card {
	background: var(--wa-checkout-lucy-card-bg, var(--wa-checkout-panel-bg)) !important;
	color: var(--wa-checkout-panel-color, var(--wa-checkout-lucy-card-color, var(--wa-checkout-panel-color))) !important;
	border-color: var(--wa-checkout-lucy-card-border, var(--wa-checkout-panel-border)) !important;
	box-shadow: var(--wa-checkout-panel-shadow, var(--wa-shadow-sm)) !important;
	padding: var(--wa-checkout-inner-padding-y, 1.25rem) var(--wa-checkout-inner-padding-x, clamp(1rem, 4vw, 1.35rem)) !important;
	border-radius: var(--wa-checkout-panel-radius, var(--wa-radius-md));
}

body.wa-page-checkout .wa-checkout-page .wa-checkout-gate-card {
	background: var(--wa-checkout-panel-bg) !important;
	color: var(--wa-checkout-panel-color) !important;
	border-color: var(--wa-checkout-panel-border) !important;
}

/* Messaggi checkout */
body.wa-page-checkout .wa-checkout-page .wa-checkout-msg {
	line-height: 1.55 !important;
}

/* ═══════════════════════════════════════════════════════════════
 * R46 — Checkout bonifica P0/P1 (da mappa R45)
 * Scope: body.wa-page-checkout — vince su css_style_mod / editor legacy
 * ═══════════════════════════════════════════════════════════════ */

/* P0 — Autocomplete indirizzo */
body.wa-page-checkout .wa-checkout-page .wa-addr-ac-list,
body.wa-page-checkout .wa-checkout-page .wa-addr-ac-panel,
body.wa-page-checkout .wa-checkout-page #wa_addr_suggestions.wa-addr-ac-panel {
	background: var(--wa-checkout-ac-bg, var(--wa-surface-bg)) !important;
	color: var(--wa-checkout-ac-color, var(--wa-app-color)) !important;
	border-color: var(--wa-checkout-ac-border, var(--wa-border-color)) !important;
}

body.wa-page-checkout .wa-checkout-page .wa-addr-ac-item {
	background: var(--wa-checkout-ac-item-bg, transparent) !important;
	color: var(--wa-checkout-ac-item-color, var(--wa-app-color)) !important;
}

body.wa-page-checkout .wa-checkout-page .wa-addr-ac-item:active,
body.wa-page-checkout .wa-checkout-page .wa-addr-ac-active {
	background: var(--wa-checkout-ac-item-selected-bg, var(--wa-surface-soft-bg)) !important;
}

body.wa-page-checkout .wa-checkout-page .wa-addr-ac-line1 {
	color: var(--wa-checkout-ac-item-color, var(--wa-app-color)) !important;
}

body.wa-page-checkout .wa-checkout-page .wa-addr-ac-line2 {
	color: var(--wa-checkout-muted-color, var(--wa-app-muted-color)) !important;
}

/* P1 — Lucy success (no gradient bianco/verde legacy) */
body.wa-page-checkout .wa-checkout-page .wa-lucy-result--success {
	background: var(--wa-checkout-lucy-success-bg, var(--wa-color-success-bg)) !important;
	color: var(--wa-checkout-lucy-success-color, var(--wa-app-color)) !important;
	border-color: var(--wa-checkout-lucy-success-border, var(--wa-border-color)) !important;
	background-image: none !important;
}

/* P1 — Slot banner */
body.wa-page-checkout .wa-checkout-page .wa-slot-suggest-banner {
	background: var(--wa-checkout-slot-banner-bg, var(--wa-surface-soft-bg)) !important;
	color: var(--wa-checkout-slot-banner-color, var(--wa-app-color)) !important;
	border: 1px solid var(--wa-checkout-slot-banner-border, var(--wa-border-color)) !important;
}

body.wa-page-checkout .wa-checkout-page .wa-slot-suggest-banner__kicker,
body.wa-page-checkout .wa-checkout-page .wa-slot-suggest-banner__text {
	color: inherit !important;
}

/* P1 — Delivery summary box (step dati) */
body.wa-page-checkout .wa-checkout-page .wa-checkout-delivery-summary-box {
	background: var(--wa-checkout-delivery-summary-bg, var(--wa-surface-soft-bg)) !important;
	color: var(--wa-checkout-delivery-summary-color, var(--wa-app-color)) !important;
	border-color: var(--wa-checkout-delivery-summary-border, var(--wa-border-color)) !important;
}

/* P1 — Gate secondary distinguibile dal primary */
body.wa-page-checkout .wa-checkout-gate-page .wa-checkout-gate-primary,
body.wa-page-checkout .wa-checkout-gate-page a.wa-checkout-gate-primary {
	background: var(--wa-checkout-primary-bg, var(--wa-button-primary-bg)) !important;
	color: var(--wa-checkout-primary-color, var(--wa-button-primary-color)) !important;
	border-color: var(--wa-checkout-primary-border, var(--wa-checkout-primary-bg)) !important;
}

body.wa-page-checkout .wa-checkout-gate-page .wa-checkout-gate-secondary,
body.wa-page-checkout .wa-checkout-gate-page a.wa-checkout-gate-secondary {
	background: var(--wa-checkout-gate-secondary-bg, var(--wa-checkout-secondary-bg)) !important;
	color: var(--wa-checkout-gate-secondary-color, var(--wa-checkout-secondary-color)) !important;
	border-color: var(--wa-checkout-gate-secondary-border, var(--wa-checkout-secondary-border)) !important;
}

/* P1 — Map markers (CSS controllato, non tile Leaflet) */
body.wa-page-checkout .wa-checkout-page .wa-addr-marker-sede-icon::before {
	background: var(--wa-checkout-map-marker-bg, var(--wa-accent-color)) !important;
	border-color: var(--wa-checkout-map-marker-border, var(--wa-surface-bg)) !important;
}

body.wa-page-checkout .wa-checkout-page .wa-addr-marker-sede-icon::after {
	border-bottom-color: color-mix(in srgb, var(--wa-checkout-map-marker-bg, var(--wa-accent-color)) 82%, #000) !important;
}

body.wa-page-checkout .wa-checkout-page .wa-addr-marker-sede {
	background: color-mix(in srgb, var(--wa-checkout-map-marker-bg, var(--wa-accent-color)) 55%, var(--wa-surface-soft-bg)) !important;
	border-color: var(--wa-checkout-map-marker-border, var(--wa-surface-bg)) !important;
}

body.wa-page-checkout .wa-checkout-page .leaflet-marker-icon.wa-addr-marker-client--pulse,
body.wa-page-checkout .wa-checkout-page .wa-addr-marker-client--pulse {
	animation: none !important;
	filter: drop-shadow(0 2px 6px color-mix(in srgb, var(--wa-checkout-map-marker-bg, var(--wa-accent-color)) 35%, transparent)) !important;
}

/* P1 — Time option: neutralizza glow verde mod */
body.wa-page-checkout .wa-checkout-page .wa-checkout-time-option:hover:not(:disabled) {
	box-shadow: none !important;
}

body.wa-page-checkout .wa-checkout-page .wa-lucy-alt-card-time {
	color: var(--wa-checkout-lucy-card-color, var(--wa-app-color)) !important;
}

/* ── R47/R49 — Checkout UX compact (layout, spacing, help) ───────── */
body.wa-page-checkout .wa-checkout-page {
	padding-top: var(--wa-checkout-step-padding-top, 22px);
}

/* ── R48 — Testata checkout compatta (mobile): titolo, stepper, toolbar ─ */
@media (max-width: 767px) {
	body.wa-page-checkout .wa-checkout-page.container {
		margin-top: 8px;
		margin-bottom: 28px;
		padding-top: 6px;
	}

	body.wa-page-checkout .wa-checkout-page > .wa-flow-page-title.iltuo {
		margin-top: 0 !important;
		margin-bottom: 0.25rem !important;
		font-size: 1.28rem !important;
		line-height: 1.15 !important;
		letter-spacing: -0.01em;
	}

	body.wa-page-checkout .wa-checkout-page > .wa-checkout-subtitle.wa-checkout-subtitle--stepper-hint {
		margin-bottom: 0.3rem !important;
		line-height: 1.35 !important;
	}

	body.wa-page-checkout .wa-checkout-toolbar {
		margin-top: 0.2rem !important;
		margin-bottom: 0.45rem !important;
	}

	body.wa-page-checkout .wa-checkout-toolbar .wa-checkout-back-link.menuapri {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		padding: 0.35rem 0.7rem !important;
		font-size: 0.8rem !important;
		line-height: 1.3;
		border-width: 1px;
	}

	body.wa-page-checkout .wa-checkout-page > .wa-flash-global.wa-checkout-msg,
	body.wa-page-checkout .wa-checkout-page > .wa-checkout-msg[data-role="alert"] {
		margin-top: 0.35rem;
		margin-bottom: 0.35rem;
		padding: 8px 12px;
	}

	body.wa-page-checkout .wa-checkout-inner {
		margin-top: 0;
		gap: 0.5rem;
	}

	body.wa-page-checkout .wa-checkout-delivery-block.wa-checkout-step-address {
		margin-top: 0;
		padding-top: 0;
	}

	body.wa-page-checkout .wa-checkout-step-address .wa-checkout-delivery-title {
		margin-top: 0;
	}
}

body.wa-page-checkout .wa-checkout-step-compact .wa-checkout-step-title,
body.wa-page-checkout .wa-checkout-step-header .wa-checkout-step-title {
	margin: 0 0 var(--wa-checkout-compact-gap, 10px);
	font-size: 1.25rem;
	line-height: var(--wa-line-tight, 1.25);
	color: var(--wa-checkout-title-color, var(--wa-heading-color));
}

body.wa-page-checkout .wa-checkout-step-compact .wa-checkout-step-lead,
body.wa-page-checkout .wa-checkout-step-header .wa-checkout-step-lead {
	margin: 0 0 var(--wa-checkout-lead-margin-bottom, 14px);
	font-size: 0.92rem;
	line-height: var(--wa-line-relaxed);
	color: var(--wa-checkout-muted-color, var(--wa-app-muted-color));
}

body.wa-page-checkout .wa-checkout-step-meta {
	margin: 0 0 var(--wa-checkout-compact-gap, 10px);
	font-size: 0.85rem;
}

body.wa-page-checkout .wa-checkout-step-compact .wa-checkout-field {
	margin-bottom: var(--wa-checkout-block-gap, 16px);
}

body.wa-page-checkout .wa-checkout-step1.wa-checkout-step-compact .wa-checkout-step-title {
	margin-bottom: var(--wa-checkout-compact-gap, 10px);
}

body.wa-page-checkout .wa-checkout-step1 .wa-checkout-service-grid {
	gap: 0.75rem;
	margin-top: 0;
}

body.wa-page-checkout .wa-checkout-page .wa-checkout-service-card {
	padding: 0.9rem 1rem;
	border-width: 2px;
}

body.wa-page-checkout .wa-checkout-page .wa-checkout-service-card.is-selected {
	box-shadow: 0 0 0 2px color-mix(in srgb, var(--wa-checkout-service-card-selected-border) 30%, transparent) !important;
}

body.wa-page-checkout .wa-checkout-page .wa-checkout-service-card.is-suggested:not(.is-selected) {
	border-color: color-mix(in srgb, var(--wa-checkout-service-card-selected-border) 55%, var(--wa-checkout-service-card-border)) !important;
	box-shadow: 0 0 0 1px color-mix(in srgb, var(--wa-checkout-service-card-selected-border) 18%, transparent) !important;
}

body.wa-page-checkout .wa-checkout-servizio-last-hint {
	margin: 0 0 0.65rem;
	font-size: 0.88rem;
	color: var(--wa-color-muted, #64748b);
}

body.wa-page-checkout .wa-saved-addr-section__recommend {
	margin: 0 0 0.35rem;
	font-size: 0.86rem;
	font-weight: 600;
	color: var(--wa-color-text, #0f172a);
}

body.wa-page-checkout .wa-saved-addr-card--recommended {
	border-color: color-mix(in srgb, var(--wa-accent-color, #0f766e) 45%, var(--wa-color-border, #e2e8f0));
}

body.wa-page-checkout .wa-checkout-delivery-block .wa-checkout-delivery-tools {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin: 0.35rem 0 0.5rem;
}

body.wa-page-checkout .wa-checkout-help-details {
	margin: 0 0 var(--wa-checkout-compact-gap, 10px);
	padding: 0.55rem 0.75rem;
	background: var(--wa-checkout-help-bg, var(--wa-surface-soft-bg));
	color: var(--wa-checkout-help-color, var(--wa-app-color));
	border: 1px solid var(--wa-checkout-help-border, var(--wa-border-color));
	border-radius: var(--wa-checkout-help-radius, var(--wa-radius-card));
}

body.wa-page-checkout .wa-checkout-help-details__summary {
	cursor: pointer;
	font-size: 0.88rem;
	font-weight: 600;
	line-height: var(--wa-line-normal);
	list-style-position: outside;
}

body.wa-page-checkout .wa-checkout-map-help__body {
	margin: 0.5rem 0 0;
	font-size: 0.86rem;
	line-height: var(--wa-line-relaxed);
}

body.wa-page-checkout .wa-checkout-map-status {
	margin: 0 0 0.35rem;
	font-size: 0.88rem;
	font-weight: 600;
	line-height: var(--wa-line-normal);
}

body.wa-page-checkout .wa-checkout-map-status-sub {
	margin: 0 0 var(--wa-checkout-compact-gap, 10px);
	font-size: 0.82rem;
	line-height: var(--wa-line-relaxed);
	color: var(--wa-checkout-muted-color, var(--wa-app-muted-color));
}

body.wa-page-checkout .wa-checkout-map-compact .wa-addr-map-toolbar {
	margin: 0 0 var(--wa-checkout-compact-gap, 10px);
}

body.wa-page-checkout .wa-checkout-map-compact .wa-addr-map {
	height: var(--wa-checkout-map-compact-height-mobile, 260px);
	min-height: 200px;
	border-radius: var(--wa-checkout-map-radius, var(--wa-radius-md));
	overflow: hidden;
}

body.wa-page-checkout .wa-checkout-map-compact .wa-addr-map-copy:not(.wa-checkout-map-status),
body.wa-page-checkout .wa-checkout-map-compact > .wa-addr-map-copy:first-of-type {
	display: none;
}

/* R47C — Step orario: niente hero ridondante, opzioni protagoniste */
body.wa-page-checkout .wa-checkout-step-header--time {
	margin-bottom: var(--wa-checkout-time-title-gap, 10px);
}

body.wa-page-checkout .wa-lucy-experience.wa-checkout-step-time .wa-lucy-hero,
body.wa-page-checkout .wa-lucy-experience.wa-checkout-step-time .wa-lucy-hero--compact {
	display: none !important;
}

body.wa-page-checkout .wa-checkout-page .wa-lucy-hero,
body.wa-page-checkout .wa-checkout-page .wa-lucy-hero--compact {
	background: var(--wa-checkout-lucy-hero-bg, var(--wa-checkout-panel-bg)) !important;
	background-image: none !important;
	color: var(--wa-checkout-lucy-hero-color, var(--wa-checkout-panel-color)) !important;
	border: 1px solid var(--wa-checkout-lucy-hero-border, var(--wa-checkout-panel-border)) !important;
}

body.wa-page-checkout .wa-checkout-page .wa-lucy-hero-kicker,
body.wa-page-checkout .wa-checkout-page .wa-lucy-hero-title,
body.wa-page-checkout .wa-checkout-page .wa-lucy-hero-lead {
	color: inherit !important;
}

body.wa-page-checkout .wa-checkout-step-time .wa-checkout-time-choice {
	margin: 0 0 var(--wa-checkout-time-section-margin, 16px);
}

body.wa-page-checkout .wa-checkout-step-time .wa-checkout-time-choice__grid {
	gap: var(--wa-checkout-time-options-gap, 12px);
}

body.wa-page-checkout .wa-checkout-step-time .wa-checkout-time-choice__title {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

body.wa-page-checkout .wa-checkout-step-time .wa-lucy-form-card {
	padding: var(--wa-checkout-time-card-padding, 16px) !important;
	margin-bottom: var(--wa-checkout-time-section-margin, 16px) !important;
	border-radius: var(--wa-checkout-panel-radius, var(--wa-radius-card)) !important;
}

/* R47D — Step orario verificato: nascondi scelta/form, protagonista wa-lucy-result--success */
body.wa-page-checkout .wa-checkout-step-time--verified .wa-checkout-time-pick {
	display: none !important;
}

body.wa-page-checkout .wa-checkout-step-time--verified .wa-lucy-result--success {
	margin-top: 0;
}

body.wa-page-checkout .wa-checkout-step-time--verified .wa-lucy-result-requested {
	margin: 0 0 0.75rem;
	font-size: 0.88rem;
	color: var(--wa-checkout-muted-color, var(--wa-app-muted-color));
}

body.wa-page-checkout .wa-checkout-step-time--verified .wa-lucy-result--success .wa-lucy-result-hero {
	color: var(--wa-checkout-lucy-success-color, var(--wa-app-color));
}

body.wa-page-checkout .wa-checkout-step-time--verified .wa-lucy-result--success .wa-lucy-timeline-label,
body.wa-page-checkout .wa-checkout-step-time--verified .wa-lucy-result--success .wa-lucy-timeline-value {
	color: inherit;
	opacity: 1;
}

body.wa-page-checkout .wa-checkout-step-time--verified .wa-lucy-result--success .wa-lucy-timeline-dot {
	background: var(--wa-checkout-lucy-success-color, var(--wa-color-success));
	border-color: var(--wa-checkout-lucy-success-border, var(--wa-border-color));
}

body.wa-page-checkout .wa-checkout-step-time--verified .wa-lucy-result--success .wa-lucy-timeline-line {
	background: var(--wa-checkout-lucy-success-border, var(--wa-border-color));
	opacity: 0.55;
}

body.wa-page-checkout .wa-checkout-step-time--verified .wa-lucy-confirm-slot-btn.wa-checkout-cta-primary {
	background: var(--wa-checkout-primary-bg, var(--wa-button-primary-bg)) !important;
	color: var(--wa-checkout-primary-color, var(--wa-button-primary-color)) !important;
	border-color: var(--wa-checkout-primary-border, var(--wa-checkout-primary-bg)) !important;
	width: 100%;
	margin-top: 0.35rem;
}

body.wa-page-checkout .wa-checkout-step-time--verified .wa-lucy-change-time-wrap {
	margin-top: 0.65rem;
	text-align: center;
}

body.wa-page-checkout .wa-checkout-step-time--verified .wa-lucy-change-time-btn {
	background: var(--wa-checkout-secondary-bg, transparent) !important;
	color: var(--wa-checkout-secondary-color, var(--wa-app-muted-color)) !important;
	border: 1px solid var(--wa-checkout-secondary-border, transparent) !important;
	text-decoration: underline;
	font-size: 0.9rem;
	padding: 0.35rem 0.75rem;
}

body.wa-page-checkout .wa-checkout-riepilogo--compact {
	margin-bottom: var(--wa-checkout-block-gap, 16px);
}

body.wa-page-checkout .wa-checkout-totale-block {
	margin-top: var(--wa-checkout-block-gap, 16px);
	margin-bottom: var(--wa-checkout-block-gap, 16px);
}

body.wa-page-checkout .wa-checkout-totale-block .totalecifre {
	font-size: var(--wa-checkout-total-font-size, 1.45rem);
	color: var(--wa-checkout-total-color, var(--wa-accent-color));
	font-weight: 700;
}

body.wa-page-checkout .wa-checkout-delivery-fallback-lead {
	margin-top: var(--wa-checkout-block-gap, 16px);
	font-size: 0.88rem;
}

@media (min-width: 768px) {
	body.wa-page-checkout .wa-checkout-page {
		padding-top: var(--wa-checkout-step-padding-top-desktop, 36px);
	}

	body.wa-page-checkout .wa-checkout-map-compact .wa-addr-map {
		height: var(--wa-checkout-map-compact-height-desktop, 340px);
	}
}

/* ── R47B FIX — Step indirizzo: ricerca → dettagli → mappa → note ── */
body.wa-page-checkout .wa-checkout-step-address .wa-checkout-step-lead {
	margin-bottom: var(--wa-checkout-compact-gap, 10px);
}

body.wa-page-checkout .wa-checkout-step-address .wa-checkout-step-meta {
	margin: 0 0 var(--wa-checkout-compact-gap, 10px);
	font-size: 0.82rem;
	color: var(--wa-checkout-muted-color, var(--wa-app-muted-color));
}

body.wa-page-checkout .wa-checkout-field--addr-main,
body.wa-page-checkout .wa-checkout-field--civico,
body.wa-page-checkout .wa-checkout-field--interno,
body.wa-page-checkout .wa-checkout-field--note,
body.wa-page-checkout .wa-checkout-addr-ac-block {
	margin-bottom: var(--wa-checkout-field-gap, 12px);
}

body.wa-page-checkout .wa-checkout-address-row {
	display: grid;
	grid-template-columns: 1fr auto auto;
	gap: var(--wa-checkout-address-row-gap, 10px);
	align-items: stretch;
}

/* R47B FIX 2 — pulsante posizione solo mobile; autocomplete subito sotto via */
body.wa-page-checkout .wa-checkout-geo-btn--compact {
	display: inline-flex;
}

@media (min-width: 768px) {
	body.wa-page-checkout .wa-checkout-geo-btn--compact {
		display: none !important;
	}

	body.wa-page-checkout .wa-checkout-address-row {
		grid-template-columns: 1fr auto;
	}
}

body.wa-page-checkout .wa-checkout-addr-ac-block--under-input {
	margin-top: var(--wa-checkout-compact-gap, 10px);
	margin-bottom: var(--wa-checkout-field-gap, 12px);
}

/* R47B FIX 3 — civico + interno stessa riga; hint condiviso sotto */
body.wa-page-checkout .wa-checkout-address-extra-row {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--wa-checkout-address-extra-gap, 10px);
	align-items: start;
	margin-bottom: 0;
}

body.wa-page-checkout .wa-checkout-address-extra-row .wa-checkout-field--civico,
body.wa-page-checkout .wa-checkout-address-extra-row .wa-checkout-field--interno {
	margin-bottom: 0;
}

@media (max-width: 359px) {
	body.wa-page-checkout .wa-checkout-address-extra-row {
		grid-template-columns: 1fr;
	}
}

body.wa-page-checkout .wa-checkout-address-extra-hint {
	margin: 0.25rem 0 var(--wa-checkout-field-gap, 12px);
	font-size: 0.82rem;
	line-height: var(--wa-line-relaxed);
	color: var(--wa-checkout-muted-color, var(--wa-app-muted-color));
}

body.wa-page-checkout .wa-checkout-address-details.wa-checkout-addr-details--advanced {
	margin-top: 0;
}

body.wa-page-checkout .wa-checkout-addr-details__hint {
	margin: 0 0 var(--wa-checkout-compact-gap, 10px);
	font-size: 0.82rem;
	line-height: var(--wa-line-relaxed);
	color: var(--wa-checkout-muted-color, var(--wa-app-muted-color));
}

body.wa-page-checkout .wa-checkout-addr-precise-status {
	margin: 0.2rem 0 var(--wa-checkout-compact-gap, 10px);
	font-size: 0.82rem;
	line-height: var(--wa-line-relaxed);
	color: var(--wa-checkout-muted-color, var(--wa-app-muted-color));
}

body.wa-page-checkout .wa-checkout-addr-precise-status--ok {
	color: var(--wa-status-success-color, var(--wa-app-color));
}

body.wa-page-checkout .wa-checkout-label-required {
	color: var(--wa-checkout-danger-color, var(--wa-color-danger, #dc3545));
	font-weight: 700;
}

body.wa-page-checkout .wa-checkout-input--invalid {
	border-color: var(--wa-checkout-danger-color, var(--wa-color-danger, #dc3545)) !important;
	box-shadow: 0 0 0 1px var(--wa-checkout-danger-color, var(--wa-color-danger, #dc3545));
}

body.wa-page-checkout .wa-addr-civico-required .wa-addr-match-confirm__actions {
	justify-content: stretch;
}

body.wa-page-checkout .wa-addr-civico-required .wa-addr-match-btn--yes {
	width: 100%;
}

body.wa-page-checkout.wa-addr-confirm-modal-open {
	overflow: hidden;
}

body.wa-page-checkout.wa-addr-confirm-modal-open .wa-bottombar {
	visibility: hidden;
	pointer-events: none;
}

body.wa-page-checkout .wa-addr-match-modal {
	z-index: 10050;
	align-items: center;
	justify-content: center;
	padding: max(1rem, env(safe-area-inset-top, 0px)) 1rem max(1rem, env(safe-area-inset-bottom, 0px));
}

body.wa-page-checkout .wa-addr-match-modal.is-open {
	display: flex !important;
	visibility: visible !important;
	opacity: 1 !important;
	pointer-events: auto !important;
}

body.wa-page-checkout .wa-addr-match-modal__backdrop {
	-webkit-backdrop-filter: blur(3px);
	backdrop-filter: blur(3px);
}

body.wa-page-checkout .wa-addr-match-modal__dialog {
	width: 100%;
	max-width: min(420px, calc(100vw - 2rem));
}

body.wa-page-checkout .wa-addr-match-confirm {
	background: var(--wa-addr-match-bg, var(--wa-modal-bg, var(--wa-color-surface, #ffffff))) !important;
	color: var(--wa-addr-match-color, var(--wa-modal-color, var(--wa-color-text, #1f1a16))) !important;
}

body.wa-page-checkout .wa-addr-match-confirm__addr {
	color: var(--wa-addr-match-color, var(--wa-modal-color, var(--wa-color-text, #1f1a16))) !important;
}

body.wa-page-checkout .wa-addr-match-confirm__question {
	color: var(--wa-addr-match-muted, var(--wa-muted-color, var(--wa-color-muted, #64748b))) !important;
}

@media (max-width: 575px) {
	body.wa-page-checkout .wa-addr-match-confirm__actions {
		flex-direction: column;
		align-items: stretch;
	}
	body.wa-page-checkout .wa-addr-match-btn {
		width: 100%;
		min-height: 48px;
		display: inline-flex;
		align-items: center;
		justify-content: center;
	}
	body.wa-page-checkout .wa-addr-match-btn--no {
		background: var(--wa-addr-match-bg, var(--wa-modal-bg, var(--wa-color-surface, #ffffff))) !important;
		border-color: var(--wa-modal-border, var(--wa-color-border, #dee2e6)) !important;
		color: var(--wa-addr-match-color, var(--wa-modal-color, var(--wa-color-text, #212529))) !important;
	}
}

body.wa-page-checkout .wa-checkout-address-row__input {
	min-width: 0;
}

body.wa-page-checkout .wa-checkout-geo-btn--compact,
body.wa-page-checkout .wa-checkout-voice-btn--compact {
	min-width: 48px;
	min-height: 44px;
	padding: 0 12px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	background: var(--wa-checkout-secondary-bg, var(--wa-button-secondary-bg)) !important;
	color: var(--wa-checkout-secondary-color, var(--wa-button-secondary-color)) !important;
	border: 1px solid var(--wa-checkout-secondary-border, var(--wa-border-color)) !important;
	border-radius: var(--wa-radius-md, 8px);
	font-size: 1.1rem;
	line-height: 1;
}

body.wa-page-checkout .wa-checkout-voice-btn--compact .wa-checkout-voice-btn__label {
	font-size: 0.78rem;
	font-weight: 600;
}

body.wa-page-checkout .wa-checkout-voice-btn--compact .wa-checkout-voice-btn__icon {
	display: none;
	font-size: 1.1rem;
	line-height: 1;
}

body.wa-page-checkout .wa-checkout-address-tool-feedback {
	margin: 8px 0 0;
	padding: 9px 12px;
	border-radius: 10px;
	font-size: .88rem;
	font-weight: 700;
	line-height: 1.35;
	background: rgba(66, 153, 225, .12);
	color: #315f8c;
}

body.wa-page-checkout .wa-checkout-address-tool-feedback[hidden] { display: none !important; }
body.wa-page-checkout .wa-checkout-address-tool-feedback.is-error { background: rgba(197, 48, 48, .11); color: #9b2c2c; }
body.wa-page-checkout .wa-checkout-address-tool-feedback.is-success { background: rgba(47, 133, 90, .12); color: #276749; }
body.wa-page-checkout .wa-checkout-address-tool-feedback.is-loading { background: rgba(214, 158, 46, .13); color: #8a5b00; }

@media (max-width: 420px) {
	body.wa-page-checkout .wa-checkout-voice-btn--compact .wa-checkout-voice-btn__label {
		position: absolute;
		width: 1px;
		height: 1px;
		overflow: hidden;
		clip: rect(0, 0, 0, 0);
	}
	body.wa-page-checkout .wa-checkout-voice-btn--compact .wa-checkout-voice-btn__icon {
		display: inline-block;
	}
}

body.wa-page-checkout .wa-checkout-field--civico .wa-checkout-hint {
	margin: 0.25rem 0 0;
	font-size: 0.82rem;
	line-height: var(--wa-line-relaxed);
	color: var(--wa-checkout-muted-color, var(--wa-app-muted-color));
}

body.wa-page-checkout .wa-checkout-addr-details--advanced {
	margin-bottom: var(--wa-checkout-field-gap, 12px);
}

body.wa-page-checkout .wa-checkout-addr-details--advanced .wa-checkout-field {
	margin-bottom: 0;
}

body.wa-page-checkout .wa-checkout-addr-ac-block {
	margin-top: calc(var(--wa-checkout-compact-gap, 10px) * -0.25);
}

body.wa-page-checkout #wa_addr_map_wrap.wa-checkout-map-compact {
	margin-top: var(--wa-checkout-map-margin-top, 14px);
	margin-bottom: var(--wa-checkout-field-gap, 12px);
	display: flex;
	flex-direction: column;
}

body.wa-page-checkout .wa-checkout-map-compact .wa-checkout-map-status--sr {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

body.wa-page-checkout .wa-checkout-map-compact .wa-addr-map {
	height: var(--wa-checkout-map-height-mobile, 200px) !important;
	min-height: 160px;
	max-height: 220px;
	border-radius: var(--wa-checkout-map-radius, var(--wa-radius-md));
}

body.wa-page-checkout .wa-checkout-map-compact .wa-checkout-map-toolbar,
body.wa-page-checkout .wa-checkout-map-compact .wa-addr-map-toolbar {
	margin: 0.45rem 0 0;
}

body.wa-page-checkout .wa-checkout-step-address .wa-checkout-delivery-title {
	margin-bottom: 0.5rem;
}

body.wa-page-checkout .wa-checkout-step-address .wa-checkout-label {
	margin-bottom: 0.2rem;
	font-size: 0.88rem;
}

body.wa-page-checkout .wa-checkout-step-address .wa-checkout-input,
body.wa-page-checkout .wa-checkout-step-address .form-control.wa-checkout-input {
	padding-top: 0.45rem;
	padding-bottom: 0.45rem;
	min-height: 42px;
}

body.wa-page-checkout .wa-checkout-step-address .wa-checkout-input--compact {
	min-height: 40px;
}

body.wa-page-checkout .wa-checkout-step-address .wa-checkout-field--note-compact {
	margin-top: 0.35rem;
	margin-bottom: 0.5rem;
}

body.wa-page-checkout .wa-co-delivery-zone-panel {
	margin: 0.35rem 0 0.5rem;
	display: flex;
	flex-direction: column;
	gap: 0.45rem;
}

body.wa-page-checkout .wa-checkout-step-address #wa_addr_zone_result {
	margin-top: 0.35rem;
	margin-bottom: 0;
	padding: 0;
	border: 0;
	background: transparent;
	text-align: left;
}

body.wa-page-checkout .wa-checkout-step-address #wa_addr_zone_result:has(+ .wa-co-delivery-zone-panel .wa-checkout-zona-economics) {
	display: none !important;
}

body.wa-page-checkout .wa-checkout-zone-confirm-pill {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0.1rem;
	margin: 0;
	padding: 0.5rem 0.65rem;
	border-radius: var(--wa-radius-md, 8px);
	border: 1px solid var(--wa-color-success, #2d8a4e);
	background: var(--wa-color-success-bg, rgba(45, 138, 78, 0.12));
	text-align: left;
}

body.wa-page-checkout .wa-checkout-zone-confirm-pill__title {
	font-size: 0.92rem;
	font-weight: 700;
	line-height: 1.25;
	color: var(--wa-color-success-fg, var(--wa-color-text));
}

body.wa-page-checkout .wa-checkout-zone-confirm-pill__zone {
	font-size: 0.8rem;
	font-weight: 500;
	line-height: 1.3;
	color: var(--wa-color-muted, var(--wa-checkout-muted-color));
}

body.wa-page-checkout .wa-checkout-zona-economics--step-address {
	margin: 0;
	padding: 0.65rem 0.75rem;
	border-width: 2px;
}

body.wa-page-checkout .wa-checkout-zona-economics--step-address .wa-checkout-zona-economics__title {
	margin: 0 0 0.4rem;
	font-size: 1.02rem;
}

body.wa-page-checkout .wa-checkout-zona-economics--step-address .wa-checkout-zona-economics__list {
	font-size: 0.9rem;
}

body.wa-page-checkout .wa-checkout-zona-economics--step-address .wa-checkout-zona-economics__row {
	margin-bottom: 0.25rem;
}

body.wa-page-checkout .wa-checkout-zona-economics--step-address .wa-checkout-zona-economics__row--tempo .wa-checkout-zona-economics__v {
	font-weight: 700;
	color: var(--wa-color-primary);
}

body.wa-page-checkout .wa-checkout-zona-economics--step-address .wa-checkout-zona-economics__note--footer {
	margin: 0.35rem 0 0;
	padding: 0;
	border: 0;
	font-size: 0.78rem;
	line-height: 1.35;
	color: var(--wa-color-success-fg, var(--wa-checkout-muted-color));
}

body.wa-page-checkout .wa-checkout-step-address .wa-checkout-delivery-checking {
	margin: 0.25rem 0;
	font-size: 0.85rem;
}

body.wa-page-checkout .wa-checkout-step-address .wa-checkout-delivery-actions--cta {
	margin-top: 0.5rem;
}

body.wa-page-checkout .wa-checkout-step-address .wa-checkout-pickup-cta-form {
	margin-top: 0.65rem;
}

body.wa-page-checkout .wa-checkout-step-address .wa-checkout-pickup-cta-form .wa-checkout-delivery-fallback-lead {
	margin: 0 0 0.4rem;
	font-size: 0.8rem;
	line-height: 1.35;
}

body.wa-page-checkout .wa-checkout-step-address .wa-checkout-pickup-cta-form .btn-lg {
	padding-top: 0.5rem;
	padding-bottom: 0.5rem;
	font-size: 0.95rem;
}

body.wa-page-checkout .wa-checkout-delivery-actions--cta {
	margin-bottom: calc(var(--wa-mobile-bottombar-h, 56px) + 1.25rem);
}

@media (min-width: 768px) {
	body.wa-page-checkout .wa-checkout-map-compact .wa-addr-map {
		height: var(--wa-checkout-map-height-desktop, 320px) !important;
	}
}

/* ── R47D — Step 4–5 dati + conferma fino all’acquisto ───────────── */
body.wa-page-checkout .wa-checkout-step-header--customer,
body.wa-page-checkout .wa-checkout-step-header--confirm {
	margin-bottom: var(--wa-checkout-compact-gap, 10px);
}

body.wa-page-checkout .wa-checkout-step-customer .wa-checkout-field {
	margin-bottom: var(--wa-checkout-form-gap, 12px);
}

body.wa-page-checkout .wa-checkout-step-customer .wa-checkout-input,
body.wa-page-checkout .wa-checkout-step-confirm .wa-checkout-input {
	background: var(--wa-field-surface-bg, #ffffff) !important;
	color: var(--wa-field-surface-color, var(--wa-checkout-input-color)) !important;
	border-color: var(--wa-field-surface-border, var(--wa-checkout-input-border)) !important;
	box-shadow: var(--wa-field-surface-shadow, 0 1px 2px rgba(31, 26, 22, 0.07));
}

body.wa-page-checkout .wa-checkout-step-customer .wa-checkout-input::placeholder,
body.wa-page-checkout .wa-checkout-step-confirm .wa-checkout-input::placeholder {
	color: var(--wa-checkout-input-placeholder) !important;
	opacity: 1;
}

body.wa-page-checkout .wa-checkout-input--notes {
	min-height: 4.5rem;
	max-height: 7rem;
	resize: vertical;
}

body.wa-page-checkout .wa-checkout-step-customer .wa-flow-cta-block,
body.wa-page-checkout .wa-checkout-step-confirm .wa-flow-cta-block {
	margin-bottom: calc(var(--wa-mobile-bottombar-h, 56px) + 1rem);
}

body.wa-page-checkout .wa-checkout-summary-section {
	margin-bottom: var(--wa-checkout-summary-gap, 12px);
}

body.wa-page-checkout .wa-checkout-summary-section__title {
	margin: 0 0 var(--wa-checkout-compact-gap, 10px);
	font-size: 1rem;
	font-weight: 700;
	line-height: var(--wa-line-tight, 1.25);
	color: var(--wa-checkout-title-color, var(--wa-heading-color));
}

body.wa-page-checkout .wa-checkout-order-list {
	list-style: none;
	margin: 0;
	padding: var(--wa-checkout-summary-padding, 14px);
	display: flex;
	flex-direction: column;
	gap: var(--wa-checkout-summary-row-gap, 8px);
	background: var(--wa-checkout-summary-bg) !important;
	color: var(--wa-checkout-summary-color) !important;
	border: 1px solid var(--wa-checkout-summary-border) !important;
	border-radius: var(--wa-checkout-panel-radius, var(--wa-radius-card));
}

body.wa-page-checkout .wa-checkout-order-line__head {
	display: grid;
	grid-template-columns: auto 1fr auto;
	gap: 0.35rem 0.5rem;
	align-items: baseline;
}

body.wa-page-checkout .wa-checkout-order-line__qty {
	font-weight: 700;
	color: var(--wa-checkout-muted-color, var(--wa-app-muted-color));
}

body.wa-page-checkout .wa-checkout-order-line__name {
	font-weight: 600;
	line-height: var(--wa-line-normal, 1.45);
}

body.wa-page-checkout .wa-checkout-order-line__price {
	font-weight: 700;
	color: var(--wa-price-color, var(--wa-checkout-total-color));
	white-space: nowrap;
}

body.wa-page-checkout .wa-checkout-order-line__meta {
	margin: 0.15rem 0 0;
	padding-left: 1.65rem;
	font-size: 0.82rem;
	line-height: var(--wa-line-relaxed);
	color: var(--wa-checkout-muted-color, var(--wa-app-muted-color));
}

body.wa-page-checkout .wa-checkout-summary-section--service .wa-checkout-riepilogo {
	margin-bottom: 0;
	padding: var(--wa-checkout-summary-padding, 14px);
	border-radius: var(--wa-checkout-panel-radius, var(--wa-radius-card));
}

body.wa-page-checkout .wa-checkout-summary-section--service .wa-checkout-riepilogo-line {
	margin-bottom: var(--wa-checkout-summary-row-gap, 8px);
}

body.wa-page-checkout .wa-checkout-summary-section--service .wa-checkout-riepilogo-line:last-child {
	margin-bottom: 0;
}

body.wa-page-checkout .wa-checkout-pagamento {
	margin-top: var(--wa-checkout-block-gap, 16px);
	margin-bottom: var(--wa-checkout-block-gap, 16px);
}

body.wa-page-checkout .wa-checkout-pagamento-title {
	margin: 0 0 var(--wa-checkout-compact-gap, 10px);
	font-size: 1rem;
	font-weight: 700;
}

body.wa-page-checkout .wa-checkout-pagamento-lead {
	display: none;
}

body.wa-page-checkout .wa-checkout-marketing-hint-details {
	margin: var(--wa-checkout-compact-gap, 10px) 0 var(--wa-checkout-form-gap, 12px);
	padding: 0.5rem 0.75rem;
	background: var(--wa-checkout-help-bg, var(--wa-surface-soft-bg));
	border: 1px solid var(--wa-checkout-help-border, var(--wa-border-color));
	border-radius: var(--wa-checkout-help-radius, var(--wa-radius-card));
}

body.wa-page-checkout .wa-checkout-marketing-hint-details__summary {
	cursor: pointer;
	font-size: 0.86rem;
	font-weight: 600;
}

body.wa-page-checkout .wa-checkout-marketing-hint-details .wa-checkout-marketing-hint {
	margin: 0.45rem 0 0;
	font-size: 0.82rem;
	line-height: var(--wa-line-relaxed);
	color: var(--wa-checkout-muted-color, var(--wa-app-muted-color));
}

/* Step conferma — card totale finale (premium, compatta) */
body.wa-page-checkout .wa-checkout-step-confirm .wa-checkout-total-card {
	margin: 0.75rem 0 0;
	padding: 1.15rem 1rem 1rem;
	text-align: center;
	border-radius: 18px;
	background: linear-gradient(180deg, rgba(255, 255, 255, 0.045), rgba(255, 255, 255, 0.02));
	border: 1px solid rgba(255, 255, 255, 0.12);
	box-shadow: 0 10px 28px rgba(0, 0, 0, 0.22);
}

body.wa-page-checkout .wa-checkout-step-confirm .wa-checkout-total-card__label {
	margin: 0 0 0.35rem;
	font-size: 0.88rem;
	font-weight: 600;
	line-height: 1.2;
	letter-spacing: 0.02em;
	color: var(--wa-checkout-muted-color, var(--wa-app-muted-color));
	opacity: 0.9;
}

body.wa-page-checkout .wa-checkout-step-confirm .wa-checkout-total-card__price,
body.wa-page-checkout .wa-checkout-step-confirm .wa-checkout-total-card #wa-checkout-totale-cifre {
	margin: 0;
	font-size: 2.35rem !important;
	line-height: 1 !important;
	font-weight: 800 !important;
	letter-spacing: 0.02em;
	color: var(--wa-checkout-total-color, var(--wa-accent-color, #d9b65f)) !important;
}

body.wa-page-checkout .wa-checkout-step-confirm .wa-checkout-total-card__note {
	margin: 0.5rem 0 0;
	font-size: 0.82rem;
	line-height: 1.35;
	color: var(--wa-checkout-muted-color, var(--wa-app-muted-color));
	opacity: 0.82;
	max-width: 22rem;
	margin-left: auto;
	margin-right: auto;
}

body.wa-page-checkout .wa-checkout-step-confirm .wa-checkout-total-cta {
	margin-top: 0.85rem !important;
}

body.wa-page-checkout .wa-checkout-step-confirm .wa-checkout-total-cta .wa-flow-cta-col {
	max-width: 100%;
}

body.wa-page-checkout .wa-checkout-confirm-order-btn {
	background: var(--wa-checkout-primary-bg) !important;
	color: var(--wa-checkout-primary-color) !important;
	border-color: var(--wa-checkout-primary-border) !important;
	box-shadow: 0 8px 22px rgba(0, 0, 0, 0.28);
	transition: transform 0.15s ease, box-shadow 0.15s ease, filter 0.15s ease;
}

body.wa-page-checkout .wa-checkout-confirm-order-btn:hover:not(:disabled) {
	filter: brightness(1.04);
	box-shadow: 0 10px 26px rgba(0, 0, 0, 0.34);
}

body.wa-page-checkout .wa-checkout-confirm-order-btn:active:not(:disabled) {
	transform: translateY(1px);
	box-shadow: 0 5px 14px rgba(0, 0, 0, 0.26);
}

body.wa-page-checkout .wa-checkout-confirm-order-btn.is-busy {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.65rem;
	min-height: 3rem;
	pointer-events: none;
	cursor: wait;
	opacity: 0.96;
}

body.wa-page-checkout .wa-checkout-btn-spinner {
	display: inline-block;
	width: 1.2rem;
	height: 1.2rem;
	border-radius: 50%;
	border: 2px solid rgba(255, 255, 255, 0.35);
	border-top-color: currentColor;
	animation: wa-checkout-btn-spin 0.85s linear infinite;
	flex-shrink: 0;
}

@keyframes wa-checkout-btn-spin {
	to {
		transform: rotate(360deg);
	}
}

body.wa-page-checkout.wa-checkout-order-submitting .wa-checkout-step-confirm .wa-checkout-back-form,
body.wa-page-checkout.wa-checkout-order-submitting .wa-checkout-step-confirm .wa-checkout-pagamento-grid {
	pointer-events: none;
	opacity: 0.62;
}

/* Legacy totale block (altri step / pagine) */
body.wa-page-checkout .wa-checkout-totale-block {
	padding: var(--wa-checkout-summary-padding, 14px) 0 0;
	border-top: 1px solid var(--wa-checkout-summary-border, var(--wa-border-color));
}

body.wa-page-checkout .wa-checkout-totale-block .totale {
	display: block;
	margin-bottom: 0.25rem;
	font-size: 0.92rem;
	font-weight: 600;
	color: var(--wa-checkout-muted-color, var(--wa-app-muted-color));
}

body.wa-page-checkout .wa-checkout-totale-note {
	margin-top: 0.35rem;
	font-size: 0.8rem;
	line-height: var(--wa-line-relaxed);
	color: var(--wa-checkout-muted-color, var(--wa-app-muted-color));
}

@media (min-width: 768px) {
	body.wa-page-checkout .wa-checkout-step-confirm .wa-checkout-total-card__price,
	body.wa-page-checkout .wa-checkout-step-confirm .wa-checkout-total-card #wa-checkout-totale-cifre {
		font-size: 2.55rem !important;
	}

	body.wa-page-checkout .wa-checkout-totale-block .totalecifre,
	body.wa-page-checkout .wa-checkout-page #wa-checkout-totale-cifre:not(.wa-checkout-total-card__price) {
		font-size: var(--wa-checkout-total-font-size-desktop, 1.85rem) !important;
	}
}

/* Step conferma — sconti / punti / premi (compatto) */
body.wa-page-checkout .wa-checkout-discounts {
	margin: var(--wa-checkout-form-gap, 12px) 0;
	padding: 0.65rem 0.75rem;
	background: var(--wa-checkout-help-bg, var(--wa-surface-soft-bg));
	border: 1px solid var(--wa-checkout-help-border, var(--wa-border-color));
	border-radius: var(--wa-checkout-help-radius, var(--wa-radius-card));
}

body.wa-page-checkout .wa-checkout-discounts__title {
	margin: 0 0 0.5rem;
	font-size: 0.95rem;
	font-weight: 700;
}

body.wa-page-checkout .wa-checkout-discounts-acc {
	margin: 0 0 0.45rem;
	border: 1px solid var(--wa-checkout-help-border, var(--wa-border-color));
	border-radius: var(--wa-radius-md, 8px);
	background: var(--wa-surface-bg, #fff);
	overflow: hidden;
}

body.wa-page-checkout .wa-checkout-discounts-acc:last-child {
	margin-bottom: 0;
}

body.wa-page-checkout .wa-checkout-discounts-acc__summary {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 0.35rem 0.6rem;
	padding: 0.55rem 0.65rem;
	cursor: pointer;
	font-size: 0.88rem;
	font-weight: 600;
	list-style: none;
}

body.wa-page-checkout .wa-checkout-discounts-acc__summary::-webkit-details-marker {
	display: none;
}

body.wa-page-checkout .wa-checkout-discounts-acc__summary-sub {
	font-size: 0.78rem;
	font-weight: 500;
	color: var(--wa-checkout-muted-color, var(--wa-app-muted-color));
}

body.wa-page-checkout .wa-checkout-discounts-acc__body {
	padding: 0 0.65rem 0.65rem;
}

body.wa-page-checkout .wa-checkout-discounts-acc__lead {
	margin: 0 0 0.5rem;
	font-size: 0.82rem;
	line-height: var(--wa-line-relaxed);
	color: var(--wa-checkout-muted-color, var(--wa-app-muted-color));
}

body.wa-page-checkout .wa-checkout-loyalty-panel__conv {
	margin: 0 0 0.55rem;
	font-size: 0.82rem;
	font-weight: 600;
}

body.wa-page-checkout .wa-checkout-field--loyalty-pts {
	margin-bottom: 0.45rem;
}

body.wa-page-checkout .wa-checkout-input--loyalty-pts {
	max-width: 8.5rem;
}

body.wa-page-checkout .wa-checkout-select--loyalty-pts {
	width: 100%;
	max-width: 100%;
	min-height: 2.75rem;
	font-size: 1rem;
	line-height: 1.35;
}

body.wa-page-checkout .wa-checkout-hint--loyalty-max {
	margin-top: 0.25rem;
}

body.wa-page-checkout .wa-checkout-loyalty-live__row {
	margin: 0.25rem 0 0;
	font-size: 0.86rem;
}

body.wa-page-checkout .wa-checkout-loyalty-live__row--total .wa-checkout-loyalty-live__v {
	font-weight: 700;
}

body.wa-page-checkout .wa-checkout-loyalty-live__msg {
	margin: 0.35rem 0 0;
	font-size: 0.82rem;
}

body.wa-page-checkout .wa-checkout-loyalty-live__msg--err {
	color: var(--wa-danger-color, #b42318);
}

body.wa-page-checkout .wa-checkout-loyalty-live__hint {
	margin: 0.35rem 0 0;
	font-size: 0.78rem;
	color: var(--wa-checkout-muted-color, var(--wa-app-muted-color));
}

body.wa-page-checkout .wa-checkout-reward-picks {
	list-style: none;
	margin: 0;
	padding: 0;
}

body.wa-page-checkout .wa-checkout-reward-pick {
	margin: 0 0 0.35rem;
}

body.wa-page-checkout .wa-checkout-reward-pick__label {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.25rem 0.5rem;
	padding: 0.45rem 0.5rem;
	border: 1px solid var(--wa-border-color);
	border-radius: var(--wa-radius-md, 8px);
	cursor: pointer;
	font-size: 0.86rem;
}

body.wa-page-checkout .wa-checkout-reward-pick__input {
	flex-shrink: 0;
}

body.wa-page-checkout .wa-checkout-reward-pick__meta {
	font-size: 0.78rem;
	color: var(--wa-checkout-muted-color, var(--wa-app-muted-color));
}

body.wa-page-checkout .wa-saved-addr-section {
	margin-bottom: var(--wa-checkout-field-gap, 14px);
}

body.wa-page-checkout .wa-saved-addr-section__title {
	margin: 0 0 0.35rem;
	font-size: 1rem;
	font-weight: 700;
	color: var(--wa-checkout-heading-color, var(--wa-color-text));
}

body.wa-page-checkout .wa-saved-addr-section__lead {
	margin: 0 0 0.75rem;
}

body.wa-page-checkout .wa-saved-addr-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 0.55rem;
}

body.wa-page-checkout .wa-saved-addr-pick-form {
	margin: 0;
}

body.wa-page-checkout .wa-saved-addr-card {
	width: 100%;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0.2rem;
	padding: 0.85rem 1rem;
	border: 1px solid var(--wa-checkout-ac-border, var(--wa-border-color));
	border-radius: var(--wa-radius-md);
	background: var(--wa-checkout-ac-bg, var(--wa-surface-bg));
	color: var(--wa-checkout-ac-color, var(--wa-color-text));
	text-align: left;
	cursor: pointer;
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

body.wa-page-checkout .wa-saved-addr-card:hover,
body.wa-page-checkout .wa-saved-addr-card:focus-visible {
	border-color: var(--wa-color-primary);
	box-shadow: var(--wa-shadow-sm);
	outline: none;
}

body.wa-page-checkout .wa-saved-addr-card__title {
	font-weight: 700;
	font-size: 0.95rem;
	line-height: 1.35;
}

body.wa-page-checkout .wa-saved-addr-card__sub {
	font-size: 0.82rem;
	color: var(--wa-checkout-muted-color, var(--wa-app-muted-color));
}

body.wa-page-checkout .wa-saved-addr-card__cta {
	margin-top: 0.25rem;
	font-size: 0.82rem;
	font-weight: 700;
	color: var(--wa-color-primary);
}

body.wa-page-checkout .wa-checkout-addr-manual__toggle-row {
	margin: 0.35rem 0 0.85rem;
}

body.wa-page-checkout .wa-checkout-addr-manual--collapsed .wa-checkout-addr-manual__toggle-row {
	margin-bottom: 0;
}

body.wa-page-checkout .wa-checkout-addr-manual__toggle {
	width: 100%;
}

body.wa-page-checkout .wa-checkout-addr-manual--collapsed .wa-checkout-addr-manual__fields {
	display: none;
}

/* Auth login — blocco registrazione chiaro */
body.wa-client-app .wa-checkout-gate-page .wa-auth-register-block {
	margin-top: 1.15rem;
	padding-top: 1rem;
	border-top: 1px solid var(--wa-color-border, #e2e8f0);
	text-align: center;
}

body.wa-client-app .wa-checkout-gate-page .wa-auth-register-lead {
	margin: 0 0 0.65rem;
	font-size: 0.92rem;
	color: var(--wa-color-muted, #64748b);
}

body.wa-client-app .wa-checkout-gate-page .wa-auth-register-btn {
	border-radius: 999px;
	font-weight: 700;
}

/* R31I+ — Card consensi legali checkout (step conferma) */
body.wa-page-checkout .wa-checkout-legal-card {
	max-width: 38rem;
	margin: 0.5rem auto 1rem;
	padding: 1rem 1rem 1.05rem;
	border: 1px solid var(--wa-field-surface-border, var(--wa-checkout-panel-border, #ded2c3));
	border-radius: 16px;
	background: var(--wa-field-surface-bg, #ffffff);
	box-shadow: var(--wa-field-surface-shadow, 0 2px 8px rgba(31, 26, 22, 0.08));
}

body.wa-page-checkout .wa-checkout-legal-card__head {
	display: flex;
	align-items: flex-start;
	gap: 0.75rem;
	margin-bottom: 0.75rem;
	padding-bottom: 0.75rem;
	border-bottom: 1px solid color-mix(in srgb, var(--wa-border-color, #ded2c3) 65%, transparent);
}

body.wa-page-checkout .wa-checkout-legal-card__icon {
	flex-shrink: 0;
	width: 2.35rem;
	height: 2.35rem;
	border-radius: 12px;
	border: 1px solid color-mix(in srgb, var(--wa-accent-color, #b87932) 35%, #ffffff);
	background: color-mix(in srgb, var(--wa-accent-color, #b87932) 8%, #ffffff);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.85);
	position: relative;
}

body.wa-page-checkout .wa-checkout-legal-card__icon::before {
	content: "";
	position: absolute;
	inset: 0.55rem 0.62rem 0.62rem 0.62rem;
	border: 2px solid var(--wa-accent-color, #b87932);
	border-radius: 4px 4px 2px 2px;
}

body.wa-page-checkout .wa-checkout-legal-card__icon::after {
	content: "";
	position: absolute;
	left: 0.78rem;
	top: 0.72rem;
	width: 0.45rem;
	height: 0.72rem;
	border-right: 2px solid var(--wa-accent-color, #b87932);
	border-bottom: 2px solid var(--wa-accent-color, #b87932);
	transform: rotate(45deg);
}

body.wa-page-checkout .wa-checkout-legal-card__title {
	margin: 0 0 0.35rem;
	font-size: 1rem;
	font-weight: 700;
	line-height: 1.3;
	color: var(--wa-checkout-title-color, var(--wa-text-color, #1f1a16));
}

body.wa-page-checkout .wa-checkout-legal-card__summary {
	margin: 0;
	text-align: left;
	padding: 0.65rem 0.75rem;
	font-size: 0.84rem;
	line-height: 1.52;
	color: var(--wa-field-surface-color, var(--wa-text-color, #1f1a16));
	background: var(--wa-field-surface-bg, #ffffff);
	border: 1px solid color-mix(in srgb, var(--wa-border-color, #ded2c3) 80%, transparent);
	border-radius: 10px;
}

body.wa-page-checkout .wa-checkout-legal-check {
	display: flex;
	align-items: flex-start;
	gap: 0.65rem;
	margin: 0;
	padding: 0.72rem 0.75rem;
	border-radius: 12px;
	cursor: pointer;
	transition: background-color 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease;
}

body.wa-page-checkout .wa-checkout-legal-check--all {
	margin-bottom: 0.45rem;
	padding: 0.72rem 0.75rem;
	border: 1px solid var(--wa-field-surface-border, #ded2c3);
	background: var(--wa-field-surface-bg, #ffffff);
	box-shadow: var(--wa-field-surface-shadow, 0 1px 2px rgba(31, 26, 22, 0.07));
}

body.wa-page-checkout .wa-checkout-legal-check--all .wa-checkout-legal-check__text {
	font-weight: 700;
	font-size: 0.9rem;
	color: var(--wa-text-color, #1f1a16);
}

body.wa-page-checkout .wa-checkout-legal-checks__list {
	display: grid;
	gap: 0.45rem;
}

body.wa-page-checkout .wa-checkout-legal-checks__list .wa-checkout-legal-check {
	border: 1px solid var(--wa-field-surface-border, #ded2c3);
	background: var(--wa-field-surface-bg, #ffffff);
	box-shadow: var(--wa-field-surface-shadow, 0 1px 2px rgba(31, 26, 22, 0.07));
}

body.wa-page-checkout .wa-checkout-legal-checks__list .wa-checkout-legal-check:hover {
	border-color: color-mix(in srgb, var(--wa-accent-color, #b87932) 45%, var(--wa-border-color, #ded2c3));
	box-shadow: 0 2px 6px rgba(31, 26, 22, 0.08);
}

body.wa-page-checkout .wa-checkout-legal-check:has(.wa-checkout-legal-check__input:checked) {
	border-color: color-mix(in srgb, var(--wa-accent-color, #b87932) 55%, var(--wa-border-color, #ded2c3));
	background: color-mix(in srgb, var(--wa-field-surface-bg, #ffffff) 88%, var(--wa-accent-color, #b87932) 12%);
}

body.wa-page-checkout .wa-checkout-legal-check__input {
	position: absolute;
	opacity: 0;
	width: 1.25rem;
	height: 1.25rem;
	margin: 0.12rem 0 0;
	padding: 0;
	flex-shrink: 0;
	cursor: pointer;
}

body.wa-page-checkout .wa-checkout-legal-check__control {
	flex-shrink: 0;
	width: 1.3rem;
	height: 1.3rem;
	margin-top: 0.08rem;
	border-radius: 6px;
	border: 2px solid var(--wa-checkbox-control-border, #6f6258);
	background: var(--wa-checkbox-control-bg, #ffffff);
	box-shadow: inset 0 1px 2px rgba(15, 23, 42, 0.06);
	transition: border-color 0.15s ease, background-color 0.15s ease, box-shadow 0.15s ease;
	position: relative;
}

body.wa-page-checkout .wa-checkout-legal-check__input:checked + .wa-checkout-legal-check__control {
	border-color: var(--wa-checkbox-control-checked-border, var(--wa-accent-color, #b87932));
	background: var(--wa-checkbox-control-checked-bg, var(--wa-accent-color, #b87932));
	box-shadow: 0 0 0 1px color-mix(in srgb, var(--wa-accent-color, #b87932) 35%, transparent);
}

body.wa-page-checkout .wa-checkout-legal-check__input:checked + .wa-checkout-legal-check__control::after {
	content: "";
	position: absolute;
	left: 0.36rem;
	top: 0.14rem;
	width: 0.34rem;
	height: 0.62rem;
	border-right: 2.5px solid #ffffff;
	border-bottom: 2.5px solid #ffffff;
	transform: rotate(45deg);
}

body.wa-page-checkout .wa-checkout-legal-check__input:focus-visible + .wa-checkout-legal-check__control {
	outline: 2px solid var(--wa-checkout-input-focus-border, var(--wa-accent-color, #b87932));
	outline-offset: 2px;
}

body.wa-page-checkout .wa-checkout-legal-check__input:indeterminate + .wa-checkout-legal-check__control {
	border-color: var(--wa-checkbox-control-checked-border, var(--wa-accent-color, #b87932));
	background: color-mix(in srgb, var(--wa-checkbox-control-checked-bg, var(--wa-accent-color, #b87932)) 28%, #ffffff);
}

body.wa-page-checkout .wa-checkout-legal-check__input:indeterminate + .wa-checkout-legal-check__control::after {
	content: "";
	position: absolute;
	left: 0.24rem;
	right: 0.24rem;
	top: 0.52rem;
	height: 2.5px;
	border: 0;
	transform: none;
	background: var(--wa-checkbox-control-checked-bg, var(--wa-accent-color, #b87932));
}

body.wa-page-checkout .wa-checkout-legal-check__text {
	font-size: 0.86rem;
	line-height: 1.5;
	color: var(--wa-text-color, #1f1a16);
}

body.wa-page-checkout .wa-checkout-legal-check--optional .wa-checkout-legal-check__text {
	color: var(--wa-muted-color, #6f6258);
}

body.wa-page-checkout .wa-checkout-legal-check__text a {
	color: var(--wa-link-color, var(--wa-text-color, #1f1a16));
	text-decoration: underline;
	text-underline-offset: 2px;
	font-weight: 600;
}

body.wa-page-checkout .wa-checkout-legal-check__text a:hover {
	color: var(--wa-accent-color, #b87932);
}

body.wa-page-checkout .wa-checkout-legal-already {
	padding: 0.85rem 1rem;
	border-radius: 10px;
	background: #ffffff;
	border: 1px solid rgba(0, 0, 0, 0.08);
	margin-bottom: 0.65rem;
}

body.wa-page-checkout .wa-checkout-legal-already__lead {
	margin: 0 0 0.35rem;
	font-weight: 600;
	color: var(--wa-text-primary, #1a1a1a);
}

body.wa-page-checkout .wa-checkout-legal-already__links {
	margin: 0;
}

body.wa-page-checkout .wa-checkout-legal-marketing-help {
	margin: -0.25rem 0 0.5rem 2.35rem;
	color: var(--wa-text-muted, #5a5a5a);
	font-size: 0.875rem;
}

body.wa-page-checkout .wa-checkout-legal-check--marketing-active .wa-checkout-legal-check__text {
	font-weight: 600;
}

/* R54b — step dati minimi ordine */
body.wa-page-checkout .wa-checkout-min-data {
	max-width: 640px;
	margin: 0 auto;
	padding: 1.35rem 1.5rem 1.5rem;
	border: 1px solid var(--wa-color-border, #e5e7eb);
	border-radius: var(--wa-radius-md, 12px);
	background: var(--wa-color-surface, #fff);
	box-shadow: var(--wa-shadow-sm, 0 2px 8px rgba(0, 0, 0, 0.06));
}

body.wa-page-checkout .wa-checkout-min-data__title {
	margin: 0 0 0.45rem;
	font-size: 1.2rem;
}

body.wa-page-checkout .wa-checkout-min-data__lead {
	margin: 0 0 1rem;
	line-height: 1.45;
}

body.wa-page-checkout .wa-checkout-min-data__privacy {
	margin: 0.75rem 0 0;
	font-size: 0.88rem;
	color: var(--wa-color-muted, #5a5a5a);
}

body.wa-page-checkout .wa-checkout-min-data__back {
	margin-top: 1rem;
}

body.wa-page-checkout .wa-checkout-min-data__form .wa-cta-block {
	margin-top: 0.5rem;
}

@media (max-width: 390px) {
	body.wa-page-checkout .wa-checkout-min-data {
		padding: 1.15rem 1.1rem 1.25rem;
	}

	body.wa-page-checkout .wa-checkout-min-data__form .wa-checkout-cta-step,
	body.wa-page-checkout .wa-checkout-min-data__form .bottoneavanti {
		width: 100%;
		min-height: 2.85rem;
	}
}

