/* LuxMed Who We Serve Widget v1.0 — heading + centered icon cards */

.lsv-section {
	--lsv-primary: #1a3e8f;
	--lsv-text: #5a6a7e;
	padding: 56px 20px 64px;
	background: #f7fafd;
}

.lsv-header {
	max-width: 1280px;
	margin: 0 auto 26px;
	text-align: left;
}

.lsv-title {
	margin: 0 0 6px;
	color: var(--lsv-primary);
	font-size: clamp(1.7rem, 3vw, 2.3rem);
	font-weight: 800;
	line-height: 1.15;
	letter-spacing: -0.01em;
}

.lsv-subtitle {
	margin: 0;
	color: var(--lsv-text);
	font-size: 1rem;
	line-height: 1.5;
}

.lsv-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 20px;
	max-width: 1280px;
	margin: 0 auto;
}

.lsv-card {
	background: #fff;
	border: 1px solid rgba(26, 62, 143, 0.12);
	border-radius: 12px;
	padding: 30px 22px;
	text-align: center;
	transition: transform 0.18s ease, box-shadow 0.18s ease;
}

.lsv-card:hover {
	transform: translateY(-3px);
	box-shadow: 0 12px 30px rgba(26, 62, 143, 0.1);
}

.lsv-card__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 16px;
	color: var(--lsv-primary);
	font-size: 40px;
	line-height: 1;
}

.lsv-card__icon svg {
	width: 40px;
	height: 40px;
	fill: currentColor;
}

.lsv-card__title {
	margin: 0 0 8px;
	color: var(--lsv-primary);
	font-size: 1.02rem;
	font-weight: 800;
	line-height: 1.3;
}

.lsv-card__desc {
	margin: 0;
	color: var(--lsv-text);
	font-size: 0.9rem;
	line-height: 1.5;
}

@media (max-width: 1024px) {
	.lsv-section { padding: 48px 28px 56px; }
	.lsv-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 560px) {
	.lsv-section { padding: 40px 18px 48px; }
	.lsv-grid { grid-template-columns: 1fr; }
}

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