/* Functies (overzicht): bovenaan de spotlight als rondleiding (home-tools.css),
 * daaronder per onderdeel alle tools als rustige tekstkaartjes: naam, één
 * zin, het hele kaartje is de link naar de eigen pagina. Geen schermen per
 * kaartje en geen schuifbare rij: de pagina scrolt alleen op en neer.
 * HTML: deploy/cloudflare-site/scripts/productverhaal/features.mjs. */

.pv-tour {
	padding-top: clamp(24px, calc(3vw / var(--vz, 1)), 40px);
}

.tool-section .section-head {
	margin-bottom: clamp(20px, calc(2.5vw / var(--vz, 1)), 32px);
}

.ft-grid {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 16px;
}

.ft-card {
	position: relative;
	min-width: 0;
	padding: 18px 20px 20px;
	border: 1px solid var(--line);
	border-radius: var(--radius-card);
	background: var(--card);
	transition: border-color 0.15s ease;
}

.ft-card:hover {
	border-color: var(--ink);
}

/* Het hele kaartje is de link (de naam rekt uit over het kaartje). */
.ft-card:has(a:focus-visible) {
	outline: 2px solid var(--ink);
	outline-offset: 2px;
}

.ft-card a:focus-visible {
	outline: none;
}

.ft-card h3 {
	font-size: 1.05rem;
	line-height: 1.3;
	letter-spacing: -0.01em;
}

.ft-card h3 a {
	color: var(--ink);
	text-decoration: none;
}

.ft-card h3 a::after {
	content: "";
	position: absolute;
	inset: 0;
}

.ft-card h3 a::before {
	content: "\2192";
	float: right;
	margin-left: 8px;
	color: var(--muted);
}

.ft-card p {
	margin-top: 6px;
	color: var(--graphite);
	font-size: 0.95rem;
	line-height: 1.45;
}

@media (max-width: 999px) {
	.ft-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 599px) {
	.ft-grid {
		grid-template-columns: minmax(0, 1fr);
		gap: 10px;
	}

	.ft-card {
		padding: 14px 16px 16px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.ft-card {
		transition: none;
	}
}
