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

.ks-usp {
	--icon: #B88A3B;
	--icon-hover: #14110c;
	--icon-bg: rgba(184,138,59,.1);
	--icon-bg-hover: #B88A3B;
	--icon-size: 30px;
	--shape-size: 66px;
	--stroke: 1.7;
	--divider: #e7e7e7;
	--card-bg: #fafafa;
	--card-border: #e7e7e7;
	font-family: 'Inter', sans-serif;
	width: 100%;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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