/**
 * Services grid
 */
.ntm-section-services {
	padding-block: clamp(2.5rem, 4vw, 3.5rem);
}

.ntm-services {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 16px;
}

.ntm-services__card {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-start;
	gap: 14px;
	min-height: 148px;
	padding: 22px 14px 18px;
	border: 1px solid #e3eaea;
	border-radius: 14px;
	background: linear-gradient(180deg, #fff 0%, #f9fbfb 100%);
	text-align: center;
	text-decoration: none !important;
	transition: border-color 0.25s ease, box-shadow 0.25s ease, transform 0.25s ease;
}

.ntm-services__card:hover {
	border-color: var(--ntm-home-primary, var(--primary-color, #2d6a6a));
	box-shadow: 0 12px 28px rgba(45, 106, 106, 0.12);
	transform: translateY(-4px);
}

.ntm-services__icon-wrap {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 64px;
	height: 64px;
	border-radius: 50%;
	background: linear-gradient(145deg, rgba(45, 106, 106, 0.12) 0%, rgba(45, 106, 106, 0.04) 100%);
	border: 1px solid rgba(45, 106, 106, 0.12);
	flex-shrink: 0;
	transition: background 0.25s ease, transform 0.25s ease;
}

.ntm-services__card:hover .ntm-services__icon-wrap {
	background: linear-gradient(145deg, rgba(45, 106, 106, 0.18) 0%, rgba(45, 106, 106, 0.08) 100%);
	transform: scale(1.05);
}

.ntm-services__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	color: var(--ntm-home-primary, var(--primary-color, #2d6a6a));
}

.ntm-services__icon svg {
	width: 100%;
	height: 100%;
	display: block;
}

.ntm-services__icon-img {
	width: 36px;
	height: 36px;
	object-fit: contain;
	display: block;
}

.ntm-services__title {
	font-size: 0.84rem;
	line-height: 1.4;
	color: #2a3333 !important;
	font-weight: 600;
	max-width: 12em;
}

@media (max-width: 1100px) {
	.ntm-services {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 640px) {
	.ntm-services {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 12px;
	}

	.ntm-services__card {
		min-height: 132px;
		padding: 18px 10px 14px;
	}

	.ntm-services__icon-wrap {
		width: 56px;
		height: 56px;
	}

	.ntm-services__icon,
	.ntm-services__icon-img {
		width: 30px;
		height: 30px;
	}

	.ntm-services__title {
		font-size: 0.78rem;
	}
}
