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

.wke-uspg {
	--icon: #b91416;
	--icon-hover: #ffffff;
	--icon-bg: rgba(185,20,22,.08);
	--icon-bg-hover: #b91416;
	--icon-size: 26px;
	--shape-size: 56px;
	--stroke: 1.7;
	--box-bg: #ffffff;
	--box-border: #e6e6e6;
	--box-radius: 10px;
	--divider: #e6e6e6;
	font-family: 'Outfit', sans-serif;
	width: 100%;
}

/* ---------------- KOPTEKST ---------------- */
.wke-uspg-head { text-align: center; margin-bottom: 34px; }
.wke-uspg-eyebrow {
	display: block;
	font-size: 12px;
	letter-spacing: 3px;
	text-transform: uppercase;
	font-weight: 600;
	color: #8a8a8a;
	margin-bottom: 12px;
}
.wke-uspg-title {
	margin: 0;
	font-size: clamp(24px, 3.2vw, 38px);
	font-weight: 700;
	line-height: 1.12;
	text-transform: uppercase;
	letter-spacing: .5px;
	color: #111;
}
.wke-uspg-subline {
	margin: 14px auto 0;
	max-width: 560px;
	font-size: 16px;
	line-height: 1.55;
	color: #6b6b6b;
}

/* ---------------- GRID ---------------- */
.wke-uspg-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);  /* 2x2 standaard */
	gap: 16px;
}

/* ---------------- ITEM ---------------- */
.wke-uspg-item {
	display: flex;
	gap: 14px;
	min-width: 0;              /* FIX: laat kolommen krimpen i.p.v. uit het scherm lopen */
	padding: 22px 22px;
	background: var(--box-bg);
	border-radius: var(--box-radius);
	transition: transform .3s ease, box-shadow .3s ease, background .3s ease, border-color .3s ease;
}

.wke-uspg--inline .wke-uspg-item { flex-direction: row; align-items: flex-start; text-align: left; }
.wke-uspg--stack .wke-uspg-item  { flex-direction: column; align-items: center; text-align: center; }

/* ---------------- BOXSTIJLEN ---------------- */
/* losse kaarten met schaduw (schaduw komt uit Elementor box-shadow control) */
.wke-uspg--cards .wke-uspg-item {
	box-shadow: 0 4px 18px rgba(0,0,0,.05);
	border: 1px solid rgba(0,0,0,.04);
}

/* omrand */
.wke-uspg--bordered .wke-uspg-item {
	border: 1px solid var(--box-border);
	box-shadow: none;
}

/* minimal */
.wke-uspg--plain .wke-uspg-item {
	background: transparent;
	box-shadow: none;
	padding: 14px 8px;
}

/* één blok met scheidingslijntjes */
.wke-uspg--dividers .wke-uspg-grid {
	gap: 0;
	background: var(--box-bg);
	border: 1px solid var(--box-border);
	border-radius: var(--box-radius);
	overflow: hidden;
	box-shadow: 0 6px 24px rgba(0,0,0,.07);
}
.wke-uspg--dividers .wke-uspg-item {
	background: transparent;
	border-radius: 0;
	box-shadow: none;
	border-right: 1px solid var(--divider);
	border-bottom: 1px solid var(--divider);
}
/* laatste kolom: geen rechterlijn (werkt voor 2 kolommen) */
.wke-uspg--dividers .wke-uspg-item:nth-child(2n) { border-right: none; }
/* laatste rij: geen onderlijn (voor 4 items in 2x2) */
.wke-uspg--dividers .wke-uspg-item:nth-last-child(-n+2) { border-bottom: none; }

/* ---------------- ICOON ---------------- */
.wke-uspg-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-uspg-ico svg { width: var(--icon-size); height: var(--icon-size); display: block; }
.wke-uspg-ico img { width: var(--icon-size); height: var(--icon-size); object-fit: contain; display: block; }

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

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

/* ---------------- TEKST ---------------- */
.wke-uspg-body { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.wke-uspg-item-title {
	margin: 0;
	font-size: 15px;
	font-weight: 600;
	line-height: 1.25;
	letter-spacing: .2px;
	color: #111;
	overflow-wrap: break-word;
	word-break: break-word;
	hyphens: auto;
}
.wke-uspg-item-text {
	margin: 0;
	font-size: 13.5px;
	line-height: 1.5;
	color: #6b6b6b;
	font-weight: 400;
	overflow-wrap: break-word;
}

/* ---------------- HOVER ---------------- */
.wke-uspg--hover-lift .wke-uspg-item:hover { transform: translateY(-5px); }
.wke-uspg--hover-lift.wke-uspg--cards .wke-uspg-item:hover { box-shadow: 0 16px 38px rgba(0,0,0,.12); }

.wke-uspg--hover-pop .wke-uspg-item:hover .wke-uspg-ico { transform: scale(1.12); }

.wke-uspg--hover-fill .wke-uspg-item:hover .wke-uspg-ico {
	background: var(--icon-bg-hover);
	color: var(--icon-hover);
}
.wke-uspg--hover-fill.wke-uspg--shape-none .wke-uspg-item:hover .wke-uspg-ico {
	background: transparent;
	color: var(--icon-bg-hover);
}

/* ---------------- SCROLL-IN ---------------- */
.wke-uspg--anim .wke-uspg-item { opacity: 0; transform: translateY(16px); }
.wke-uspg--anim.is-in .wke-uspg-item {
	animation: wkeUspgIn .55s ease forwards;
	animation-delay: calc(var(--d, 0) * .09s);
}
@keyframes wkeUspgIn { to { opacity: 1; transform: translateY(0); } }

/* ---------------- RESPONSIVE ---------------- */
@media (max-width: 640px) {
	.wke-uspg-grid { gap: 14px; }
	.wke-uspg-item { padding: 20px 18px; }
	.wke-uspg-item-title { font-size: 16px; }
	/* bij 1 kolom: dividers alleen onderlijnen */
	.wke-uspg--dividers .wke-uspg-item { border-right: none; }
	.wke-uspg--dividers .wke-uspg-item:last-child { border-bottom: none; }
	.wke-uspg--dividers .wke-uspg-item:nth-last-child(-n+2) { border-bottom: 1px solid var(--divider); }
	.wke-uspg--dividers .wke-uspg-item:last-child { border-bottom: none; }
}
