/* ── ComparisonTable Widget ── */

.ComparisonTable {
	--ct-border-color: #EDEFF3;
	--ct-thead-border-color: #C7CCD6;
	--ct-cell-padding: 20px;
	--ct-highlight-accent: #FA7268;
	--ct-highlight-bg: #F5F7FC;
	--ct-highlight-text-color: #5774B7;
	--ct-row-hover-bg: #F9FBFF;
	--ct-highlight-row-hover-bg: #EDF2FA;
	--ct-header-bg: transparent;
	--ct-header-highlight-bg: transparent;
	--ct-row-label-bg: transparent;

	border: 1px solid #CBCBCB;
	border-radius: 12px;
	overflow: hidden;
}

.ComparisonTable__Table {
	width: 100%;
	border-collapse: collapse;
	border-spacing: 0;
	table-layout: fixed;
	margin-bottom: 0px;
}

/* Reset di eventuali stili tabella di default (tema/editor): questo widget
 * gestisce da solo bordi e sfondi delle righe, senza ereditare quelli
 * generici del content-table del tema (bordi doppi, righe "zebrate"). Le
 * regole più sotto hanno tutte specificità pari o superiore a questo reset,
 * quindi lo sovrascrivono correttamente dove serve. */
.ComparisonTable__Table,
.ComparisonTable__Table tr,
.ComparisonTable__Table th,
.ComparisonTable__Table td {
	border: 0 !important;
	background-color: transparent !important;
}

.ComparisonTable .ComparisonTable__Head,
.ComparisonTable .ComparisonTable__Cell {
	padding: var(--ct-cell-padding);
	text-align: left;
	vertical-align: middle;
	border-bottom: 1px solid var(--ct-border-color) !important;
}

.ComparisonTable .ComparisonTable__Head {
	background-color: var(--ct-header-bg) !important;
}

.ComparisonTable .ComparisonTable__Row--Head .ComparisonTable__Head {
	border-bottom-color: var(--ct-thead-border-color) !important;
}

.ComparisonTable .ComparisonTable__Head--A,
.ComparisonTable .ComparisonTable__Cell--A,
.ComparisonTable .ComparisonTable__Head--B,
.ComparisonTable .ComparisonTable__Cell--B {
	border-left: 1px solid var(--ct-border-color) !important;
}

.ComparisonTable__Row:last-child .ComparisonTable__Cell {
	border-bottom: none !important;
}

.ComparisonTable__Head--Label {
	font-size: 0.8125rem;
	font-weight: 700;
	letter-spacing: 0.04em;
}

.ComparisonTable__Head--A,
.ComparisonTable__Head--B {
	font-size: 1.0625rem;
	font-weight: 700;
	position: relative;
}

.ComparisonTable--HeaderUppercase .ComparisonTable__Head {
	text-transform: uppercase;
}

.ComparisonTable__HeadLogo {
	display: inline-block;
	max-height: 28px;
	width: auto;
}

.ComparisonTable__RowLabel {
	/* La cella è un <th scope="row"> per l'associazione semantica riga →
	 * valore: neutralizza il grassetto che il browser applica di default
	 * ai <th>, così solo le righe "in evidenza" restano in grassetto su
	 * desktop (su mobile il grassetto è sempre forzato, vedi media query). */
	font-weight: 400;
}

.ComparisonTable__RowLabel--Highlight {
	color: var(--ct-highlight-text-color) !important;
	font-weight: 700 !important;
}

.ComparisonTable__Value--Highlight {
	color: var(--ct-highlight-text-color) !important;
	font-weight: 700 !important;
}

.ComparisonTable__Cell--B .ComparisonTable__Value {
	color: var(--e-global-color-7f061da);
}

.ComparisonTable__Icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	border-radius: 50%;
	font-size: 0.875em;
}

/* Etichetta ripetuta (testo o logo) davanti al valore: esiste solo per
 * la vista a card mobile, il thead reale già copre il desktop. */
.ComparisonTable__CellLabel {
	display: none;
}

.ComparisonTable__Icon--Check {
	background-color: #E3F5EA;
	color: #15803D !important;
}

.ComparisonTable__Icon--Cross {
	background-color: #FBEAEA;
	color: #E5484D !important;
}

/* ── Colonna "in evidenza": barra accent in alto + header e sfondo con tinta propria ── */
.ComparisonTable--HighlightA .ComparisonTable__Head--A,
.ComparisonTable--HighlightB .ComparisonTable__Head--B {
	background-color: var(--ct-header-highlight-bg) !important;
}

.ComparisonTable--HighlightA .ComparisonTable__Cell--A,
.ComparisonTable--HighlightB .ComparisonTable__Cell--B {
	background-color: var(--ct-highlight-bg) !important;
}

/* Bordo laterale sinistro/destro della colonna in evidenza, colore secondary */
.ComparisonTable--HighlightA .ComparisonTable__Head--A,
.ComparisonTable--HighlightA .ComparisonTable__Cell--A,
.ComparisonTable--HighlightB .ComparisonTable__Head--B,
.ComparisonTable--HighlightB .ComparisonTable__Cell--B {
	border-left: 1px solid var(--e-global-color-6658b4b) !important;
	border-right: 1px solid var(--e-global-color-6658b4b) !important;
}

