/* LuxMed Industries Widget v1.0 — heading + image cards with icon, title and description */

.lmi-section {
	--lmi-primary: #1a3e8f;
	--lmi-accent: #2eaa4a;
	--lmi-text: #5a6a7e;
}

/* ---------- Header ---------- */

.lmi-header {
	margin-bottom: 36px;
	text-align: center;
}

.lmi-eyebrow {
	margin: 0 0 10px;
	color: var(--lmi-accent);
	font-size: 0.8rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

.lmi-title {
	margin: 0;
	color: var(--lmi-primary);
	font-size: 1.9rem;
	font-weight: 700;
	line-height: 1.25;
}

/* ---------- Grid ---------- */

.lmi-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 28px;
}

.lmi-card {
	display: flex;
	flex-direction: column;
	background: #fff;
	border: 1px solid #e6ecf3;
	border-radius: 14px;
	overflow: hidden;
	text-decoration: none;
	transition: transform 0.18s ease, box-shadow 0.18s ease;
}

.lmi-has-shadow-yes .lmi-card {
	box-shadow: 0 6px 22px rgba(26, 62, 143, 0.06);
}

.lmi-has-shadow-yes .lmi-card:hover {
	transform: translateY(-3px);
	box-shadow: 0 14px 34px rgba(26, 62, 143, 0.12);
}

a.lmi-card:focus-visible {
	outline: 3px solid var(--lmi-accent);
	outline-offset: 2px;
}

/* ---------- Media ---------- */

.lmi-card__media img {
	display: block;
	width: 100%;
	height: 180px;
	object-fit: cover;
}

/* ---------- Body (icon + text) ---------- */

.lmi-card__body {
	display: flex;
	align-items: flex-start;
	gap: 16px;
	padding: 20px 20px 22px;
}

.lmi-card__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	margin-top: 2px;
	color: var(--lmi-primary);
	font-size: 40px;
	line-height: 1;
}

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

.lmi-card__icon img {
	display: block;
	width: 40px;
	height: auto;
	object-fit: contain;
}

.lmi-card__text {
	min-width: 0;
}

.lmi-card__title {
	margin: 0 0 6px;
	color: var(--lmi-primary);
	font-size: 1rem;
	font-weight: 700;
	line-height: 1.3;
}

.lmi-card__desc {
	margin: 0;
	color: var(--lmi-text);
	font-size: 0.85rem;
	line-height: 1.55;
}

/* ---------- Responsive ---------- */

@media (max-width: 1024px) {
	.lmi-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 767px) {
	.lmi-grid { grid-template-columns: 1fr; }
	.lmi-header { margin-bottom: 28px; }
	.lmi-title { font-size: 1.45rem; }
}

@media (prefers-reduced-motion: reduce) {
	.lmi-card { transition: none; }
	.lmi-has-shadow-yes .lmi-card:hover { transform: none; }
}
