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

.ks-collections {
	--gold: #B88A3B;
	--gold-soft: #d6ab63;
	--ov-color: #0a0805;
	--ov-bottom: .9;   /* donkerte onderaan (0-1) */
	--ov-top: 0;       /* donkerte bovenaan (0-1) */
	--ov-start: 35%;   /* vanaf welke hoogte de overlay opbouwt */
	font-family: 'Inter', sans-serif;
	width: 100%;
}

/* ---------- KOP ---------- */
.ks-collections .kscol-header {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	gap: 20px;
	margin-bottom: 20px;
}

/* gecentreerde kop (geen rechterlink) */
.ks-collections.kscol-centered .kscol-header {
	justify-content: center;
	text-align: center;
}

.ks-collections .kscol-header h2 {
	margin: 0;
	font-family: 'Barlow Condensed', sans-serif;
	font-size: 30px;
	line-height: 1;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .5px;
	color: #111;
}

.ks-collections .kscol-viewall {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	font-size: 13px;
	font-weight: 500;
	text-decoration: none;
	color: #111;
	text-transform: uppercase;
	letter-spacing: 1px;
	white-space: nowrap;
}

.ks-collections .kscol-viewall span { color: var(--gold); }

/* ---------- GRID ---------- */
.ks-collections .kscol-grid {
	display: grid;
	grid-template-columns: repeat(var(--cols, 2), 1fr);
	gap: 12px;
}

/* ---------- KAART ---------- */
.ks-collections .kscol-card {
	position: relative;
	display: block;
	height: 300px;
	overflow: hidden;
	border-radius: 6px;
	text-decoration: none;
	background: #1a1712;
	isolation: isolate;
}

.ks-collections .kscol-img {
	position: absolute;
	inset: 0;
	background-color: #2a2520;
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
	transition: transform .55s ease;
}

.ks-collections.kscol-zoom .kscol-card:hover .kscol-img {
	transform: scale(1.06);
}

/* ---------- OVERLAY (gradient) ----------
   Donkerte wordt geregeld via --ov-bottom / --ov-top (0-1) op de gekozen
   --ov-color. --ov-start bepaalt vanaf welke hoogte de donkere zone opbouwt.
   color-mix zet de kleur om naar de juiste doorzichtigheid.                 */
.ks-collections .kscol-grad {
	position: absolute;
	inset: 0;
	z-index: 2;
	pointer-events: none;
	/* Fallback voor zeer oude browsers zonder color-mix */
	background: linear-gradient(to top, rgba(10,8,5,.85) 0%, rgba(10,8,5,0) 55%);
	transition: opacity .45s ease, background .45s ease;
}

/* Onder donker -> boven licht (beste voor leesbaarheid) */
.ks-collections.kscol-ov-bottom .kscol-grad {
	background: linear-gradient(
		to top,
		color-mix(in srgb, var(--ov-color) calc(var(--ov-bottom) * 100%), transparent) 0%,
		color-mix(in srgb, var(--ov-color) calc(var(--ov-bottom) * 55%), transparent) calc(var(--ov-start) * 0.7),
		color-mix(in srgb, var(--ov-color) calc(var(--ov-top) * 100%), transparent) var(--ov-start),
		color-mix(in srgb, var(--ov-color) calc(var(--ov-top) * 100%), transparent) 100%
	);
}

/* Diagonaal (linksonder donker, waar de titel staat) */
.ks-collections.kscol-ov-diagonal .kscol-grad {
	background: linear-gradient(
		225deg,
		color-mix(in srgb, var(--ov-color) calc(var(--ov-top) * 100%), transparent) calc(100% - var(--ov-start) - 30%),
		color-mix(in srgb, var(--ov-color) calc(var(--ov-bottom) * 55%), transparent) calc(100% - var(--ov-start)),
		color-mix(in srgb, var(--ov-color) calc(var(--ov-bottom) * 100%), transparent) 100%
	);
}

/* Egaal: donker onderin -> licht (transparant) helemaal bovenin */
.ks-collections.kscol-ov-full .kscol-grad {
	background: linear-gradient(
		to top,
		color-mix(in srgb, var(--ov-color) calc(var(--ov-bottom) * 100%), transparent) 0%,
		color-mix(in srgb, var(--ov-color) calc(var(--ov-bottom) * 50%), transparent) 50%,
		color-mix(in srgb, var(--ov-color) calc(var(--ov-top) * 100%), transparent) 100%
	);
}

/* Boven én onder donker, midden lichter */
.ks-collections.kscol-ov-topbottom .kscol-grad {
	background: linear-gradient(
		to bottom,
		color-mix(in srgb, var(--ov-color) calc(var(--ov-top) * 100%), transparent) 0%,
		transparent 38%,
		transparent 55%,
		color-mix(in srgb, var(--ov-color) calc(var(--ov-bottom) * 100%), transparent) 100%
	);
}

/* Geen overlay */
.ks-collections.kscol-ov-none .kscol-grad { display: none; }

/* Iets donkerder bij hover */
.ks-collections.kscol-ov-hover .kscol-card:hover .kscol-grad { opacity: 1; filter: brightness(.82); }

.ks-collections .kscol-content {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 3;
	padding: var(--label-pad, 22px);
	text-align: left;
}

.ks-collections .kscol-content h3 {
	margin: 0;
	font-family: 'Barlow Condensed', sans-serif;
	font-size: var(--label-size, 26px);
	line-height: 1;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 1px;
	color: #fff;
}

.ks-collections .kscol-cta {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-top: 8px;
	font-size: 12px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 1.4px;
	color: var(--gold-soft);
	position: relative;
	padding-bottom: 4px;
}

.ks-collections .kscol-arrow {
	display: inline-block;
	transition: transform .3s ease;
}

.ks-collections .kscol-line {
	position: absolute;
	left: 0;
	bottom: 0;
	height: 1.5px;
	width: 0;
	background: var(--gold);
	transition: width .35s ease;
}

.ks-collections .kscol-card:hover .kscol-arrow { transform: translateX(5px); }
.ks-collections .kscol-card:hover .kscol-line  { width: 100%; }

/* ---------- TABLET ---------- */
@media (max-width: 1024px) {
	.ks-collections .kscol-grid { grid-template-columns: repeat(min(var(--cols, 2), 2), 1fr); }
}

/* ---------- MOBIEL ---------- */
@media (max-width: 749px) {
	/* Kop gecentreerd, rechterlink eronder gecentreerd */
	.ks-collections .kscol-header {
		flex-direction: column;
		align-items: center;
		text-align: center;
		gap: 8px;
		margin-bottom: 16px;
	}
	.ks-collections .kscol-header h2 { font-size: 22px; }

	/* 2x2 grid */
	.ks-collections .kscol-grid { grid-template-columns: 1fr 1fr; }

	.ks-collections .kscol-card { height: 230px; }

	.ks-collections .kscol-content { padding: 16px; text-align: left; }

	.ks-collections .kscol-content h3 { font-size: 20px; letter-spacing: .8px; }

	.ks-collections .kscol-cta {
		font-size: 10px;
		letter-spacing: 1.2px;
		padding-bottom: 3px;
		/* op mobiel een vaste gouden onderlijn i.p.v. hover-groei */
		border-bottom: 1.5px solid var(--gold);
	}
	.ks-collections .kscol-line { display: none; }
}
