/* =====================================================================
   IncassaOra — stili frontend (prefissati .incassaora-)
   Compatibili con tema Avada: tutte le regole sono isolate.
   ===================================================================== */

:root {
	--incassaora-primary: #1a1f33;
	--incassaora-accent: #d4235e;
	--incassaora-accent-rgb: 212, 35, 94;
	--incassaora-bg: #ffffff;
	--incassaora-muted: #6b7280;
	--incassaora-border: #e6e6ef;
	--incassaora-soft: #fdf2f7;
	--incassaora-radius: 16px;
}

/* ----- Reset locale ------------------------------------------------- */
.incassaora-block,
.incassaora-calc,
.incassaora-formwrap,
.incassaora-stories,
.incassaora-accordion,
.incassaora-compare-wrap,
.incassaora-fb-container {
	box-sizing: border-box;
}
.incassaora-block *,
.incassaora-calc *,
.incassaora-formwrap *,
.incassaora-stories *,
.incassaora-accordion *,
.incassaora-compare-wrap * {
	box-sizing: border-box;
}

/* ----- Blocco sezione ---------------------------------------------- */
.incassaora-block {
	max-width: 1180px;
	margin: 0 auto;
	padding: 64px 22px;
	font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
	color: var(--incassaora-primary);
	line-height: 1.6;
}
.incassaora-block--dark {
	color: #f3f4f8;
}

/* ----- Fallback layout Fusion (solo senza Avada) ------------------- */
.incassaora-fb-container {
	width: 100%;
	padding: 56px 22px;
}
.incassaora-fb-row {
	display: flex;
	flex-wrap: wrap;
	gap: 32px;
	max-width: 1180px;
	margin: 0 auto;
	align-items: center;
}
.incassaora-fb-col {
	flex: 1 1 320px;
	min-width: 0;
	font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
	color: var(--incassaora-primary);
	line-height: 1.6;
}

