.toc {
	background: #f5f8fc;
	border-left: 4px solid #1a3a5c;
	border-radius: 0 8px 8px 0;
	padding: 1.25rem 1.5rem;
	margin-bottom: 2.5rem;
}
.toc h5 {
	font-size: 0.78rem;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	font-weight: 700;
	color: #1a3a5c;
	margin-bottom: 0.75rem;
}
.toc ol { margin: 0; padding-left: 1.25rem; }
.toc ol li { margin-bottom: 0.35rem; font-size: 0.9rem; }
.toc ol li a { color: #1a3a5c; text-decoration: none; }
.toc ol li a:hover { text-decoration: underline; }

.reason-card {
	border-left: 3px solid #1a3a5c;
	padding: 1rem 1.25rem;
	margin-bottom: 1.25rem;
	background: #f5f8fc;
	border-radius: 0 8px 8px 0;
}
.reason-card p.reason-title {
	font-weight: 700;
	color: #1a3a5c;
	margin-bottom: 0.25rem;
}
.reason-card p.reason-body {
	color: #555;
	font-size: 0.9rem;
	margin: 0;
}

.pros-cons {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1.25rem;
	margin: 1.5rem 0;
	padding: 1.25rem;
	background: #f5f8fc;
	border-radius: 8px;
}
.pros-cons h5 {
	font-size: 0.78rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	margin-bottom: 0.6rem;
}
.pros-cons .pro { color: #1a7a4a; }
.pros-cons .con { color: #b84a38; }
.pros-cons ul { padding-left: 1.1rem; margin: 0; font-size: 0.9rem; }
.pros-cons ul li { margin-bottom: 0.3rem; }

.page-intro {
	font-size: 1.1rem;
	line-height: 1.8;
	color: #444;
	padding-bottom: 1.5rem;
}
.updated-tag { font-size: 0.85rem; color: #888; }

/* ── COMPARISON TABLE ───────────────────────────────────────────── */

:root {
	--b-white:       #ffffff;
	--b-green-light: #ebfff2;
	--cat-bg:        #f0f4f9;
	--cat-text:      #1a3a5c;
	--check:         #1a8f4a;
	--cross:         #c0392b;
	--border:        #dce6f0;
	--row-hover:     #f5f9ff;
}

.comparison-wrapper {
	border-radius: 12px;
	box-shadow: 0 2px 16px rgba(26, 95, 168, .10);
	background: #fff;
	overflow-x: auto;
}

.comparison-table {
	width: 100%;
	border-collapse: collapse;
	min-width: 520px;
}

/* thead — no sticky on this page */
.comparison-table thead th {
	position: static;
	background: var(--b-white);
	color: #000;
	font-weight: 600;
	font-size: .8rem;
	letter-spacing: .04em;
	text-align: center;
	padding: 14px 8px;
	border-right: 1px solid var(--border);
	white-space: nowrap;
	box-shadow: 0 2px 6px rgba(0, 0, 0, .08);
}
.comparison-table thead th:first-child {
	position: static;
	text-align: left;
	padding-left: 20px;
	min-width: 200px;
	border-right: 2px solid var(--border);
}
.comparison-table thead th.banktivity {
	background: var(--b-green-light);
	color: #000;
}

/* Category title rows */
.comparison-table tr.feature_category_title td {
	background: var(--cat-bg);
	color: var(--cat-text);
	font-weight: 700;
	font-size: .7rem;
	letter-spacing: .1em;
	text-transform: uppercase;
	padding: 10px 20px;
	border-top: 2px solid #1a5fa8;
	border-bottom: 1px solid var(--border);
}

/* Feature rows */
.comparison-table tbody tr:not(.feature_category_title) {
	border-bottom: 1px solid var(--border);
	transition: background .15s;
}
.comparison-table tbody tr:not(.feature_category_title):hover {
	background: var(--row-hover);
}

.comparison-table td {
	padding: 10px 8px;
	text-align: center;
	vertical-align: middle;
	font-size: .86rem;
	border-right: 1px solid var(--border);
}
.comparison-table tbody td:first-child {
	text-align: left;
	padding-left: 20px;
	background: #fff;
	border-right: 2px solid var(--border);
	font-size: 1rem;
}
.comparison-table tbody tr:not(.feature_category_title):hover td:first-child {
	background: var(--row-hover);
}

/* Banktivity column */
.comparison-table td.banktivity {
	background: var(--b-green-light);
}
.comparison-table thead th.banktivity {
	background: var(--b-green-light);
}

/* Icons */
.bi-check-lg { color: var(--check); font-size: 1.15rem; }
.bi-x        { color: var(--cross); font-size: 1.1rem; }

/* Pills */
.pill {
	display: inline-block;
	border-radius: 30px;
	padding: 2px 9px;
	font-size: .68rem;
	font-weight: normal;
	letter-spacing: .03em;
	white-space: nowrap;
	line-height: 1.5;
}
.pill-advanced  { background: #1FC85D; color: #fff; }
.pill-limited   { background: #E7E7E7; color: #8A8A8A; }
.pill-basic     { background: #E7E7E7; color: #8A8A8A; }
.pill-native    { background: #8e44ad; color: #fff; }
.pill-companion { background: #E7E7E7; color: #8A8A8A; }

.check-pill {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	flex-wrap: wrap;
	justify-content: center;
}
.cell-text {
	font-size: .75rem;
	color: #555;
	white-space: pre-line;
	text-align: center;
}

/* Feature name & subtitle */
.feature_title {
	display: block;
	font-weight: 500;
}
.feature_subtitle {
	display: block;
	font-size: .72rem;
	font-weight: 400;
	color: #7a8fa6;
	margin-top: 2px;
	font-style: italic;
	letter-spacing: 0;
	text-transform: none;
	white-space: normal;
	line-height: 1.35;
}

/* ── RESPONSIVE ─────────────────────────────────────────────────── */
@media (max-width: 576px) {
	.pros-cons { grid-template-columns: 1fr; }
}

/* ── DARK MODE ──────────────────────────────────────────────────── */
@media (prefers-color-scheme: dark) {

	:root {
		--b-white:       #1e2a3a;
		--b-green-light: #0d2b1a;
		--cat-bg:        #162030;
		--cat-text:      #a8c4e0;
		--check:         #2ecc71;
		--cross:         #e74c3c;
		--border:        #2a3f55;
		--row-hover:     #1a2d42;
	}

	.toc {
		background: #0f1e2e;
		border-left-color: #4a7fa5;
	}
	.toc h5 { color: #7ab3d4; }
	.toc ol li a { color: #7ab3d4; }

	.reason-card {
		background: #0f1e2e;
		border-left-color: #4a7fa5;
	}
	.reason-card p.reason-title { color: #7ab3d4; }
	.reason-card p.reason-body  { color: #aaa; }

	.pros-cons { background: #0f1e2e; }
	.pros-cons .pro { color: #4caf7d; }
	.pros-cons .con { color: #e07060; }
	.pros-cons ul   { color: #ccc; }

	.page-intro { color: #bbb; }

	.comparison-wrapper {
		background: #162030;
		box-shadow: 0 2px 16px rgba(0, 0, 0, .4);
	}
	.comparison-table thead th {
		background: #1e2a3a;
		color: #c8daea;
		box-shadow: 0 2px 8px rgba(0, 0, 0, .4);
	}
	.comparison-table thead th:first-child {
		background: #1e2a3a;
	}
	.comparison-table thead th.banktivity {
		background: #0d2b1a;
		color: #7eeaa8;
	}
	.comparison-table tr.feature_category_title td {
		background: var(--cat-bg);
		color: var(--cat-text);
		border-top-color: #4a9edd;
		border-bottom-color: var(--border);
	}
	.comparison-table td {
		border-right-color: var(--border);
	}
	.comparison-table tbody td:first-child {
		background: #162030;
		color: #c8daea;
		border-right-color: var(--border);
	}
	.comparison-table tbody tr:not(.feature_category_title):hover td:first-child {
		background: var(--row-hover);
	}
	.comparison-table td.banktivity {
		background: var(--b-green-light);
	}

	.pill-limited,
	.pill-basic,
	.pill-companion { background: #2a3a4a; color: #9ab0c4; }
	.pill-advanced  { background: #1a5c36; color: #7eeaa8; }
	.pill-native    { background: #5b2d7a; color: #d9b3f5; }

	.cell-text       { color: #8fa8bf; }
	.feature_subtitle { color: #5a7a94; }
}