/* Allinea il bordo della colonna successiva, altrimenti in collapse vince il grigio di default */
.ComparisonTable--HighlightA .ComparisonTable__Head--B,
.ComparisonTable--HighlightA .ComparisonTable__Cell--B {
	border-left: 1px solid var(--e-global-color-6658b4b) !important;
}

/* Hover solo da desktop in su: sotto 1025px la tabella diventa card, niente hover sul touch */
@media screen and (min-width: 1025px) {
	/* Bordo finale (in basso) della colonna in evidenza, stesso secondary dei bordi laterali */
	.ComparisonTable--HighlightA .ComparisonTable__Row:last-child .ComparisonTable__Cell--A,
	.ComparisonTable--HighlightB .ComparisonTable__Row:last-child .ComparisonTable__Cell--B {
		border-bottom: 1px solid var(--e-global-color-6658b4b) !important;
	}

	.ComparisonTable__Row:hover .ComparisonTable__Cell {
		background-color: var(--ct-row-hover-bg) !important;
	}

	/* La cella della colonna in evidenza, in hover, prende una tinta più marcata */
	.ComparisonTable--HighlightA .ComparisonTable__Row:hover .ComparisonTable__Cell--A,
	.ComparisonTable--HighlightB .ComparisonTable__Row:hover .ComparisonTable__Cell--B {
		background-color: var(--ct-highlight-row-hover-bg) !important;
	}
}

/* ── Responsive: niente scroll orizzontale, ogni riga diventa una card ── */
@media screen and (max-width: 1024px) {
	.ComparisonTable__Table,
	.ComparisonTable__Table thead,
	.ComparisonTable__Table tbody,
	.ComparisonTable__Table th,
	.ComparisonTable__Table td,
	.ComparisonTable__Table tr {
		display: block;
	}

	.ComparisonTable__Table thead {
		position: absolute;
		width: 1px;
		height: 1px;
		overflow: hidden;
		clip: rect(0 0 0 0);
		white-space: nowrap;
	}

	.ComparisonTable__Row {
		padding: 0 var(--ct-cell-padding) var(--ct-cell-padding);
		border-bottom: 1px solid var(--ct-border-color) !important;
	}

	.ComparisonTable__Row:last-child {
		border-bottom: none !important;
	}

	.ComparisonTable .ComparisonTable__Head,
	.ComparisonTable .ComparisonTable__Cell {
		padding: 0;
		border: none !important;
		text-align: left;
	}

	.ComparisonTable .ComparisonTable__Cell--Label {
		margin-left: calc(-1 * var(--ct-cell-padding));
		margin-right: calc(-1 * var(--ct-cell-padding));
		padding-left: var(--ct-cell-padding) !important;
		padding-right: var(--ct-cell-padding) !important;
		padding-top: 12px !important;
		padding-bottom: 12px !important;
		background-color: var(--e-global-color-6658b4b, #5774B7) !important;
	}

	.ComparisonTable__RowLabel {
		font-weight: 700 !important;
		color: #282828 !important;
	}

	.ComparisonTable__Cell--Label .ComparisonTable__RowLabel {
		color: #fff !important;
	}

	.ComparisonTable__Cell--A,
	.ComparisonTable__Cell--B {
		display: flex !important;
		align-items: center;
		justify-content: flex-start;
		gap: 24px;
		padding-top: 8px;
	}

	.ComparisonTable__Cell--B {
		margin-top: 12px;
	}

	.ComparisonTable__CellLabel {
		display: inline-flex;
		align-items: center;
		font-size: 0.8125rem;
		font-weight: 700;
		letter-spacing: 0.02em;
		text-transform: uppercase;
		color: #707070;
		flex: 0 0 auto;
		min-width: 80px;
	}

	.ComparisonTable--HighlightA .ComparisonTable__Cell--A .ComparisonTable__CellLabel,
	.ComparisonTable--HighlightB .ComparisonTable__Cell--B .ComparisonTable__CellLabel {
		color: var(--ct-highlight-accent);
	}

	.ComparisonTable--HighlightB .ComparisonTable__Cell--B {
		background-color: transparent !important;
		box-shadow: none;
	}

	.ComparisonTable__Row:hover .ComparisonTable__Cell--Label,
	.ComparisonTable--HighlightB .ComparisonTable__Row:hover .ComparisonTable__Cell--B {
		background-color: transparent !important;
	}

	/* Riga Avacy: sfondo pieno da bordo a bordo della card, non solo
	 * dietro al testo (la cella non ha padding orizzontale proprio, quindi
	 * si "sfonda" oltre il padding della riga con margini negativi). */
	.ComparisonTable__Cell--A {
		background-color: var(--e-global-color-42b1d8c) !important;
		margin-left: calc(-1 * var(--ct-cell-padding));
		margin-right: calc(-1 * var(--ct-cell-padding));
		padding-left: var(--ct-cell-padding) !important;
		padding-right: var(--ct-cell-padding) !important;
		padding-top: 12px !important;
		padding-bottom: 12px !important;
	}
}
