/**
 * FitActive Custom Checkout - Stili
 * Tema scuro moderno (slate / near-black); arancione solo in alto (tab attiva + bordo superiore box).
 *
 * Compatibilità:
 *   Desktop: Chrome 80+, Firefox 78+, Safari 13+, Edge 80+
 *   Mobile:  Chrome Android, Safari iOS 13+, Samsung Internet 13+
 *   In-app:  Facebook WebView, Instagram WebView
 */

/* Container: z-index auto e overflow visible così la promo (banner/sticky) non viene coperta */
.fitactive-checkout-widget {
	--fitactive-primary: #e85d04;
	--fitactive-primary-hover: #d54d02;
	/* Superfici: freddo slate (no calore marrone) */
	--fitactive-bg-dark: #161c26;
	--fitactive-bg-darker: #0b0e14;
	--fitactive-input-bg: #0a0d12;
	--fitactive-elevated: #1a2230;
	--fitactive-border: rgba(255, 255, 255, 0.09);
	--fitactive-border-strong: rgba(148, 163, 184, 0.22);
	--fitactive-text: #f1f5f9;
	--fitactive-text-muted: #94a3b8;
	--fitactive-focus-ring: rgba(148, 163, 184, 0.45);
	--fitactive-cta-bg: #f8fafc;
	--fitactive-cta-bg-hover: #e2e8f0;
	--fitactive-cta-text: #0f172a;
	z-index: auto;
	overflow: visible;
	position: relative;
	max-width: 640px;
	margin: 0 auto;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
	color: #f1f5f9;
	color: var(--fitactive-text);
	background: linear-gradient(165deg, #0f141c 0%, #0b0e14 42%, #080a0f 100%);
	background: linear-gradient(165deg, var(--fitactive-bg-dark) 0%, var(--fitactive-bg-darker) 42%, #080a0f 100%);
	padding: 1.5rem;
	padding-top: calc(1.5rem + 3px);
	border-radius: 16px;
	border: 1px solid rgba(255, 255, 255, 0.09);
	border: 1px solid var(--fitactive-border);
	-webkit-box-shadow:
		0 0 0 1px rgba(255, 255, 255, 0.03) inset,
		0 24px 48px rgba(0, 0, 0, 0.45),
		0 4px 16px rgba(0, 0, 0, 0.25);
	box-shadow:
		0 0 0 1px rgba(255, 255, 255, 0.03) inset,
		0 24px 48px rgba(0, 0, 0, 0.45),
		0 4px 16px rgba(0, 0, 0, 0.25);
	-webkit-text-size-adjust: 100%;
	-webkit-tap-highlight-color: transparent;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

/* Arancione brand: striscia superiore sul box checkout */
.fitactive-checkout-widget::before {
	content: '';
	position: absolute;
	top: 0;
	left: 16px;
	right: 16px;
	height: 3px;
	border-radius: 0 0 4px 4px;
	background: linear-gradient(90deg, #e85d04 0%, #f97316 50%, #ea580c 100%);
	background: linear-gradient(90deg, var(--fitactive-primary) 0%, #f97316 50%, #ea580c 100%);
	pointer-events: none;
}

.fitactive-checkout-widget *,
.fitactive-checkout-widget *::before,
.fitactive-checkout-widget *::after {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

/* Tab navigation */
.fitactive-checkout-tabs {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	margin-bottom: 1.5rem;
	border-radius: 12px;
	overflow: hidden;
	gap: 4px;
	padding: 4px;
	background: rgba(0, 0, 0, 0.35);
	border: 1px solid var(--fitactive-border);
	-webkit-box-shadow: 0 1px 0 rgba(255, 255, 255, 0.04) inset;
	box-shadow: 0 1px 0 rgba(255, 255, 255, 0.04) inset;
}

.fitactive-checkout-tab {
	-webkit-box-flex: 1;
	-webkit-flex: 1;
	-ms-flex: 1;
	flex: 1;
	padding: 0.75rem 1rem;
	min-height: 44px;
	border: none;
	background: transparent;
	color: #94a3b8;
	color: var(--fitactive-text-muted);
	cursor: pointer;
	text-align: left;
	border-radius: 10px;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-webkit-flex-direction: column;
	-ms-flex-direction: column;
	flex-direction: column;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-transition: background 0.2s, color 0.2s;
	transition: background 0.2s, color 0.2s;
	touch-action: manipulation;
	-webkit-appearance: none;
}

.fitactive-checkout-tab > * + * {
	margin-top: 0.25rem;
}

.fitactive-checkout-tab-dati {
	border-radius: 10px !important;
}

.fitactive-checkout-tab-conferma {
	border-radius: 10px !important;
}

.fitactive-checkout-tab:hover {
	background: rgba(255, 255, 255, 0.06);
	color: #f1f5f9;
	color: var(--fitactive-text);
}

.fitactive-checkout-tab.active {
	background: linear-gradient(180deg, #f97316 0%, #e85d04 48%, #c2410c 100%);
	background: linear-gradient(180deg, #f97316 0%, var(--fitactive-primary) 48%, #c2410c 100%);
	color: #fff;
	cursor: default;
	-webkit-box-shadow: 0 4px 14px rgba(232, 93, 4, 0.35);
	box-shadow: 0 4px 14px rgba(232, 93, 4, 0.35);
}

.fitactive-checkout-tab.disabled {
	pointer-events: none;
	opacity: 0.7;
}

.fitactive-checkout-tab-title {
	font-weight: 700;
	font-size: 0.95rem;
	text-transform: uppercase;
	letter-spacing: 0.02em;
}

.fitactive-checkout-tab-subtitle {
	font-size: 0.75rem;
	opacity: 0.9;
}

/* Content steps */
.fitactive-checkout-content {
	position: relative;
}

.fitactive-checkout-step {
	display: none;
}

.fitactive-checkout-step.active {
	display: block;
}

/* Dati, Conferma e titoli blocchi pagamento (+ bonus): stessa tipografia di «Riepilogo ordine». */
.fitactive-checkout-widget .fitactive-checkout-step-dati .fitactive-checkout-step-title,
.fitactive-checkout-widget .fitactive-checkout-step-conferma .fitactive-checkout-step-title,
.fitactive-checkout-widget .fitactive-checkout-step-conferma .fitactive-checkout-payment-block-title {
	margin: 0 0 1.25rem 0;
	font-size: 0.95rem;
	font-weight: 600;
	letter-spacing: 0.02em;
	color: #f5f5f5;
	color: var(--fitactive-text);
}

/* Titolo blocco pagamento: margine inferiore ridotto perché segue il sottotitolo */
.fitactive-checkout-widget .fitactive-checkout-step-conferma .fitactive-checkout-payment-block .fitactive-checkout-payment-block-title {
	margin-bottom: 0.35rem;
}

/* Form grid */
.fitactive-checkout-form-grid {
	display: -ms-grid;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1rem 1.25rem;
	margin-bottom: 1.5rem;
}

/* gap fallback per Safari < 14.1 / vecchi WebView */
@supports not (gap: 1rem) {
	.fitactive-checkout-form-grid {
		margin: -0.5rem -0.625rem;
	}
	.fitactive-checkout-form-grid > * {
		margin: 0.5rem 0.625rem;
	}
}

.fitactive-checkout-form-col-full {
	grid-column: 1 / -1;
}

.fitactive-checkout-form-col label {
	display: block;
	margin-bottom: 0.35rem;
	font-size: 0.85rem;
	color: #a0a0a0;
	color: var(--fitactive-text-muted);
}

.fitactive-checkout-form-col input,
.fitactive-checkout-form-col textarea {
	width: 100%;
	padding: 0.65rem 0.9rem;
	min-height: 44px;
	background: #0a0d12;
	background: var(--fitactive-input-bg);
	border: 1px solid rgba(255, 255, 255, 0.1);
	border: 1px solid var(--fitactive-border);
	border-radius: 10px;
	color: #f1f5f9;
	color: var(--fitactive-text);
	font-size: 16px;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	-webkit-transition: border-color 0.2s, box-shadow 0.2s, background 0.2s;
	transition: border-color 0.2s, box-shadow 0.2s, background 0.2s;
}

.fitactive-checkout-form-col input:focus,
.fitactive-checkout-form-col textarea:focus {
	outline: none;
	border-color: rgba(148, 163, 184, 0.45);
	border-color: var(--fitactive-border-strong);
	background: #0e1219;
	-webkit-box-shadow: 0 0 0 3px var(--fitactive-focus-ring);
	box-shadow: 0 0 0 3px var(--fitactive-focus-ring);
}

.fitactive-checkout-form-col textarea {
	min-height: 80px;
	resize: vertical;
}

/* Product block */
.fitactive-checkout-product {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: start;
	-webkit-align-items: flex-start;
	-ms-flex-align: start;
	align-items: flex-start;
	padding: 1rem;
	background: rgba(255, 255, 255, 0.03);
	background: linear-gradient(145deg, rgba(255, 255, 255, 0.05) 0%, rgba(255, 255, 255, 0.02) 100%);
	border-radius: 14px;
	margin-bottom: 1.5rem;
	border: 1px solid rgba(255, 255, 255, 0.09);
	border: 1px solid var(--fitactive-border);
	-webkit-backdrop-filter: blur(8px);
	backdrop-filter: blur(8px);
}

.fitactive-checkout-product > * + * {
	margin-left: 1rem;
}

.fitactive-checkout-product-icon {
	width: 48px;
	height: 48px;
	background: linear-gradient(145deg, #334155 0%, #1e293b 100%);
	color: #f1f5f9;
	border-radius: 12px;
	border: 1px solid rgba(255, 255, 255, 0.12);
	-webkit-box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25);
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25);
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	-ms-flex-pack: center;
	justify-content: center;
	font-size: 1.5rem;
	-webkit-flex-shrink: 0;
	-ms-flex-negative: 0;
	flex-shrink: 0;
}

.fitactive-checkout-product-name {
	font-weight: 600;
	font-size: 1rem;
	margin-bottom: 0.35rem;
}

.fitactive-checkout-product-price {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: baseline;
	-webkit-align-items: baseline;
	-ms-flex-align: baseline;
	align-items: baseline;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}

.fitactive-checkout-product-price > * + * {
	margin-left: 0.5rem;
}

.fitactive-checkout-price-current {
	font-size: 1.35rem;
	font-weight: 700;
	color: #f8fafc;
	letter-spacing: -0.02em;
}

.fitactive-checkout-price-old {
	font-size: 0.9rem;
	color: #a0a0a0;
	color: var(--fitactive-text-muted);
	text-decoration: line-through;
}

.fitactive-checkout-product-description {
	font-size: 0.8rem;
	line-height: 1.35;
	color: #a0a0a0;
	color: var(--fitactive-text-muted);
	margin-top: 0.5rem;
}

/* Riga omaggio (Checkout + bonus): ticket moderno, arancione FitActive (~70% altezza vs layout precedente) */
.fitactive-checkout-product.fitactive-checkout-bonus-product {
	position: relative;
	overflow: hidden;
	margin-bottom: 0.7rem;
	padding: 0.73rem 0.95rem 0.82rem calc(0.73rem + 8px);
	border-radius: 13px;
	border: 1px solid rgba(251, 146, 60, 0.55);
	background:
		linear-gradient(180deg, rgba(255, 255, 255, 0.55) 0%, rgba(255, 255, 255, 0) 38%),
		linear-gradient(128deg, #fffbeb 0%, #ffedd5 32%, #fed7aa 72%, #fdba74 100%);
	-webkit-box-shadow:
		0 0 0 1px rgba(255, 255, 255, 0.65) inset,
		0 1px 0 rgba(255, 255, 255, 0.9) inset,
		0 10px 32px rgba(234, 88, 12, 0.22),
		0 4px 14px rgba(15, 23, 42, 0.08);
	box-shadow:
		0 0 0 1px rgba(255, 255, 255, 0.65) inset,
		0 1px 0 rgba(255, 255, 255, 0.9) inset,
		0 10px 32px rgba(234, 88, 12, 0.22),
		0 4px 14px rgba(15, 23, 42, 0.08);
}

/* Striscia “stub” ticket a sinistra */
.fitactive-checkout-product.fitactive-checkout-bonus-product::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	width: 8px;
	border-radius: 13px 0 0 13px;
	background: linear-gradient(180deg, #fb923c 0%, #ea580c 45%, #c2410c 100%);
	-webkit-box-shadow: 4px 0 18px rgba(234, 88, 12, 0.35);
	box-shadow: 4px 0 18px rgba(234, 88, 12, 0.35);
	pointer-events: none;
}

/* Micro-perforazione in basso (effetto taglio biglietto) */
.fitactive-checkout-product.fitactive-checkout-bonus-product::after {
	content: '';
	position: absolute;
	left: 0.95rem;
	right: 0.95rem;
	bottom: 0.38rem;
	height: 4px;
	pointer-events: none;
	background: radial-gradient(circle at center, rgba(234, 88, 12, 0.35) 1.1px, transparent 1.2px);
	background-size: 6px 4px;
	background-repeat: repeat-x;
	background-position: 0 50%;
	opacity: 0.85;
}

.fitactive-checkout-bonus-product .fitactive-checkout-product-icon {
	position: relative;
	z-index: 1;
	width: 35px;
	height: 35px;
	font-size: 1rem;
	color: #fff;
	background: linear-gradient(145deg, #fb923c 0%, #ea580c 48%, #c2410c 100%);
	border: 1px solid rgba(255, 255, 255, 0.35);
	border-radius: 10px;
	-webkit-box-shadow:
		0 1px 0 rgba(255, 255, 255, 0.35) inset,
		0 4px 11px rgba(234, 88, 12, 0.45);
	box-shadow:
		0 1px 0 rgba(255, 255, 255, 0.35) inset,
		0 4px 11px rgba(234, 88, 12, 0.45);
}

.fitactive-checkout-bonus-product .fitactive-checkout-product-info {
	position: relative;
	z-index: 1;
	margin-left: 0.7rem;
	padding-left: 0.74rem;
	border-left: 2px dashed rgba(234, 88, 12, 0.45);
}

.fitactive-checkout-bonus-product .fitactive-checkout-product-name {
	color: #7c2d12;
	font-weight: 800;
	letter-spacing: 0.01em;
	font-size: 0.82rem;
	line-height: 1.2;
	margin-bottom: 0.15rem;
	text-shadow: none;
}

.fitactive-checkout-bonus-product .fitactive-checkout-price-old {
	font-size: 0.78rem;
	color: rgba(124, 45, 18, 0.5);
	text-decoration: line-through;
}

.fitactive-checkout-bonus-product .fitactive-checkout-price-current {
	color: #c2410c;
	font-weight: 800;
	font-size: 0.95rem;
	letter-spacing: -0.02em;
	text-shadow: none;
}

/* Payment options */
.fitactive-checkout-payment {
	position: relative;
	margin-bottom: 1.5rem;
	padding-bottom: 0.85rem;
}

/* Etichetta versione widget (angolo in basso a destra, piccolissima) */
.fitactive-checkout-widget-version {
	position: absolute;
	bottom: 0;
	right: 0;
	font-size: 0.5rem;
	line-height: 1;
	font-weight: 500;
	letter-spacing: 0.04em;
	color: rgba(255, 255, 255, 0.28);
	color: var(--fitactive-text-muted);
	opacity: 0.55;
	pointer-events: none;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
}

/* Checkout + bonus: pagamento in due blocchi (online / in sede) */
.fitactive-checkout-payment-options--split {
	gap: 1.15rem;
}

.fitactive-checkout-payment-options--split > * + * {
	margin-top: 0;
}

.fitactive-checkout-payment-block {
	padding: 0.9rem 1rem 1rem;
	background: rgba(255, 255, 255, 0.025);
	border: 1px solid var(--fitactive-border);
	border-radius: 14px;
}

.fitactive-checkout-payment-block--online {
	border-color: rgba(148, 163, 184, 0.2);
}

/* Sottotitolo blocchi pagamento: come testo secondario del riepilogo (descrizione prodotto) */
.fitactive-checkout-payment-block-subtitle {
	margin: 0 0 0.85rem 0;
	font-size: 0.8rem;
	line-height: 1.35;
	font-weight: 400;
	color: #a0a0a0;
	color: var(--fitactive-text-muted);
}

.fitactive-checkout-payment-block-options {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-webkit-flex-direction: column;
	-ms-flex-direction: column;
	flex-direction: column;
}

.fitactive-checkout-payment-block-options > * + * {
	margin-top: 0.75rem;
}

/* Titolo gateway + suffisso (es. label promo) */
.fitactive-checkout-payment-option-label-group {
	-webkit-box-flex: 1;
	-webkit-flex: 1;
	-ms-flex: 1;
	flex: 1;
	min-width: 0;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
	gap: 0.4rem 0.5rem;
	padding-top: 1px;
}

/* Label promo PayPal / Klarna (widget Checkout + bonus), accanto al nome — stesso mood ticket arancio */
.fitactive-checkout-promo-label {
	font-size: 0.68rem;
	font-weight: 700;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	color: #fff;
	text-shadow: 0 1px 0 rgba(0, 0, 0, 0.12);
	background: linear-gradient(145deg, #fb923c 0%, #ea580c 50%, #c2410c 100%);
	border-radius: 6px;
	border: 1px solid rgba(255, 255, 255, 0.28);
	-webkit-box-shadow:
		0 1px 0 rgba(255, 255, 255, 0.25) inset,
		0 2px 8px rgba(234, 88, 12, 0.35);
	box-shadow:
		0 1px 0 rgba(255, 255, 255, 0.25) inset,
		0 2px 8px rgba(234, 88, 12, 0.35);
}

.fitactive-checkout-promo-label--inline {
	display: -webkit-inline-box;
	display: -webkit-inline-flex;
	display: -ms-inline-flexbox;
	display: inline-flex;
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
	margin: 0;
	padding: 0.28rem 0.5rem;
	line-height: 1.2;
	max-width: 100%;
	white-space: normal;
	text-align: left;
}

.fitactive-checkout-payment-subtitle {
	margin: 0 0 1rem 0;
	font-size: 0.8rem;
	color: #a0a0a0;
	color: var(--fitactive-text-muted);
}

.fitactive-checkout-payment-options {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-webkit-flex-direction: column;
	-ms-flex-direction: column;
	flex-direction: column;
}

.fitactive-checkout-payment-options > * + * {
	margin-top: 0.75rem;
}

.fitactive-checkout-payment-option {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: start;
	-webkit-align-items: flex-start;
	-ms-flex-align: start;
	align-items: flex-start;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	padding: 1rem 1.25rem;
	min-height: 56px;
	background: #0a0d12;
	background: var(--fitactive-input-bg);
	border: 1px solid rgba(255, 255, 255, 0.09);
	border: 1px solid var(--fitactive-border);
	border-radius: 12px;
	cursor: pointer;
	-webkit-transition: border-color 0.2s, background 0.2s, box-shadow 0.2s;
	transition: border-color 0.2s, background 0.2s, box-shadow 0.2s;
	touch-action: manipulation;
}

.fitactive-checkout-payment-option > * + * {
	margin-left: 0.75rem;
}

.fitactive-checkout-payment-option:hover {
	border-color: rgba(148, 163, 184, 0.35);
	background: rgba(255, 255, 255, 0.03);
}

/* Radio styling — custom per compatibilità cross-browser (accent-color non supportato ovunque). */
.fitactive-checkout-payment-option input[type="radio"] {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	width: 18px;
	height: 18px;
	min-width: 18px;
	border: 2px solid #a0a0a0;
	border: 2px solid var(--fitactive-text-muted);
	border-radius: 50%;
	background: transparent;
	margin: 0;
	margin-top: 2px;
	cursor: pointer;
	position: relative;
	-webkit-flex-shrink: 0;
	-ms-flex-negative: 0;
	flex-shrink: 0;
}

.fitactive-checkout-payment-option input[type="radio"]:checked {
	border-color: #cbd5e1;
}

.fitactive-checkout-payment-option input[type="radio"]:checked::after {
	content: '';
	position: absolute;
	top: 3px;
	left: 3px;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: #f1f5f9;
}

.fitactive-checkout-payment-option input:checked + .fitactive-checkout-payment-option-icon,
.fitactive-checkout-payment-option input:checked ~ .fitactive-checkout-payment-option-label-group .fitactive-checkout-payment-option-label {
	color: #f8fafc;
}

/* Stile opzione selezionata — classe JS (fallback per `:has()` non supportato). */
.fitactive-checkout-payment-option.is-checked {
	border-color: rgba(148, 163, 184, 0.55);
	background: rgba(255, 255, 255, 0.06);
	-webkit-box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.06) inset;
	box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.06) inset;
}

/* Supporto `:has()` per browser moderni. */
@supports selector(:has(*)) {
	.fitactive-checkout-payment-option:has(input:checked) {
		border-color: rgba(148, 163, 184, 0.55);
		background: rgba(255, 255, 255, 0.06);
		-webkit-box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.06) inset;
		box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.06) inset;
	}
}

.fitactive-checkout-payment-option-icon {
	font-size: 1.1rem;
	min-width: 2rem;
	margin-top: 2px;
	display: -webkit-inline-box;
	display: -webkit-inline-flex;
	display: -ms-inline-flexbox;
	display: inline-flex;
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
}

.fitactive-checkout-payment-option-icon img {
	max-width: 2rem;
	height: auto;
	display: block;
}

/* PayPal / Carte / Paga in 3: logo PayPal in bianco */
.fitactive-checkout-payment-option--paypal .fitactive-checkout-payment-option-icon img,
.fitactive-checkout-payment-option--paypal .fitactive-paypal-logo-img {
	max-width: 100px;
	height: 26px;
	width: auto;
	filter: brightness(0) invert(1) !important;
	-webkit-filter: brightness(0) invert(1) !important;
	opacity: 0.95;
}

.fitactive-checkout-payment-option--paypal .fitactive-checkout-payment-option-icon,
.fitactive-checkout-payment-option--paypal.fitactive-checkout-payment-option:has(input:checked) .fitactive-checkout-payment-option-icon {
	color: #fff;
}

/* Paga in sede: icona da paga_in_sede.svg (bianca) */
.fitactive-payment-icon-sede .fitactive-icon-sede-img {
	display: block;
	max-width: 2rem;
	max-height: 2rem;
	width: 32px;
	height: 32px;
	object-fit: contain;
}

.fitactive-checkout-payment-option-label {
	font-weight: 600;
	min-width: 0;
}

.fitactive-checkout-payment-option-desc {
	width: 100%;
	font-size: 0.8rem;
	line-height: 1.45;
	color: #a0a0a0;
	color: var(--fitactive-text-muted);
	margin: 0.5rem 0 0 2.75rem;
	padding: 0;
}

/* Consenso termini: card compatta, glass, coerente col tema checkout */
.fitactive-checkout-consent {
	margin-top: 1.15rem;
	margin-bottom: 1.35rem;
	padding: 0.8rem 1rem 0.85rem;
	border-radius: 14px;
	border: 1px solid rgba(255, 255, 255, 0.1);
	border: 1px solid var(--fitactive-border);
	background: linear-gradient(155deg, rgba(255, 255, 255, 0.06) 0%, rgba(255, 255, 255, 0.02) 100%);
	-webkit-box-shadow:
		0 0 0 1px rgba(255, 255, 255, 0.04) inset,
		0 8px 24px rgba(0, 0, 0, 0.2);
	box-shadow:
		0 0 0 1px rgba(255, 255, 255, 0.04) inset,
		0 8px 24px rgba(0, 0, 0, 0.2);
	-webkit-backdrop-filter: blur(10px);
	backdrop-filter: blur(10px);
}

.fitactive-checkout-consent > * + * {
	margin-top: 0.65rem;
}

/* Errore validazione termini: subito sotto il box consenso */
.fitactive-checkout-consent .fitactive-checkout-error-consent {
	margin-top: 0.6rem;
	margin-bottom: 0;
	padding: 0.55rem 0.75rem;
	border-radius: 10px;
	font-size: 0.85rem;
	line-height: 1.35;
}

.fitactive-checkout-checkbox {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: start;
	-webkit-align-items: flex-start;
	-ms-flex-align: start;
	align-items: flex-start;
	gap: 0.7rem;
	cursor: pointer;
	font-size: 0.875rem;
	line-height: 1.5;
	color: #94a3b8;
	color: var(--fitactive-text-muted);
	min-height: 44px;
	margin: 0;
	padding: 0.2rem 0;
	touch-action: manipulation;
	-webkit-transition: color 0.2s ease;
	transition: color 0.2s ease;
}

.fitactive-checkout-checkbox:hover {
	color: #cbd5e1;
}

.fitactive-checkout-checkbox > * + * {
	margin-left: 0;
}

.fitactive-checkout-checkbox > span {
	-webkit-box-flex: 1;
	-webkit-flex: 1;
	-ms-flex: 1;
	flex: 1;
	min-width: 0;
	padding-top: 1px;
}

.fitactive-checkout-checkbox input[type="checkbox"] {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	width: 22px;
	height: 22px;
	min-width: 22px;
	margin: 2px 0 0 0;
	border: 2px solid rgba(148, 163, 184, 0.35);
	border-radius: 7px;
	background: #0a0d12;
	background: var(--fitactive-input-bg);
	cursor: pointer;
	-webkit-flex-shrink: 0;
	-ms-flex-negative: 0;
	flex-shrink: 0;
	position: relative;
	-webkit-transition: border-color 0.2s ease, background 0.2s ease, box-shadow 0.2s ease;
	transition: border-color 0.2s ease, background 0.2s ease, box-shadow 0.2s ease;
}

.fitactive-checkout-checkbox input[type="checkbox"]:hover {
	border-color: rgba(148, 163, 184, 0.55);
}

.fitactive-checkout-checkbox input[type="checkbox"]:focus {
	outline: none;
}

.fitactive-checkout-checkbox input[type="checkbox"]:focus-visible {
	border-color: rgba(148, 163, 184, 0.65);
	-webkit-box-shadow: 0 0 0 3px var(--fitactive-focus-ring);
	box-shadow: 0 0 0 3px var(--fitactive-focus-ring);
}

.fitactive-checkout-checkbox input[type="checkbox"]:checked {
	background: linear-gradient(145deg, #475569 0%, #334155 55%, #1e293b 100%);
	border-color: #94a3b8;
	-webkit-box-shadow: 0 1px 0 rgba(255, 255, 255, 0.12) inset;
	box-shadow: 0 1px 0 rgba(255, 255, 255, 0.12) inset;
}

.fitactive-checkout-checkbox input[type="checkbox"]:checked::after {
	content: '';
	position: absolute;
	top: 2px;
	left: 6px;
	width: 5px;
	height: 10px;
	border: solid #f8fafc;
	border-width: 0 2.5px 2.5px 0;
	-webkit-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	transform: rotate(45deg);
}

.fitactive-checkout-checkbox a {
	color: #e2e8f0;
	font-weight: 600;
	text-decoration: none;
	border-bottom: 1px solid rgba(226, 232, 240, 0.35);
	text-underline-offset: 3px;
	-webkit-transition: color 0.15s ease, border-color 0.15s ease;
	transition: color 0.15s ease, border-color 0.15s ease;
}

.fitactive-checkout-checkbox a:hover {
	color: #fff;
	border-bottom-color: rgba(248, 250, 252, 0.85);
}

.fitactive-checkout-checkbox a:focus-visible {
	outline: none;
	border-radius: 2px;
	-webkit-box-shadow: 0 0 0 2px var(--fitactive-focus-ring);
	box-shadow: 0 0 0 2px var(--fitactive-focus-ring);
}

/* Buttons */
.fitactive-checkout-actions {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-webkit-flex-direction: column;
	-ms-flex-direction: column;
	flex-direction: column;
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
}

.fitactive-checkout-actions > * + * {
	margin-top: 0.75rem;
}

.fitactive-checkout-btn {
	padding: 0.85rem 2rem;
	min-height: 48px;
	border: none;
	border-radius: 6px;
	font-size: 0.95rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.03em;
	cursor: pointer;
	-webkit-transition: background 0.2s, opacity 0.2s;
	transition: background 0.2s, opacity 0.2s;
	width: 100%;
	max-width: 320px;
	touch-action: manipulation;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}

.fitactive-checkout-btn-continua,
.fitactive-checkout-btn-confirm {
	background: #f8fafc;
	background: var(--fitactive-cta-bg);
	color: #0f172a;
	color: var(--fitactive-cta-text);
	-webkit-box-shadow: 0 2px 0 rgba(15, 23, 42, 0.12);
	box-shadow: 0 2px 0 rgba(15, 23, 42, 0.12);
}

.fitactive-checkout-btn-continua:hover,
.fitactive-checkout-btn-confirm:hover {
	background: #e2e8f0;
	background: var(--fitactive-cta-bg-hover);
}

.fitactive-checkout-btn-continua:disabled,
.fitactive-checkout-btn-confirm:disabled {
	opacity: 0.8;
	cursor: not-allowed;
}

.fitactive-checkout-btn-confirm.sending {
	opacity: 0.8;
	cursor: wait;
}

.fitactive-checkout-btn-back {
	background: transparent !important;
	color: #a0a0a0;
	color: var(--fitactive-text-muted);
	border: none;
	padding: 0.4rem 0.75rem;
	min-height: 44px;
	font-size: 0.85rem;
	max-width: none;
}

.fitactive-checkout-btn-back:hover {
	background: transparent !important;
	color: #f5f5f5;
	color: var(--fitactive-text);
}

/* Token sotto INDIETRO */
.fitactive-checkout-token-display {
	font-size: 0.7rem;
	color: rgba(255, 255, 255, 0.7);
	margin: 0.25rem 0 0 0;
	word-break: break-all;
	text-align: center;
}

/* Error message */
.fitactive-checkout-error-top {
	margin-bottom: 1rem;
}

.fitactive-checkout-error {
	background: rgba(220, 53, 69, 0.15);
	border: 1px solid rgba(220, 53, 69, 0.4);
	color: #f8d7da;
	padding: 0.6rem 1rem;
	border-radius: 4px;
	font-size: 0.9rem;
	margin-bottom: 1rem;
	display: none;
}

.fitactive-checkout-error.visible {
	display: block;
}

/* PayPal inline Smart Button (replaces confirm button when PayPal selected) */
.fitactive-paypal-inline-btn {
	min-height: 50px;
	margin-top: 8px;
	width: 100%;
}

.fitactive-paypal-load-error {
	margin: 0;
	padding: 12px 16px;
	background: rgba(251, 191, 36, 0.08);
	border: 1px solid rgba(251, 191, 36, 0.35);
	border-radius: 10px;
	color: #fde68a;
	font-size: 0.9rem;
	line-height: 1.4;
}

/* PayPal popup overlay (legacy) */
.fitactive-paypal-overlay {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.65);
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	-ms-flex-pack: center;
	justify-content: center;
	z-index: 999999;
	-webkit-backdrop-filter: blur(4px);
	backdrop-filter: blur(4px);
	padding: env(safe-area-inset-top, 0) env(safe-area-inset-right, 0) env(safe-area-inset-bottom, 0) env(safe-area-inset-left, 0);
}

.fitactive-paypal-modal {
	background: #fff;
	border-radius: 16px;
	padding: 32px 28px 24px;
	max-width: 420px;
	width: 90%;
	max-height: 90vh;
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
	-webkit-box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
	box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
	text-align: center;
}

.fitactive-paypal-modal-title {
	margin: 0 0 20px;
	font-size: 1.1rem;
	font-weight: 600;
	color: #1a1d21;
}

.fitactive-paypal-btn-container {
	min-height: 55px;
	margin-bottom: 16px;
}

.fitactive-paypal-cancel {
	background: none;
	border: none;
	color: #666;
	font-size: 0.9rem;
	cursor: pointer;
	padding: 8px 16px;
	min-height: 44px;
	text-decoration: underline;
	touch-action: manipulation;
	-webkit-appearance: none;
}

.fitactive-paypal-cancel:hover {
	color: #333;
}

/* Responsive */
@media (max-width: 520px) {
	.fitactive-checkout-widget {
		padding: 1rem;
		padding-top: calc(1rem + 3px);
	}

	.fitactive-checkout-widget::before {
		left: 12px;
		right: 12px;
	}

	.fitactive-checkout-form-grid {
		grid-template-columns: 1fr;
	}

	.fitactive-checkout-payment-option-desc {
		margin-left: 0;
	}

	.fitactive-paypal-modal {
		padding: 24px 20px 20px;
		max-width: 95%;
		border-radius: 12px;
	}
}

/* In-app browser extra padding (Facebook/Instagram fullscreen WebView) */
@supports (padding-top: env(safe-area-inset-top)) {
	.fitactive-paypal-overlay,
	.fitactive-thankyou-overlay {
		padding-top: env(safe-area-inset-top);
		padding-bottom: env(safe-area-inset-bottom);
	}
}

/* =====================================================
   Pagina "Grazie per il tuo ordine"
   ===================================================== */
.fitactive-thankyou-overlay {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: linear-gradient(160deg, #0f141c 0%, #0b0e14 50%, #080a0f 100%);
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	-ms-flex-pack: center;
	justify-content: center;
	z-index: 999999;
	padding: 20px;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

.fitactive-thankyou-card {
	background: linear-gradient(165deg, #161c26 0%, #0f141c 100%);
	border: 1px solid rgba(255, 255, 255, 0.09);
	border-radius: 20px;
	padding: 48px 36px 40px;
	max-width: 480px;
	width: 100%;
	text-align: center;
	-webkit-box-shadow: 0 20px 60px rgba(0, 0, 0, 0.4);
	box-shadow: 0 20px 60px rgba(0, 0, 0, 0.4);
}

.fitactive-thankyou-icon {
	width: 72px;
	height: 72px;
	margin: 0 auto 24px;
	background: linear-gradient(145deg, #334155 0%, #1e293b 100%);
	color: #f8fafc;
	border-radius: 50%;
	border: 1px solid rgba(255, 255, 255, 0.12);
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	-ms-flex-pack: center;
	justify-content: center;
	font-size: 2rem;
	font-weight: 700;
	line-height: 1;
}

.fitactive-thankyou-title {
	margin: 0 0 8px;
	font-size: 1.5rem;
	font-weight: 700;
	color: #f5f5f5;
}

.fitactive-thankyou-subtitle {
	margin: 0 0 28px;
	font-size: 0.95rem;
	color: #a0a0a0;
	line-height: 1.5;
}

.fitactive-thankyou-details {
	background: rgba(255, 255, 255, 0.05);
	border: 1px solid rgba(255, 255, 255, 0.08);
	border-radius: 10px;
	padding: 20px;
	margin-bottom: 28px;
	text-align: left;
}

.fitactive-thankyou-row {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-webkit-justify-content: space-between;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
	padding: 10px 0;
	font-size: 0.9rem;
	border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}

.fitactive-thankyou-row:last-child {
	border-bottom: none;
}

.fitactive-thankyou-row > span {
	color: #a0a0a0;
}

.fitactive-thankyou-row > strong {
	color: #f5f5f5;
	font-weight: 600;
	text-align: right;
	max-width: 60%;
	word-break: break-word;
}

.fitactive-thankyou-btn {
	display: inline-block;
	padding: 14px 36px;
	min-height: 48px;
	background: #f8fafc;
	color: #0f172a;
	font-size: 0.95rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.03em;
	text-decoration: none;
	border-radius: 12px;
	border: none;
	cursor: pointer;
	-webkit-transition: background 0.2s, transform 0.15s;
	transition: background 0.2s, transform 0.15s;
	touch-action: manipulation;
	-webkit-appearance: none;
	-webkit-box-shadow: 0 2px 0 rgba(15, 23, 42, 0.12);
	box-shadow: 0 2px 0 rgba(15, 23, 42, 0.12);
}

.fitactive-thankyou-btn:hover {
	background: #e2e8f0;
	color: #0f172a;
	text-decoration: none;
}

@media (max-width: 520px) {
	.fitactive-thankyou-card {
		padding: 36px 24px 32px;
	}

	.fitactive-thankyou-icon {
		width: 60px;
		height: 60px;
		font-size: 1.6rem;
		margin-bottom: 20px;
	}

	.fitactive-thankyou-title {
		font-size: 1.25rem;
	}

	.fitactive-thankyou-row {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-webkit-flex-direction: column;
		-ms-flex-direction: column;
		flex-direction: column;
		-webkit-box-align: start;
		-webkit-align-items: flex-start;
		-ms-flex-align: start;
		align-items: flex-start;
	}

	.fitactive-thankyou-row > strong {
		text-align: left;
		max-width: 100%;
		margin-top: 2px;
	}
}
