/**
 * Tableau comparatif des forfaits (template-parts/section-comparatif-forfaits.php).
 * Chargé conditionnellement sur templates/template-tarifs.php. Tokens DA de style.css :root.
 */

.sfc-cmp__wrap {
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
	border: 1px solid var(--color-rule);
	border-radius: var(--radius-lg, 14px);
	background: var(--color-surface-0);
}
.sfc-cmp__wrap:focus-visible {
	outline: 2px solid var(--color-primary);
	outline-offset: 2px;
}

.sfc-cmp__table {
	width: 100%;
	min-width: 720px;
	border-collapse: collapse;
	font-size: var(--text-sm);
}

/* En-têtes de forfait */
.sfc-cmp__table thead th {
	position: sticky;
	top: 0;
	z-index: 2;
	background: var(--color-surface-1);
	border-bottom: 2px solid var(--color-rule);
	padding: var(--space-4);
	text-align: center;
	vertical-align: top;
}
.sfc-cmp__feature-head {
	text-align: left !important;
	font-weight: 700;
	color: var(--color-ink);
}
.sfc-cmp__plan { position: sticky; }
.sfc-cmp__plan-name { display: block; font-family: var(--font-display); font-weight: 800; font-size: var(--text-lg); color: var(--color-ink); }
.sfc-cmp__plan-price { display: block; margin: var(--space-1) 0 var(--space-3); font-weight: 700; color: var(--color-primary); }
.sfc-cmp__plan-per { font-weight: 500; font-size: var(--text-xs); color: var(--color-ink-soft); margin-left: 2px; }
.sfc-cmp__badge {
	display: inline-block; margin-bottom: var(--space-2);
	padding: 2px 10px; border-radius: 999px;
	background: var(--color-primary); color: var(--color-white);
	font-size: var(--text-xs); font-weight: 700; letter-spacing: .02em;
}
.sfc-cmp__plan--featured { background: color-mix(in srgb, var(--color-primary) 8%, var(--color-surface-1)); }

/* Colonne mise en avant (Pro) sur tout le corps */
.sfc-cmp__cell--featured { background: color-mix(in srgb, var(--color-primary) 6%, transparent); }

/* Lignes de groupe (catégories) */
.sfc-cmp__group th {
	text-align: left;
	padding: var(--space-3) var(--space-4);
	background: var(--color-surface-2);
	color: var(--color-ink);
	font-family: var(--font-display);
	font-weight: 800;
	font-size: var(--text-sm);
	letter-spacing: .01em;
	border-top: 1px solid var(--color-rule);
}

/* Cellules */
.sfc-cmp__feature {
	text-align: left;
	font-weight: 500;
	color: var(--color-ink);
	padding: var(--space-3) var(--space-4);
}
.sfc-cmp__cell {
	text-align: center;
	padding: var(--space-3) var(--space-4);
	color: var(--color-ink-soft);
}
.sfc-cmp__table tbody tr:not(.sfc-cmp__group):nth-child(even) td,
.sfc-cmp__table tbody tr:not(.sfc-cmp__group):nth-child(even) .sfc-cmp__feature {
	background: color-mix(in srgb, var(--color-ink) 3%, transparent);
}
.sfc-cmp__table tbody tr:not(.sfc-cmp__group):hover td,
.sfc-cmp__table tbody tr:not(.sfc-cmp__group):hover .sfc-cmp__feature {
	background: color-mix(in srgb, var(--color-primary) 6%, transparent);
}

/* Marques ✓ / ✗ */
.sfc-cmp__mark {
	display: inline-flex; align-items: center; justify-content: center;
	width: 1.6rem; height: 1.6rem; border-radius: 50%;
	font-weight: 800; line-height: 1;
}
.sfc-cmp__mark--yes { background: color-mix(in srgb, var(--color-success) 16%, transparent); color: var(--color-success); }
.sfc-cmp__mark--no { background: color-mix(in srgb, var(--color-danger) 14%, transparent); color: var(--color-danger); }
.sfc-cmp__val { font-weight: 700; color: var(--color-ink); }

.sfc-cmp__note { margin: var(--space-4) 0 0; text-align: center; font-size: var(--text-xs); color: var(--color-ink-soft); }

.sfc-btn--sm { padding: 6px 12px; font-size: var(--text-xs); margin-top: var(--space-2); }

/* Accessibilité : texte réservé aux lecteurs d'écran */
.sfc-vh {
	position: absolute !important;
	width: 1px; height: 1px;
	padding: 0; margin: -1px;
	overflow: hidden; clip: rect(0, 0, 0, 0);
	white-space: nowrap; border: 0;
}

@media (max-width: 640px) {
	.sfc-cmp__table thead th { padding: var(--space-3); }
	.sfc-cmp__plan-name { font-size: var(--text-base); }
}
