/* -------------------------------------------------------------------------
   Features section (4 USP columns)
   ------------------------------------------------------------------------- */

.home-features {
	background-color: var(--fhh-color-white);
	border-bottom: 1px solid var(--fhh-color-pink-border);
}

.home-features__grid {
	display: grid;
	gap: 0;
	margin: 0;
	padding: 0;
	list-style: none;
}

.home-features__item {
	display: grid;
	grid-template-columns: auto 1fr;
	gap: 1rem 1.25rem;
	align-items: start;
	padding: 1.5rem 0;
	border-bottom: none;
}

.home-features__icon {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	width: 3.25rem;
	height: 3.25rem;
	color: var(--fhh-color-pink);
}

.home-features__icon svg {
	width: 2.75rem;
	height: 2.75rem;
}

.home-features__body {
	min-width: 0;
}

.home-features__title {
	margin: 0 0 0.5rem;
	font-size: var(--fhh-text-xs);
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--fhh-color-pink);
}

.home-features__text {
	margin: 0;
	font-size: var(--fhh-text-sm);
	line-height: var(--fhh-leading-relaxed);
	color: var(--fhh-color-text-muted);
}

/* Mobile: divider lines between stacked items only */
@media (max-width: 47.9375rem) {
	.home-features__item {
		text-align: left;
	}

	.home-features__item:not(:last-child) {
		border-bottom: 1px solid var(--fhh-color-pink-border);
	}
}

/* Tablet: 2×2 grid */
@media (min-width: 48rem) and (max-width: 61.9375rem) {
	.home-features__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 0 2rem;
	}

	.home-features__item {
		padding: 1.75rem 0;
	}

	.home-features__item:nth-child(odd) {
		padding-right: 1rem;
		border-right: 1px solid var(--fhh-color-pink-border);
	}

	.home-features__item:nth-child(even) {
		padding-left: 1rem;
	}

	.home-features__item:nth-child(3),
	.home-features__item:nth-child(4) {
		border-top: 1px solid var(--fhh-color-pink-border);
	}
}

/* Desktop: 4 columns with vertical dividers only */
@media (min-width: 62rem) {
	.home-features__grid {
		grid-template-columns: repeat(4, minmax(0, 1fr));
		gap: 0;
	}

	.home-features__item {
		grid-template-columns: 1fr;
		justify-items: center;
		text-align: center;
		padding: 0 1.75rem;
	}

	.home-features__item:not(:last-child) {
		border-right: 1px solid var(--fhh-color-pink-border);
		border-bottom: none;
	}

	.home-features__item:first-child {
		padding-left: 0;
	}

	.home-features__item:last-child {
		padding-right: 0;
	}

	.home-features__icon {
		width: auto;
		height: auto;
		margin-bottom: 1rem;
	}

	.home-features__icon svg {
		width: 3rem;
		height: 3rem;
	}

	.home-features__title {
		margin-bottom: 0.65rem;
	}

	.home-features__text {
		max-width: 14rem;
		margin-inline: auto;
	}
}

@media (min-width: 75rem) {
	.home-features__item {
		padding-inline: 2.25rem;
	}

	.home-features__item:first-child {
		padding-left: 0;
	}

	.home-features__item:last-child {
		padding-right: 0;
	}
}
