.wke-usp,
.wke-usp * { box-sizing: border-box; }

.wke-usp {
	--icon: #b91416;
	--icon-hover: #14110c;
	--icon-bg: rgba(185,20,22,.1);
	--icon-bg-hover: #b91416;
	--icon-size: 30px;
	--shape-size: 66px;
	--stroke: 1.7;
	--divider: #e7e7e7;
	--card-bg: #fafafa;
	--card-border: #e7e7e7;
	font-family: 'Outfit', sans-serif;
	width: 100%;
}

/* ---------------- HEAD ---------------- */
.wke-usp-head { text-align: center; margin-bottom: 34px; }
.wke-usp-eyebrow {
	display: inline-block;
	font-size: 12px;
	letter-spacing: 2.2px;
	text-transform: uppercase;
	font-weight: 600;
	color: var(--icon);
	margin-bottom: 10px;
}
.wke-usp-title {
	margin: 0;
	font-family: 'Outfit', sans-serif;
	font-size: 34px;
	line-height: 1.05;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .5px;
	color: #111;
}

/* ---------------- GRID ---------------- */
.wke-usp-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 20px;
	align-items: stretch;
}

/* ---------------- ITEM ---------------- */
.wke-usp-item {
	display: flex;
	gap: 16px;
	padding: 8px;
	min-width: 0;
	transition: transform .3s ease, box-shadow .3s ease, background .3s ease, border-color .3s ease;
}

/* layout: stack (gecentreerd) vs inline (links) */
.wke-usp--stack .wke-usp-item { flex-direction: column; align-items: center; text-align: center; }
.wke-usp--inline .wke-usp-item { flex-direction: row; align-items: flex-start; text-align: left; }

/* ---------------- ICOON + VORM ---------------- */
.wke-usp-ico {
	flex: 0 0 auto;
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--icon);
	transition: color .3s ease, background .3s ease, transform .3s ease;
}
.wke-usp-ico svg { width: var(--icon-size); height: var(--icon-size); display: block; }
.wke-usp-ico img { width: var(--icon-size); height: var(--icon-size); object-fit: contain; display: block; }

/* eigen afbeelding: instelbare grootte, geen vorm-kader */
.wke-usp-ico--img { width: auto !important; height: auto !important; background: transparent !important; }
.wke-usp-ico--img img { width: var(--img-size, 40px); height: var(--img-size, 40px); object-fit: contain; }

.wke-usp--shape-none .wke-usp-ico { width: auto; height: auto; }
.wke-usp:not(.wke-usp--shape-none) .wke-usp-ico:not(.wke-usp-ico--img) {
	width: var(--shape-size);
	height: var(--shape-size);
	background: var(--icon-bg);
}
.wke-usp--shape-circle .wke-usp-ico:not(.wke-usp-ico--img)  { border-radius: 50%; }
.wke-usp--shape-square .wke-usp-ico:not(.wke-usp-ico--img)  { border-radius: 0; }
.wke-usp--shape-rounded .wke-usp-ico:not(.wke-usp-ico--img) { border-radius: 14px; }

/* ---------------- TEKST ---------------- */
.wke-usp-body { display: flex; flex-direction: column; gap: 5px; min-width: 0; }
.wke-usp-item-title {
	margin: 0;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.3;
	color: #111;
	overflow-wrap: break-word;
}
.wke-usp-item-text {
	margin: 0;
	font-size: 13.5px;
	line-height: 1.5;
	color: #6b6b6b;
}

/* ---------------- KAARTSTIJLEN ---------------- */
.wke-usp--card-bordered .wke-usp-item {
	border: 1px solid var(--card-border);
	border-radius: 12px;
	padding: 24px 20px;
}
.wke-usp--card-filled .wke-usp-item {
	background: var(--card-bg);
	border-radius: 12px;
	padding: 24px 20px;
}

/* ---------------- DIVIDERS ---------------- */
.wke-usp--dividers .wke-usp-grid { gap: 0; }
.wke-usp--dividers .wke-usp-item {
	padding: 10px 26px;
	position: relative;
}
.wke-usp--dividers .wke-usp-item::after {
	content: "";
	position: absolute;
	top: 12%;
	right: 0;
	height: 76%;
	width: 1px;
	background: var(--divider);
}
.wke-usp--dividers .wke-usp-grid > .wke-usp-item:last-child::after { display: none; }

/* ---------------- HOVER-EFFECTEN ---------------- */
/* lift */
.wke-usp--hover-lift .wke-usp-item:hover { transform: translateY(-6px); }
.wke-usp--hover-lift.wke-usp--card-bordered .wke-usp-item:hover,
.wke-usp--hover-lift.wke-usp--card-filled .wke-usp-item:hover { box-shadow: 0 16px 36px rgba(0,0,0,.08); }

/* pop: icoon vergroten */
.wke-usp--hover-pop .wke-usp-item:hover .wke-usp-ico { transform: scale(1.12); }

/* fill: vorm inkleuren + icoon naar hover-kleur */
.wke-usp--hover-fill .wke-usp-item:hover .wke-usp-ico { background: var(--icon-bg-hover); color: var(--icon-hover); }
.wke-usp--hover-fill.wke-usp--shape-none .wke-usp-item:hover .wke-usp-ico { color: var(--icon-hover); background: transparent; }

/* draw: lijn natekenen */
.wke-usp--hover-draw .wke-usp-ico svg [stroke],
.wke-usp--hover-draw .wke-usp-ico svg path,
.wke-usp--hover-draw .wke-usp-ico svg circle,
.wke-usp--hover-draw .wke-usp-ico svg rect {
	stroke-dasharray: 120;
	stroke-dashoffset: 0;
	transition: stroke-dashoffset .6s ease;
}
.wke-usp--hover-draw .wke-usp-item:hover .wke-usp-ico svg path,
.wke-usp--hover-draw .wke-usp-item:hover .wke-usp-ico svg circle,
.wke-usp--hover-draw .wke-usp-item:hover .wke-usp-ico svg rect {
	stroke-dashoffset: 120;
	animation: wkeUspDraw .7s ease forwards;
}
@keyframes wkeUspDraw {
	from { stroke-dashoffset: 120; }
	to   { stroke-dashoffset: 0; }
}

/* ---------------- SCROLL-IN ANIMATIE ---------------- */
.wke-usp--anim .wke-usp-item {
	opacity: 0;
	transform: translateY(18px);
}
.wke-usp--anim.is-in .wke-usp-item {
	animation: wkeUspIn .55s ease forwards;
	animation-delay: calc(var(--d) * .08s);
}
@keyframes wkeUspIn {
	to { opacity: 1; transform: translateY(0); }
}

/* ---------------- RESPONSIVE ---------------- */
@media (max-width: 1024px) {
	.wke-usp-title { font-size: 28px; }
	.wke-usp--dividers .wke-usp-item:nth-child(2n)::after { display: none; }
}
@media (max-width: 600px) {
	.wke-usp-grid { gap: 14px; }
	.wke-usp--inline .wke-usp-item { gap: 12px; }
	.wke-usp-item-title { font-size: 15px; }
	.wke-usp--dividers .wke-usp-item { padding: 14px; }
}