/* ----- Tipografia --------------------------------------------------- */
.incassaora-h1 {
	font-family: 'Manrope', sans-serif;
	font-size: clamp(2.1rem, 5vw, 3.25rem);
	font-weight: 800;
	line-height: 1.08;
	margin: 0 0 .4em;
	color: inherit;
}
.incassaora-h2 {
	font-family: 'Manrope', sans-serif;
	font-size: clamp(1.7rem, 3.5vw, 2.4rem);
	font-weight: 700;
	line-height: 1.15;
	margin: 0 0 .4em;
	color: inherit;
}
.incassaora-eyebrow {
	font-size: .8rem;
	font-weight: 600;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--incassaora-accent);
	margin: 0 0 .6rem;
}
.incassaora-lead {
	font-size: 1.1rem;
	color: #43485c;
	margin: 0 0 1rem;
}
.incassaora-block--dark .incassaora-lead { color: rgba(243, 244, 248, .8); }
.incassaora-muted { color: var(--incassaora-muted); font-size: .95rem; margin: 0; }
.incassaora-strong { font-weight: 700; color: var(--incassaora-primary); margin: 0 0 .5rem; }
.incassaora-italic { font-style: italic; font-weight: 300; }
.incassaora-accent-text { color: var(--incassaora-accent); }
.incassaora-big { font-size: 1.25rem; font-weight: 700; }
.incassaora-center { text-align: center; }
.incassaora-narrow { max-width: 760px; margin-left: auto; margin-right: auto; }
.incassaora-narrow-lg { max-width: 980px; margin-left: auto; margin-right: auto; }
.incassaora-kicker { font-size: .72rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--incassaora-accent); margin: 0 0 .3rem; }
.incassaora-note { margin-top: 2rem; padding: 1rem 1.25rem; background: #fff; border: 1px solid var(--incassaora-border); border-radius: 12px; font-size: .9rem; color: var(--incassaora-muted); text-align: center; }
.incassaora-fineprint { font-size: .8rem; color: var(--incassaora-muted); margin-top: 1.4rem; }
/* Avada azzera i margini dei <p> dentro .fusion-text: forziamo lo spazio sopra
   il fineprint (l'a-capo sotto i pulsanti non deve restare attaccato). */
.fusion-text p.incassaora-fineprint,
.incassaora-block p.incassaora-fineprint { margin-top: 1.4rem; }
.incassaora-on-dark { color: #f3f4f8 !important; }
.incassaora-on-dark-muted { color: rgba(243, 244, 248, .72) !important; }

/* ----- Badge / dot -------------------------------------------------- */
.incassaora-badge {
	display: inline-flex;
	align-items: center;
	gap: .5rem;
	padding: .4rem .85rem;
	border: 1px solid var(--incassaora-border);
	border-radius: 999px;
	background: rgba(var(--incassaora-accent-rgb), .08);
	color: var(--incassaora-accent);
	font-size: .8rem;
	font-weight: 600;
	margin: 0 0 1rem;
}
.incassaora-badge--center { margin-left: auto; margin-right: auto; }
.incassaora-dot { width: 8px; height: 8px; border-radius: 50%; background: #22c55e; animation: incassaora-pulse 1.6s infinite; }
@keyframes incassaora-pulse { 0%,100% { opacity: 1; } 50% { opacity: .35; } }

/* ----- Pulsanti ----------------------------------------------------- */
.incassaora-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: .4rem;
	padding: .85rem 1.7rem;
	border-radius: 999px;
	font-family: 'Manrope', sans-serif;
	font-weight: 700;
	font-size: .98rem;
	text-decoration: none;
	cursor: pointer;
	border: 2px solid transparent;
	transition: transform .15s ease, box-shadow .15s ease, background .15s ease, color .15s ease;
	line-height: 1.1;
}
.incassaora-btn--primary {
	background: var(--incassaora-accent);
	color: #fff;
	box-shadow: 0 6px 22px rgba(var(--incassaora-accent-rgb), .35);
}
.incassaora-btn--primary:hover { transform: translateY(-2px); box-shadow: 0 10px 28px rgba(var(--incassaora-accent-rgb), .5); color: #fff; }
.incassaora-btn--outline {
	background: transparent;
	color: var(--incassaora-primary);
	border-color: var(--incassaora-primary);
}
.incassaora-btn--outline:hover { background: var(--incassaora-primary); color: #fff; }
.incassaora-btn--ghost {
	background: transparent;
	color: #fff;
	border-color: rgba(255, 255, 255, .5);
}
.incassaora-btn--ghost:hover { background: rgba(255, 255, 255, .12); color: #fff; }

/* ----- Hero --------------------------------------------------------- */
.incassaora-hero { display: grid; grid-template-columns: 1.05fr .95fr; gap: 3rem; align-items: center; }
.incassaora-hero__title { font-family: 'Manrope', sans-serif; font-size: clamp(2.3rem, 5.5vw, 3.6rem); font-weight: 800; line-height: 1.05; margin: 0 0 1.2rem; }
.incassaora-hero__lead { font-size: 1.15rem; color: #43485c; max-width: 36rem; margin: 0 0 1.6rem; }
.incassaora-hero__cta { display: flex; flex-wrap: wrap; gap: .8rem; }
.incassaora-center-cta { justify-content: center; }
.incassaora-hero__bullets { list-style: none; padding: 0; margin: 1.6rem 0 0; display: grid; grid-template-columns: 1fr 1fr; gap: .5rem; max-width: 36rem; }
.incassaora-hero__bullets li { position: relative; padding-left: 1.6rem; font-size: .92rem; color: #43485c; }
.incassaora-hero__bullets li::before { content: '\2713'; position: absolute; left: 0; top: 0; color: var(--incassaora-accent); font-weight: 700; }
.incassaora-hero__media { position: relative; }
.incassaora-hero__img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; border-radius: 26px; box-shadow: 0 30px 60px rgba(26, 31, 51, .25); }
.incassaora-hero__chip { position: absolute; right: -8px; bottom: 26px; background: #fff; border: 1px solid var(--incassaora-border); border-radius: 18px; padding: 1rem 1.2rem; box-shadow: 0 18px 40px rgba(26, 31, 51, .18); }
.incassaora-hero__chip-label { font-size: .65rem; text-transform: uppercase; letter-spacing: .12em; color: var(--incassaora-muted); margin: 0; }
.incassaora-hero__chip-value { font-family: 'Manrope', sans-serif; font-size: 2rem; font-weight: 800; color: var(--incassaora-accent); line-height: 1; margin: .3rem 0 .25rem; }
.incassaora-hero__chip-sub { font-size: .72rem; color: var(--incassaora-muted); margin: 0; }
.incassaora-hero__card { position: absolute; left: -12px; top: 40px; width: 260px; background: #fff; border: 1px solid var(--incassaora-border); border-radius: 18px; padding: 1rem; box-shadow: 0 18px 40px rgba(26, 31, 51, .18); }
.incassaora-hero__card-label { font-size: .6rem; text-transform: uppercase; letter-spacing: .14em; font-weight: 700; color: var(--incassaora-muted); margin: 0 0 .7rem; }
.incassaora-hero__card-row { display: flex; align-items: center; gap: .7rem; background: rgba(241, 240, 236, .6); border-radius: 10px; padding: .5rem .7rem; margin-top: .5rem; }
.incassaora-hero__card-dot { width: 8px; height: 8px; border-radius: 50%; flex: 0 0 auto; }
.incassaora-hero__card-row strong { display: block; font-size: .78rem; color: var(--incassaora-primary); font-weight: 700; }
.incassaora-hero__card-row span > span { display: block; font-size: .66rem; color: var(--incassaora-muted); }

/* Avatars social proof */
.incassaora-avatars { display: inline-flex; align-items: center; gap: .6rem; }
.incassaora-avatars__stack { display: inline-flex; }
.incassaora-avatars__a { width: 32px; height: 32px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: .72rem; font-weight: 700; color: #fff; margin-left: -8px; border: 2px solid rgba(255, 255, 255, .85); }
.incassaora-avatars__a:first-child { margin-left: 0; }
.incassaora-avatars__label { font-size: .88rem; font-weight: 600; color: rgba(243, 244, 248, .82); }

/* Carosello citazioni */
.incassaora-quotes { position: relative; max-width: 760px; margin: 0 auto; text-align: center; padding: 0 3rem; }
.incassaora-quotes__viewport { min-height: 180px; }
.incassaora-quotes__slide { margin: 0; }
.incassaora-quotes__slide[hidden] { display: none; }
.incassaora-quotes__mark { font-size: 2.6rem; color: rgba(var(--incassaora-accent-rgb), .3); width: auto; height: auto; background: none; }
.incassaora-quotes__text { font-family: 'Manrope', sans-serif; font-size: 1.35rem; font-weight: 600; line-height: 1.5; color: var(--incassaora-primary); margin: .6rem 0 1.4rem; }
.incassaora-quotes__author { display: flex; flex-direction: column; align-items: center; gap: .15rem; }
.incassaora-quotes__author strong { color: var(--incassaora-primary); }
.incassaora-quotes__stars { display: inline-flex; gap: .1rem; margin-top: .3rem; }
.incassaora-quotes__star { color: #f5b301; font-size: 1rem; width: auto; height: auto; background: none; font-variation-settings: 'FILL' 1; }
.incassaora-quotes__nav { position: absolute; top: 38%; transform: translateY(-50%); width: 40px; height: 40px; border-radius: 50%; border: 1px solid var(--incassaora-border); background: #fff; color: var(--incassaora-primary); cursor: pointer; display: flex; align-items: center; justify-content: center; box-shadow: 0 1px 2px rgba(26, 31, 51, .06); transition: background .2s; }
.incassaora-quotes__nav:hover { background: #f1f0ec; }
.incassaora-quotes__nav--prev { left: 0; }
.incassaora-quotes__nav--next { right: 0; }
.incassaora-quotes__nav .incassaora-ic { width: auto; height: auto; background: none; color: inherit; }
.incassaora-quotes__dots { display: flex; justify-content: center; gap: .4rem; margin-top: 1.4rem; }
.incassaora-quotes__dot { height: 8px; width: 8px; border: 0; padding: 0; border-radius: 999px; background: rgba(107, 114, 128, .3); cursor: pointer; transition: all .2s; }
.incassaora-quotes__dot.is-active { width: 24px; background: var(--incassaora-accent); }

/* Sottotitolo form */
.incassaora-form__subtitle { color: var(--incassaora-muted); font-size: .95rem; margin: -.4rem 0 1.2rem; }

/* ----- Griglie ------------------------------------------------------ */
.incassaora-grid { display: grid; gap: 1.4rem; }
.incassaora-grid--2 { grid-template-columns: repeat(2, 1fr); }
.incassaora-grid--3 { grid-template-columns: repeat(3, 1fr); }
.incassaora-grid--4 { grid-template-columns: repeat(4, 1fr); }

/* ----- Card --------------------------------------------------------- */
.incassaora-card {
	background: #fff;
	border: 1px solid var(--incassaora-border);
	border-radius: var(--incassaora-radius);
	padding: 1.6rem;
	box-shadow: 0 1px 2px rgba(26, 31, 51, .04);
	display: block;
	text-decoration: none;
	color: inherit;
}
.incassaora-card__title { font-family: 'Manrope', sans-serif; font-size: 1.1rem; font-weight: 700; margin: .6rem 0 .4rem; color: inherit; display: flex; align-items: center; gap: .5rem; flex-wrap: wrap; }
/* Battere il typography globale Avada (.fusion-text h2/h3/h4), che altrimenti
   gonfia i titoli delle card. Usiamo !important perché Avada genera CSS dinamico
   per i heading con specificità/priorità variabili tra le versioni. */
.incassaora-card__title,
.incassaora-block h2.incassaora-card__title,
.incassaora-block h3.incassaora-card__title,
.incassaora-block h4.incassaora-card__title { font-size: 1.1rem !important; line-height: 1.3 !important; font-weight: 700 !important; }
.incassaora-infocard .incassaora-card__title { display: block; margin: .2rem 0 .5rem; }
.incassaora-card--center { text-align: center; }
.incassaora-card--center .incassaora-card__title { justify-content: center; }
.incassaora-card--accent { border: 2px solid rgba(var(--incassaora-accent-rgb), .25); }
.incassaora-card--feature { background: var(--incassaora-soft); border-left: 3px solid var(--incassaora-accent); transition: transform .15s ease, box-shadow .15s ease; }
.incassaora-card--feature:hover { transform: translateY(-3px); box-shadow: 0 12px 28px rgba(26, 31, 51, .1); }
.incassaora-card--pad { padding: 2.4rem; }
.incassaora-card--row { display: flex; align-items: center; gap: 1rem; margin-top: 1rem; }
.incassaora-subcard { background: #f7f6f2; border-radius: 12px; padding: 1.1rem; }
.incassaora-panel { background: #fff; border: 1px solid var(--incassaora-border); border-radius: var(--incassaora-radius); padding: 1.8rem; }
.incassaora-row-card { display: flex; gap: 1rem; align-items: center; background: #fff; border: 1px solid var(--incassaora-border); border-radius: 12px; padding: 1.1rem 1.2rem; margin-top: 1.2rem; text-decoration: none; transition: border-color .2s ease, box-shadow .2s ease; }
.incassaora-row-card:hover { border-color: rgba(var(--incassaora-accent-rgb), .4); box-shadow: 0 6px 20px rgba(26, 31, 51, .07); }
.incassaora-row-card__body { flex: 1; min-width: 0; }
.incassaora-row-card__arrow { flex: 0 0 auto; color: var(--incassaora-muted); font-size: 1.1rem; }
.incassaora-role { display: flex; gap: .6rem; align-items: flex-start; }
.incassaora-role .incassaora-ic { margin-top: .15rem; flex: 0 0 auto; }

/* ----- Icone (Material Symbols) ------------------------------------ */
.incassaora-ic {
	font-family: 'Material Symbols Outlined';
	font-weight: normal;
	font-style: normal;
	line-height: 1;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: var(--incassaora-accent);
	font-size: 1.6rem;
	width: 44px;
	height: 44px;
	border-radius: 12px;
	background: rgba(var(--incassaora-accent-rgb), .1);
	-webkit-font-feature-settings: 'liga';
	font-feature-settings: 'liga';
}
.incassaora-ic--box { background: var(--incassaora-accent); color: #fff; }
/* Icone inline (senza box) quando dentro un titolo */
.incassaora-card__title .incassaora-ic,
.incassaora-h2 .incassaora-ic { width: auto; height: auto; background: none; font-size: 1.4rem; border-radius: 0; }

/* ----- Icone Content Box NATIVI Avada (override brand) -------------- */
/* Forza lo stile icona on-brand a prescindere dalla rigenerazione delle
   pagine, dalle Global Options o dalla cache CSS compilata di Avada:
   l'!important batte sia lo stile inline sia il CSS compilato.
   A riposo: icona accent su riquadro rosa tenue + anello accent sottile
   (come "ring-1 ring-accent/20" del design originale).
   Al passaggio: riempimento accent pieno + icona bianca (mai giallo). */
.fusion-content-boxes i.fontawesome-icon.circle-yes {
	background-color: rgba(var(--incassaora-accent-rgb, 212, 35, 94), .1) !important;
	border: 1px solid rgba(var(--incassaora-accent-rgb, 212, 35, 94), .2) !important;
	color: var(--incassaora-accent, #d4235e) !important;
	box-shadow: none !important;
	transition: background-color .25s ease, border-color .25s ease, color .25s ease;
}
/* Il wrapper esterno (span attorno all'icona) ha sempre border-style:solid:
   se la border-color cade su currentColor / un valore vecchio in cache,
   compare un anello nero. Lo neutralizziamo del tutto. */
.fusion-content-boxes .content-box-column .icon > span,
.fusion-content-boxes .heading-with-icon .icon > span {
	border-color: transparent !important;
	border-width: 0 !important;
	box-shadow: none !important;
	background-color: transparent !important;
}
.fusion-content-boxes .content-box-column:hover i.fontawesome-icon.circle-yes,
.fusion-content-boxes .content-box-wrapper:hover i.fontawesome-icon.circle-yes,
.fusion-content-boxes .heading-link:hover i.fontawesome-icon.circle-yes,
.fusion-content-boxes .fusion-content-box-hover .icon.hover i.fontawesome-icon.circle-yes {
	background-color: var(--incassaora-accent, #d4235e) !important;
	border-color: var(--incassaora-accent, #d4235e) !important;
	color: #fff !important;
}

/* ----- Content Box chiari: bordo visibile come nell'originale ------- */
/* L'originale React usa "border border-border" + ombra leggera. Avada di
   default disegna solo l'ombra: aggiungiamo un bordo 1px sul box "boxed". */
.incassaora-cards-bordered .content-wrapper-boxed {
	border: 1px solid var(--incassaora-border, #e6e6ef) !important;
	transition: border-color .2s ease, box-shadow .2s ease;
}
.incassaora-cards-bordered .content-box-column:hover .content-wrapper-boxed,
.incassaora-cards-bordered .fusion-content-box-hover:hover .content-wrapper-boxed {
	border-color: rgba(var(--incassaora-accent-rgb, 212, 35, 94), .35) !important;
	box-shadow: 0 8px 24px rgba(26, 31, 51, .08) !important;
}

/* ----- Content Box "plain" (NON card): nessun box ------------------- */
/* Alcune griglie dell'originale (es. trust bar) non sono card: solo icona
   + testo centrati, senza bordo/ombra/sfondo. Avada però applica comunque
   uno stile "box" di default al wrapper. Lo azzeriamo del tutto sui gruppi
   marcati come plain e, per robustezza (anche prima di rigenerare), su
   qualsiasi content box renderizzato "unboxed" (content-wrapper senza la
   variante -boxed). Le card vere usano .content-wrapper-boxed e non sono
   toccate da queste regole. */
.incassaora-cards-plain .content-box-wrapper,
.incassaora-cards-plain .content-wrapper,
.fusion-content-boxes .content-box-wrapper.content-wrapper:not(.content-wrapper-boxed) {
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
}
.incassaora-cards-plain .content-box-column:hover .content-box-wrapper,
.incassaora-cards-plain .fusion-content-box-hover:hover .content-box-wrapper {
	box-shadow: none !important;
}

/* ----- Tabs (Reverse "Vantaggi"): telaio senza bordo grigio ---------- */
/* Niente cornice grigia attorno ai tab/contenuto (le card interne hanno
   già un loro bordo): azzeriamo il telaio e teniamo solo il filo accent
   come indicatore del tab attivo. */
.fusion-tabs .nav,
.fusion-tabs .nav-tabs,
.fusion-tabs .nav-tabs > li > a,
.fusion-tabs .tab-content,
.fusion-tabs .tab-pane {
	border-color: transparent !important;
}
.fusion-tabs .nav-tabs > li.active > a,
.fusion-tabs .nav-tabs > li.active > a:hover,
.fusion-tabs .nav-tabs > li.active > a:focus {
	border-top-color: var(--incassaora-accent, #d4235e) !important;
	color: var(--incassaora-accent, #d4235e) !important;
}
/* Icone tab rimosse: i titoli sono già chiari e su mobile l'icona restava
   incollata al testo. Le nascondiamo anche prima della rigenerazione pagine. */
.fusion-tabs .nav-tabs > li > a i,
.fusion-tabs .nav-tabs > li > a .fontawesome-icon,
.fusion-tabs .nav-tabs > li > a .fusion-tab-icon { display: none !important; }
/* Su mobile Avada impila i tab (accordion) e ogni titolo diventa una barra a
   tutta larghezza: di default l'icona resta staccata a sinistra e il testo
   (lungo) va a capo centrato, risultando sbilanciato. La rendiamo un gruppo
   icona+testo centrato e ordinato, e riduciamo lo spazio tra i box impilati. */
@media (max-width: 768px) {
	.fusion-tabs .nav-tabs > li > a {
		display: flex !important;
		align-items: center;
		justify-content: center;
		gap: .5rem;
		text-align: center;
		line-height: 1.3;
		padding-top: .9rem;
		padding-bottom: .9rem;
	}
	.fusion-tabs .nav-tabs > li > a i,
	.fusion-tabs .nav-tabs > li > a .fusion-tab-icon {
		position: static !important;
		float: none !important;
		margin: 0 !important;
	}
	/* Meno aria tra i content box impilati (default Avada troppo ampio). */
	.fusion-content-boxes .content-box-column { margin-bottom: 1.2rem !important; }
	.fusion-content-boxes .content-box-column:last-child { margin-bottom: 0 !important; }
	/* Annulla l'altezza uniforme (alignment="stretch"): in colonna singola lo
	   stretch allunga ogni card all'altezza della più alta, lasciando spazio
	   vuoto sotto quelle con poco testo. Ogni card alta quanto il contenuto. */
	.fusion-content-boxes .content-box-column { align-self: flex-start !important; }
	.fusion-content-boxes .content-box-column .content-wrapper-boxed,
	.fusion-content-boxes .content-box-column .content-box-wrapper { height: auto !important; min-height: 0 !important; }
}

/* ----- Gruppo pulsanti CTA ------------------------------------------ */
/* Pulsanti affiancati con spaziatura; vanno a capo in automatico su mobile.
   Annulla i margini di default dei wrapper Avada così la spaziatura è gestita
   solo dal gap del contenitore (niente pulsanti appiccicati o impilati). */
.incassaora-btn-group { display: flex; flex-wrap: wrap; align-items: center; gap: 14px; margin: 1.2rem 0 0; }
.incassaora-btn-group--left { justify-content: flex-start; }
.incassaora-btn-group--center { justify-content: center; }
.incassaora-btn-group--right { justify-content: flex-end; }
.incassaora-btn-group .fusion-button-wrapper { margin: 0 !important; }
.incassaora-btn-group .fusion-button { margin: 0 !important; }
@media (max-width: 480px) {
	/* Su schermi molto stretti i pulsanti occupano l'intera larghezza. */
	.incassaora-btn-group { width: 100%; }
	.incassaora-btn-group .fusion-button-wrapper { flex: 1 1 100%; }
	.incassaora-btn-group .fusion-button { width: 100%; }
}

/* ----- Pills / tags ------------------------------------------------- */
.incassaora-pills { display: flex; flex-wrap: wrap; gap: .6rem; margin: 1.2rem 0 0; }
/* Su mobile la colonna sinistra (testo + pills) si impila sopra la product
   card della colonna destra: senza margine inferiore la checklist resta
   attaccata alla card. Su desktop le colonne sono affiancate (nessun effetto:
   i pills sono l'ultimo elemento della colonna). */
@media (max-width: 768px) {
	.incassaora-pills { margin-bottom: 2rem; }
}
.incassaora-center-pills { justify-content: center; }
.incassaora-pill { display: inline-flex; align-items: center; gap: .35rem; padding: .4rem .9rem; border-radius: 999px; background: rgba(var(--incassaora-accent-rgb), .1); color: var(--incassaora-accent); font-size: .8rem; font-weight: 600; }
.incassaora-pill--light { background: #fff; border: 1px solid var(--incassaora-border); color: var(--incassaora-primary); }
.incassaora-tag { font-size: .68rem; font-weight: 700; padding: .15rem .6rem; border-radius: 999px; background: rgba(var(--incassaora-accent-rgb), .12); color: var(--incassaora-accent); }

/* ----- Checklist ---------------------------------------------------- */
.incassaora-checklist { list-style: none !important; padding: 0; margin: 1.2rem 0 0; display: grid; gap: .55rem; }
.incassaora-checklist li { position: relative; padding-left: 1.7rem; font-size: .95rem; color: #43485c; list-style: none !important; }
.incassaora-checklist li::marker { content: ''; }
.incassaora-checklist li::before { content: '\2713'; position: absolute; left: 0; top: .05rem; color: var(--incassaora-accent); font-weight: 800; }
.incassaora-checklist--dark li { color: rgba(243, 244, 248, .8); }
.incassaora-checklist--cards { gap: .7rem; }
.incassaora-checklist--cards li { background: #fff; border: 1px solid var(--incassaora-border); border-radius: 12px; padding: .9rem 1rem .9rem 2.6rem; }
.incassaora-checklist--cards li::before { left: 1rem; top: .95rem; }
.incassaora-checklist--neg li::before { content: '\2013'; color: var(--incassaora-accent); }

/* ----- Link --------------------------------------------------------- */
.incassaora-link { display: inline-flex; align-items: center; gap: .3rem; margin-top: 1rem; font-weight: 700; font-size: .9rem; color: var(--incassaora-accent); text-decoration: none; }
.incassaora-link:hover { text-decoration: underline; }

/* ----- Trust bar ---------------------------------------------------- */
.incassaora-trust__item { text-align: center; display: flex; flex-direction: column; align-items: center; gap: .6rem; }
.incassaora-trust__label { font-family: 'Manrope', sans-serif; font-weight: 700; margin: 0; }

/* ----- Pain section ------------------------------------------------- */
/* Niente margini negativi orizzontali: dentro le colonne Fusion il blocco ha
   padding 0, quindi un margine negativo causerebbe overflow su mobile. */
.incassaora-pain { background-size: cover; background-position: center; border-radius: var(--incassaora-radius); margin: -64px 0; padding: 56px clamp(20px, 4vw, 48px); }
.incassaora-pain__cards { margin-top: 2.5rem; }
.incassaora-glass { background: rgba(255, 255, 255, .1); border: 1px solid rgba(255, 255, 255, .15); border-radius: var(--incassaora-radius); padding: 1.4rem; backdrop-filter: blur(8px); }
.incassaora-glass .incassaora-ic { background: rgba(var(--incassaora-accent-rgb), .25); }

/* ----- Stats -------------------------------------------------------- */
.incassaora-stats { text-align: center; }
.incassaora-stat__value { font-family: 'Manrope', sans-serif; font-size: 2.2rem; font-weight: 800; color: var(--incassaora-accent); display: block; }
.incassaora-stats-inline { display: flex; gap: 2.5rem; margin-top: 1.6rem; }
.incassaora-stats-inline .incassaora-stat__value { font-size: 1.8rem; }
.incassaora-chip-dark { display: inline-flex; flex-direction: column; gap: .2rem; margin-top: 1.6rem; padding: 1rem 1.4rem; border-radius: 14px; background: rgba(255, 255, 255, .08); }

/* ----- Steps / timeline -------------------------------------------- */
.incassaora-steps { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1.4rem; margin-top: 2.5rem; }
.incassaora-step { background: #fff; border: 1px solid var(--incassaora-border); border-radius: var(--incassaora-radius); padding: 1.6rem; }
.incassaora-step__num { font-family: 'Manrope', sans-serif; font-size: 2.4rem; font-weight: 800; color: rgba(var(--incassaora-accent-rgb), .25); display: block; line-height: 1; }
.incassaora-timeline { display: grid; gap: 1.1rem; margin-top: 2.5rem; max-width: 820px; margin-left: auto; margin-right: auto; }
.incassaora-tl__item { display: flex; gap: 1.2rem; align-items: flex-start; background: #fff; border: 1px solid var(--incassaora-border); border-radius: var(--incassaora-radius); padding: 1.4rem 1.6rem; }
.incassaora-tl__item .incassaora-step__num { font-size: 1.8rem; min-width: 2.4rem; }
.incassaora-timeline--sm .incassaora-tl__item { padding: 1rem 1.2rem; }
.incassaora-timechip { display: inline-flex; align-items: center; gap: .35rem; padding: .25rem .7rem; border-radius: 999px; background: #f1f0ec; color: var(--incassaora-muted); font-size: .75rem; font-weight: 600; margin: .3rem 0; }
.incassaora-numdot { width: 48px; height: 48px; border-radius: 50%; background: var(--incassaora-accent); color: #fff; font-family: 'Manrope', sans-serif; font-weight: 800; font-size: 1.2rem; display: flex; align-items: center; justify-content: center; margin: 0 auto 1rem; }

/* ----- Step numerati (Reverse "Come funziona") ---------------------- */
.incassaora-numsteps { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.5rem; margin-top: 1rem; }
.incassaora-numstep { background: #fff; border: 1px solid var(--incassaora-border); border-radius: 18px; padding: 2rem 1.5rem; text-align: center; box-shadow: 0 1px 2px rgba(26, 31, 51, .06); }
.incassaora-numstep h3.incassaora-numstep__title { font-family: 'Manrope', sans-serif; font-size: 1.15rem; font-weight: 700; line-height: 1.35; color: #1a1f33; margin: 0 0 .5rem; }
.incassaora-numstep__badge { display: inline-flex; align-items: center; gap: .3rem; background: rgba(var(--incassaora-accent-rgb), .1); color: var(--incassaora-accent); font-weight: 600; font-size: .76rem; padding: .22rem .7rem; border-radius: 999px; }
.incassaora-numstep__badge .incassaora-ic { font-size: .95rem; }
.incassaora-numstep__desc { margin: .8rem 0 0; color: var(--incassaora-muted); font-size: .92rem; line-height: 1.6; }
/* Numero colonne desktop (classi modificatore al posto dello stile inline). */
.incassaora-numsteps--cols-1 { grid-template-columns: 1fr; }
.incassaora-numsteps--cols-2 { grid-template-columns: repeat(2, 1fr); }
.incassaora-numsteps--cols-3 { grid-template-columns: repeat(3, 1fr); }
.incassaora-numsteps--cols-4 { grid-template-columns: repeat(4, 1fr); }
@media (max-width: 980px) { .incassaora-numsteps { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { .incassaora-numsteps { grid-template-columns: 1fr; } }

/* ----- Split layout ------------------------------------------------- */
.incassaora-split { display: grid; grid-template-columns: 1fr 1fr; gap: 3rem; align-items: center; }
.incassaora-split--2-1 { grid-template-columns: 2fr 1fr; align-items: start; }
.incassaora-split--2-3 { grid-template-columns: 2fr 3fr; align-items: start; }
.incassaora-media-box { border-radius: 20px; overflow: hidden; aspect-ratio: 4 / 3; }
.incassaora-cover { width: 100%; height: 100%; object-fit: cover; display: block; }

/* ----- Misc blocchi ------------------------------------------------- */
.incassaora-inline-checks { display: flex; flex-wrap: wrap; justify-content: center; gap: .4rem 1rem; color: var(--incassaora-muted); font-size: .9rem; margin: 1.2rem 0; }
.incassaora-notebox { max-width: 36rem; margin: 1.4rem auto; padding: 1rem 1.2rem; border: 1px solid rgba(255, 255, 255, .2); background: rgba(255, 255, 255, .06); border-radius: 14px; }
.incassaora-notebox p { margin: 0; color: rgba(243, 244, 248, .85); font-size: .92rem; line-height: 1.5; }
.incassaora-notebox strong { color: #fff; }
.incassaora-notebox .incassaora-ic { color: var(--incassaora-accent); }
.incassaora-infonote { display: flex; gap: .55rem; align-items: flex-start; justify-content: center; max-width: 42rem; margin: 1.6rem auto 0; padding: 1rem 1.3rem; border: 1px solid rgba(var(--incassaora-accent-rgb), .2); border-radius: 14px; color: var(--incassaora-primary); font-size: .95rem; line-height: 1.55; }
.incassaora-infonote__ic { flex: 0 0 auto; width: auto; height: auto; background: none; font-size: 1.15rem; margin-top: .05rem; }
.incassaora-infonote a { color: var(--incassaora-accent); font-weight: 600; }
.incassaora-banner { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1.2rem; background: #f1f0ec; border-radius: 20px; padding: 1.8rem 2rem; }
.incassaora-banner__text { flex: 1 1 60%; min-width: 240px; }
.incassaora-banner__title { font-family: 'Manrope', sans-serif; font-weight: 800; font-size: 1.2rem; color: var(--incassaora-primary); margin: 0; line-height: 1.3; }
.incassaora-banner .incassaora-banner__desc { color: var(--incassaora-muted); font-size: .95rem; margin: .35rem 0 0; }
.incassaora-banner__cta { flex: 0 0 auto; }
.incassaora-banner__cta .fusion-button-wrapper { margin: 0; }
.incassaora-feature-list { display: grid; gap: 1.2rem; margin: 1.6rem 0; }
.incassaora-feature-list > div { display: flex; gap: 1rem; align-items: flex-start; }
.incassaora-feature-list .incassaora-ic { flex: 0 0 auto; }
.incassaora-metric-box { text-align: center; background: rgba(var(--incassaora-accent-rgb), .06); border: 1px solid rgba(var(--incassaora-accent-rgb), .2); border-radius: var(--incassaora-radius); padding: 1.6rem; margin-top: 1.6rem; }
.incassaora-contact-cards { display: grid; gap: 1.2rem; }
/* margin-bottom necessario: su mobile la colonna (roadmap + citazione) si
   impila sopra il form e senza spazio inferiore la card resta attaccata al
   form. Su desktop la citazione è l'ultimo elemento della colonna, quindi il
   margine inferiore è innocuo. */
.incassaora-quote { margin: 2.5rem 0; background: #f1f0ec; border-radius: 20px; padding: 1.6rem; }
.incassaora-quote p { font-style: italic; color: var(--incassaora-primary); }
.incassaora-quote__author { display: flex; align-items: center; gap: .8rem; margin-top: 1rem; }
.incassaora-avatar { width: 44px; height: 44px; border-radius: 50%; object-fit: cover; }
.incassaora-why { margin-top: 2rem; }
.incassaora-why__item .incassaora-ic { background: rgba(var(--incassaora-accent-rgb), .15); }

/* ----- Accordion / Toggle (fallback nativo) ------------------------ */
.incassaora-accordion { max-width: 820px; margin: 1.5rem auto 0; }
.incassaora-toggle { border: 1px solid var(--incassaora-border); border-radius: 12px; background: #fff; margin-bottom: .7rem; overflow: hidden; }
.incassaora-toggle > summary { cursor: pointer; list-style: none; padding: 1.1rem 1.3rem; font-family: 'Manrope', sans-serif; font-weight: 700; color: var(--incassaora-primary); display: flex; justify-content: space-between; align-items: center; }
.incassaora-toggle > summary::-webkit-details-marker { display: none; }
.incassaora-toggle > summary::after { content: '\002B'; color: var(--incassaora-accent); font-size: 1.3rem; font-weight: 700; }
.incassaora-toggle[open] > summary::after { content: '\2212'; }
.incassaora-toggle > summary:hover { color: var(--incassaora-accent); }
.incassaora-toggle__body { padding: 0 1.3rem 1.2rem; color: #43485c; font-size: .95rem; line-height: 1.65; }

/* ----- Tabella comparativa ----------------------------------------- */
.incassaora-compare-wrap { max-width: 880px; margin: 1.5rem auto 0; overflow-x: auto; }
.incassaora-compare { width: 100%; border-collapse: collapse; background: #fff; }
.incassaora-compare th, .incassaora-compare td { padding: 1rem 1.1rem; text-align: left; border-bottom: 1px solid var(--incassaora-border); font-size: .92rem; }
.incassaora-compare thead th { font-family: 'Manrope', sans-serif; color: var(--incassaora-muted); font-weight: 700; }
.incassaora-compare thead th:last-child { color: var(--incassaora-accent); }
.incassaora-compare__crit { font-weight: 600; }
.incassaora-compare__bank { color: var(--incassaora-muted); }
.incassaora-compare__io { font-weight: 700; color: var(--incassaora-primary); background: rgba(var(--incassaora-accent-rgb), .05); }
.incassaora-compare__io::before { content: '\2713'; color: #16a34a; font-weight: 800; display: inline-block; margin-right: .45rem; }
.incassaora-compare__bank::before { content: '\2717'; color: #b32d2e; font-weight: 800; display: inline-block; margin-right: .45rem; }

/* ----- CTA ---------------------------------------------------------- */
.incassaora-cta { text-align: center; max-width: 700px; margin: 0 auto; }
.incassaora-cta__title { font-family: 'Manrope', sans-serif; font-size: clamp(1.8rem, 4vw, 2.4rem); font-weight: 700; color: #fff; margin: 0 0 1rem; }
.incassaora-cta__sub { color: rgba(243, 244, 248, .75); font-size: 1.05rem; margin: 0 0 1.8rem; }
.incassaora-cta__buttons { display: flex; flex-wrap: wrap; gap: .9rem; justify-content: center; }

/* ----- Separatore --------------------------------------------------- */
.incassaora-sep { border: 0; border-top: 1px solid var(--incassaora-border); margin: 0; }

/* =====================================================================
   Calcolatore
   ===================================================================== */
.incassaora-calc { display: grid; grid-template-columns: 1fr 1fr; gap: 2rem; max-width: 980px; margin: 0 auto; font-family: 'Inter', sans-serif; }
.incassaora-calc__inputs, .incassaora-calc__output { background: #fff; border: 1px solid var(--incassaora-border); border-radius: 20px; padding: 2rem; }
.incassaora-calc__output { display: flex; flex-direction: column; gap: 1.3rem; }
.incassaora-calc__field { margin-bottom: 1.6rem; }
.incassaora-calc__label { display: block; font-size: .9rem; font-weight: 500; color: var(--incassaora-muted); margin-bottom: .4rem; }
.incassaora-calc__value { font-family: 'Manrope', sans-serif; font-size: 2.2rem; font-weight: 800; color: var(--incassaora-primary); }
.incassaora-calc__range { width: 100%; margin-top: .8rem; accent-color: var(--incassaora-accent); }
.incassaora-calc__range-bounds { display: flex; justify-content: space-between; font-size: .75rem; color: var(--incassaora-muted); margin-top: .3rem; }
.incassaora-calc__btns { display: flex; gap: .5rem; }
.incassaora-calc__btn, .incassaora-calc__rating { flex: 1; border: 0; cursor: pointer; border-radius: 10px; padding: .7rem .3rem; background: #f1f0ec; color: var(--incassaora-muted); font-family: 'Inter', sans-serif; font-weight: 600; font-size: .9rem; transition: background .15s ease, color .15s ease; }
.incassaora-calc__rating { display: flex; flex-direction: column; align-items: center; line-height: 1.1; padding: .6rem .2rem; }
.incassaora-calc__rating span { font-size: 1.1rem; font-weight: 800; }
.incassaora-calc__rating small { font-size: .62rem; opacity: .75; }
.incassaora-calc__btn:hover, .incassaora-calc__rating:hover { background: #e8e7e2; }
.incassaora-calc__btn.is-active, .incassaora-calc__rating.is-active { background: var(--incassaora-accent); color: #fff; }
.incassaora-calc__hint { font-size: .76rem; color: var(--incassaora-muted); margin: 1.1rem 0 0; line-height: 1.5; }
.incassaora-calc__label--info { display: flex; align-items: center; gap: .4rem; }
.incassaora-calc__info { position: relative; display: inline-flex; cursor: help; color: rgba(107, 114, 128, .7); }
.incassaora-calc__info .incassaora-ic { font-size: 1rem; width: auto; height: auto; background: none; color: inherit; }
.incassaora-calc__info:hover, .incassaora-calc__info:focus { color: var(--incassaora-muted); outline: none; }
.incassaora-calc__tip { position: absolute; left: 0; bottom: calc(100% + 8px); z-index: 20; width: 280px; max-width: 78vw; background: #1a1f33; color: #fff; border-radius: 12px; padding: .8rem .9rem; box-shadow: 0 18px 40px rgba(26, 31, 51, .28); opacity: 0; visibility: hidden; transform: translateY(4px); transition: opacity .15s, transform .15s; font-weight: 400; }
.incassaora-calc__info:hover .incassaora-calc__tip, .incassaora-calc__info:focus .incassaora-calc__tip { opacity: 1; visibility: visible; transform: translateY(0); }
.incassaora-calc__tip strong { display: block; font-size: .82rem; margin-bottom: .35rem; }
.incassaora-calc__tip-lead { display: block; font-size: .72rem; opacity: .8; margin-bottom: .5rem; line-height: 1.5; }
.incassaora-calc__tip-row { display: block; font-size: .72rem; line-height: 1.45; margin-bottom: .25rem; }
.incassaora-calc__tip-row b { font-weight: 700; }
.incassaora-calc__note { font-size: .72rem; color: var(--incassaora-muted); text-align: right; margin: -.4rem 0 .2rem; }
.incassaora-calc__row { display: flex; justify-content: space-between; align-items: center; padding: .5rem 0; font-size: .95rem; }
.incassaora-calc__row strong { font-family: 'Manrope', sans-serif; }
.incassaora-calc__row--muted { color: var(--incassaora-muted); }
.incassaora-calc__row--total { border-top: 1px solid var(--incassaora-border); margin-top: .5rem; padding-top: 1rem; font-weight: 600; }
.incassaora-calc__row--total strong { font-size: 1.6rem; color: var(--incassaora-accent); }
.incassaora-calc__warn { background: #f7f6f2; border: 1px solid var(--incassaora-border); border-radius: 10px; padding: .7rem .9rem; font-size: .8rem; color: var(--incassaora-muted); margin-top: .6rem; }
.incassaora-calc__warn:not([hidden])::before { content: "\26A0"; margin-right: .4rem; color: #d4a017; }
.incassaora-calc__noteligible { text-align: center; padding: 1.6rem; background: #f7f6f2; border-radius: 14px; }
.incassaora-calc__noteligible .incassaora-ic { margin: 0 auto .5rem; background: none; color: var(--incassaora-muted); }
.incassaora-calc__ne-title { font-family: 'Manrope', sans-serif; font-weight: 700; margin: 0 0 .4rem; }
.incassaora-calc__ne-text { font-size: .9rem; color: var(--incassaora-muted); margin: 0; }
.incassaora-calc__cta { margin-top: auto; width: 100%; }
.incassaora-calc__disclaimer { font-size: .72rem; color: var(--incassaora-muted); text-align: center; margin: 0; }

/* =====================================================================
   Form
   ===================================================================== */
.incassaora-formwrap { background: #fff; border: 1px solid var(--incassaora-border); border-radius: 20px; padding: 2rem; font-family: 'Inter', sans-serif; max-width: 640px; }
.incassaora-form__title { font-family: 'Manrope', sans-serif; font-size: 1.3rem; font-weight: 700; margin: 0 0 1.4rem; color: var(--incassaora-primary); }
.incassaora-form__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.incassaora-form__field { margin-bottom: 1rem; }
.incassaora-form__field label { display: block; font-size: .85rem; font-weight: 600; color: var(--incassaora-primary); margin-bottom: .35rem; }
.incassaora-form__field input, .incassaora-form__field select, .incassaora-form__field textarea {
	width: 100%;
	padding: .7rem .9rem;
	border: 1px solid var(--incassaora-border);
	border-radius: 10px;
	font-family: 'Inter', sans-serif;
	font-size: .95rem;
	color: var(--incassaora-primary);
	background: #fff;
}
.incassaora-form__field input:focus, .incassaora-form__field select:focus, .incassaora-form__field textarea:focus { outline: none; border-color: var(--incassaora-accent); box-shadow: 0 0 0 3px rgba(var(--incassaora-accent-rgb), .15); }
.incassaora-form__field textarea { resize: vertical; }
.incassaora-form__field.incassaora-has-error input, .incassaora-form__field.incassaora-has-error select, .incassaora-form__field.incassaora-has-error textarea { border-color: #b32d2e; }
.incassaora-form__legend { font-family: 'Manrope', sans-serif; font-size: .8rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: var(--incassaora-accent); margin: 1.4rem 0 .8rem; }
.incassaora-req { color: var(--incassaora-accent); }
.incassaora-form__privacy { display: flex; gap: .6rem; align-items: flex-start; font-size: .82rem; color: var(--incassaora-muted); margin: .6rem 0 1.2rem; }
.incassaora-form__privacy input { margin-top: .15rem; }
.incassaora-form__privacy a { color: var(--incassaora-accent); }
.incassaora-form__submit { width: 100%; }
.incassaora-form__note { font-size: .78rem; color: var(--incassaora-muted); text-align: center; margin: 1.2rem 0 0; }
.incassaora-formwrap p.incassaora-form__note { margin-top: 1.2rem; }
.incassaora-form__feedback { margin-top: 1rem; padding: .9rem 1.1rem; border-radius: 10px; font-size: .9rem; }
.incassaora-form__feedback.is-success { background: #e7f7ec; color: #138a36; border: 1px solid #b6e6c5; }
.incassaora-form__feedback.is-error { background: #fdecec; color: #b32d2e; border: 1px solid #f3c0c0; }
.incassaora-form__badges { display: flex; gap: 1.5rem; justify-content: center; margin-top: 1.2rem; font-size: .78rem; color: var(--incassaora-muted); }
.incassaora-form__badges span { display: inline-flex; align-items: center; gap: .35rem; }
.incassaora-form__badges .incassaora-ic { width: auto; height: auto; background: none; font-size: 1rem; color: var(--incassaora-muted); }
.incassaora-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

/* =====================================================================
   Storie clienti / testimonial
   ===================================================================== */
.incassaora-stories { max-width: 1100px; margin: 0 auto; font-family: 'Inter', sans-serif; }
.incassaora-stories__tabs { display: flex; flex-wrap: wrap; gap: .5rem; margin-bottom: 1.6rem; }
.incassaora-stories__tab { border: 0; cursor: pointer; border-radius: 999px; padding: .55rem 1.1rem; background: #f1f0ec; color: var(--incassaora-muted); font-weight: 600; font-size: .78rem; transition: background .15s ease, color .15s ease; }
.incassaora-stories__tab.is-active { background: var(--incassaora-accent); color: #fff; }
.incassaora-stories__panel { display: grid; grid-template-columns: 1fr 1fr; overflow: hidden; border: 1px solid var(--incassaora-border); border-radius: 24px; background: #fff; }
.incassaora-stories__panel[hidden] { display: none; }
.incassaora-stories__media { min-height: 320px; }
.incassaora-stories__media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.incassaora-stories__body { padding: 2.4rem; display: flex; flex-direction: column; justify-content: center; }
.incassaora-stories__metric { display: flex; align-items: baseline; gap: .8rem; margin-bottom: 1.2rem; }
.incassaora-stories__metric .incassaora-stat__value { font-size: 2.6rem; }
.incassaora-stories blockquote { font-family: 'Manrope', sans-serif; font-size: 1.2rem; line-height: 1.5; color: var(--incassaora-primary); margin: 0 0 1.4rem; }
.incassaora-stories__author { font-size: .9rem; margin: 0; }
.incassaora-stories__disclaimer { text-align: center; font-size: .76rem; color: var(--incassaora-muted); margin-top: 1.2rem; }

/* =====================================================================
   Responsive
   ===================================================================== */
@media (max-width: 900px) {
	.incassaora-hero,
	.incassaora-split,
	.incassaora-split--2-1,
	.incassaora-split--2-3,
	.incassaora-calc,
	.incassaora-stories__panel { grid-template-columns: 1fr; }
	.incassaora-grid--4 { grid-template-columns: repeat(2, 1fr); }
	.incassaora-grid--3 { grid-template-columns: 1fr; }
	.incassaora-steps { grid-template-columns: 1fr; }
	/* Come nell'originale React: card e chip flottanti sono decorazioni
	   solo desktop (hidden md:block). Su mobile si nascondono entrambe (il
	   90% è già nel testo dell'hero), evitando il box staccato sotto la foto. */
	.incassaora-hero__chip,
	.incassaora-hero__card { display: none; }
	.incassaora-split--media-left .incassaora-media-box { order: 2; }
}
@media (max-width: 560px) {
	.incassaora-block { padding: 44px 18px; }
	.incassaora-grid--4,
	.incassaora-grid--2,
	.incassaora-form__grid { grid-template-columns: 1fr; }
	.incassaora-hero__bullets { grid-template-columns: 1fr; }
	.incassaora-stats { text-align: center; }
}

/* =====================================================================
   Stili per elementi nativi Fusion + relativi fallback
   (eyebrow, content boxes, counters, checklist, imageframe)
   Questi affinano la resa anche quando Avada è attivo.
   ===================================================================== */

/* Eyebrow (sopra-titolo) */
.incassaora-eyebrow,
.fusion-title.incassaora-eyebrow .title-heading-left,
.fusion-title.incassaora-eyebrow .title-heading-center {
	text-transform: uppercase;
	letter-spacing: .14em;
	font-size: .8rem !important;
	font-weight: 700;
	color: var(--incassaora-accent);
}

/* Più aria tra l'eyebrow e i box/card che lo seguono direttamente
   (es. trust bar "Perché le imprese italiane scelgono IncassaOra"): lì
   l'eyebrow fa da titolo di sezione e l'inline margin_bottom=6px del
   fusion_title risulta troppo stretto rispetto all'originale. */
.fusion-title.incassaora-eyebrow + .fusion-content-boxes,
.incassaora-eyebrow + .fusion-content-boxes {
	margin-top: 2rem !important;
}
@media (max-width: 900px) {
	.fusion-title.incassaora-eyebrow + .fusion-content-boxes,
	.incassaora-eyebrow + .fusion-content-boxes {
		margin-top: 1.25rem !important;
	}
}

/* Titolo fallback */
.incassaora-h {
	font-family: 'Manrope', sans-serif;
	font-weight: 800;
	line-height: 1.12;
	margin: 0 0 .5em;
}

/* Imageframe fallback */
.incassaora-imageframe { display: block; }
.incassaora-imageframe img {
	max-width: 100%;
	height: auto;
	display: inline-block;
	box-shadow: 0 24px 60px rgba(26, 31, 51, .12);
}

/* Content boxes (griglia di card) fallback */
.incassaora-cbgrid {
	display: grid;
	gap: 24px;
	margin: 8px 0;
}
.incassaora-cbgrid--2 { grid-template-columns: repeat(2, 1fr); }
.incassaora-cbgrid--3 { grid-template-columns: repeat(3, 1fr); }
.incassaora-cbgrid--4 { grid-template-columns: repeat(4, 1fr); }
.incassaora-cb {
	border: 1px solid var(--incassaora-border);
	background: #fff;
	border-radius: var(--incassaora-radius);
	padding: 26px 22px;
	box-shadow: 0 1px 2px rgba(26, 31, 51, .04);
}
.incassaora-cb__title {
	font-family: 'Manrope', sans-serif;
	font-size: 1.1rem;
	font-weight: 700;
	margin: 0 0 .5em;
	color: var(--incassaora-primary);
}
.incassaora-cb__body { font-size: .95rem; color: var(--incassaora-muted); }
.incassaora-cb__body p { margin: 0; }
.incassaora-cb__link {
	display: inline-block;
	margin-top: 14px;
	font-weight: 600;
	font-size: .9rem;
	color: var(--incassaora-accent);
	text-decoration: none;
}
.incassaora-cb__link:hover { text-decoration: underline; }

/* Counters / statistiche fallback */
.incassaora-counters {
	display: flex;
	flex-wrap: wrap;
	gap: 24px;
	justify-content: center;
}
.incassaora-counters .incassaora-stat {
	flex: 1 1 160px;
	text-align: center;
}
.incassaora-stat__value {
	display: block;
	font-family: 'Manrope', sans-serif;
	font-size: clamp(1.9rem, 4vw, 2.6rem);
	font-weight: 800;
	color: var(--incassaora-accent);
	line-height: 1;
}
.incassaora-stat__label {
	display: block;
	margin-top: .4em;
	font-size: .85rem;
	color: var(--incassaora-muted);
}

/* Checklist fallback */
.incassaora-checklist {
	list-style: none;
	margin: 14px 0;
	padding: 0;
}
.incassaora-checklist__item {
	position: relative;
	padding-left: 30px;
	margin-bottom: 12px;
	color: var(--incassaora-primary);
	line-height: 1.5;
}
.incassaora-checklist__item::before {
	content: "";
	position: absolute;
	left: 0;
	top: .25em;
	width: 18px;
	height: 18px;
	border-radius: 50%;
	background: rgba(var(--incassaora-accent-rgb), .12);
	box-shadow: inset 0 0 0 2px var(--incassaora-accent);
}
.incassaora-checklist__item::after {
	content: "";
	position: absolute;
	left: 6px;
	top: .55em;
	width: 5px;
	height: 9px;
	border: solid var(--incassaora-accent);
	border-width: 0 2px 2px 0;
	transform: rotate(45deg);
}

@media (max-width: 980px) {
	.incassaora-cbgrid--3,
	.incassaora-cbgrid--4 { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 560px) {
	.incassaora-cbgrid--2,
	.incassaora-cbgrid--3,
	.incassaora-cbgrid--4 { grid-template-columns: 1fr; }
}

/* =====================================================================
   Blocchi custom aggiuntivi (mockup, tabs, timeline, card informative…)
   ===================================================================== */

/* Figure immagine (img diretto) */
.incassaora-figure { margin: 0; display: flex; align-items: flex-start; }
.incassaora-figure img { max-width: 100%; height: auto; display: block; box-shadow: 0 24px 60px rgba(26,31,51,.12); }

/* Icon box (Material Symbols dentro riquadro) */
.incassaora-iconbox {
	font-family: 'Material Symbols Outlined';
	font-weight: normal;
	font-style: normal;
	line-height: 1;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	border-radius: 14px;
	background: var(--incassaora-accent);
	color: #fff;
	font-size: 1.6rem;
	flex: 0 0 auto;
	-webkit-font-feature-settings: 'liga';
	font-feature-settings: 'liga';
}
.incassaora-iconbox--soft { background: rgba(var(--incassaora-accent-rgb), .1); color: var(--incassaora-accent); }

/* Mockup (step home) */
.incassaora-mockup { display: grid; gap: .55rem; }
.incassaora-mockup--accent { border-color: rgba(var(--incassaora-accent-rgb), .35); box-shadow: 0 18px 40px rgba(var(--incassaora-accent-rgb), .12); }
.incassaora-mockup__head { display: flex; align-items: center; justify-content: space-between; gap: .6rem; font-weight: 700; font-family: 'Manrope', sans-serif; margin-bottom: .4rem; }
.incassaora-mockup__row { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .45rem 0; border-bottom: 1px dashed var(--incassaora-border); font-size: .95rem; color: #43485c; }
.incassaora-mockup__row:last-child { border-bottom: 0; }
.incassaora-mockup__row--total { border-bottom: 0; border-top: 1px solid var(--incassaora-border); margin-top: .3rem; padding-top: .8rem; }
.incassaora-mockup__row--total strong { color: var(--incassaora-accent); font-size: 1.25rem; }
.incassaora-mockup__score { display: flex; align-items: baseline; gap: .7rem; margin: .4rem 0 .8rem; }
.incassaora-mockup__steps { display: flex; flex-wrap: wrap; gap: .8rem; margin-top: .8rem; font-size: .72rem; color: var(--incassaora-accent); font-weight: 700; }
.incassaora-tag--ok { background: #e7f7ec; color: #138a36; }
.incassaora-ok { color: #138a36; font-weight: 800; }

/* Step copy (home) */
.incassaora-stepcopy { padding: .4rem 0; }

/* Stat pair / box */
.incassaora-statpair { display: flex; gap: 2.4rem; margin-top: 1.6rem; flex-wrap: wrap; }
.incassaora-statpair__num { font-family: 'Manrope', sans-serif; font-size: 1.9rem; font-weight: 800; color: var(--incassaora-accent); }
.incassaora-statbox { display: inline-block; margin-top: 1.6rem; padding: 1rem 1.4rem; border-radius: 14px; background: rgba(255, 255, 255, .08); }

/* Feature list (icona + titolo + desc) */
.incassaora-featlist { display: grid; gap: 1.1rem; margin: 1.4rem 0; }
.incassaora-featlist__row { display: flex; gap: .9rem; align-items: flex-start; }
.incassaora-featlist__row .incassaora-ic { margin-top: .1rem; }

/* Riga pulsanti */
.incassaora-btnrow { display: flex; flex-wrap: wrap; gap: .8rem; margin: 1.4rem 0 0; }
.incassaora-btnrow--center { justify-content: center; }
.incassaora-pills--center { justify-content: center; }

/* Timeline (come funziona) */
.incassaora-timeline { position: relative; display: grid; gap: 1.1rem; margin: 2.5rem auto 0; max-width: 820px; }
.incassaora-timeline::before { content: ''; position: absolute; left: 2.95rem; top: 1.7rem; bottom: 1.7rem; border-left: 2px dashed rgba(var(--incassaora-accent-rgb), .3); z-index: 0; }
.incassaora-timeline__item { position: relative; z-index: 1; background: #fff; border: 1px solid var(--incassaora-border); border-radius: var(--incassaora-radius); padding: 1.6rem 1.7rem 1.6rem 5.9rem; box-shadow: 0 1px 3px rgba(26,31,51,.06); border-left-width: 1px; transition: border-color .2s ease, box-shadow .2s ease; }
.incassaora-timeline__item:hover { border-color: var(--incassaora-border); border-left: 3px solid var(--incassaora-accent); box-shadow: 0 8px 24px rgba(26,31,51,.08); padding-left: calc(5.9rem - 2px); }
.incassaora-timeline__item .incassaora-iconbox { position: absolute; left: 1.5rem; top: 1.6rem; width: 48px; height: 48px; border-radius: 14px; background: rgba(var(--incassaora-accent-rgb), .1); color: var(--incassaora-accent); }
.incassaora-timeline__body { flex: 1; }
.incassaora-timeline__head { display: flex; align-items: center; gap: .7rem; flex-wrap: wrap; }
.incassaora-timeline h3.incassaora-timeline__title { margin: 0; font-size: 1.15rem; font-weight: 800; line-height: 1.35; color: var(--incassaora-primary); }
.incassaora-timeline__head .incassaora-step__num { font-size: .9rem; font-weight: 800; line-height: 1.2; color: var(--incassaora-accent); display: inline; }
.incassaora-timeline .incassaora-checklist { margin-top: .7rem; }
@media (max-width: 640px) {
	.incassaora-timeline::before { display: none; }
	.incassaora-timeline__item { padding: 1.4rem 1.4rem; }
	.incassaora-timeline__item:hover { padding-left: calc(1.4rem - 2px); }
	.incassaora-timeline__item .incassaora-iconbox { position: static; margin-bottom: .9rem; }
}
.incassaora-contactcard__value { color: var(--incassaora-accent); font-weight: 700; font-size: 1.15rem; margin: .35rem 0 .2rem; }
.incassaora-contactcard__cta { display: inline-flex; align-items: center; gap: .25rem; margin-top: .7rem; font-size: .9rem; font-weight: 600; color: var(--incassaora-accent); text-decoration: none; }
.incassaora-contactcard__cta:hover { text-decoration: underline; }
.incassaora-contactcard__cta .incassaora-ic { width: auto; height: auto; background: none; color: inherit; font-size: 1rem; }
.incassaora-timebadge { display: inline-flex; align-items: center; gap: .35rem; padding: .25rem .7rem; border-radius: 999px; background: #f1f0ec; color: var(--incassaora-muted); font-size: .75rem; font-weight: 600; margin: .5rem 0; }
.incassaora-timebadge .incassaora-ic { width: auto; height: auto; background: none; font-size: .9rem; color: var(--incassaora-muted); }
.incassaora-checklist--sm { margin-top: .6rem; gap: .35rem; }
.incassaora-checklist--sm li { font-size: .88rem; }

/* Icon list (tempistiche) */
.incassaora-iconlist { gap: 1rem; }
.incassaora-iconlist__row { display: flex; gap: 1rem; align-items: flex-start; background: #fff; border: 1px solid var(--incassaora-border); border-radius: 14px; padding: 1.1rem 1.2rem; }
.incassaora-iconlist__row .incassaora-iconbox { width: 42px; height: 42px; font-size: 1.4rem; }

/* Card checklist (criteri) */
.incassaora-cardchecks { list-style: none; padding: 0; margin: 0; display: grid; gap: .7rem; }
.incassaora-cardchecks li { display: flex; align-items: flex-start; gap: .6rem; background: #fff; border: 1px solid var(--incassaora-border); border-radius: 12px; padding: .9rem 1rem; font-size: .95rem; color: var(--incassaora-primary); }
.incassaora-cardchecks .incassaora-ic { width: auto; height: auto; background: none; font-size: 1.1rem; flex: 0 0 auto; }

/* Flex row + lista negativa (cosa non è) */
.incassaora-flexrow { display: flex; gap: 1rem; align-items: flex-start; }
.incassaora-xlist { list-style: none; padding: 0; margin: 1rem 0 0; display: grid; gap: .6rem; }
.incassaora-xlist li { position: relative; padding-left: 1.6rem; font-size: .92rem; color: var(--incassaora-muted); }
.incassaora-xlist li::before { content: '\2013'; position: absolute; left: 0; color: var(--incassaora-accent); font-weight: 800; }

/* Card informative (grid) */
.incassaora-infocards { display: grid; gap: 1.4rem; }
.incassaora-infocards--cols-1 { grid-template-columns: 1fr; }
.incassaora-infocards--cols-2 { grid-template-columns: repeat(2, 1fr); }
.incassaora-infocards--cols-3 { grid-template-columns: repeat(3, 1fr); }
.incassaora-infocards--cols-4 { grid-template-columns: repeat(4, 1fr); }
.incassaora-infocard { background: #fff; border: 1px solid var(--incassaora-border); border-radius: var(--incassaora-radius); padding: 1.7rem; box-shadow: 0 1px 2px rgba(26,31,51,.04); }
.incassaora-infocard .incassaora-iconbox { margin-bottom: .9rem; }
/* Variante centrata (usata dall'elemento Vantaggi a tab): icona + testo
   allineati al centro come nell'originale. L'iconbox è inline-flex, quindi
   basta centrare il testo del contenitore. */
.incassaora-infocard--center { text-align: center; }

/* Card dentro colonne native Avada: altezza uniforme per riga (flex stretch).
   La catena column-wrapper -> fusion-text -> block deve propagare height:100%
   (innocuo nelle colonne non-stretch: 100% di un'altezza auto resta auto). */
.fusion-builder-column .fusion-column-wrapper:has(.incassaora-infocard),
.fusion-builder-column .fusion-text:has(.incassaora-infocard),
.fusion-builder-column .incassaora-block:has(.incassaora-infocard) { height: 100%; }
.fusion-builder-column .incassaora-infocard { height: 100%; margin: 0; }
.fusion-builder-column .incassaora-infocard .incassaora-muted:last-child,
.fusion-builder-column .incassaora-infocard .incassaora-card__title:last-child { margin-bottom: 0; }

/* Featured (vantaggi primari) */
.incassaora-featured .incassaora-infocard,
.incassaora-infocard--feature { background: #fff0f5; border-left: 3px solid var(--incassaora-accent); transition: transform .15s ease, box-shadow .15s ease; }
.incassaora-featured .incassaora-infocard:hover,
.incassaora-infocard--feature:hover { transform: translateY(-3px); box-shadow: 0 12px 28px rgba(26,31,51,.1); }

/* Tabs */
.incassaora-tabs__nav { display: flex; flex-wrap: wrap; gap: .5rem; max-width: 32rem; margin: 0 auto 1.8rem; }
/* Vantaggi a due tab: etichette lunghe ("Sono un'Azienda Capo-Filiera"),
   serve una barra più larga per non spezzare il testo. */
.incassaora-vtabs .incassaora-tabs__nav { max-width: 44rem; }
.incassaora-tab { flex: 1; border: 0; cursor: pointer; border-radius: 999px; padding: .7rem 1rem; background: #f1f0ec; color: var(--incassaora-muted); font-family: 'Inter', sans-serif; font-weight: 600; font-size: .9rem; transition: background .15s ease, color .15s ease; }
.incassaora-tab.is-active { background: var(--incassaora-accent); color: #fff; }
.incassaora-tabpanel { display: none; }
.incassaora-tabpanel.is-active { display: block; }

/* Num steps (reverse / partner) */
.incassaora-numsteps { gap: 1.4rem; }
.incassaora-numstep { background: #fff; border: 1px solid var(--incassaora-border); border-radius: var(--incassaora-radius); padding: 1.8rem; text-align: center; }
.incassaora-numstep__circle { width: 48px; height: 48px; border-radius: 50%; background: var(--incassaora-accent); color: #fff; font-family: 'Manrope', sans-serif; font-weight: 800; font-size: 1.2rem; display: inline-flex; align-items: center; justify-content: center; margin-bottom: 1rem; }
.incassaora-numstep .incassaora-iconbox { margin: 0 auto 1rem; }
.incassaora-numstep .incassaora-badge { margin: .6rem auto; }

/* Info note */
.incassaora-infonote { max-width: 44rem; margin: 2rem auto 0; padding: 1.1rem 1.3rem; border: 1px solid rgba(var(--incassaora-accent-rgb), .2); background: rgba(var(--incassaora-accent-rgb), .05); border-radius: 14px; text-align: center; font-size: .92rem; color: var(--incassaora-primary); }
.incassaora-infonote a { color: var(--incassaora-accent); font-weight: 700; }

/* Metriche (reverse CTA) */
.incassaora-metricrow { display: flex; flex-wrap: wrap; gap: 1.4rem; justify-content: center; margin-bottom: 2.2rem; }
.incassaora-metric { flex: 1 1 160px; text-align: center; }
.incassaora-metric__v { display: block; font-family: 'Manrope', sans-serif; font-size: 2.4rem; font-weight: 800; color: var(--incassaora-accent); line-height: 1; }
.incassaora-metric__l { display: block; margin-top: .4rem; font-size: .85rem; color: rgba(243,244,248,.7); }

/* Mini tabella confronto (vantaggi) */
.incassaora-cmp { overflow-x: auto; border: 1px solid var(--incassaora-border); border-radius: var(--incassaora-radius); background: #fff; }
.incassaora-cmp table { width: 100%; border-collapse: collapse; }
.incassaora-cmp th, .incassaora-cmp td { padding: 1rem 1.4rem; text-align: center; border-bottom: 1px solid var(--incassaora-border); font-size: .92rem; }
.incassaora-cmp td:first-child, .incassaora-cmp th:first-child { text-align: left; font-weight: 600; }
.incassaora-cmp thead th { font-family: 'Manrope', sans-serif; color: var(--incassaora-muted); background: #f7f6f2; }
.incassaora-cmp__hl { color: var(--incassaora-accent) !important; }
.incassaora-cmp tbody tr:last-child td { border-bottom: 0; }
.incassaora-no { color: #b32d2e; }
.incassaora-yes { color: #16a34a; font-weight: 700; }

/* Chip badge (hero club / partner) */
.incassaora-chip-badge { display: inline-flex; align-items: center; gap: .45rem; align-self: flex-start; width: -moz-fit-content; width: fit-content; max-width: 100%; padding: .45rem 1rem; border-radius: 999px; background: rgba(var(--incassaora-accent-rgb), .1); color: var(--incassaora-accent); font-size: .85rem; font-weight: 600; margin-bottom: 1rem; }
/* Quando il chip è centrato (dentro un <div> con text-align:center) il
   wrapper è il flex-item: ripristiniamo l'auto-centratura del badge. */
[style*="text-align:center"] > .incassaora-chip-badge,
[style*="text-align: center"] > .incassaora-chip-badge { align-self: center; }
.incassaora-chip-dot { display: inline-block; width: 8px; height: 8px; border-radius: 50%; flex: 0 0 auto; }
.incassaora-chip-dot--green { background: #22c55e; box-shadow: 0 0 0 0 rgba(34, 197, 94, .5); animation: incassaora-chip-pulse 2s infinite; }
.incassaora-chip-dot--accent { background: var(--incassaora-accent); }
@keyframes incassaora-chip-pulse {
	0% { box-shadow: 0 0 0 0 rgba(34, 197, 94, .45); }
	70% { box-shadow: 0 0 0 6px rgba(34, 197, 94, 0); }
	100% { box-shadow: 0 0 0 0 rgba(34, 197, 94, 0); }
}
.fusion-checklist.incassaora-checklist-2col { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 1.6rem; }
@media (max-width: 640px) { .fusion-checklist.incassaora-checklist-2col { grid-template-columns: 1fr; } }
/* Il badge (inline-flex) va centrato nell'header hero: centra il blocco che lo contiene
   anche senza rigenerare le pagine. */
.incassaora-block:has(.incassaora-chip-badge) { text-align: center; }
.incassaora-chip-badge .incassaora-ic { width: auto; height: auto; background: none; font-size: 1.05rem; }

/* Roadmap (entra nel club) */
.incassaora-roadmap { position: relative; display: grid; gap: 1.8rem; padding-left: 2rem; }
.incassaora-roadmap::before { content: ''; position: absolute; left: .55rem; top: .4rem; bottom: .4rem; width: 1px; background: var(--incassaora-border); }
.incassaora-roadmap__item { position: relative; }
.incassaora-roadmap__dot { position: absolute; left: -2rem; top: .2rem; width: 1.2rem; height: 1.2rem; border-radius: 50%; background: #f1f0ec; border: 2px solid var(--incassaora-border); }
.incassaora-roadmap__item.is-first .incassaora-roadmap__dot { background: var(--incassaora-accent); border-color: var(--incassaora-accent); }

/* Quote text */
.incassaora-quote__text { font-style: italic; font-family: 'Manrope', sans-serif; color: var(--incassaora-primary); }
.incassaora-quote .incassaora-ic { background: none; color: rgba(var(--incassaora-accent-rgb), .4); margin-bottom: .3rem; }

/* Contact cards */
.incassaora-contactcards { display: grid; gap: 1.2rem; }
.incassaora-contactcard { background: #fff; border: 1px solid var(--incassaora-border); border-radius: var(--incassaora-radius); padding: 1.5rem; }
.incassaora-contactcard .incassaora-iconbox { margin-bottom: .8rem; }

/* Metric box (partner) */
.incassaora-metricbox { text-align: center; background: rgba(var(--incassaora-accent-rgb), .05); border: 1px solid rgba(var(--incassaora-accent-rgb), .2); border-radius: var(--incassaora-radius); padding: 1.8rem; margin-top: 1.8rem; }
.incassaora-metricbox__v { font-family: 'Manrope', sans-serif; font-size: 2.6rem; font-weight: 800; color: var(--incassaora-accent); margin: 0; }

@media (max-width: 900px) {
	.incassaora-numsteps,
	.incassaora-infocards { grid-template-columns: 1fr; }
	.incassaora-statpair { gap: 1.4rem; }
}

/* Come funziona (Home): step alternati testo + mockup.
   DOM sempre "testo poi immagine". Negli step --rev su DESKTOP invertiamo
   l'ordine dei due cell (immagine a sinistra) per l'effetto zig-zag; su
   mobile l'inversione viene annullata → testo sempre sopra l'immagine. */
.incassaora-howsteps { display: grid; gap: 4rem; margin-top: 2.5rem; }
.incassaora-howstep { display: grid; grid-template-columns: 1fr 1fr; gap: 2.2rem; align-items: center; }
.incassaora-howstep__cell { min-width: 0; }
.incassaora-howstep--rev .incassaora-howstep__text { order: 2; }
.incassaora-howstep--rev .incassaora-howstep__media { order: 1; }
@media (max-width: 900px) {
	.incassaora-howsteps { gap: 2.5rem; }
	.incassaora-howstep { grid-template-columns: 1fr; gap: 1.2rem; }
	/* Mobile: annulla l'inversione → testo (numero/titolo/descrizione) sopra,
	   immagine sotto, come lo step 01. */
	.incassaora-howstep--rev .incassaora-howstep__text,
	.incassaora-howstep--rev .incassaora-howstep__media { order: 0; }
}

/* Home "Come funziona": gli step alternati sono colonne Avada 1/2 e di
   default hanno solo ~20px di margine, troppo poco. Nell'originale React le
   righe hanno molta aria verticale ("space-y-16 lg:space-y-24") e i due
   elementi della riga sono centrati verticalmente ("items-center").
   Aumentiamo il margine inferiore delle sole colonne degli step e le
   centriamo nella riga (funziona anche senza rigenerare le pagine). */
.fusion-layout-column:has(.incassaora-stepcopy),
.fusion-layout-column:has(.incassaora-mockup),
.fusion-builder-column:has(.incassaora-stepcopy),
.fusion-builder-column:has(.incassaora-mockup) {
	--awb-margin-bottom: 5rem;
	--awb-margin-bottom-large: 5rem;
	--awb-margin-bottom-medium: 3rem;
	--awb-margin-bottom-small: 2.5rem;
	margin-bottom: 5rem !important;
	align-self: center;
}
@media (max-width: 900px) {
	.fusion-layout-column:has(.incassaora-stepcopy),
	.fusion-layout-column:has(.incassaora-mockup),
	.fusion-builder-column:has(.incassaora-stepcopy),
	.fusion-builder-column:has(.incassaora-mockup) {
		margin-bottom: 2.5rem !important;
	}
}

/* =====================================================================
   Spaziatura GENERALE tra colonne del plugin impilate su mobile
   ---------------------------------------------------------------------
   Su desktop le sezioni del plugin sono a 2-3 colonne affiancate; su mobile
   si impilano e di default le colonne Avada si toccano (la card/colonna
   successiva resta "attaccata" alla precedente). Diamo un margine inferiore
   a ogni colonna del plugin che NON è l'ultima della riga, così c'è sempre
   respiro tra una colonna e quella sotto.
   - Solo mobile (≤768px): il desktop resta invariato.
   - :has([class*="incassaora-"]) limita la regola alle sole colonne con
     contenuto del plugin (non tocca altre pagine Avada del sito).
   - Sono esclusi gli step "Come funziona" (stepcopy/mockup), che hanno già
     una loro spaziatura e un riordino dedicati qui sopra.
   ===================================================================== */
@media (max-width: 768px) {
	.fusion-layout-column:not(:last-child):has([class*="incassaora-"]):not(:has(.incassaora-stepcopy)):not(:has(.incassaora-mockup)),
	.fusion-builder-column:not(:last-child):has([class*="incassaora-"]):not(:has(.incassaora-stepcopy)):not(:has(.incassaora-mockup)) {
		margin-bottom: 2.5rem;
	}
}

/* Quando .incassaora-block è usato DENTRO una colonna Fusion non deve avere
   il padding/max-width pensati per le sezioni a tutta larghezza. */
.fusion-builder-column .incassaora-block,
.fusion-layout-column .incassaora-block,
.fusion_builder_column .incassaora-block,
.incassaora-fb-col .incassaora-block {
	max-width: none;
	margin: 0;
	padding: 0;
}

/* Rete di sicurezza mobile: nessun blocco custom deve sforare in orizzontale. */
.incassaora-block { max-width: 100%; }
/* Larghezza di lettura per i paragrafi che nell'originale avevano max-width:
   così il vincolo NON resta come stile inline nel testo ma è una classe. */
.incassaora-measure { max-width: 48rem; margin-left: auto; margin-right: auto; }

.incassaora-block img { max-width: 100%; height: auto; }

/* ----- Reverse: come gestire il costo ------------------------------- */
.incassaora-decisionpath { display: grid; gap: 1rem; margin: 1.6rem 0; }
.incassaora-decisionpath__item { display: flex; gap: .9rem; align-items: flex-start; }
.incassaora-decisionpath__num { flex: 0 0 auto; width: 30px; height: 30px; border-radius: 50%; background: var(--incassaora-accent); color: #fff; font-weight: 800; font-size: .9rem; display: inline-flex; align-items: center; justify-content: center; }
.incassaora-decisionpath__title { margin: .15rem 0 .2rem; font-family: 'Manrope', sans-serif; font-weight: 700; color: var(--incassaora-primary); }
.incassaora-decisionpath__desc { margin: 0; color: var(--incassaora-muted); font-size: .92rem; line-height: 1.55; }
.incassaora-decisionpath__desc .incassaora-yes { color: #16a34a; font-weight: 700; }
.incassaora-decisionpath__desc .incassaora-no { color: var(--incassaora-accent); font-weight: 700; }

.incassaora-modes { display: grid; gap: 1rem; }
.incassaora-modes__title { margin: 0 0 .4rem; font-family: 'Manrope', sans-serif; font-weight: 800; font-size: 1.3rem; color: var(--incassaora-primary); }
/* Su mobile la colonna "Tre modalità di regolamento" si impila sotto il box
   "Trasparenza totale": senza margine superiore il titolo resta attaccato
   all'alert. Su desktop le due colonne sono affiancate, quindi nessun margine. */
@media (max-width: 768px) {
	.incassaora-modes { margin-top: 2.5rem; }
}
.incassaora-mode { background: #fff; border: 1px solid var(--incassaora-border); border-radius: 14px; padding: 1.1rem 1.2rem; }
.incassaora-mode__head { display: flex; align-items: center; gap: .6rem; }
.incassaora-mode__name { font-family: 'Manrope', sans-serif; font-weight: 700; color: var(--incassaora-primary); }
.incassaora-mode__desc { margin: .5rem 0 .6rem; color: var(--incassaora-muted); font-size: .9rem; line-height: 1.5; }
.incassaora-mode__tag { display: inline-block; background: rgba(var(--incassaora-accent-rgb), .08); color: var(--incassaora-accent); font-size: .76rem; font-weight: 600; padding: .25rem .7rem; border-radius: 999px; }

/* ----- Reverse: esempio di pricing (simulatore) --------------------- */
/* I margini sono !important e con margin-bottom esplicito sui blocchi per
   non collassare quando il tema azzera i margini di p / elementi in colonna. */
.incassaora-rpricing { margin-top: 2.6rem; }
.incassaora-rpricing__kicker { margin: 2.4rem 0 1.1rem !important; font-size: .72rem; font-weight: 700; text-transform: uppercase; letter-spacing: .1em; color: var(--incassaora-muted); }
.incassaora-rpricing__kicker:first-child { margin-top: 0 !important; }
.incassaora-rpricing__kicker span { text-transform: none; letter-spacing: 0; font-weight: 500; }

.incassaora-rpricing__steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.3rem; margin-bottom: 1.8rem; }
.incassaora-rpricing__step { position: relative; background: #fff; border: 1px solid var(--incassaora-border); border-radius: 18px; padding: 1.8rem; box-shadow: 0 1px 3px rgba(26, 31, 51, .06); }
.incassaora-rpricing__step--hl { border-color: var(--incassaora-accent); box-shadow: 0 8px 24px rgba(var(--incassaora-accent-rgb), .14); }
.incassaora-rpricing__num { display: inline-block; font-family: 'Manrope', sans-serif; font-weight: 800; font-size: 1.7rem; line-height: 1; color: var(--incassaora-muted); margin-bottom: 1rem; }
.incassaora-rpricing__step--hl .incassaora-rpricing__num { color: var(--incassaora-accent); }
.incassaora-rpricing__step p { margin: 0; color: var(--incassaora-primary); font-size: .92rem; line-height: 1.55; }
.incassaora-rpricing__badge { position: absolute; top: 1.4rem; right: 1.4rem; background: var(--incassaora-accent); color: #fff; font-size: .62rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; padding: .3rem .65rem; border-radius: 999px; }
.incassaora-rpricing__amt { margin-top: .9rem !important; }
.incassaora-rpricing__amt strong { display: block; font-family: 'Manrope', sans-serif; font-weight: 800; font-size: 1.7rem; color: var(--incassaora-accent); }
.incassaora-rpricing__amt span { display: block; font-size: .78rem; color: var(--incassaora-muted); margin-top: .3rem; }

.incassaora-rpricing__sliderbox { background: #fff; border: 1px solid var(--incassaora-border); border-radius: 18px; padding: 1.9rem 2.1rem; box-shadow: 0 1px 3px rgba(26, 31, 51, .06); margin-bottom: 1.8rem; }
.incassaora-rpricing__label { display: block; font-weight: 600; color: var(--incassaora-muted); font-size: .85rem; }
.incassaora-rpricing__value { font-family: 'Manrope', sans-serif; font-weight: 800; font-size: 2rem; color: var(--incassaora-primary); margin: .35rem 0 1.1rem; }
.incassaora-rpricing__range { width: 100%; accent-color: var(--incassaora-accent); }
.incassaora-rpricing__bounds { display: flex; justify-content: space-between; color: var(--incassaora-muted); font-size: .75rem; margin-top: .5rem; }

.incassaora-rpricing__cols { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.3rem; margin-bottom: 1.8rem; }
.incassaora-rpricing__col { text-align: left; background: #fff; border: 1px solid var(--incassaora-border); border-radius: 18px; padding: 1.6rem 1.7rem; cursor: pointer; font: inherit; transition: border-color .2s ease, box-shadow .2s ease, background .2s ease; }
.incassaora-rpricing__col:hover { border-color: rgba(var(--incassaora-accent-rgb), .45); }
.incassaora-rpricing__col .d { display: block; font-size: .78rem; color: var(--incassaora-muted); margin-bottom: .7rem; }
.incassaora-rpricing__col strong { display: block; font-family: 'Manrope', sans-serif; font-size: 1.8rem; font-weight: 800; color: var(--incassaora-primary); }
.incassaora-rpricing__col .p { display: block; font-size: .72rem; color: var(--incassaora-muted); margin-top: .45rem; }
.incassaora-rpricing__col.is-active { background: var(--incassaora-accent); border-color: var(--incassaora-accent); box-shadow: 0 10px 28px rgba(var(--incassaora-accent-rgb), .25); }
.incassaora-rpricing__col.is-active .d, .incassaora-rpricing__col.is-active strong, .incassaora-rpricing__col.is-active .p { color: #fff; }

.incassaora-rpricing__summary { margin: 0 0 .9rem !important; font-size: .92rem; line-height: 1.6; color: var(--incassaora-primary); background: rgba(var(--incassaora-accent-rgb), .06); border: 1px solid rgba(var(--incassaora-accent-rgb), .15); border-radius: 16px; padding: 1.3rem 1.5rem; }
.incassaora-rpricing__summary strong { color: var(--incassaora-accent); }
.incassaora-rpricing__fine { margin: 0; font-size: .72rem; color: var(--incassaora-muted); line-height: 1.5; }
@media (max-width: 880px) {
	.incassaora-rpricing__steps, .incassaora-rpricing__cols { grid-template-columns: 1fr; }
}
