/*
Theme Name: DailyKickz
Theme URI: https://dailykickz.nl
Author: DailyKickz
Description: Eigen thema voor DailyKickz, nagebouwd van de Shopify winkel.
Version: 1.17.5
Requires at least: 6.4
Requires PHP: 7.4
Text Domain: dailykickz
WC requires at least: 8.0
*/

:root {
	--dk-paars: #5b3a82;
	--dk-paars-2: #7247a5;
	--dk-paars-licht: #f4f1ff;
	--dk-lila: #e5d3ea;
	--dk-turq: #2fafa3;
	--dk-turq-2: #36dccd;
	--dk-turq-licht: #e6f7f5;
	--dk-zwart: #1a1a1a;
	--dk-tekst: #3f3f3f;
	--dk-grijs: #6b6b6b;
	--dk-vak: #eeeeee;
	--dk-rand: #e3e3e3;
	--dk-wit: #ffffff;
	--dk-kop: 'Bebas Neue', 'Arial Narrow', sans-serif;
	--dk-body: 'Poppins', system-ui, sans-serif;
	--dk-r: 16px;
	--dk-max: 1600px;
	--dk-zij: 58px;
}
@media (max-width: 989px) { :root { --dk-zij: 16px; } }

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; background: var(--dk-wit); color: var(--dk-tekst); font-family: var(--dk-body); font-size: 14px; line-height: 1.55; -webkit-font-smoothing: antialiased; }
img { max-width: 100%; height: auto; display: block; }
a { color: inherit; text-decoration: none; }
button { font: inherit; color: inherit; cursor: pointer; }
[hidden] { display: none !important; }
s { color: #9a9a9a; }

.dk-wrap { max-width: var(--dk-max); margin: 0 auto; padding: 0 var(--dk-zij); }
.dk-sectie { padding: 52px 0; }
@media (max-width: 749px) { .dk-sectie { padding: 32px 0; } }

.dk-h1 { font-family: var(--dk-kop); font-weight: 400; font-size: clamp(32px, 4vw, 52px); line-height: 1; letter-spacing: .5px; color: var(--dk-zwart); margin: 0 0 12px; }
.dk-h2 { font-family: var(--dk-kop); font-weight: 400; font-size: clamp(26px, 3vw, 38px); line-height: 1; letter-spacing: -.5px; color: var(--dk-zwart); margin: 0; }
.dk-groot { font-size: clamp(34px, 4vw, 48px); letter-spacing: 2px; }
.dk-paars { color: var(--dk-paars); }
.dk-midden { text-align: center; }
.dk-sub { color: var(--dk-grijs); font-size: 14px; margin: 8px 0 0; }
.dk-pil { display: inline-block; background: var(--dk-turq-licht); color: var(--dk-turq); font-size: 10px; font-weight: 600; letter-spacing: 2px; text-transform: uppercase; padding: 5px 12px; border-radius: 40px; margin-bottom: 10px; }

.dk-kop { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; margin-bottom: 16px; }
.dk-kop--midden { flex-direction: column; align-items: center; text-align: center; margin-bottom: 32px; }
.dk-alles { display: inline-flex; align-items: center; gap: 4px; font-family: var(--dk-kop); font-size: 16px; letter-spacing: .5px; color: var(--dk-paars); white-space: nowrap; }
.dk-alles .dk-icoon { width: 16px; height: 16px; }

.dk-knop { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 48px; padding: 0 32px; border-radius: 12px; border: 1px solid transparent; font-family: var(--dk-kop); font-size: 17px; letter-spacing: 1.5px; transition: transform .15s ease, filter .15s ease, background .15s ease; }
.dk-knop:hover { filter: brightness(1.06); transform: translateY(-1px); }
.dk-knop--turquoise { background: linear-gradient(90deg, var(--dk-turq), var(--dk-turq-2)); color: #fff; }
.dk-knop--paars { background: linear-gradient(90deg, var(--dk-paars), var(--dk-paars-2)); color: #fff; }
.dk-knop--rand { border-color: var(--dk-paars); color: var(--dk-paars); background: #fff; }
.dk-knop--vol { width: 100%; }
.dk-rond { width: 56px; height: 56px; border-radius: 50%; border: 1px solid var(--dk-rand); background: #fff; display: grid; place-items: center; transition: background .15s; }
.dk-rond:hover:not(:disabled) { background: #f5f5f5; }
.dk-rond:disabled { opacity: .35; cursor: default; }

/* ================= HEADER ================= */
.dkh { position: sticky; top: 0; z-index: 50; background: #fff; transition: box-shadow .2s; }
.admin-bar .dkh { top: 32px; }
@media (max-width: 782px) { .admin-bar .dkh { top: 0; } }
.dkh.is-gescrold { box-shadow: 0 2px 18px rgba(0,0,0,.06); }
.dkh__balk { max-width: var(--dk-max); margin: 0 auto; padding: 10px var(--dk-zij); display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 16px; min-height: 66px; }
.dkh__burger { display: none; background: none; border: 0; padding: 6px; margin-left: -6px; }
.dkh__logo img { width: 170px; height: auto; display: block; }
.dkh__rechts { display: flex; align-items: center; justify-content: flex-end; gap: 22px; }
.dkh__zoek { display: flex; align-items: center; gap: 8px; border: 1px solid #ddd; border-radius: 40px; padding: 0 14px; height: 44px; width: 170px; transition: width .2s; }
.dkh__zoek { cursor: text; }
.dkh__icoon.dkh__zoek-m { display: none; border: 0; background: none; padding: 0; cursor: pointer; }
.dkh__zoek .dk-icoon { width: 18px; color: #555; flex: none; }
.dkh__zoek input { border: 0; outline: 0; width: 100%; font-family: var(--dk-kop); font-size: 15px; letter-spacing: .5px; background: transparent; }
.dkh__icoon { position: relative; display: grid; place-items: center; width: 36px; height: 36px; color: var(--dk-zwart); }
.dkh__icoon .dk-icoon { width: 25px; height: 25px; }
.dk-teller { position: absolute; top: 0; right: -2px; min-width: 17px; height: 17px; padding: 0 4px; border-radius: 9px; background: var(--dk-paars); color: #fff; font-size: 10px; font-weight: 600; line-height: 17px; text-align: center; }
.dk-teller.is-leeg { display: none; }

.dkh__nav { justify-self: start; }
.dkh__hoofd { display: flex; gap: 44px; list-style: none; margin: 0; padding: 0; }
.dkh__link { display: inline-flex; align-items: center; gap: 8px; font-family: var(--dk-kop); font-size: 16px; letter-spacing: .6px; color: var(--dk-zwart); padding: 20px 0; }
.dkh__link .dk-icoon { width: 16px; height: 16px; transition: transform .2s; }
.dkh__punt.is-open .dkh__link .dk-icoon { transform: rotate(180deg); }
.dkh__paneel { position: absolute; left: 0; right: 0; top: 100%; background: #ededed; color: #1a1a1a; border-radius: 0 0 24px 24px; opacity: 0; visibility: hidden; transform: translateY(-6px); transition: opacity .18s ease, transform .18s ease, visibility 0s linear .18s; z-index: 5; }
.dkh__punt.is-open .dkh__paneel { opacity: 1; visibility: visible; transform: none; transition: opacity .18s ease, transform .18s ease, visibility 0s; }
.dkh__paneel-binnen { max-width: var(--dk-max); margin: 0 auto; padding: 16px var(--dk-zij); display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 64px; }
.dkh__paneel-binnen.is-vol { grid-template-columns: minmax(0, 1fr); }
.dkh__logos { display: grid; grid-template-columns: repeat(var(--kol, 5), minmax(0, 1fr)); row-gap: 56px; column-gap: 18px; align-content: start; padding: 8px 0; }
.dkh__logo-cel { position: relative; display: flex; align-items: center; justify-content: center; height: 88px; transition: opacity .15s ease; color: #1a1a1a; }
.dkh__logo-cel:hover { opacity: .6; }
.dkh__logo-cel img { max-width: 100%; max-height: 100%; width: auto; height: auto; object-fit: contain; filter: grayscale(1); opacity: .6; }
.dkh__logo-tekst { font-weight: 800; font-size: 18px; letter-spacing: .02em; text-transform: uppercase; opacity: .45; text-align: center; line-height: 1.1; }
.dkh__logo-cel[data-dkh-sub] { cursor: pointer; }
.dkh__logo-cel[data-dkh-sub]::after { content: ""; position: absolute; left: 50%; bottom: -6px; width: 7px; height: 7px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: translateX(-50%) rotate(45deg); opacity: .45; }
.dkh__kids { display: inline-block; background: linear-gradient(90deg, #59ADA2, #553B7E); color: #fff; font-family: var(--dk-kop); font-size: 22px; letter-spacing: 2px; border-radius: 40px; padding: 6px 20px; line-height: 1; }
.dkh__lijst { display: grid; grid-template-columns: repeat(var(--kol, 2), minmax(0, 1fr)); row-gap: 20px; column-gap: 40px; align-content: start; padding: 8px 0; }
.dkh__rij { display: flex; align-items: center; gap: 22px; font-size: 18px; color: #1a1a1a; }
.dkh__rij:hover .dkh__rij-titel { text-decoration: underline; text-underline-offset: 3px; }
.dkh__duim { flex: 0 0 64px; width: 64px; height: 64px; display: flex; align-items: center; justify-content: center; }
.dkh__duim img { max-width: 100%; max-height: 100%; object-fit: contain; }
.dkh__icoonblok { flex: 0 0 64px; width: 64px; height: 64px; background: #fff; border-radius: 6px; display: flex; align-items: center; justify-content: center; color: #8a4fd8; }
.dkh__icoonblok svg { width: 28px; height: 28px; }
.dkh__rij.is-knop { padding: 0 22px 0 0; border-radius: 6px; background: linear-gradient(135deg, #2fafa3 0%, #36dccd 100%); color: #fff; box-shadow: 0 8px 20px rgba(47,175,163,.35); }
.dkh__rij.is-knop .dkh__icoonblok { background: rgba(255,255,255,.18); color: #fff; }
.dkh__promos { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; align-content: start; }
.dkh__promo { position: relative; display: block; aspect-ratio: 1 / 1; overflow: hidden; border-radius: 12px; background: rgba(0,0,0,.08); }
.dkh__promo img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.dkh__promo:hover img { transform: scale(1.04); }
.dkh__promo::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to top, rgba(0,0,0,.9) 0%, rgba(0,0,0,0) 55%); }
.dkh__promo-titel { position: absolute; left: 10%; right: 8%; bottom: 9%; z-index: 1; color: #fff; font-size: 30px; font-weight: 500; line-height: 1.1; }
.dkh__promo-titel em { font-family: "Playfair Display", Georgia, "Times New Roman", serif; font-style: italic; font-weight: 400; }
.dkh__sub { position: absolute; left: 0; right: 0; top: 0; min-height: 100%; z-index: 3; background: #fff; border-top: 3px solid #2fafa3; border-radius: 0 0 24px 24px; }
.dkh__sub[hidden] { display: none; }
.dkh__sub-binnen { max-width: var(--dk-max); margin: 0 auto; padding: 26px var(--dk-zij) 14px; }
.dkh__sub-top { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 16px; padding-bottom: 18px; margin-bottom: 26px; border-bottom: 1px solid rgba(0,0,0,.1); }
.dkh__sub-terug { justify-self: start; display: inline-flex; align-items: center; gap: 8px; background: none; border: 0; padding: 0; cursor: pointer; color: inherit; font: inherit; font-family: var(--dk-kop); font-size: 16px; letter-spacing: .06em; text-transform: uppercase; }
.dkh__sub-terug svg, .dkh__sub-alles svg, .dkh__sub-kop svg, .dkh__sub-hoofd svg { width: 16px; height: 16px; flex: none; transition: transform .15s ease; }
.dkh__sub-terug:hover svg { transform: translateX(-3px); }
.dkh__sub-titel { font-family: var(--dk-kop); font-size: 32px; line-height: 1; letter-spacing: .04em; text-transform: uppercase; color: #5b3a82; }
.dkh__sub-alles { justify-self: end; display: inline-flex; align-items: center; gap: 8px; font-family: var(--dk-kop); font-size: 16px; letter-spacing: .06em; text-transform: uppercase; color: #5b3a82; }
.dkh__sub-alles:hover svg { transform: translateX(3px); }
.dkh__sub-hoofd { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 0 0 28px; padding: 16px 22px; background: #5b3a82; color: #fff; border-radius: 10px; font-family: var(--dk-kop); font-size: 22px; line-height: 1; letter-spacing: .05em; text-transform: uppercase; transition: background .15s; }
.dkh__sub-hoofd:hover { background: #4a2f6b; }
.dkh__sub-groepen { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); gap: 56px; padding-bottom: 18px; }
.dkh__sub-groep::before { content: ""; display: block; width: 36px; height: 3px; margin-bottom: 14px; background: #2fafa3; border-radius: 2px; }
.dkh__sub-kop { display: inline-flex; align-items: center; gap: 10px; font-family: var(--dk-kop); font-size: 30px; line-height: 1.05; letter-spacing: .03em; text-transform: uppercase; color: #5b3a82; }
a.dkh__sub-kop:hover svg { transform: translateX(4px); }
.dkh__sub-kop.is-kids { background: linear-gradient(90deg, #59ADA2, #553B7E); color: #fff; border-radius: 40px; padding: 6px 18px; font-size: 24px; }
.dkh__sub-tekst { margin: 6px 0 0; font-family: var(--dk-kop); font-size: 16px; letter-spacing: .03em; text-transform: uppercase; opacity: .55; }
.dkh__sub-lijst { list-style: none; margin: 18px 0 0; padding: 0; }
.dkh__sub-lijst a { display: flex; align-items: center; justify-content: space-between; padding: 12px 0; border-bottom: 1px solid rgba(0,0,0,.1); font-family: var(--dk-kop); font-size: 20px; letter-spacing: .04em; text-transform: uppercase; color: #1a1a1a; transition: color .15s ease; }
.dkh__sub-lijst a::after { content: "\203A"; font-size: 24px; line-height: 1; opacity: .35; transition: transform .15s ease, opacity .15s ease; }
.dkh__sub-lijst a:hover { color: #5b3a82; }
.dkh__sub-lijst a:hover::after { transform: translateX(4px); opacity: 1; color: #2fafa3; }
.dklk { position: relative; display: inline-flex; }
.dklk__knop { display: inline-flex; align-items: center; gap: 8px; background: none; border: 0; padding: 0; cursor: pointer; color: inherit; font: inherit; }
.dklk__knop > svg { width: 11px; height: 11px; transition: transform .2s ease; }
.dklk.is-open .dklk__knop > svg { transform: rotate(180deg); }
.dklk__vlag { flex: 0 0 auto; width: 26px; height: 26px; border-radius: 50%; overflow: hidden; display: block; box-shadow: inset 0 0 0 1px rgba(0,0,0,.08); }
.dklk__vlag--nl { background: linear-gradient(#AE1C28 0 33.3%, #FFFFFF 33.3% 66.6%, #21468B 66.6% 100%); }
.dklk__vlag--de { background: linear-gradient(#000000 0 33.3%, #DD0000 33.3% 66.6%, #FFCE00 66.6% 100%); }
.dklk__vlag--at { background: linear-gradient(#C8102E 0 33.3%, #FFFFFF 33.3% 66.6%, #C8102E 66.6% 100%); }
.dklk__vlag--be { background: linear-gradient(90deg, #000000 0 33.3%, #FDDA24 33.3% 66.6%, #EF3340 66.6% 100%); }
.dklk__menu { position: absolute; top: calc(100% + 12px); right: -8px; z-index: 200; min-width: 220px; background: #fff; color: #1a1a1a; border: 1px solid #e3e3e3; border-radius: 14px; padding: 8px; box-shadow: 0 10px 30px rgba(0,0,0,.08); opacity: 0; visibility: hidden; transform: translateY(-4px); transition: opacity .15s ease, transform .15s ease, visibility 0s linear .15s; }
.dklk.is-open .dklk__menu { opacity: 1; visibility: visible; transform: none; transition: opacity .15s ease, transform .15s ease, visibility 0s; }
.dklk__kop { margin: 6px 10px 8px; font-size: 13px; letter-spacing: .06em; text-transform: uppercase; opacity: .55; }
.dklk__optie { display: flex; align-items: center; gap: 12px; padding: 10px; border-radius: 10px; font-size: 16px; letter-spacing: .03em; color: inherit; text-decoration: none; }
.dklk__optie:hover { background: #f4f4f4; }
.dklk__optie .dklk__vlag { width: 22px; height: 22px; }
.dklk__optie-naam { flex: 1; }
.dklk__optie[aria-current="true"] .dklk__optie-naam { font-weight: 700; }
.dklk__optie[aria-current="true"]::after { content: "\2713"; font-size: 14px; color: #2fafa3; }
.dklk-m { display: none; margin: 26px 16px 0; }
.dklk-m summary { display: flex; align-items: center; justify-content: flex-end; flex-direction: row-reverse; gap: 12px; padding: 8px 0; cursor: pointer; list-style: none; }
.dklk-m summary::-webkit-details-marker { display: none; }
.dklk-m__links { font-size: 11px; opacity: .6; letter-spacing: .1em; text-transform: uppercase; }
.dklk-m summary .dklk__vlag { width: 30px; height: 30px; }
.dklk-m__lijst { padding: 0 0 12px; }
.dklk-m .dklk__optie { padding: 10px 0; font-size: 15px; }
.dklk-m .dklk__optie .dklk__vlag { width: 22px; height: 22px; }
.dkm__link--icoon { justify-content: flex-start; gap: 14px; padding: 6px 0; }
.dkm__link--icoon .dkh__icoonblok { flex-basis: 44px; width: 44px; height: 44px; background: #ededed; }
.dkm__link--icoon.is-knop { justify-content: flex-start; padding: 0 14px 0 0; background: linear-gradient(135deg, #2fafa3 0%, #36dccd 100%); }
.dkm__link--icoon.is-knop .dkh__icoonblok { background: rgba(255,255,255,.18); color: #fff; }
.dkm__promos { margin-top: 16px; gap: 10px; }
.dkm__promos .dkh__promo-titel { font-size: 16px; }
@media (max-width: 989px) { .dkh__rechts .dklk { display: none !important; } .dklk-m { display: block; } }

/* Mobiel menu */
.dkm { position: fixed; inset: 0 auto 0 0; width: min(420px, 88vw); background: #fff; z-index: 60; overflow-y: auto; transform: translateX(-100%); transition: transform .25s ease; padding: 0 0 40px; }
.dkm-open .dkm { transform: none; }
.dkm__schaduw { position: fixed; inset: 0; background: rgba(0,0,0,.4); z-index: 55; opacity: 0; transition: opacity .25s; }
.dkm-open .dkm__schaduw { opacity: 1; }
.dkm-open { overflow: hidden; }
.dkm__kop { display: flex; align-items: center; justify-content: space-between; padding: 14px 16px; border-bottom: 1px solid #f0f0f0; }
.dkm__logo { height: 24px; width: auto; }
.dkm__sluit { border: 0; background: none; padding: 6px; }
.dkm__zoek { display: flex; align-items: center; gap: 8px; margin: 14px 16px; border: 1px solid #ddd; border-radius: 40px; padding: 0 14px; height: 46px; }
.dkm__zoek input { border: 0; outline: 0; width: 100%; font-size: 15px; background: transparent; }
.dkm__lijst { list-style: none; margin: 0; padding: 0 16px; }
.dkm__hoofd { display: flex; align-items: center; justify-content: space-between; padding: 14px 0; border-bottom: 1px solid #f2f2f2; font-family: var(--dk-kop); font-size: 24px; letter-spacing: .6px; color: var(--dk-zwart); list-style: none; cursor: pointer; }
.dkm__hoofd::-webkit-details-marker, .dkm__link::-webkit-details-marker { display: none; }
details[open] > .dkm__hoofd .dk-icoon, details[open] > .dkm__link .dk-icoon { transform: rotate(180deg); }
.dkm__inhoud { padding: 6px 0 12px; }
.dkm__link { display: flex; align-items: center; justify-content: space-between; padding: 11px 4px; font-size: 15px; color: #333; list-style: none; cursor: pointer; }
.dkm__link.is-alles, .dkm__sublink.is-alles { font-weight: 600; color: var(--dk-paars); }
.dkm__link.is-knop { justify-content: center; background: linear-gradient(90deg, var(--dk-paars), var(--dk-paars-2)); color: #fff; border-radius: 10px; margin: 6px 0 10px; font-family: var(--dk-kop); font-size: 19px; letter-spacing: 1px; }
.dkm__sub { padding-left: 4px; }
.dkm__sublink { display: block; padding: 8px 14px; font-size: 14px; color: #444; }
.dkm__sublink.is-groep { font-family: var(--dk-kop); font-size: 17px; letter-spacing: .5px; color: var(--dk-paars); padding-top: 12px; }

@media (max-width: 989px) {
	.dkh__balk { grid-template-columns: auto 1fr auto; min-height: 58px; padding-top: 6px; padding-bottom: 6px; }
	.dkh__burger { display: grid; place-items: center; }
	.dkh__nav { display: none; }
	.dkh__logo { justify-self: center; }
	.dkh__logo img { width: 120px; height: auto; }
	.dkh__zoek { display: none; }
	.dkh__icoon.dkh__zoek-m { display: grid; }
	.dkh__rechts { gap: 6px; }
}

/* ================= HOMEPAGE ================= */
.dk-hero { padding: 0 0 8px; }
.dk-marquee { overflow: hidden; background: var(--dk-paars); color: #fff; border-radius: var(--dk-r) var(--dk-r) 0 0; }
.dk-marquee__baan { display: flex; gap: 40px; width: max-content; padding: 7px 0; animation: dk-loop 28s linear infinite; font-family: var(--dk-body); font-weight: 700; font-size: 11px; letter-spacing: 1.5px; }
.dk-marquee__baan span::after { content: '•'; margin-left: 40px; opacity: .7; }
@keyframes dk-loop { to { transform: translateX(-50%); } }
.dk-hero__beeld { position: relative; display: block; overflow: hidden; border-radius: 0 0 var(--dk-r) var(--dk-r); background: #f2f2f2; }
.dk-hero__beeld img { width: 100%; height: auto; }
.dk-hero__knop { position: absolute; left: 50%; bottom: 9%; transform: translateX(-50%); display: inline-flex; align-items: center; gap: 8px; background: #fff; color: var(--dk-zwart); border-radius: 40px; padding: 12px 28px; font-family: var(--dk-body); font-weight: 700; font-size: 13px; letter-spacing: 2px; transition: background .15s, color .15s; }
.dk-hero__beeld:hover .dk-hero__knop { background: var(--dk-paars); color: #fff; }

.dk-tegels__baan { display: grid; grid-template-columns: repeat(9, 1fr); gap: 18px; }
.dk-tegel { display: flex; flex-direction: column; align-items: center; gap: 12px; text-align: center; }
.dk-tegel__vak { display: grid; place-items: center; width: 100%; aspect-ratio: 1; background: #f2f2f2; border-radius: var(--dk-r); overflow: hidden; transition: background .15s; }
.dk-tegel__vak img { width: 90%; height: 90%; object-fit: contain; transition: transform .3s; }
.dk-tegel:hover .dk-tegel__vak { background: #e8e8e8; }
.dk-tegel:hover img { transform: scale(1.06); }
.dk-tegel__naam { font-size: 12px; color: #3e3e3e; }
@media (max-width: 989px) {
	.dk-tegels__baan { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; margin: 0 calc(var(--dk-zij) * -1); padding: 0 var(--dk-zij); }
	.dk-tegels__baan::-webkit-scrollbar { display: none; }
	.dk-tegel { flex: 0 0 calc((100% - 36px) / 3.5); scroll-snap-align: start; }
	.dk-tegel__naam { font-size: 10px; }
}

.dk-promos { padding-top: 12px; padding-bottom: 12px; }
.dk-promos__baan { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.dk-promo { position: relative; display: flex; align-items: center; gap: 16px; height: 120px; padding: 10px; background: #fff; border: 1px solid var(--dk-lila); border-radius: var(--dk-r); transition: transform .2s, box-shadow .2s; }
.dk-promo:hover { transform: translateY(-3px); box-shadow: 0 12px 24px rgba(91,58,130,.08); }
.dk-promo__foto { flex: 0 0 100px; height: 100%; background: var(--dk-paars-licht); border-radius: 12px; display: grid; place-items: center; overflow: hidden; }
.dk-promo__foto img { width: 86%; height: 86%; object-fit: contain; transition: transform .3s; }
.dk-promo:hover .dk-promo__foto img { transform: scale(1.06); }
.dk-promo__tekst { display: flex; flex-direction: column; gap: 4px; flex: 1; }
.dk-promo__titel { font-size: 11px; font-weight: 600; letter-spacing: 3px; color: #313030; text-transform: uppercase; }
.dk-promo__cta { font-family: var(--dk-kop); font-size: 22px; letter-spacing: 1.5px; color: var(--dk-paars); }
.dk-promo__pijl { flex: none; width: 34px; height: 34px; border-radius: 50%; display: grid; place-items: center; color: #fff; background: linear-gradient(135deg, var(--dk-turq), var(--dk-turq-2)); margin-right: 10px; }
@media (max-width: 749px) {
	.dk-promos__baan { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; margin: 0 calc(var(--dk-zij) * -1); padding: 0 var(--dk-zij); gap: 14px; }
	.dk-promo { flex: 0 0 85%; height: 100px; scroll-snap-align: start; }
	.dk-promo__foto { flex-basis: 80px; }
	.dk-promo__cta { font-size: 18px; }
}

/* Productkaart */
.dk-kaart { display: flex; flex-direction: column; height: 100%; background: var(--dk-vak); border-radius: 10px; overflow: hidden; color: var(--dk-tekst); }
.dk-kaart__beeld { position: relative; display: block; aspect-ratio: 1; padding: 8px; overflow: hidden; }
.dk-kaart__beeld img { width: 100%; height: 100%; object-fit: contain; mix-blend-mode: multiply; transition: transform .35s ease; }
.dk-kaart:hover .dk-kaart__beeld img { transform: scale(1.05); }
.dk-kaart__info { display: flex; flex-direction: column; justify-content: space-between; gap: 14px; flex: 1; padding: 18px 22px 22px; border-top: 1px solid rgba(0,0,0,.04); }
.dk-kaart__titel { font-size: 13px; line-height: 1.35; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.dk-kaart__prijs { font-size: 12px; color: #7a7a7a; }
.dk-kaart__prijs s { margin-left: 6px; }
.dk-label { position: absolute; top: 12px; left: 12px; font-size: 11px; font-weight: 600; border-radius: 40px; padding: 4px 10px; }
.dk-label--sale { background: var(--dk-paars); color: #fff; }
.dk-label--uit { left: auto; right: 12px; background: #fff; color: #777; }
@media (max-width: 749px) {
	.dk-kaart__info { padding: 14px 14px 16px; }
	.dk-kaart__titel { font-size: 12px; }
	.dk-kaart__prijs { font-size: 11px; }
}

/* Slider */
.dk-slider__baan { display: grid; grid-auto-flow: column; grid-auto-columns: calc((100% - 50px) / 6); gap: 10px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
.dk-slider__baan::-webkit-scrollbar { display: none; }
.dk-slider__item { scroll-snap-align: start; min-width: 0; }
.dk-slider__nav { display: flex; align-items: center; gap: 18px; margin-top: 36px; }
.dk-slider__balk { position: relative; flex: 1; height: 3px; background: #e6e6e6; border-radius: 3px; overflow: hidden; }
.dk-slider__balk span { position: absolute; top: 0; bottom: 0; background: var(--dk-zwart); border-radius: 3px; transition: left .15s; }
@media (max-width: 989px) { .dk-slider__baan { grid-auto-columns: calc((100% - 20px) / 3); } }
@media (max-width: 749px) {
	.dk-slider__baan { grid-auto-columns: 44%; margin: 0 calc(var(--dk-zij) * -1); padding: 0 var(--dk-zij); scroll-padding: 0 var(--dk-zij); }
	.dk-slider__nav .dk-rond { display: none; }
	.dk-slider__nav { margin-top: 24px; }
}

/* Onze bestsellers */
.dk-look__grid { display: grid; grid-template-columns: 45% 1fr; gap: 32px; align-items: start; }
.dk-look__foto { position: relative; display: block; border-radius: var(--dk-r); overflow: hidden; aspect-ratio: 1; }
.dk-look__foto img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s; }
.dk-look__foto:hover img { transform: scale(1.03); }
.dk-look__overlay { position: absolute; inset: auto 0 0 0; padding: 30px; background: linear-gradient(transparent, rgba(30,15,50,.75)); color: #fff; display: flex; flex-direction: column; }
.dk-look__label { font-size: 11px; font-weight: 700; letter-spacing: 2px; display: flex; align-items: center; gap: 8px; }
.dk-look__label::before { content: ''; width: 12px; height: 12px; border-radius: 50%; background: var(--dk-turq); box-shadow: 0 0 0 3px rgba(47,175,163,.35); }
.dk-look__titel { font-family: var(--dk-kop); font-size: 38px; letter-spacing: 1px; line-height: 1.1; }
.dk-look__lijst { display: flex; flex-direction: column; gap: 14px; }
.dk-look__lijst .dk-pil { align-self: flex-start; }
.dk-look__lijst .dk-sub { margin-bottom: 10px; }
.dk-look__item { display: flex; align-items: center; gap: 22px; padding: 14px; border: 1px solid var(--dk-lila); border-radius: var(--dk-r); background: #fff; transition: border-color .15s, box-shadow .15s; }
.dk-look__item:hover { border-color: var(--dk-paars); box-shadow: 0 8px 18px rgba(91,58,130,.06); }
.dk-look__thumb { position: relative; flex: 0 0 112px; aspect-ratio: 1; background: var(--dk-paars-licht); border-radius: 12px; padding: 10px; }
.dk-look__thumb img { width: 100%; height: 100%; object-fit: contain; mix-blend-mode: multiply; }
.dk-look__nr { position: absolute; top: 6px; left: 6px; background: var(--dk-paars); color: #fff; font-family: var(--dk-kop); font-size: 13px; padding: 1px 5px; border-radius: 4px; z-index: 1; }
.dk-look__info { flex: 1; display: flex; flex-direction: column; gap: 3px; }
.dk-look__merk { font-weight: 700; font-size: 13px; letter-spacing: 1px; color: #000; }
.dk-look__naam { font-size: 10px; letter-spacing: .3px; text-transform: uppercase; color: #5c5c5c; }
.dk-look__prijs { font-weight: 700; font-size: 14px; color: var(--dk-paars); }
.dk-look__prijs s { font-weight: 400; font-size: 11px; }
.dk-rondje { flex: none; width: 32px; height: 32px; border-radius: 50%; display: grid; place-items: center; background: var(--dk-turq); color: #fff; }
@media (max-width: 749px) {
	.dk-look__grid { grid-template-columns: 1fr; gap: 24px; }
	.dk-look__foto { aspect-ratio: 4 / 5; }
	.dk-look__titel { font-size: 26px; }
	.dk-look__thumb { flex-basis: 80px; }
	.dk-look__item { gap: 14px; padding: 10px; }
	.dk-look__merk { font-size: 10px; }
}

/* Trending brands */
.dk-trend__grid { display: grid; grid-template-columns: 2fr 1fr 1fr; grid-template-rows: auto auto; gap: 22px; }
.dk-trend__tegel { position: relative; display: block; border-radius: 28px; overflow: hidden; background: #2b2336; aspect-ratio: 1; transition: transform .25s; }
.dk-trend__tegel:hover { transform: translateY(-4px); }
.dk-trend__tegel img { width: 100%; height: 100%; object-fit: cover; object-position: center 25%; transition: transform .5s; }
.dk-trend__tegel:hover img { transform: scale(1.05); }
.dk-trend__tegel--0 { grid-row: span 2; aspect-ratio: auto; }
.dk-trend__tegel--3 { grid-column: span 2; aspect-ratio: 2 / 1; }
.dk-trend__naam { position: absolute; left: 22px; bottom: 20px; color: #fff; font-family: var(--dk-kop); font-size: 26px; letter-spacing: 2px; text-shadow: 0 2px 12px rgba(0,0,0,.4); }
.dk-trend__pijl { position: absolute; right: 18px; bottom: 18px; width: 46px; height: 46px; border-radius: 50%; display: grid; place-items: center; background: linear-gradient(135deg, var(--dk-turq), var(--dk-turq-2)); color: #fff; }
@media (max-width: 749px) {
	.dk-trend__grid { grid-template-columns: 1fr 1fr; gap: 12px; }
	.dk-trend__tegel { border-radius: 22px; }
	.dk-trend__tegel--0 { grid-row: auto; grid-column: span 2; aspect-ratio: 1; }
	.dk-trend__tegel--3 { aspect-ratio: 8 / 7; }
	.dk-trend__naam { font-size: 18px; left: 14px; bottom: 14px; }
	.dk-trend__pijl { width: 36px; height: 36px; }
}

/* Pillen */
.dk-pillen { padding-bottom: 80px; }
.dk-pillen .dk-h2 { margin-bottom: 20px; }
.dk-pillen__baan { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; }
.dk-pil-groot { display: inline-flex; align-items: center; gap: 14px; height: 58px; padding: 0 22px 0 6px; border: 1px solid var(--dk-lila); border-radius: 60px; background: #fff; font-family: var(--dk-kop); font-size: 18px; letter-spacing: .6px; color: var(--dk-zwart); transition: background .15s; }
.dk-pil-groot:hover { background: var(--dk-paars-licht); }
.dk-pil-groot__foto { width: 46px; height: 46px; border-radius: 50%; background: var(--dk-paars-licht); display: grid; place-items: center; overflow: hidden; }
.dk-pil-groot__foto img { width: 80%; height: 80%; object-fit: contain; mix-blend-mode: multiply; }
.dk-pil-groot .dk-pijl { color: var(--dk-turq); }
@media (max-width: 749px) {
	.dk-pillen__baan { flex-wrap: nowrap; justify-content: flex-start; overflow-x: auto; margin: 0 calc(var(--dk-zij) * -1); padding: 0 var(--dk-zij); scrollbar-width: none; }
	.dk-pil-groot { flex: none; height: 50px; font-size: 16px; }
}

/* Merkgrid */
.dk-merkgrid { padding-bottom: 92px; }
.dk-merkgrid__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 32px; }
.dk-merkgrid__tegel { aspect-ratio: 2 / 1; border-radius: var(--dk-r); background: #f2f2f2; display: grid; place-items: center; transition: background .15s; }
.dk-merkgrid__tegel:hover { background: #e8e8e8; }
.dk-merkgrid__tegel img { max-width: 35%; max-height: 45%; object-fit: contain; filter: grayscale(1) brightness(.2); transition: transform .3s; }
.dk-merkgrid__tegel:hover img { transform: scale(1.06); }
@media (max-width: 749px) { .dk-merkgrid__grid { grid-template-columns: 1fr 1fr; gap: 12px; } .dk-merkgrid { padding-bottom: 32px; } }

/* Nieuwsbrief */
.dk-nb { padding-top: 0; }
.dk-nb__balk { display: flex; align-items: center; justify-content: space-between; gap: 32px; background: #f0eaf7; border-radius: var(--dk-r); padding: 38px 44px; }
.dk-nb__kop { margin: 0 0 4px; font-family: var(--dk-kop); font-weight: 400; font-size: 34px; letter-spacing: .5px; color: var(--dk-tekst); white-space: nowrap; }
.dk-nb__kop span { color: #a64fd6; }
.dk-nb__tekst p { margin: 0; font-size: 12px; }
.dk-nb__form { position: relative; display: flex; gap: 14px; flex: 0 1 560px; flex-wrap: wrap; }
.dk-nb__form input { flex: 1; min-width: 0; height: 56px; border: 0; border-radius: 40px; padding: 0 24px; font-size: 16px; font-family: var(--dk-body); outline: 0; }
.dk-nb__form .dk-knop { border-radius: 40px; height: 56px; font-family: var(--dk-body); font-weight: 600; letter-spacing: 0; font-size: 16px; }
.dk-nb__ok, .dk-nb__fout { flex-basis: 100%; margin: 0; font-size: 14px; }
.dk-nb__fout { color: #a32b24; }
@media (max-width: 749px) {
	.dk-nb__balk { flex-direction: column; text-align: center; padding: 28px 22px; gap: 18px; }
	.dk-nb__kop { font-size: 28px; }
	.dk-nb__form { width: 100%; }
	.dk-nb__form .dk-knop { width: 100%; }
}

/* FAQ + USPs */
.dk-faq { padding-top: 24px; }
.dk-faq__grid { display: grid; grid-template-columns: 45% 1fr; gap: 84px; max-width: 1360px; }
.dk-faq__usps { display: flex; flex-direction: column; gap: 12px; align-self: center; }
.dk-usp { display: flex; align-items: center; gap: 35px; padding: 20px; border: 1px solid var(--dk-lila); border-radius: var(--dk-r); background: #fff; transition: border-color .15s; }
.dk-usp:hover { border-color: var(--dk-paars); }
.dk-usp__icoon { flex: 0 0 56px; height: 56px; border-radius: 14px; background: var(--dk-paars-licht); color: var(--dk-paars); display: grid; place-items: center; }
.dk-usp__icoon .dk-icoon { width: 26px; height: 26px; }
.dk-usp__titel { display: block; font-family: var(--dk-kop); font-weight: 400; font-size: 22px; letter-spacing: .5px; color: #2c2c2c; }
.dk-usp__tekst { display: block; font-size: 13px; color: var(--dk-grijs); }
.dk-faq__vragen .dk-h2 { margin-bottom: 22px; }
.dk-vraag { border: 1px solid var(--dk-lila); border-radius: 14px; background: #fff; margin-bottom: 10px; transition: border-color .15s, background .15s; }
.dk-vraag[open] { border-color: var(--dk-paars); background: #faf8fd; }
.dk-vraag summary, .dk-vak summary { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 18px; font-size: 14px; color: #222; cursor: pointer; list-style: none; }
.dk-vraag summary::-webkit-details-marker, .dk-vak summary::-webkit-details-marker { display: none; }
.dk-vraag__plus { position: relative; flex: none; width: 25px; height: 25px; border-radius: 50%; background: var(--dk-paars-licht); }
.dk-vraag__plus::before, .dk-vraag__plus::after { content: ''; position: absolute; left: 50%; top: 50%; width: 10px; height: 1.5px; background: var(--dk-paars); transform: translate(-50%, -50%); transition: transform .2s; }
.dk-vraag__plus::after { transform: translate(-50%, -50%) rotate(90deg); }
details[open] > summary .dk-vraag__plus::after { transform: translate(-50%, -50%) rotate(0); }
.dk-vraag__antw { padding: 0 18px 18px; font-size: 13px; line-height: 1.6; color: #5c5c5c; }
.dk-vraag__antw p { margin: 0 0 10px; }
.dk-vraag__antw a { color: var(--dk-paars); text-decoration: underline; }
.dk-faq__hint { margin: 28px 0 10px; font-size: 13px; color: var(--dk-grijs); }
.dk-faq__knoppen { display: flex; gap: 10px; flex-wrap: wrap; }
.dk-faq__knoppen .dk-knop { flex: 1; min-height: 44px; font-size: 15px; }
@media (max-width: 989px) {
	.dk-faq__grid { grid-template-columns: 1fr; gap: 24px; }
	.dk-usp { gap: 16px; padding: 12px; }
	.dk-usp__icoon { flex-basis: 50px; height: 50px; }
	.dk-usp__titel { font-size: 18px; }
	.dk-usp__tekst { font-size: 11px; }
	.dk-vraag summary { padding: 12px; font-size: 12px; }
}

/* ================= COLLECTIE ================= */
.dk-collectie__kop { margin: 8px 0 16px; }
.dk-collectie__tekst { max-width: 760px; color: var(--dk-grijs); font-size: 13px; }
.dk-collectie__pillen { display: flex; gap: 8px; overflow-x: auto; scrollbar-width: none; padding-bottom: 6px; margin-bottom: 18px; }
.dk-chip { flex: none; padding: 9px 18px; border: 1px solid var(--dk-lila); border-radius: 40px; font-size: 13px; background: #fff; transition: background .15s, border-color .15s; }
.dk-chip:hover, .dk-chip.is-actief { background: var(--dk-paars); border-color: var(--dk-paars); color: #fff; }
.dk-collectie__balk { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 12px 0; border-top: 1px solid #f0f0f0; margin-bottom: 16px; }
.dk-collectie__aantal { font-size: 13px; color: #888; }
.woocommerce-ordering select { appearance: none; border: 1px solid #ddd; border-radius: 40px; padding: 10px 38px 10px 16px; font: inherit; font-size: 13px; background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23333' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 14px center; }
.woocommerce-ordering { margin: 0; }
.dk-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; }
@media (max-width: 989px) { .dk-grid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 749px) { .dk-grid { grid-template-columns: repeat(2, 1fr); gap: 8px; } }
.woocommerce-pagination { margin: 40px 0 20px; text-align: center; }
.woocommerce-pagination ul { display: inline-flex; gap: 6px; list-style: none; padding: 0; margin: 0; border: 0 !important; }
.woocommerce-pagination li { border: 0 !important; }
.woocommerce-pagination a, .woocommerce-pagination span { display: grid; place-items: center; min-width: 42px; height: 42px; padding: 0 10px; border-radius: 40px; border: 1px solid #e3e3e3; font-size: 14px; }
.woocommerce-pagination .current { background: var(--dk-paars); border-color: var(--dk-paars); color: #fff; }
.dk-leeg { padding: 40px 0; color: #888; }

/* ================= PRODUCT ================= */
.dk-product { padding-bottom: 40px; }

.dk-koop { padding-top: 10px; }
.dk-koop__titel { font-family: var(--dk-kop); font-weight: 400; font-size: clamp(26px, 2.4vw, 34px); line-height: 1.05; letter-spacing: .3px; color: var(--dk-zwart); margin: 0 0 12px; text-transform: uppercase; }
.dk-koop__prijsrij { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-bottom: 16px; }
.dk-koop__prijs { font-family: var(--dk-kop); font-size: 34px; line-height: 1; color: var(--dk-zwart); }
.dk-koop__oud { font-size: 14px; }
.dk-badge { font-family: var(--dk-kop); font-size: 15px; letter-spacing: 1.5px; padding: 3px 10px; border-radius: 4px; color: #fff; }
.dk-badge--paars { background: linear-gradient(90deg, var(--dk-paars), var(--dk-paars-2)); }
.dk-badge--turquoise { background: linear-gradient(90deg, var(--dk-turq), var(--dk-turq-2)); }
.dk-klarna { border: 1px solid #e5e5e5; border-radius: 8px; padding: 10px 14px; font-size: 13px; margin-bottom: 18px; }
.dk-klarna__logo { display: inline-block; background: #ffb3c7; color: #0b051d; font-weight: 700; font-size: 11px; padding: 1px 6px; border-radius: 4px; }
.dk-varianten { display: grid; grid-template-columns: repeat(5, 1fr); gap: 8px; margin-bottom: 20px; }
.dk-variant { aspect-ratio: 1; border: 1px solid #e5e5e5; border-radius: 10px; background: #eee; padding: 6px; transition: border-color .15s; }
.dk-variant img { width: 100%; height: 100%; object-fit: contain; mix-blend-mode: multiply; }
.dk-variant:hover, .dk-variant.is-actief { border: 2px solid var(--dk-paars); background: var(--dk-paars-licht); }

/* Variatieformulier */
.dk-koop__form table.variations { width: 100%; border-collapse: collapse; margin: 0; }
.dk-koop__form table.variations tr { display: block; margin-bottom: 14px; }
.dk-koop__form table.variations th, .dk-koop__form table.variations td { display: block; padding: 0; text-align: left; }
.dk-koop__form table.variations th label { display: block; font-family: var(--dk-kop); font-size: 18px; font-weight: 400; letter-spacing: .6px; margin-bottom: 8px; color: var(--dk-zwart); }
.dk-select-verborgen { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.reset_variations { display: none !important; }
.dk-maten { display: grid; grid-template-columns: repeat(7, 1fr); gap: 6px; }
.dk-maat { position: relative; height: 52px; border: 1px solid #ddd; border-radius: 6px; background: #fff; font-size: 13px; transition: border-color .12s, background .12s; }
.dk-maat::before { content: ''; position: absolute; top: 7px; left: 7px; width: 6px; height: 6px; border-radius: 50%; background: var(--dk-turq); }
.dk-maat:hover { border-color: var(--dk-paars); }
.dk-maat.is-gekozen { border: 2px solid var(--dk-paars); background: var(--dk-paars-licht); color: var(--dk-paars); font-weight: 600; }
.dk-maat.is-uit { color: #bbb; background: #fafafa; text-decoration: line-through; cursor: not-allowed; }
.dk-maat.is-uit::before { display: none; }
.dk-maat-fout { color: #a32b24; font-size: 13px; margin: 8px 0 0; }
.single_variation_wrap .woocommerce-variation-price, .single_variation_wrap .woocommerce-variation-availability p.stock.in-stock { display: none; }
.single_variation_wrap .woocommerce-variation-description { font-size: 13px; }
.dk-koop__form .stock.out-of-stock { color: #a32b24; font-size: 13px; }
.dk-koop__form .quantity { display: none; }
.dk-koop__form .single_add_to_cart_button { width: 100%; height: 58px; border: 0; border-radius: 12px; background: linear-gradient(90deg, var(--dk-turq), var(--dk-turq-2)) !important; color: #fff !important; font-family: var(--dk-kop); font-size: 22px; letter-spacing: 5px; margin-top: 10px; transition: filter .15s, transform .15s; }
.dk-koop__form .single_add_to_cart_button:hover { filter: brightness(1.05); transform: translateY(-1px); }
.dk-koop__form .single_add_to_cart_button.disabled { opacity: .9; }
.dk-koop__form .woocommerce-variation-add-to-cart, .dk-koop__form form.cart:not(.variations_form) { display: block; }
.dk-lever { display: flex; align-items: center; gap: 8px; margin: 12px 0 0; font-size: 12px; color: #444; }
.dk-lever__stip { width: 7px; height: 7px; border-radius: 50%; background: #22c55e; box-shadow: 0 0 0 3px rgba(34,197,94,.18); }
.dk-lever--normaal .dk-lever__stip { background: var(--dk-turq); box-shadow: 0 0 0 3px rgba(47,175,163,.18); }
.dk-advies { display: flex; gap: 14px; align-items: center; margin-top: 16px; padding: 14px 18px; border-left: 3px solid var(--dk-paars); border-radius: 8px; background: linear-gradient(90deg, #f6f3ff, #fbf0ff); font-size: 14px; }
.dk-advies strong { font-family: var(--dk-kop); font-weight: 400; font-size: 16px; letter-spacing: 1px; color: var(--dk-paars); }
.dk-advies__i { flex: none; width: 36px; height: 36px; border-radius: 8px; background: var(--dk-paars); color: #fff; display: grid; place-items: center; font-weight: 700; }
.dk-betaalstrip { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px; margin: 16px 0; }
.dk-betaalstrip span, .dkf__betaal span { font-size: 10px; font-weight: 600; padding: 5px 8px; border: 1px solid #e5e5e5; border-radius: 4px; background: #fff; color: #333; }
.dk-echt { display: flex; gap: 14px; align-items: center; padding: 16px; border: 1px solid #e5e5e5; border-radius: 12px; margin-bottom: 18px; }
.dk-echt__foto { position: relative; flex: 0 0 56px; height: 56px; border-radius: 10px; background: var(--dk-paars-licht); padding: 4px; }
.dk-echt__foto img { width: 100%; height: 100%; object-fit: contain; mix-blend-mode: multiply; }
.dk-echt__vink { position: absolute; top: -6px; right: -6px; width: 20px; height: 20px; border-radius: 50%; background: var(--dk-turq); color: #fff; display: grid; place-items: center; }
.dk-echt__vink .dk-icoon { width: 12px; height: 12px; stroke-width: 3; }
.dk-echt__titel { display: block; font-family: var(--dk-kop); font-weight: 400; font-size: 19px; letter-spacing: .5px; color: var(--dk-zwart); }
.dk-echt__tekst { display: block; font-size: 13px; color: #555; }
.dk-vak { border-top: 1px solid #ececec; }
.dk-vak:last-child { border-bottom: 1px solid #ececec; }
.dk-vak summary { padding: 16px 0; font-size: 15px; font-weight: 500; }
.dk-vak__inhoud { padding: 0 0 18px; font-size: 13px; line-height: 1.65; color: #444; }
.dk-vak__inhoud a { color: var(--dk-paars); text-decoration: underline; }
@media (max-width: 989px) {
	.dk-maten { grid-template-columns: repeat(5, 1fr); }
	.dk-varianten { grid-template-columns: repeat(5, 1fr); }
}

/* ================= PAGINA'S / WINKELWAGEN / CHECKOUT ================= */
.dk-pagina { padding-top: 32px; padding-bottom: 60px; }
.dk-tekst { max-width: 860px; }
.dk-pagina--winkel .dk-tekst { max-width: none; }
.dk-tekst a { color: var(--dk-paars); text-decoration: underline; }
.dk-tekst h2, .dk-tekst h3 { font-family: var(--dk-kop); font-weight: 400; color: var(--dk-zwart); letter-spacing: .5px; }
.dk-tekst h2 { font-size: 28px; margin: 32px 0 8px; }
.dk-tekst h3 { font-size: 22px; margin: 24px 0 6px; }
.dk-404 { text-align: center; padding: 80px 16px; }

.woocommerce-message, .woocommerce-info, .woocommerce-error { list-style: none; margin: 0 0 20px; padding: 14px 18px; border-radius: 10px; background: var(--dk-paars-licht); border-left: 3px solid var(--dk-paars); font-size: 14px; }
.woocommerce-error { background: #fdf0ef; border-color: #a32b24; }
.woocommerce-message .button, .woocommerce-info .button { float: right; color: var(--dk-paars); font-weight: 600; }

/* Blok-winkelwagen en -checkout van WooCommerce in DailyKickz stijl */
.wc-block-components-button:not(.is-link), .wc-block-cart__submit-button, .wc-block-components-checkout-place-order-button { background: linear-gradient(90deg, var(--dk-turq), var(--dk-turq-2)) !important; color: #fff !important; border: 0 !important; border-radius: 12px !important; font-family: var(--dk-kop) !important; font-size: 20px !important; letter-spacing: 3px !important; min-height: 54px; }
.wc-block-components-product-name { color: var(--dk-zwart) !important; font-weight: 500; text-decoration: none !important; }
.wc-block-components-totals-item__label, .wc-block-components-totals-footer-item { font-family: var(--dk-body); }
.wc-block-cart-item__image img { background: #eee; border-radius: 8px; mix-blend-mode: multiply; }
.wc-block-components-text-input input, .wc-block-components-combobox .components-combobox-control__input, .wc-block-components-form .wc-block-components-text-input input { border-radius: 10px !important; }
.wc-block-components-radio-control__option-checked, .wc-block-components-radio-control-accordion-option--checked-option-highlighted { box-shadow: inset 0 0 0 2px var(--dk-paars) !important; }
.wp-block-woocommerce-checkout, .wp-block-woocommerce-cart { font-family: var(--dk-body); }

/* Klassieke formulieren (account) */
.woocommerce form .input-text, .woocommerce form select { width: 100%; height: 48px; border: 1px solid #ddd; border-radius: 10px; padding: 0 14px; font: inherit; }
.woocommerce .button, .woocommerce button.button { display: inline-flex; align-items: center; justify-content: center; min-height: 46px; padding: 0 24px; border: 0; border-radius: 10px; background: var(--dk-paars); color: #fff; font-family: var(--dk-kop); font-size: 17px; letter-spacing: 1.5px; }
.woocommerce-MyAccount-navigation ul { list-style: none; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 24px; }
.woocommerce-MyAccount-navigation a { display: block; padding: 9px 16px; border: 1px solid var(--dk-lila); border-radius: 40px; font-size: 13px; text-decoration: none !important; color: var(--dk-tekst) !important; }
.woocommerce-MyAccount-navigation .is-active a { background: var(--dk-paars); color: #fff !important; border-color: var(--dk-paars); }

/* ================= FOOTER ================= */
.dkf { background: #111; color: #cfcfcf; padding: 56px 0 24px; margin-top: 40px; font-size: 13px; }
.dkf__grid { display: grid; grid-template-columns: 1.2fr 1fr 1fr; gap: 40px; }
.dkf__logo { height: 34px; width: auto; margin-bottom: 18px; }
.dkf__kop { margin: 18px 0 8px; color: #fff; font-family: var(--dk-kop); font-size: 18px; letter-spacing: .6px; }
.dkf__social { display: inline-grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; background: #222; color: #fff; }
.dkf__dpd { height: 34px; width: auto; background: #fff; border-radius: 6px; padding: 4px 8px; }
.dkf__kolom summary { color: #fff; font-family: var(--dk-kop); font-size: 20px; letter-spacing: .6px; list-style: none; cursor: pointer; margin-bottom: 12px; pointer-events: none; }
.dkf__kolom summary::-webkit-details-marker { display: none; }
.dkf__kolom ul { list-style: none; margin: 0; padding: 0; }
.dkf__kolom li a { display: block; padding: 5px 0; color: #bdbdbd; }
.dkf__kolom li a:hover { color: #fff; }
.dkf__onder { margin-top: 40px; padding-top: 24px; border-top: 1px solid #2a2a2a; }
.dkf__betaal { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 18px; }
.dkf__bedrijf p { margin: 0 0 8px; color: #8d8d8d; font-size: 12px; }
.dkf__bedrijf strong { color: #bdbdbd; font-weight: 500; }
@media (max-width: 749px) {
	.dkf__grid { grid-template-columns: 1fr; gap: 8px; }
	.dkf__kolom { border-top: 1px solid #2a2a2a; padding: 14px 0; }
	.dkf__kolom summary { pointer-events: auto; margin: 0; display: flex; justify-content: space-between; }
	.dkf__kolom summary::after { content: '+'; }
	.dkf__kolom[open] summary::after { content: '−'; }
	.dkf__kolom ul { padding-top: 10px; }
}

/* ================= VIDEO'S ================= */
.dk-hero__video { display: block; width: 100%; height: auto; max-height: 78vh; object-fit: cover; }
.dk-play { position: absolute; inset: 0; margin: auto; width: 28px; height: 28px; border-radius: 50%; background: rgba(255,255,255,.9); }
.dk-play::after { content: ''; position: absolute; left: 11px; top: 8px; border-left: 9px solid var(--dk-paars); border-top: 6px solid transparent; border-bottom: 6px solid transparent; }
@media (max-width: 749px) {
}

/* ================= REVIEWS ================= */
.dk-sterren { display: inline-flex; gap: 2px; vertical-align: middle; }
.dk-ster { position: relative; width: 13px; height: 13px; background: #d9d9d9; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M10 1.5l2.6 5.4 5.9.8-4.3 4.1 1 5.9L10 14.9l-5.2 2.8 1-5.9L1.5 7.7l5.9-.8z'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M10 1.5l2.6 5.4 5.9.8-4.3 4.1 1 5.9L10 14.9l-5.2 2.8 1-5.9L1.5 7.7l5.9-.8z'/%3E%3C/svg%3E") center / contain no-repeat; }
.dk-ster::before { content: ''; position: absolute; inset: 0; width: var(--vol); background: var(--dk-turq); }
.dk-koop__sterren { display: inline-flex; align-items: center; gap: 6px; margin-bottom: 8px; font-size: 11px; font-weight: 500; color: #333; }
.dk-koop__aantal { font-weight: 400; color: #666; }
.dk-koop__sterren:hover .dk-koop__aantal { text-decoration: underline; }
.dkr__samen { display: flex; align-items: center; gap: 8px; margin: 10px 0 0; font-size: 13px; color: var(--dk-grijs); }
.dkr__score { font-family: var(--dk-kop); font-size: 30px; color: var(--dk-zwart); line-height: 1; }
.dkr__samen .dk-ster { width: 16px; height: 16px; }
.dkr__baan { grid-auto-columns: calc((100% - 30px) / 4); }
.dkr__kaart { display: flex; flex-direction: column; height: 100%; border: 1px solid var(--dk-lila); border-radius: var(--dk-r); overflow: hidden; background: #fff; }
.dkr__foto { display: block; aspect-ratio: 4 / 5; background: #f2f2f2; overflow: hidden; }
.dkr__foto img { width: 100%; height: 100%; object-fit: cover; }
.dkr__body { display: flex; flex-direction: column; gap: 8px; padding: 14px 16px 18px; flex: 1; }
.dkr__tekst { font-size: 13px; line-height: 1.5; color: #333; }
.dkr__naam { margin-top: auto; font-size: 12px; font-weight: 600; color: var(--dk-zwart); }
@media (max-width: 989px) { .dkr__baan { grid-auto-columns: calc((100% - 10px) / 2.2); } }
@media (max-width: 749px) { .dkr__baan { grid-auto-columns: 70%; } }

/* ================= VIDEOBANNER (zoals Shopify) ================= */
.dk-bv { position: relative; border-radius: var(--dk-r); overflow: hidden; background: #000; aspect-ratio: 16 / 7; }
.dk-bv video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.dk-bv__schaduw { position: absolute; inset: 0; background: linear-gradient(to top, rgba(0,0,0,.72) 0%, rgba(0,0,0,.42) 38%, rgba(0,0,0,.14) 72%, rgba(0,0,0,.14) 100%); }
.dk-bv__balk { position: absolute; top: 0; left: 0; right: 0; z-index: 2; border-radius: 0; }
.dk-bv__balk .dk-marquee__baan { font-family: 'Archivo Black', var(--dk-body); font-weight: 400; }
.dk-bv__tekst { position: absolute; left: 7%; right: 7%; bottom: 13%; z-index: 2; text-align: center; color: #fff; }
.dk-bv__kop { margin: 0; font-family: 'Archivo Black', var(--dk-body); font-size: clamp(48px, 6vw, 104px); line-height: .82; word-spacing: -.12em; text-transform: uppercase; }
.dk-bv__lijn { width: 48px; height: 3px; background: #fff; margin: 12px auto 10px; }
.dk-bv__sub { margin: 0; font-family: Roboto, var(--dk-body); font-weight: 600; font-size: clamp(15px, 1.4vw, 22px); letter-spacing: .18em; text-transform: uppercase; }
.dk-bv__sub strong { font-family: 'Archivo Black', var(--dk-body); font-weight: 400; letter-spacing: .03em; font-size: 1.35em; margin-left: .15em; }
.dk-bv__knop { position: relative; z-index: 3; display: inline-flex; align-items: center; gap: 8px; margin-top: 18px; padding: 12px 26px; border-radius: 999px; background: #fff; color: #121212; font-family: 'Archivo Black', var(--dk-body); font-size: 12px; letter-spacing: 1.4px; text-transform: uppercase; transition: transform .2s; }
.dk-bv__knop:hover { transform: translateY(-1px); }
.dk-bv__link { position: absolute; inset: 0; z-index: 1; }
@media (max-width: 749px) {
	.dk-bv { aspect-ratio: 4 / 5; }
	.dk-bv__schaduw { background: linear-gradient(to top, rgba(0,0,0,.62) 0%, rgba(0,0,0,.38) 30%, rgba(0,0,0,0) 58%); }
	.dk-bv__balk .dk-marquee__baan { font-size: 8px; padding: 6px 0; }
	.dk-bv__tekst { bottom: 12%; }
	.dk-bv__kop { font-size: clamp(32px, 11vw, 52px); }
	.dk-bv__lijn { width: 32px; height: 2px; margin: 7px auto 6px; }
	.dk-bv__sub { font-size: clamp(12px, 3.8vw, 16px); }
	.dk-bv__knop { margin-top: 14px; padding: 10px 22px; font-size: 11px; }
}

/* ================= UITSCHUIFBARE WINKELWAGEN ================= */
.dkc { position: fixed; top: 0; right: 0; bottom: 0; z-index: 70; width: min(500px, 100vw); background: #fff; display: flex; flex-direction: column; transform: translateX(100%); transition: transform .26s ease; box-shadow: -10px 0 40px rgba(0,0,0,.12); }
.dkc-open .dkc { transform: none; }
.dkc__schaduw { position: fixed; inset: 0; z-index: 65; background: rgba(0,0,0,.45); opacity: 0; transition: opacity .26s; }
.dkc-open .dkc__schaduw { opacity: 1; }
.dkc-open { overflow: hidden; }
.dkc.is-bezig .dkc__inhoud { opacity: .55; pointer-events: none; }
.dkc__inhoud { display: flex; flex-direction: column; height: 100%; transition: opacity .15s; }
.dkc__kop { display: flex; align-items: center; gap: 12px; padding: 22px 30px 20px; border-bottom: 1px solid #ececec; }
.dkc__titel { flex: 1; font-family: var(--dk-kop); font-size: 26px; letter-spacing: .5px; color: var(--dk-zwart); }
.dkc__logo { height: 20px; width: auto; }
.dkc__sluit { border: 0; background: none; padding: 4px; color: var(--dk-zwart); }
.dkc__leeg { flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 16px; padding: 30px; text-align: center; }
.dkc__lijst { flex: 1; overflow-y: auto; padding: 0 30px; }
.dkc__item { display: flex; gap: 18px; padding: 20px 0; border-bottom: 1px solid #ececec; }
.dkc__foto { flex: 0 0 96px; height: 96px; display: grid; place-items: center; }
.dkc__foto img { width: 100%; height: 100%; object-fit: contain; }
.dkc__foto--dk { flex-basis: 96px; }
.dkc__foto--dk img { width: 70px; height: 70px; border-radius: 6px; box-shadow: 0 2px 8px rgba(0,0,0,.08); }
.dkc__info { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 6px; }
.dkc__naam { font-size: 13px; line-height: 1.3; color: var(--dk-zwart); }
.dkc__opties { font-size: 11px; color: #777; }
.dkc__aantal { display: inline-flex; align-items: center; gap: 4px; align-self: flex-start; margin-top: 4px; border: 1px solid #ddd; border-radius: 40px; padding: 2px 6px; }
.dkc__aantal button { width: 24px; height: 24px; border: 0; background: none; font-size: 15px; line-height: 1; }
.dkc__aantal span { min-width: 18px; text-align: center; font-size: 12px; }
.dkc__rechts { display: flex; flex-direction: column; align-items: flex-end; justify-content: space-between; gap: 10px; }
.dkc__weg { width: 36px; height: 36px; border-radius: 50%; border: 1px solid #e3e3e3; background: #fff; display: grid; place-items: center; color: #333; }
.dkc__prijs { display: flex; flex-direction: column; align-items: flex-end; font-size: 13px; }
.dkc__prijs s { font-size: 12px; }
.dkc__prijs .is-korting { color: var(--dk-turq); }
.dkc__schakel { position: relative; width: 44px; height: 24px; border-radius: 24px; border: 0; background: #ccc; transition: background .2s; }
.dkc__schakel::after { content: ''; position: absolute; top: 3px; left: 3px; width: 18px; height: 18px; border-radius: 50%; background: #fff; transition: transform .2s; }
.dkc__schakel.is-aan { background: var(--dk-turq); }
.dkc__schakel.is-aan::after { transform: translateX(20px); }
.dkc__gratis { font-size: 12px; color: #444; }
.dkc__onder { padding: 16px 30px 22px; border-top: 1px solid #ececec; background: #fff; }
.dkc__regel { display: flex; justify-content: space-between; font-size: 12px; color: #333; margin-bottom: 4px; }
.is-turq { color: var(--dk-turq); }
.is-vet { font-weight: 600; }
.dkc__totaal { display: flex; justify-content: space-between; margin: 8px 0 14px; font-family: var(--dk-kop); font-size: 24px; letter-spacing: .5px; color: var(--dk-zwart); }
.dkc__klarna { display: flex; align-items: center; gap: 14px; padding: 9px 16px; border: 1px solid #e8e8e8; border-radius: 12px; font-size: 13px; margin-bottom: 12px; }
.dkc__klarna img { height: 30px; width: auto; border-radius: 6px; }
.dkc__afrekenen { display: flex; align-items: center; justify-content: center; gap: 10px; height: 56px; border-radius: 40px; background: linear-gradient(90deg, var(--dk-paars-2), var(--dk-paars)); color: #fff; font-family: var(--dk-kop); font-size: 17px; letter-spacing: 1.5px; transition: filter .15s; }
.dkc__afrekenen:hover { filter: brightness(1.08); }
.single_add_to_cart_button.is-bezig { opacity: .7; }
@media (max-width: 749px) {
	.dkc__kop { padding: 16px 18px; }
	.dkc__titel { font-size: 22px; }
	.dkc__lijst { padding: 0 18px; }
	.dkc__onder { padding: 14px 18px 18px; }
	.dkc__foto, .dkc__foto--dk { flex-basis: 76px; height: 76px; }
}

/* Foto's altijd in hun geheel tonen */
.dk-kaart__beeld img, .dk-tegel__vak img, .dk-promo__foto img, .dk-look__thumb img, .dk-pil-groot__foto img, .dk-variant img, .dkr__foto img { object-fit: contain !important; }
.dkr__foto img { background: #f2f2f2; }


/* ================= AFREKENEN (subtiel, DailyKickz) ================= */
.dk-main--afrekenen { background: linear-gradient(90deg, #fff 50%, #faf8fd 50%); }
.dk-main--afrekenen .dk-pagina { padding: 0; max-width: none; }
.dk-main--afrekenen .dk-tekst { max-width: none; }
.dkco-kop { background: #fff; border-bottom: 1px solid #ece6f3; }
.dkco-kop__binnen { max-width: 1180px; margin: 0 auto; padding: 18px 24px; display: flex; align-items: center; gap: 18px; }
.dkco-kop__logo img { height: 26px; width: auto; }
.dkco-kop__pil { display: flex; align-items: baseline; gap: 6px; padding-left: 18px; border-left: 1px solid #ece6f3; font-size: 12px; color: #8a8a8a; }
.dkco-kop__pil strong { font-weight: 600; color: var(--dk-paars); }
.dkco-kop__tas { margin-left: auto; color: var(--dk-zwart); }
.dkco-kop__tas .dk-icoon { width: 22px; height: 22px; }

.dkco { max-width: 1180px; margin: 0 auto; padding: 0 24px; }
.dkco__grid { display: grid; grid-template-columns: 1fr 1fr; }
.dkco__links { padding: 40px 56px 64px 0; width: 100%; max-width: 560px; justify-self: end; }
.dkco__rechts { padding: 40px 0 64px 56px; width: 100%; max-width: 500px; }
@media (min-width: 990px) { .dkco__rechts { position: sticky; top: 0; align-self: start; } }

.dkco__timer { display: flex; align-items: center; gap: 10px; padding: 11px 14px; border: 1px solid #ece6f3; border-radius: 10px; background: #fff; font-size: 13px; color: #555; margin-bottom: 26px; }
.dkco__timericoon { flex: none; display: grid; place-items: center; color: var(--dk-turq); }
.dkco__timericoon .dk-icoon { width: 18px; height: 18px; }
.dkco__timer strong { font-weight: 600; color: var(--dk-zwart); }
.dkco__timer [data-dkco-klok] { font-family: var(--dk-kop); font-size: 17px; font-weight: 400; letter-spacing: 1px; color: var(--dk-paars); }

.dkco__snel { margin-bottom: 30px; }
.dkco__snel > span { display: none; }
.dkco__iconen { display: flex; justify-content: center; flex-wrap: wrap; gap: 6px; }
.dkco__iconen img { width: 38px; height: auto; border-radius: 3px; }

.dkco__blok { margin-bottom: 30px; }
.dkco__blok h2 { margin: 0 0 12px; font-family: var(--dk-kop); font-weight: 400; font-size: 22px; letter-spacing: .8px; color: var(--dk-zwart); }
.dkco__blokkop { display: flex; justify-content: space-between; align-items: baseline; }
.dkco__blokkop a { font-size: 13px; color: var(--dk-paars); }
.dkco__sub { margin: -6px 0 12px; font-size: 12px; color: #8a8a8a; }
.dkco__velden { display: flex; flex-wrap: wrap; gap: 10px; }
.dkco .form-row { margin: 0; padding: 0; width: 100%; position: relative; }
.dkco .form-row.dk-half { width: calc(50% - 5px); }
.dkco .form-row label { position: absolute; left: 14px; top: 7px; z-index: 1; font-size: 11px; color: #8a8a8a; pointer-events: none; opacity: 0; transition: opacity .15s; }
.dkco .form-row label .required, .dkco .form-row label .optional { display: none; }
.dkco .form-row:focus-within label, .dkco .form-row.dk-gevuld label { opacity: 1; }
.dkco .input-text, .dkco select, .dkco .select2-selection { width: 100%; height: 52px !important; border: 1px solid #dedede !important; border-radius: 8px !important; padding: 17px 14px 5px !important; font: inherit; font-size: 14px; background: #fff; color: var(--dk-zwart); }
.dkco .input-text::placeholder { color: #8a8a8a; }
.dkco .input-text:focus, .dkco select:focus { outline: 0; border-color: var(--dk-paars) !important; box-shadow: 0 0 0 1px var(--dk-paars); }
.dkco .select2-selection__rendered { line-height: 30px !important; padding: 0 !important; }
.dkco .select2-selection__arrow { top: 13px !important; right: 10px !important; }
.dkco .woocommerce-invalid .input-text, .dkco .woocommerce-invalid select { border-color: #a32b24 !important; }
.dkco__vink { display: flex; align-items: center; gap: 10px; margin-top: 12px; font-size: 13px; color: #444; cursor: pointer; }
.dkco__vink input { width: 17px; height: 17px; accent-color: var(--dk-paars); }

.dkco__betaling { border: 1px solid #dedede; border-radius: 8px; overflow: hidden; }
.dkco__betaling ul { list-style: none; margin: 0; padding: 0; }
.dkco__betaling .wc_payment_method { border-bottom: 1px solid #ececec; }
.dkco__betaling .wc_payment_method:last-child { border-bottom: 0; }
.dkco__betaling .wc_payment_method > input { position: absolute; opacity: 0; }
.dkco__betaling .wc_payment_method > label { display: flex; align-items: center; gap: 12px; padding: 16px; font-size: 14px; cursor: pointer; }
.dkco__betaling .wc_payment_method > label::before { content: ''; flex: none; width: 18px; height: 18px; border-radius: 50%; border: 1px solid #c4c4c4; background: #fff; }
.dkco__betaling .wc_payment_method.is-gekozen > label { background: #faf8fd; }
.dkco__betaling .wc_payment_method.is-gekozen > label::before { border: 5px solid var(--dk-paars); }
.dkco__betaling .wc_payment_method > label img { margin-left: auto; max-height: 22px; width: auto; }
.dkco__betaling .payment_box { padding: 14px 16px; background: #fafafa; font-size: 13px; color: #666; border-top: 1px solid #ececec; text-align: center; }
.dkco__geenbetaling { padding: 16px; font-size: 13px; color: #a32b24; }

.dkco__keuzes { border: 1px solid #dedede; border-radius: 8px; overflow: hidden; }
.dkco__keuze { display: flex; align-items: center; gap: 12px; padding: 16px; font-size: 14px; cursor: pointer; border-bottom: 1px solid #ececec; }
.dkco__keuze:nth-of-type(2) { border-bottom: 0; }
.dkco__keuze input { position: absolute; opacity: 0; }
.dkco__keuze::before { content: ''; flex: none; width: 18px; height: 18px; border-radius: 50%; border: 1px solid #c4c4c4; }
.dkco__keuze.is-gekozen { background: #faf8fd; }
.dkco__keuze.is-gekozen::before { border: 5px solid var(--dk-paars); }
.dkco__factuur { padding: 16px; background: #fafafa; border-top: 1px solid #ececec; }

.dkco .woocommerce-terms-and-conditions-wrapper { font-size: 12px; color: #8a8a8a; margin-bottom: 14px; }
.dkco__betalen { display: flex; align-items: center; justify-content: center; gap: 10px; width: 100%; height: 58px; border: 0; border-radius: 10px; background: linear-gradient(90deg, var(--dk-paars-2), var(--dk-paars)); color: #fff; font-family: var(--dk-kop); font-size: 21px; letter-spacing: 2px; cursor: pointer; transition: filter .15s; }
.dkco__betalen:hover { filter: brightness(1.08); }
.dkco__betalen svg { width: 15px; height: 15px; }
.dkco__veilig { margin: 12px 0 0; text-align: center; font-size: 12px; color: #8a8a8a; }
.dkco__beleid { display: flex; flex-wrap: wrap; gap: 16px; margin: 36px 0 0; padding-top: 16px; border-top: 1px solid #ececec; font-size: 12px; }
.dkco__beleid a { color: #777; text-decoration: underline; }

.dkco__items { margin-bottom: 18px; }
.dkco__item { display: flex; gap: 14px; align-items: center; padding: 10px 0; }
.dkco__foto { position: relative; flex: 0 0 64px; height: 64px; border-radius: 8px; border: 1px solid #ece6f3; background: #f2f2f2; padding: 4px; }
.dkco__foto img { width: 100%; height: 100%; object-fit: contain; mix-blend-mode: multiply; }
.dkco__qty { position: absolute; top: -7px; right: -7px; min-width: 20px; height: 20px; padding: 0 5px; border-radius: 10px; background: #6b6b6b; color: #fff; font-size: 11px; font-weight: 600; display: grid; place-items: center; }
.dkco__iteminfo { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; font-size: 13px; }
.dkco__naam { color: var(--dk-zwart); }
.dkco__opt { font-size: 12px; color: #8a8a8a; }
.dkco__tag { font-size: 11px; color: var(--dk-paars); }
.dkco__bewerk { font-size: 12px; color: #8a8a8a; text-decoration: underline; }
.dkco__prijs { display: flex; flex-direction: column; align-items: flex-end; font-size: 13px; color: var(--dk-zwart); }
.dkco__prijs s { font-size: 12px; }
.dkco__coupon { display: flex; gap: 8px; margin: 6px 0 20px; }
.dkco__coupon input { flex: 1; height: 46px; border: 1px solid #dedede; border-radius: 8px; padding: 0 12px; font: inherit; font-size: 14px; background: #fff; outline: 0; }
.dkco__coupon input:focus { border-color: var(--dk-paars); }
.dkco__coupon button { height: 46px; border: 1px solid #dedede; border-radius: 8px; background: #f3f0f7; padding: 0 16px; font-size: 13px; font-weight: 600; color: var(--dk-paars); }
.dkco__coupon button:hover { background: var(--dk-paars); color: #fff; border-color: var(--dk-paars); }
.dkco__regel { display: flex; justify-content: space-between; gap: 12px; font-size: 13px; color: #444; margin-bottom: 7px; }
.dkco__regel--code a { font-size: 12px; color: #888; margin-left: 6px; }
.dkco__verzending { width: 100%; border-collapse: collapse; font-size: 13px; margin-bottom: 7px; color: #444; }
.dkco__verzending th { text-align: left; font-weight: 400; padding: 0; }
.dkco__verzending td { text-align: right; padding: 0; }
.dkco__verzending ul { list-style: none; margin: 0; padding: 0; }
.dkco__verzending .woocommerce-shipping-destination, .dkco__verzending .woocommerce-shipping-calculator { display: none; }
.dkco__totaal { display: flex; justify-content: space-between; align-items: baseline; margin-top: 12px; padding-top: 14px; border-top: 1px solid #ece6f3; font-family: var(--dk-kop); font-size: 26px; letter-spacing: .5px; color: var(--dk-zwart); }
.dkco__totaal small { font-family: var(--dk-body); font-size: 11px; color: #8a8a8a; margin-right: 4px; letter-spacing: 0; }
.dkco__besparing { margin-top: 4px; font-size: 12px; font-weight: 600; color: var(--dk-turq); }

.dkco__reviews { margin-top: 30px; padding: 18px 0 0; border-top: 1px solid #ece6f3; }
.dkco__reviewkop { display: flex; justify-content: space-between; align-items: center; font-size: 13px; color: var(--dk-zwart); }
.dkco__score { display: inline-flex; align-items: center; gap: 5px; font-weight: 600; font-size: 12px; }
.dkco__ster { color: var(--dk-turq); font-size: 14px; }
.dkco__review p { margin: 8px 0 0; font-size: 13px; line-height: 1.6; color: #666; font-style: italic; }
.dkco__reviewnav { display: flex; align-items: center; gap: 12px; margin-top: 12px; }
.dkco__reviewnav button { width: 28px; height: 28px; border-radius: 50%; border: 1px solid #e3dcec; background: #fff; display: grid; place-items: center; color: var(--dk-paars); }
.dkco__reviewnav button .dk-icoon { width: 14px; height: 14px; }
.dkco__reviewnav button.is-donker { background: #fff; color: var(--dk-paars); }
.dkco__stippen { display: flex; gap: 6px; order: -1; margin-right: auto; }
.dkco__stippen i { width: 6px; height: 6px; border-radius: 50%; background: #e3dcec; }
.dkco__stippen i.is-aan { background: var(--dk-paars); }
.dkco__waarom { margin-top: 26px; padding-top: 22px; border-top: 1px solid #ece6f3; display: grid; grid-template-columns: 1fr 1fr; gap: 16px 20px; }
.dkco__waarom h3 { display: none; }
.dkco__usp { display: flex; gap: 10px; font-size: 11px; line-height: 1.45; color: #8a8a8a; }
.dkco__usp strong { display: block; font-family: var(--dk-kop); font-weight: 400; font-size: 15px; letter-spacing: .6px; color: var(--dk-zwart); }
.dkco__uspicoon { flex: none; color: var(--dk-paars); padding-top: 2px; }
.dkco__uspicoon .dk-icoon { width: 18px; height: 18px; }

@media (max-width: 989px) {
	.dk-main--afrekenen { background: #fff; }
	.dkco { padding: 0 16px; }
	.dkco__grid { grid-template-columns: 1fr; }
	.dkco__rechts { order: -1; padding: 18px 16px; margin: 0 -16px; max-width: none; width: auto; background: #faf8fd; border-bottom: 1px solid #ece6f3; }
	.dkco__links { padding: 22px 0 40px; max-width: none; }
	.dkco-kop__pil { display: none; }
	.dkco__waarom, .dkco__reviews { display: none; }
	.dkco .form-row.dk-half { width: 100%; }
}
.dkco__gratis { color: #1c9a5a; font-weight: 600; }
.dkco__verzending[hidden] { display: none !important; }
.dk-betaalrij { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px; }
.dk-pi { display: inline-flex; line-height: 0; }
.dk-pi svg { width: 38px; height: 24px; display: block; }
.dkf__betaal.dk-betaalrij { justify-content: flex-start; }
.dk-betaalrij .dk-pi { border: 0 !important; padding: 0 !important; background: none !important; }

/* Afteller als gevuld turquoise vak, reviews in wit vak */
.dkco__timer { border: 0; background: linear-gradient(90deg, var(--dk-turq), var(--dk-turq-2)); color: #fff; padding: 13px 16px; border-radius: 12px; }
.dkco__timericoon { color: #fff; }
.dkco__timer strong { color: #fff; }
.dkco__timer [data-dkco-klok] { color: #fff; font-size: 19px; background: rgba(255,255,255,.18); padding: 2px 8px; border-radius: 6px; }
.dkco__reviews { margin-top: 28px; padding: 18px 20px; border: 1px solid #ece6f3; border-radius: 14px; background: #fff; }
.dkco__sterren { color: var(--dk-turq); font-size: 16px; letter-spacing: 1px; }
.dkco__sterren .is-leeg { color: #dcdcdc; }
.dkco__review p { font-style: normal; }
.dkco__reviewscore { display: flex; align-items: center; justify-content: center; gap: 6px; margin: 12px 0 0; font-size: 12px; color: #8a8a8a; }
.dkco__reviewscore strong { color: var(--dk-zwart); }
.dkco__reviewscore .dk-ster { width: 15px; height: 15px; }

/* Afteller: smal en subtiel, op één regel */
.dkco__timer { display: flex; align-items: center; gap: 9px; padding: 9px 14px; border: 1px solid #d5efec; border-radius: 10px; background: #f4fbfa; color: #3f3f3f; font-size: 13px; line-height: 1.3; white-space: nowrap; margin-bottom: 24px; }
.dkco__timericoon { color: var(--dk-turq); }
.dkco__timericoon .dk-icoon { width: 17px; height: 17px; }
.dkco__timer strong { color: var(--dk-zwart); font-weight: 600; }
.dkco__timer [data-dkco-klok] { background: none; padding: 0; font-family: var(--dk-kop); font-size: 16px; letter-spacing: .8px; color: var(--dk-turq); }
.dkco__timersep { color: #b5b5b5; margin: 0 2px; }
@media (max-width: 420px) { .dkco__timer { white-space: normal; } }

/* Reviewscore: getal + één ster in een vierkantje */
.dkco__score { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; font-weight: 600; color: var(--dk-zwart); }
.dkco__ster { display: inline-grid; place-items: center; width: 18px; height: 18px; border-radius: 2px; background: var(--dk-turq); color: #fff; font-size: 12px; line-height: 1; }

/* Betaallogo's altijd op één regel */
.dk-betaalrij { flex-wrap: nowrap !important; }
.dk-betaalrij .dk-pi { flex: 1 1 0; min-width: 0; max-width: 38px; }
.dk-betaalrij .dk-pi svg { width: 100%; height: auto; }

/* Reviews op mobiel onder de betaalknop */
.dkco__mobiel { display: none; }
@media (max-width: 989px) {
	.dkco__mobiel { display: block; margin-top: 26px; }
	.dkco__mobiel .dkco__reviews { display: block; margin-top: 0; }
	.dkco__mobiel .dkco__waarom { display: grid; grid-template-columns: 1fr 1fr; }
	.dkco__rechts .dkco__reviews, .dkco__rechts .dkco__waarom, .dkco__rechts .dkco__reviewscore { display: none; }
}

/* ================= VARIANTEN-TEGELS ================= */
.dk-sib { margin: 0 0 18px; }
.dk-sib__kop { display: flex; justify-content: flex-end; margin-bottom: 8px; min-height: 4px; }
.dk-sib__toggle { display: inline-flex; align-items: center; gap: 4px; border: 0; border-radius: 40px; background: #f3f0f7; padding: 7px 12px; font-size: 11px; color: #333; }
.dk-sib__toggle svg { transition: transform .2s; }
.dk-sib.is-open .dk-sib__toggle svg { transform: rotate(180deg); }
.dk-sib__minder, .dk-sib.is-open .dk-sib__meer { display: none; }
.dk-sib.is-open .dk-sib__minder { display: inline; }
.dk-sib__lijst { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(5, 1fr); gap: 5px; }
.dk-sib__item.is-extra { display: none; }
.dk-sib.is-open .dk-sib__item.is-extra { display: block; }
.dk-sib__tegel { display: block; aspect-ratio: 1; border: 1px solid #e3e3e3; border-radius: 8px; background: #eee; padding: 5px; transition: border-color .15s; }
.dk-sib__tegel img { width: 100%; height: 100%; object-fit: contain; mix-blend-mode: multiply; }
.dk-sib__tegel:hover { border-color: var(--dk-paars); }
.dk-sib__tegel.is-actief { border-color: var(--dk-paars); background: var(--dk-paars-licht); box-shadow: inset 0 0 0 1px var(--dk-paars); }
.dk-sib__tegel.is-uit { opacity: .45; }
@media (max-width: 749px) {
	.dk-sib__lijst { display: flex; overflow-x: auto; scrollbar-width: none; gap: 8px; }
	.dk-sib__item, .dk-sib__item.is-extra { display: block; flex: 0 0 calc((100% - 32px) / 4.5); }
	.dk-sib__kop { display: none; }
}

/* ================= BUNDEL & BESPAAR ================= */
.dkbs { margin: 6px 0 4px; }
.dkbs__kop { display: flex; align-items: center; gap: 12px; margin-bottom: 16px; }
.dkbs__lijn { flex: 1; height: 0; border-top: .5px solid #d9cfe6; }
.dkbs__titel { display: inline-flex; align-items: center; gap: 6px; margin: 0; font-family: var(--dk-kop); font-weight: 400; font-size: 15px; letter-spacing: 1.5px; text-transform: uppercase; color: var(--dk-paars); }
.dkbs__titel svg { width: 13px; height: 13px; }
.dkbs__opties { display: flex; flex-direction: column; gap: 12px; }
.dkbs__optie { position: relative; border: 1px solid #e3dcec; border-radius: 14px; background: #fff; padding: 16px; cursor: pointer; transition: border-color .15s, background .15s, box-shadow .15s; outline: 0; }
.dkbs__optie:hover { border-color: #cdbfe0; }
.dkbs__optie.is-actief { border-color: var(--dk-paars); background: #fbf9fe; box-shadow: 0 6px 18px rgba(91,58,130,.08); }
.dkbs__badge { position: absolute; top: -10px; right: 14px; padding: 3px 10px; border-radius: 30px; background: var(--dk-paars); color: #fff; font-family: var(--dk-kop); font-size: 12.5px; letter-spacing: 1px; text-transform: uppercase; }
.dkbs__badge--deal { background: linear-gradient(90deg, var(--dk-turq), var(--dk-turq-2)); }
.dkbs__rij { display: flex; align-items: center; gap: 12px; }
.dkbs__radio { flex: none; width: 18px; height: 18px; border-radius: 50%; border: 1px solid #c4c4c4; background: #fff; }
.dkbs__optie.is-actief .dkbs__radio { border: 5px solid var(--dk-paars); }
.dkbs__info { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 4px; }
.dkbs__kopregel { display: flex; align-items: center; gap: 10px; }
.dkbs__naam { font-family: var(--dk-kop); font-size: 17px; letter-spacing: .8px; text-transform: uppercase; color: var(--dk-zwart); white-space: nowrap; }
.dkbs__stapel { display: inline-flex; align-items: center; }
.dkbs__stapel > img, .dkbs__silhouet { width: 50px; height: 50px; border-radius: 15px; background: var(--dk-paars-licht); border: 2px solid #fff; object-fit: contain; }
.dkbs__stapel > img { mix-blend-mode: multiply; padding: 3px; }
.dkbs__silhouet { position: relative; margin-left: -20px; display: grid; place-items: center; color: #cbbfdc; }
.dkbs__silhouet svg { width: 30px; height: 30px; }
.dkbs__silhouet img { position: absolute; inset: 3px; width: calc(100% - 6px); height: calc(100% - 6px); object-fit: contain; opacity: 0; transition: opacity .2s; }
.dkbs__silhouet.is-gevuld img { opacity: 1; }
.dkbs__silhouet.is-gevuld svg { opacity: 0; }
.dkbs__sub { font-size: 10.5px; color: #6b6b6b; }
.dkbs__chip { display: inline-block; padding: 2px 8px; border-radius: 6px; background: #efe8f7; color: var(--dk-paars); font-family: var(--dk-kop); font-size: 12px; letter-spacing: 1px; text-transform: uppercase; }
.dkbs__verzend { display: inline-flex; align-items: center; gap: 6px; font-size: 9px; color: #444; }
.dkbs__stip { width: 6px; height: 6px; border-radius: 50%; background: #22c55e; box-shadow: 0 0 0 3px rgba(34,197,94,.18); }
.dkbs__prijs { flex: none; display: flex; flex-direction: column; align-items: flex-end; }
.dkbs__nu { font-family: var(--dk-kop); font-size: 20px; letter-spacing: .5px; color: var(--dk-zwart); }
.dkbs__was { font-size: 11px; }
.dkbs__klarna { display: none; align-items: center; gap: 5px; margin: 10px 0 0 30px; font-size: 9.5px; color: #555; }
.dkbs__optie.is-actief .dkbs__klarna { display: flex; }
.dkbs__klarna-logo { display: inline-block; padding: 1px 6px; border-radius: 4px; background: #ffb3c7; color: #0b051d; font-weight: 700; font-size: 9px; }
.dkbs__maten { display: grid; grid-template-rows: 0fr; transition: grid-template-rows .25s ease; }
.dkbs__optie.is-actief .dkbs__maten { grid-template-rows: 1fr; }
.dkbs__maten-binnen { overflow: hidden; }
.dkbs__optie.is-actief .dkbs__maten-binnen { margin-top: 12px; padding-top: 12px; border-top: .5px solid #e3dcec; display: flex; flex-direction: column; gap: 8px; }
.dkbs__set { display: flex; align-items: center; gap: 8px; }
.dkbs__pak { position: relative; flex: none; width: 40px; height: 40px; border-radius: 12px; border: 1px solid #e3dcec; background: var(--dk-paars-licht); padding: 3px; }
.dkbs__pak img { width: 100%; height: 100%; object-fit: contain; mix-blend-mode: multiply; }
button.dkbs__pak { cursor: pointer; }
button.dkbs__pak:hover { border-color: var(--dk-paars); }
.dkbs__pak-wijzig { position: absolute; right: -5px; bottom: -5px; width: 17px; height: 17px; border-radius: 50%; background: var(--dk-paars); color: #fff; display: grid; place-items: center; }
.dkbs__pak-wijzig svg { width: 10px; height: 10px; }
.dkbs__kies { position: relative; flex: 1; min-width: 0; display: flex; align-items: center; height: 37px; border: 1px solid #e3dcec; border-radius: 15px; background: #fff; padding: 0 30px 0 12px; }
.dkbs__kies-lbl { font-size: 9px; letter-spacing: .5px; text-transform: uppercase; color: #8a8a8a; pointer-events: none; }
.dkbs__kies select { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; background: transparent; appearance: none; -webkit-appearance: none; padding: 0 30px 0 12px; text-align: right; text-align-last: right; font: inherit; font-size: 12px; font-weight: 600; color: var(--dk-zwart); cursor: pointer; outline: 0; }
.dkbs__kies > svg { position: absolute; right: 11px; width: 11px; height: 11px; pointer-events: none; color: #555; }
.dkbs__kies:focus-within { border-color: var(--dk-paars); }
[data-dkbs-advies] .dk-advies { margin: 16px 0 0; }
.dkbs__knop { display: flex; align-items: center; justify-content: center; gap: 14px; width: 100%; height: 61px; margin-top: 22px; border: 0; border-radius: 14px; background: linear-gradient(90deg, var(--dk-turq), var(--dk-turq-2)); color: #fff; font-family: var(--dk-kop); font-size: 18px; letter-spacing: 2.5px; text-transform: uppercase; cursor: pointer; transition: filter .15s, transform .15s; }
.dkbs__knop:hover { filter: brightness(1.05); transform: translateY(-1px); }
.dkbs__knop.is-bezig { opacity: .7; }
.dkbs__knop-scheid { width: 1px; height: 18px; background: rgba(255,255,255,.55); }
.dkbs__fout { margin: 10px 0 0; font-size: 13px; color: #a32b24; }
.dkbs-paneel { position: fixed; inset: 0; z-index: 90; display: grid; place-items: center; }
.dkbs-paneel__bg { position: absolute; inset: 0; background: rgba(20,12,30,.5); }
.dkbs-paneel__vak { position: relative; width: min(720px, calc(100vw - 32px)); max-height: calc(100vh - 64px); overflow-y: auto; background: #fff; border-radius: 18px; padding: 22px; }
.dkbs-paneel__kop { display: flex; justify-content: space-between; align-items: center; margin-bottom: 16px; }
.dkbs-paneel__titel { margin: 0; font-family: var(--dk-kop); font-weight: 400; font-size: 22px; letter-spacing: 1px; color: var(--dk-zwart); }
.dkbs-paneel__sluit { width: 34px; height: 34px; border: 0; border-radius: 50%; background: #f3f0f7; display: grid; place-items: center; }
.dkbs-paneel__sluit svg { width: 12px; height: 12px; }
.dkbs-paneel__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; }
.dkbs-tegel { display: flex; flex-direction: column; gap: 6px; padding: 8px; border: 1px solid #e3dcec; border-radius: 12px; background: #fff; text-align: center; font-size: 11px; color: #333; cursor: pointer; }
.dkbs-tegel img { width: 100%; aspect-ratio: 1; object-fit: contain; background: var(--dk-paars-licht); border-radius: 8px; mix-blend-mode: multiply; }
.dkbs-tegel:hover, .dkbs-tegel.is-gekozen { border-color: var(--dk-paars); box-shadow: inset 0 0 0 1px var(--dk-paars); }
@media (max-width: 749px) {
	.dkbs__stapel > img, .dkbs__silhouet { width: 42px; height: 42px; }
	.dkbs__naam { font-size: 16px; }
	.dkbs__knop { height: 52px; font-size: 15px; }
	.dkbs-paneel__grid { grid-template-columns: repeat(4, 1fr); }
	.dkbs-tegel { font-size: 9px; padding: 5px; }
}

/* ---------- Maatcalculator ---------- */
.dk-advies.dkmc-actief { flex-wrap: wrap; }
.dk-advies.dkmc-actief .dk-advies__tekst { flex: 1 1 0; min-width: 0; }
.dkmc-link { all: unset; display: inline-flex; align-items: center; gap: 4px; margin-top: 4px; line-height: 1.2; font-size: 12px; font-weight: 600; color: #5b3a82; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.dkmc-link:focus-visible { outline: 2px solid #5b3a82; outline-offset: 2px; }
.dkmc-link.is-klaar { color: #1f8a80; text-decoration: none; gap: 6px; }
.dkmc-vink { width: 15px; height: 15px; flex: none; fill: #2fafa3; }
.dkmc { flex: 1 0 100%; margin-top: 10px; padding-top: 10px; border-top: 1px solid rgba(91, 58, 130, .15); color: #161616; text-align: left; }
.dkmc[hidden], .dkmc [hidden] { display: none !important; }
.dkmc__voortgang { display: flex; align-items: center; gap: 10px; margin-bottom: 12px; }
.dkmc__voortgang span { flex: none; font-size: 10.5px; letter-spacing: .08em; text-transform: uppercase; color: #6b6b6b; }
.dkmc__balk { flex: 1; display: grid; grid-template-columns: repeat(3, 1fr); gap: 4px; }
.dkmc__balk i { display: block; height: 3px; border-radius: 3px; background: rgba(91, 58, 130, .15); transition: background .25s; }
.dkmc__balk i.is-aan { background: #5b3a82; }
.dkmc__titel { margin: 0 0 10px !important; font-family: 'Bebas Neue', sans-serif; font-weight: 400; font-size: 21px; line-height: 1.1; letter-spacing: .02em; color: #161616; }
.dkmc__stap { animation: dkmc-in .25s ease; }
@keyframes dkmc-in { from { opacity: 0; transform: translateY(4px); } to { opacity: 1; transform: none; } }
.dkmc__chips { display: grid; grid-template-columns: repeat(7, 1fr); gap: 5px; }
.dkmc__chips button, .dkmc__optie { all: unset; box-sizing: border-box; cursor: pointer; background: #fff; border: 1px solid #e6e6e6; border-radius: 8px; transition: border-color .15s, background .15s; }
.dkmc__chips button { text-align: center; height: 40px; line-height: 40px; font-size: 12px; color: #161616; }
.dkmc__chips button:hover, .dkmc__optie:hover { border-color: #b9a8d4; }
.dkmc__chips button[aria-pressed="true"] { border-color: #5b3a82; color: #5b3a82; font-weight: 700; box-shadow: inset 0 0 0 1px #5b3a82; }
.dkmc__chips button:focus-visible, .dkmc__optie:focus-visible { outline: 2px solid #5b3a82; outline-offset: 1px; }
.dkmc__opties { display: grid; gap: 6px; }
.dkmc__optie { display: flex; align-items: center; gap: 12px; width: 100%; padding: 11px 13px; }
.dkmc__optie[aria-checked="true"] { border-color: #5b3a82; box-shadow: inset 0 0 0 1px #5b3a82; }
.dkmc__rondje { flex: none; width: 16px; height: 16px; border-radius: 50%; border: 1.5px solid #cfcfcf; display: grid; place-items: center; }
.dkmc__optie[aria-checked="true"] .dkmc__rondje { border-color: #5b3a82; }
.dkmc__optie[aria-checked="true"] .dkmc__rondje::after { content: ""; width: 8px; height: 8px; border-radius: 50%; background: #5b3a82; }
.dkmc__optie b { display: block; font-size: 13px; font-weight: 700; color: #161616; }
.dkmc__optie small { display: block; font-size: 11.5px; color: #6b6b6b; }
.dkmc__optie em { margin-left: auto; font-style: normal; font-family: 'Bebas Neue', sans-serif; font-size: 12.5px; line-height: 1.2; letter-spacing: 1.75px; text-transform: uppercase; color: #fff; background: linear-gradient(90deg, #2fafa3, #36dccd); border-radius: 30px; padding: 4px 11px 3px; white-space: nowrap; }
.dkmc__lang { display: flex; align-items: center; gap: 8px; margin-top: 10px; font-size: 12.5px; cursor: pointer; }
.dkmc__lang input { width: 16px; height: 16px; margin: 0; accent-color: #5b3a82; cursor: pointer; }
.dkmc__maten { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.dkmc__maat { background: #fff; border: 1px solid #e6e6e6; border-radius: 8px; padding: 10px 12px; }
.dkmc__maat small { display: block; font-size: 10.5px; letter-spacing: .08em; text-transform: uppercase; color: #6b6b6b; }
.dkmc__maat strong { display: block; font-family: 'Bebas Neue', sans-serif; font-weight: 400; font-size: 34px; line-height: 1.05; color: #5b3a82; }
.dkmc__maat em { display: block; font-style: normal; font-size: 11px; line-height: 1.35; color: #6b6b6b; }
.dkmc__fout { margin: 10px 0 0 !important; font-size: 12px; color: #c8382d; }
.dkmc__nav { display: flex; align-items: center; gap: 10px; margin-top: 12px; }
.dkmc__terug { all: unset; font-size: 12px; color: #6b6b6b; cursor: pointer; padding: 6px 0; }
.dkmc__terug:hover { color: #161616; }
.dkmc__verder, .dkmc__kies { all: unset; box-sizing: border-box; height: 42px; line-height: 42px; padding: 0 22px; text-align: center; border-radius: 8px; background: #5b3a82; color: #fff; font-family: 'Bebas Neue', sans-serif; font-size: 17px; letter-spacing: .06em; cursor: pointer; transition: opacity .15s, background .2s; }
.dkmc__verder { margin-left: auto; }
.dkmc__verder:hover, .dkmc__kies:hover { opacity: .9; }
.dkmc__kies { display: block; width: 100%; margin-top: 10px; }
.dkmc__kies.is-klaar { background: #2fafa3; }
.dkmc__verder:focus-visible, .dkmc__kies:focus-visible, .dkmc__terug:focus-visible { outline: 2px solid #5b3a82; outline-offset: 2px; }
@media (max-width: 749px) { .dkmc__chips { grid-template-columns: repeat(4, 1fr); } }

/* ---------- Zoekpaneel (zoals live) ---------- */
.dkz { --dkz-bg: #fff; --dkz-tekst: #1a1a1a; --dkz-grijs: #7a7a7a; --dkz-lijn: #e3e3e3; --dkz-accent: #a64fd6; --dkz-kaart: #f2f2f2; --dkz-tegel: #ededed; --dkz-sale: #8e1b3a; --dkz-radius: 16px; position: fixed; inset: 0; z-index: 100000; visibility: hidden; pointer-events: none; font-family: 'Bebas Neue', sans-serif; letter-spacing: .02em; }
.dkz.is-open { visibility: visible; pointer-events: auto; }
.dkz__bg { position: absolute; inset: 0; background: rgba(0,0,0,.4); opacity: 0; transition: opacity .25s ease; }
.dkz.is-open .dkz__bg { opacity: 1; }
.dkz__paneel { position: absolute; top: 0; right: 0; bottom: 0; width: min(560px, 100vw); background: var(--dkz-bg); color: var(--dkz-tekst); border-radius: 24px 0 0 24px; display: flex; flex-direction: column; transform: translateX(100%); transition: transform .3s cubic-bezier(.2,.7,.3,1); }
.dkz.is-open .dkz__paneel { transform: none; }
.dkz__kop { display: flex; align-items: center; justify-content: space-between; padding: 26px 30px 0; }
.dkz__sluit { width: 34px; height: 34px; border: 0; background: none; padding: 0; cursor: pointer; color: var(--dkz-tekst); display: flex; align-items: center; justify-content: center; }
.dkz__sluit svg { width: 22px; height: 22px; }
.dkz__form { position: relative; margin: 22px 30px 8px; }
.dkz__form > svg { position: absolute; left: 20px; top: 50%; transform: translateY(-50%); width: 20px; height: 20px; color: var(--dkz-tekst); pointer-events: none; }
.dkz__input { width: 100%; height: 58px; padding: 0 48px 0 54px; border: 1px solid var(--dkz-lijn); border-radius: 999px; background: var(--dkz-bg); color: var(--dkz-tekst); font: inherit; font-size: 16px; letter-spacing: .02em; outline: none; box-shadow: none; -webkit-appearance: none; appearance: none; }
.dkz__input:focus { border-color: var(--dkz-tekst); }
.dkz__input::-webkit-search-cancel-button { display: none; }
.dkz__wis { position: absolute; right: 14px; top: 50%; transform: translateY(-50%); width: 28px; height: 28px; border: 0; border-radius: 50%; background: var(--dkz-kaart); color: var(--dkz-tekst); cursor: pointer; display: none; align-items: center; justify-content: center; padding: 0; }
.dkz__wis svg { width: 12px; height: 12px; }
.dkz.has-term .dkz__wis { display: flex; }
.dkz__body { flex: 1 1 auto; overflow-y: auto; overscroll-behavior: contain; padding: 0 30px 30px; }
.dkz__kopje { margin: 26px 0 16px; font-family: inherit; font-size: 24px; font-weight: 400; line-height: 1.2; color: var(--dkz-tekst); text-transform: uppercase; }
.dkz__tegels { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.dkz__tegel { position: relative; display: block; aspect-ratio: 1 / 1; border-radius: var(--dkz-radius); overflow: hidden; background: var(--dkz-tegel); text-decoration: none; isolation: isolate; }
.dkz__tegel img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; padding: 10% 8% 28%; mix-blend-mode: multiply; transition: transform .4s ease; }
.dkz__tegel:hover img { transform: scale(1.04); }
.dkz__tegel::after { content: ""; position: absolute; inset: 40% 0 0; background: linear-gradient(to bottom, rgba(0,0,0,0), rgba(0,0,0,.55)); z-index: 1; pointer-events: none; }
.dkz__tegel span { position: absolute; left: 10px; right: 10px; bottom: 14px; z-index: 2; text-align: center; color: #fff; font-size: 22px; line-height: 1.15; text-transform: uppercase; }
.dkz__track { display: grid; grid-auto-flow: column; grid-auto-columns: calc((100% - 14px) / 1.6); gap: 14px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; padding-bottom: 4px; }
.dkz__track::-webkit-scrollbar { display: none; }
.dkz__kaart { scroll-snap-align: start; display: block; text-decoration: none; color: var(--dkz-tekst); }
.dkz__kaart-foto { position: relative; display: flex; align-items: center; justify-content: center; aspect-ratio: 1; border-radius: var(--dkz-radius); background: var(--dkz-kaart); overflow: hidden; }
.dkz__kaart-foto img { width: 100%; height: 100%; object-fit: contain; padding: 12%; mix-blend-mode: multiply; }
.dkz__labels { position: absolute; top: 10px; left: 10px; display: flex; flex-wrap: wrap; gap: 6px; z-index: 1; }
.dkz__label { display: inline-flex; align-items: center; gap: 3px; padding: 4px 9px; border-radius: 999px; font-size: 11px; line-height: 1.2; }
.dkz__label--flits { background: #fff; color: var(--dkz-accent); border: 1px solid #ebddf3; }
.dkz__label--flits svg { width: 8px; height: 10px; }
.dkz__label--sale { background: var(--dkz-sale); color: #fff; }
.dkz__kaart-naam { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; margin: 12px 0 6px; font-size: 14px; line-height: 1.35; text-transform: uppercase; }
.dkz__prijs { font-size: 14px; color: var(--dkz-tekst); }
.dkz__prijs.is-sale { color: var(--dkz-sale); }
.dkz__prijs s { margin-left: 6px; color: var(--dkz-grijs); font-size: 12px; }
.dkz__resultaten[hidden], .dkz__start[hidden] { display: none; }
.dkz__chips { display: flex; flex-wrap: wrap; gap: 8px; }
.dkz__chip { padding: 8px 14px; border-radius: 999px; background: var(--dkz-kaart); color: var(--dkz-tekst); font-size: 13px; text-decoration: none; text-transform: uppercase; }
.dkz__lijst { list-style: none; margin: 0; padding: 0; }
.dkz__rij { display: grid; grid-template-columns: 72px 1fr; gap: 14px; align-items: center; padding: 12px 0; border-bottom: 1px solid var(--dkz-lijn); text-decoration: none; color: var(--dkz-tekst); }
.dkz__rij-foto { width: 72px; height: 72px; border-radius: 10px; background: var(--dkz-kaart); display: flex; align-items: center; justify-content: center; overflow: hidden; }
.dkz__rij-foto img { width: 100%; height: 100%; object-fit: contain; padding: 8%; mix-blend-mode: multiply; }
.dkz__rij-naam { display: block; font-size: 14px; line-height: 1.35; margin-bottom: 4px; text-transform: uppercase; }
.dkz__alles { display: flex; align-items: center; justify-content: center; height: 52px; margin-top: 20px; border-radius: 999px; background: var(--dkz-accent); color: #fff; font-size: 15px; text-decoration: none; text-align: center; padding: 0 16px; }
.dkz__leeg { margin: 30px 0; color: var(--dkz-grijs); font-size: 15px; text-align: center; }
.dkz__laden { opacity: .5; }
html.dkz-lock, html.dkz-lock body { overflow: hidden; }
@media (max-width: 600px) {
	.dkz__paneel { border-radius: 0; }
	.dkz__kop { padding: 20px 18px 0; }
	.dkz__form { margin: 18px 18px 4px; }
	.dkz__body { padding: 0 18px 24px; }
	.dkz__tegel span { font-size: 17px; }
}

/* ---------- Productpagina: indeling en fotokader zoals live ---------- */
.dk-product { padding-top: 40px; }
.dk-product__grid { display: grid; grid-template-columns: 55fr 45fr; gap: 0; align-items: start; }
.dk-koop { padding-top: 28px; padding-left: 57px; min-width: 0; }
.dk-galerij { position: sticky; top: 86px; min-width: 0; --dk-kader: .6; }
.admin-bar .dk-galerij { top: 118px; }
.dk-galerij__kijker { position: relative; }
.dk-galerij__hoofd { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
.dk-galerij__hoofd::-webkit-scrollbar { display: none; }
.dk-galerij__slide { flex: 0 0 100%; scroll-snap-align: start; display: flex; justify-content: center; }
.dk-galerij__vak { position: relative; width: min(100%, calc(88vh * var(--dk-kader))); aspect-ratio: var(--dk-kader); border-radius: 15px; overflow: hidden; background: #eeeeee; }
.dk-galerij__vak img { position: absolute; display: block; }
.dk-galerij__vak.is-pack img { top: 6%; left: 6%; width: 88%; height: 88%; object-fit: contain; mix-blend-mode: multiply; }
.dk-galerij__vak.is-model img { inset: 0; width: 100%; height: 100%; object-fit: cover; }
.dk-galerij__pijl { position: absolute; top: 50%; transform: translateY(-50%); z-index: 2; width: 25px; height: 25px; padding: 0; border: 0; border-radius: 50%; background: #dcddde; color: #fff; display: grid; place-items: center; cursor: pointer; transition: background .15s; }
.dk-galerij__pijl:hover { background: #c9cacc; }
.dk-galerij__pijl svg { width: 15px; height: 15px; }
.dk-galerij__pijl.is-links { left: 16px; }
.dk-galerij__pijl.is-rechts { right: 16px; }
.dk-galerij__teller, .dk-galerij__dots { display: none; }
.dk-galerij__thumbs { display: flex; gap: 20px; margin-top: 24px; }
.dk-galerij__thumb { position: relative; flex: 0 0 calc(100% / 6 - 6px); aspect-ratio: 2 / 3; padding: 0; border: 1px solid transparent; border-radius: 12px; background: #eeeeee; overflow: hidden; cursor: pointer; }
.dk-galerij__thumb img { position: absolute; inset: 0; width: 100%; height: 100%; }
.dk-galerij__thumb.is-pack img { object-fit: contain; padding: 8%; box-sizing: border-box; mix-blend-mode: multiply; }
.dk-galerij__thumb.is-model img { object-fit: cover; }
.dk-galerij__thumb.is-actief { border-color: #5b3a82; }
.dk-galerij__meer { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; background: rgba(18,18,18,.45); color: #fff; font-family: var(--dk-kop); font-size: 30px; letter-spacing: 1px; }
@media (max-width: 989px) {
	.dk-product { padding-top: 0; }
	.dk-product__grid { grid-template-columns: 1fr; gap: 20px; }
	.dk-koop { padding-left: 0; padding-top: 0; }
	.dk-galerij { position: relative; top: 0 !important; margin: 0 calc(var(--dk-zij) * -1); }
	.dk-galerij__slide { padding: 0 10px; box-sizing: border-box; }
	.dk-galerij__vak { width: 100%; }
	.dk-galerij__pijl, .dk-galerij__thumbs { display: none; }
	.dk-galerij__teller { display: block; position: absolute; top: 12px; right: 22px; z-index: 3; padding: 4px 10px; border-radius: 999px; background: rgba(255,255,255,.85); font-size: 12px; font-weight: 500; color: #121212; }
	.dk-galerij__dots { display: flex; position: absolute; left: 0; right: 0; bottom: 14px; z-index: 3; justify-content: center; gap: 6px; pointer-events: none; }
	.dk-galerij__dot { pointer-events: auto; width: 7px; height: 7px; padding: 0; border: 0; border-radius: 50%; background: rgba(18,18,18,.25); transition: width .2s, background .2s; }
	.dk-galerij__dot.is-actief { width: 18px; border-radius: 4px; background: #5b3a82; }
}

/* ---------- Productvideo onder de betaalicoontjes (zoals live) ---------- */
.dk-pv { margin: 0 0 4px; padding-top: 22px; --dk-ar: 1.7778; }
.dk-pv__frame { position: relative; width: min(100%, calc(560px * var(--dk-ar))); aspect-ratio: var(--dk-ar); margin: 0 auto; border-radius: 16px; overflow: hidden; background: #f3f3f3; cursor: pointer; isolation: isolate; box-shadow: 0 0 0 1px rgba(18,18,18,.06), 0 18px 40px -22px rgba(18,18,18,.45); transition: transform .35s ease, box-shadow .35s ease; }
.dk-pv__frame:hover { transform: translateY(-2px); box-shadow: 0 0 0 1px rgba(47,175,163,.35), 0 22px 46px -22px rgba(18,18,18,.5); }
.dk-pv__video { display: block; width: 100%; height: 100%; object-fit: cover; background: #f3f3f3; }
.dk-pv__shade { position: absolute; inset: 0; pointer-events: none; background: linear-gradient(180deg, rgba(0,0,0,.38) 0%, rgba(0,0,0,0) 26%, rgba(0,0,0,0) 62%, rgba(0,0,0,.55) 100%); z-index: 1; }
.dk-pv__tag { position: absolute; left: 14px; top: 14px; z-index: 2; display: inline-flex; align-items: center; gap: 8px; padding: 7px 13px 6px 11px; border-radius: 999px; background: rgba(18,18,18,.42); border: 1px solid rgba(255,255,255,.18); color: #fff; font-family: var(--dk-kop); font-size: 14px; letter-spacing: .12em; text-transform: uppercase; line-height: 1; -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); pointer-events: none; }
.dk-pv__dot { width: 7px; height: 7px; border-radius: 50%; background: #36dccd; flex: 0 0 auto; animation: dkPvPulse 1.8s ease-in-out infinite; }
.dk-pv__bar { position: absolute; left: 0; right: 0; bottom: 0; height: 3px; z-index: 3; background: rgba(255,255,255,.18); pointer-events: none; }
.dk-pv__fill { display: block; height: 100%; width: 0; background: linear-gradient(90deg, #2fafa3, #36dccd); transition: width .25s linear; }
.dk-pv__sound { position: absolute; right: 14px; bottom: 14px; z-index: 3; width: 36px; height: 36px; display: flex; align-items: center; justify-content: center; padding: 0; border: 1px solid rgba(255,255,255,.22); border-radius: 50%; background: rgba(18,18,18,.42); color: #fff; cursor: pointer; -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); transition: background .2s ease; }
.dk-pv__sound:hover { background: rgba(47,175,163,.85); }
.dk-pv.is-sound .dk-pv__sound { background: linear-gradient(135deg, #2fafa3, #36dccd); border-color: transparent; }
.dk-pv__play { position: absolute; left: 50%; top: 50%; z-index: 3; width: 60px; height: 60px; margin: -30px 0 0 -30px; display: flex; align-items: center; justify-content: center; border-radius: 50%; background: linear-gradient(135deg, #2fafa3, #36dccd); color: #fff; opacity: 0; transform: scale(.85); transition: opacity .2s ease, transform .2s ease; pointer-events: none; box-shadow: 0 10px 26px -8px rgba(47,175,163,.7); }
.dk-pv__play svg { margin-left: 3px; width: 22px; height: 22px; }
.dk-pv.is-paused .dk-pv__play { opacity: 1; transform: scale(1); }
.dk-pv__ico--on { display: none; }
.dk-pv.is-sound .dk-pv__ico--on { display: block; }
.dk-pv.is-sound .dk-pv__ico--off { display: none; }
@keyframes dkPvPulse { 0% { box-shadow: 0 0 0 0 rgba(54,220,205,.6); } 70% { box-shadow: 0 0 0 7px rgba(54,220,205,0); } 100% { box-shadow: 0 0 0 0 rgba(54,220,205,0); } }
@media (prefers-reduced-motion: reduce) { .dk-pv__dot { animation: none; } .dk-pv__frame { transition: none; } }

/* ---------- Echte mensen, echte fits (zoals live) ---------- */
.dk-mom { padding: 40px 0; }
.dk-mom__w { max-width: 1100px; margin: 0 auto; padding: 0 20px; }
.dk-mom__top { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; margin-bottom: 26px; }
.dk-mom__h { margin: 0; font-family: var(--dk-kop); font-weight: 400; font-size: clamp(26px, 3.4vw, 46px); line-height: 1.05; letter-spacing: -.01em; color: #121212; }
.dk-mom__h em { font-style: italic; color: #5b3a82; }
.dk-mom__g { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.dk-mom__c { position: relative; aspect-ratio: 9 / 14; border-radius: 10px; overflow: hidden; background: #fff; }
.dk-mom__c > video { position: absolute; inset: -1px; width: calc(100% + 2px); height: calc(100% + 2px); object-fit: cover; display: block; cursor: pointer; }
.dk-mom__p { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); width: 72px; height: 72px; padding: 0; border-radius: 50%; border: 0; background: rgba(30,30,30,.55); -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px); cursor: pointer; display: flex; align-items: center; justify-content: center; transition: opacity .2s, transform .2s; z-index: 2; }
.dk-mom__p svg { width: 26px; height: 26px; margin-left: 4px; fill: #fff; }
.dk-mom__c:hover .dk-mom__p { transform: translate(-50%, -50%) scale(1.06); }
.dk-mom__c.is-play .dk-mom__p { opacity: 0; pointer-events: none; }
.dk-mom__pill { position: absolute; left: 14px; right: 14px; bottom: 14px; z-index: 3; display: flex; align-items: center; gap: 10px; padding: 8px 14px 8px 8px; border-radius: 999px; background: rgba(244,240,248,.94); color: #111; text-decoration: none; transition: background .2s; }
.dk-mom__pill:hover { background: #fff; }
.dk-mom__pill img { width: 44px; height: 30px; flex: 0 0 44px; object-fit: contain; border-radius: 999px; background: #fff; mix-blend-mode: normal; }
.dk-mom__pill span { flex: 1; min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; font-family: var(--dk-kop); font-size: 15px; letter-spacing: .3px; text-transform: uppercase; }
.dk-mom__pill svg { width: 16px; height: 16px; flex: 0 0 16px; }
@media (min-width: 750px) {
	.dk-mom__w { max-width: 1480px; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 3fr); gap: 40px; align-items: center; }
	.dk-mom__top { margin: 0; justify-content: flex-start; text-align: left; }
	.dk-mom__h { font-size: clamp(40px, 4.6vw, 76px); line-height: .95; }
	.dk-mom__h em { display: block; }
}
@media (max-width: 749px) {
	.dk-mom__top { flex-direction: column; align-items: flex-start; gap: 10px; margin-bottom: 18px; }
	.dk-mom__g { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; gap: 12px; margin: 0 -20px; padding: 0 20px; scrollbar-width: none; }
	.dk-mom__g::-webkit-scrollbar { display: none; }
	.dk-mom__c { flex: 0 0 72%; scroll-snap-align: start; }
	.dk-mom__p { width: 58px; height: 58px; }
	.dk-mom__pill span { font-size: 14px; }
}

/* ---------- Uit onze community: fotomuur zoals live ---------- */
.dk-pv { margin-bottom: 16px; }
.dkw { background: #f7f4fa; padding: 56px 0; color: #121212; }
.dkw__in { max-width: 1600px; margin: 0 auto; padding: 0 58px; }
.dkw__kopregel { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 24px; }
.dkw__kop { margin: 0; font-family: var(--dk-kop); font-weight: 400; font-size: 32px; line-height: 1.1; color: #5b3a82; }
.dkw__nav { display: flex; gap: 10px; }
.dkw__pijl { width: 44px; height: 44px; border-radius: 50%; border: 1px solid #e5d3ea; background: #fff; color: #5b3a82; display: flex; align-items: center; justify-content: center; cursor: pointer; padding: 0; }
.dkw__pijl:last-child { background: #5b3a82; border-color: #5b3a82; color: #fff; }
.dkw__pijl[disabled] { opacity: .35; cursor: default; }
.dkw__pijl svg { width: 18px; height: 18px; }
.dkw__lijst { display: grid; grid-auto-flow: column dense; grid-template-rows: repeat(2, 240px); grid-auto-columns: 232px; gap: 14px; overflow-x: auto; scroll-snap-type: x mandatory; scroll-behavior: smooth; scrollbar-width: none; padding: 0; margin: 0; list-style: none; }
.dkw__lijst::-webkit-scrollbar { display: none; }
.dkw__lijst > li { min-width: 0; margin: 0; scroll-snap-align: start; grid-row: span 1; }
.dkw__lijst > li.dkw--hoog, .dkw__lijst > li.dkw__score { grid-row: span 2; }
.dkw__kaart { position: relative; height: 100%; border-radius: 16px; overflow: hidden; background: #fff; }
.dkw__foto { position: absolute; inset: 0; display: block; }
.dkw__foto img { width: 100%; height: 100%; object-fit: cover; display: block; }
.dkw__sterren { display: inline-flex; gap: 2px; color: #00b77f; }
.dkw__sterren svg { width: 12px; height: 12px; color: #e0e0e0; }
.dkw__sterren svg.is-aan { color: #00b77f; }
.dkw__tekst { margin: 0; font-family: var(--dk-body); font-size: 11px; line-height: 1.45; color: #2b2b2b; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.dkw__naam { font-family: var(--dk-body); font-size: 9px; font-weight: 600; color: #121212; }
.dkw--hoog .dkw__body { position: absolute; left: 12px; right: 12px; bottom: 12px; background: rgba(255,255,255,.94); border-radius: 12px; padding: 14px; display: flex; flex-direction: column; gap: 6px; }
.dkw--foto .dkw__body { position: absolute; left: 10px; bottom: 10px; }
.dkw--foto .dkw__onder { background: rgba(255,255,255,.94); border-radius: 999px; padding: 5px 11px; }
.dkw--tekst .dkw__kaart { border: 1px solid #e5d3ea; }
.dkw--tekst2 .dkw__kaart { background: #e6f7f5; }
.dkw--tekst .dkw__body, .dkw--tekst2 .dkw__body { height: 100%; box-sizing: border-box; padding: 20px; display: flex; flex-direction: column; gap: 10px; }
.dkw--tekst .dkw__tekst, .dkw--tekst2 .dkw__tekst { line-height: 1.5; -webkit-line-clamp: 5; }
.dkw--tekst .dkw__onder, .dkw--tekst2 .dkw__onder { margin-top: auto; }
.dkw--tekst2 .dkw__naam { color: #11706a; }
.dkw__score { background: #5b3a82; color: #fff; border-radius: 16px; padding: 26px 22px; box-sizing: border-box; display: flex; flex-direction: column; gap: 12px; }
.dkw__label { align-self: flex-start; font-family: var(--dk-body); font-size: 8px; letter-spacing: .14em; text-transform: uppercase; color: #5b3a82; background: #36dccd; padding: 6px 10px; border-radius: 999px; font-weight: 600; }
.dkw__samen { display: flex; flex-direction: column; align-items: flex-start; gap: 12px; margin-top: 8px; }
.dkw__samen strong { font-family: var(--dk-kop); font-size: 110px; line-height: .8; font-weight: 400; color: #fff; }
.dkw__samen .dkw__sterren svg, .dkw__samen .dkw__sterren svg.is-aan { width: 20px; height: 20px; color: #36dccd; }
.dkw__samen > span:last-child { font-family: var(--dk-body); font-size: 10px; color: #e8def0; }
.dkw__schrijf { margin: auto 0; align-self: flex-start; display: flex; align-items: center; justify-content: center; gap: 7px; height: 48px; padding: 0 20px; border-radius: 999px; background: #fff; color: #5b3a82; font-family: var(--dk-body); font-size: 8px; font-weight: 700; letter-spacing: .08em; white-space: nowrap; text-transform: uppercase; box-shadow: 0 10px 24px rgba(20,8,40,.28); border: 0; cursor: pointer; }
@media (max-width: 989px) { .dkw__in { padding: 0 var(--dk-zij); } }
@media (max-width: 749px) {
	.dkw { padding: 40px 0; }
	.dkw__kop { font-size: 26px; }
	.dkw__pijl { display: none; }
	.dkw__lijst { grid-template-rows: repeat(2, 200px); grid-auto-columns: 168px; gap: 10px; }
	.dkw__score { padding: 20px 14px; }
	.dkw__samen strong { font-size: 84px; }
	.dkw__schrijf { align-self: stretch; padding: 0 6px; height: 40px; gap: 5px; font-size: 9px; letter-spacing: .05em; box-shadow: 0 6px 14px rgba(20,8,40,.22); }
	.dkw__schrijf svg { width: 12px; height: 12px; flex: 0 0 12px; }
	.dkw--tekst .dkw__body, .dkw--tekst2 .dkw__body { padding: 14px; }
	.dkw--tekst .dkw__tekst, .dkw--tekst2 .dkw__tekst { font-size: 13px; -webkit-line-clamp: 4; }
}

/* Review-pop-up */
.dkrrv[hidden] { display: none !important; }
.dkrrv { position: fixed; inset: 0; z-index: 100001; display: flex; align-items: center; justify-content: center; padding: 16px; font-family: var(--dk-body); }
.dkrrv__bg { position: absolute; inset: 0; background: rgba(20,10,35,.55); -webkit-backdrop-filter: blur(3px); backdrop-filter: blur(3px); }
.dkrrv__doos { position: relative; width: 100%; max-width: 440px; max-height: calc(100vh - 32px); overflow-y: auto; background: #fff; border-radius: 18px; padding: 28px 24px 24px; box-shadow: 0 24px 60px rgba(20,8,40,.35); color: #1a1a1a; }
.dkrrv__x { position: absolute; top: 12px; right: 12px; width: 36px; height: 36px; border-radius: 50%; border: 0; background: #f4f0f8; color: #5b3a82; font-size: 22px; line-height: 1; cursor: pointer; }
.dkrrv h3 { margin: 0 0 4px; font-family: var(--dk-kop); font-weight: 400; font-size: 26px; line-height: 1.1; color: #5b3a82; text-transform: uppercase; letter-spacing: .02em; }
.dkrrv__sub { margin: 0 0 18px; font-size: 13px; color: #6b6b6b; }
.dkrrv form { display: flex; flex-direction: column; gap: 14px; margin: 0; }
.dkrrv__sterren { border: 0; margin: 0; padding: 0; display: flex; flex-direction: row-reverse; justify-content: flex-end; gap: 4px; }
.dkrrv__sterren legend { width: 100%; font-size: 12px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; margin-bottom: 6px; }
.dkrrv__sterren input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.dkrrv__sterren label { cursor: pointer; padding: 2px; }
.dkrrv__sterren svg { width: 30px; height: 30px; fill: #e5d3ea; transition: fill .15s; }
.dkrrv__sterren input:checked ~ label svg, .dkrrv__sterren label:hover svg, .dkrrv__sterren label:hover ~ label svg { fill: #2fafa3; }
.dkrrv__sterren input:focus-visible + label { outline: 2px solid #5b3a82; border-radius: 4px; }
.dkrrv__veld { display: flex; flex-direction: column; gap: 6px; font-size: 12px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.dkrrv__veld input, .dkrrv__veld textarea { font: inherit; font-size: 15px; font-weight: 400; letter-spacing: 0; text-transform: none; border: 1px solid #e5d3ea; border-radius: 10px; padding: 12px 14px; background: #fff; color: #1a1a1a; resize: vertical; }
.dkrrv__veld input:focus, .dkrrv__veld textarea:focus { outline: none; border-color: #5b3a82; box-shadow: 0 0 0 3px rgba(91,58,130,.15); }
.dkrrv__knop { display: flex; align-items: center; justify-content: center; height: 50px; border: 0; border-radius: 999px; background: #5b3a82; color: #fff; font: inherit; font-size: 12px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; cursor: pointer; margin-top: 4px; }
.dkrrv__knop:hover { background: #4a2f6b; }
.dkrrv__fout { margin: 0; padding: 10px 12px; border-radius: 10px; background: #fdecec; color: #a32b24; font-size: 13px; }
.dkrrv__dank { text-align: center; display: flex; flex-direction: column; align-items: center; gap: 10px; padding: 10px 0 4px; }
.dkrrv__dank[hidden] { display: none; }
.dkrrv__vink { width: 64px; height: 64px; border-radius: 50%; background: #e6f7f5; display: flex; align-items: center; justify-content: center; }
.dkrrv__vink svg { width: 30px; height: 30px; }
.dkrrv__dank p { margin: 0 0 8px; font-size: 14px; color: #6b6b6b; }
.dkrrv__dank .dkrrv__knop { align-self: stretch; }

/* Productpagina: zelfde breedte en titelgrootte als live */
@media (min-width: 990px) {
	.dk-product.dk-wrap { max-width: 1600px; padding-left: 58px; padding-right: 58px; }
	.dk-koop__titel { font-size: 30px; }
}

/* ================= HULP-PAGINA'S (zoals live) ================= */
/* Contact */
.dkct { background: #fff; color: #121212; padding: 32px 0 48px; font-family: var(--dk-body); }
.dkct__wrap { max-width: 1200px; margin: 0 auto; padding: 0 20px; display: grid; grid-template-columns: 1fr; gap: 32px; align-items: start; }
.dkct__titel { margin: 0 0 12px; font-family: var(--dk-kop); font-size: 44px; line-height: 1; font-weight: 400; letter-spacing: .01em; color: #282828; }
.dkct__intro { margin: 0 0 28px; font-size: 14px; line-height: 1.65; color: #4b5563; }
.dkct__intro p { margin: 0; }
.dkct__lijst { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.dkct__regel { display: flex; align-items: center; gap: 14px; font-size: 14px; line-height: 1.5; color: #121212; }
.dkct__regel a { color: inherit; text-decoration: none; }
.dkct__regel a:hover { text-decoration: underline; text-underline-offset: 3px; }
.dkct__icoon { flex: 0 0 auto; width: 38px; height: 38px; border-radius: 50%; background: #f4f1ff; color: #5b3a82; display: inline-flex; align-items: center; justify-content: center; }
.dkct__icoon svg, .dkct__socials svg { width: 46%; height: 46%; }
.dkct__socials { display: flex; gap: 10px; margin-top: 22px; }
.dkct__socials a { width: 38px; height: 38px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; background: #5b3a82; color: #fff; transition: transform .2s, filter .2s; }
.dkct__socials a:hover { transform: translateY(-2px); filter: brightness(1.08); }
.dkct__reactie { display: inline-flex; align-items: center; gap: 8px; margin-top: 22px; padding: 7px 14px; border-radius: 40px; background: #e9f8f6; color: #1f7a71; font-size: 12px; font-weight: 500; }
.dkct__reactie::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: #2fafa3; }
.dkct__bedrijf { margin-top: 28px; padding: 20px; border-radius: 22px; background: #f7f7f7; border: 1px solid #e5d3ea; font-size: 13px; line-height: 1.7; color: #4b5563; }
.dkct__bedrijf strong { display: block; margin-bottom: 4px; color: #282828; font-size: 1.1em; }
.dkct__bedrijf p { margin: 0; }
.dkct__kaart { background: #fff; border-radius: 22px; padding: 20px; border: 1px solid #e5d3ea; box-shadow: 0 14px 40px -18px #c9b8e6; }
.dkct__formtitel { margin: 0 0 18px; font-family: var(--dk-kop); font-size: 30px; line-height: 1.05; font-weight: 400; color: #282828; }
.dkct__rij { display: grid; grid-template-columns: 1fr; gap: 14px; }
.dkct__veld { display: flex; flex-direction: column; gap: 6px; margin-bottom: 14px; }
.dkct__rij .dkct__veld { margin-bottom: 0; }
.dkct__rij + .dkct__veld, .dkct__rij + .dkct__rij { margin-top: 14px; }
.dkct__label { font-size: 13px; font-weight: 500; color: #2d2d2d; }
.dkct__input { width: 100%; min-height: 48px; padding: 10px 14px; border: 1px solid #e3e3e3; border-radius: 10px; background: #fafafa; color: #121212; font: inherit; font-size: 14px; outline: 0; box-shadow: none; transition: border-color .2s, box-shadow .2s; -webkit-appearance: none; appearance: none; box-sizing: border-box; }
.dkct__input:focus { border-color: #5b3a82; box-shadow: 0 0 0 3px rgba(91,58,130,.15); }
.dkct__input.is-fout { border-color: #a23b31; }
textarea.dkct__input { min-height: 140px; resize: vertical; }
.dkct__select { position: relative; }
.dkct__select::after { content: ""; position: absolute; right: 16px; top: 50%; width: 8px; height: 8px; border-right: 1.6px solid #121212; border-bottom: 1.6px solid #121212; transform: translateY(-70%) rotate(45deg); pointer-events: none; }
.dkct__select select { padding-right: 40px; cursor: pointer; }
.dkct__knop { display: inline-flex; align-items: center; justify-content: center; gap: 10px; width: 100%; min-height: 56px; margin-top: 6px; padding: 0 28px; border: 0; border-radius: 14px; background: linear-gradient(90deg, #2fafa3, #36dccd); color: #fff; font: inherit; font-size: 16px; font-weight: 600; letter-spacing: .04em; cursor: pointer; transition: filter .2s, transform .2s; box-shadow: 0 6px 18px -8px #35d0c2; }
.dkct__knop:hover { filter: brightness(1.04); transform: translateY(-1px); }
.dkct__knop[disabled] { opacity: .7; cursor: default; }
.dkct__knop svg { width: 16px; height: 16px; }
.dkct__melding { margin: 0 0 16px; padding: 12px 14px; border-radius: 10px; font-size: 14px; line-height: 1.5; }
.dkct__melding[hidden] { display: none; }
.dkct__melding--ok { background: #e9f8f6; color: #1f7a71; }
.dkct__melding--fout { background: #fdeceb; color: #a23b31; }
@media (min-width: 750px) {
	.dkct { padding: 64px 0 80px; }
	.dkct__titel { font-size: 64px; }
	.dkct__intro { font-size: 15px; }
	.dkct__rij { grid-template-columns: 1fr 1fr; }
	.dkct__kaart { padding: 36px; }
}
@media (min-width: 990px) { .dkct__wrap { grid-template-columns: .8fr 1.2fr; gap: 64px; } }

/* Veelgestelde vragen */
.dkfaq { background: #fff; color: #121212; padding: 24px 0 44px; font-family: var(--dk-body); }
.dkfaq__wrap { max-width: 900px; margin: 0 auto; padding: 0 20px; }
.dkfaq__beeld { display: block; margin: 0 auto 36px; max-width: 400px; border-radius: 20px; overflow: hidden; }
.dkfaq__beeld img { display: block; width: 100%; height: auto; }
.dkfaq__kop { text-align: center; margin-bottom: 26px; }
.dkfaq__titel { margin: 0 0 12px; font-family: var(--dk-kop); font-size: 38px; line-height: 1; font-weight: 400; letter-spacing: .01em; color: #282828; }
.dkfaq__intro { margin: 0 auto; max-width: 720px; font-size: 14px; line-height: 1.65; color: #4b5563; }
.dkfaq__intro p { margin: 0; }
.dkfaq__tabs { display: flex; gap: 8px; justify-content: flex-start; margin: 0 0 24px; padding: 2px 0 6px; overflow-x: auto; scrollbar-width: none; }
.dkfaq__tabs::-webkit-scrollbar { display: none; }
.dkfaq__tabs > .dkfaq__tab:first-child { margin-left: auto; }
.dkfaq__tabs > .dkfaq__tab:last-child { margin-right: auto; }
.dkfaq__tab { flex: 0 0 auto; border: 1px solid #e5d3ea; background: #fff; color: #2d2d2d; padding: 11px 20px; border-radius: 40px; font: inherit; font-size: 12px; font-weight: 500; letter-spacing: .02em; cursor: pointer; white-space: nowrap; transition: background .2s, color .2s, border-color .2s; }
.dkfaq__tab:hover { border-color: #5b3a82; }
.dkfaq__tab[aria-selected="true"] { background: #5b3a82; border-color: #5b3a82; color: #fff; }
.dkfaq__groep[hidden] { display: none; }
.dkfaq__item { border-bottom: 1px solid #e5e7eb; }
.dkfaq__item:last-child { border-bottom: 0; }
.dkfaq__vraag { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 18px 0; cursor: pointer; list-style: none; font-size: 14px; font-weight: 500; line-height: 1.4; color: #121212; }
.dkfaq__vraag::-webkit-details-marker { display: none; }
.dkfaq__vraag::marker { content: ''; }
.dkfaq__plus { position: relative; flex: 0 0 auto; width: 28px; height: 28px; border-radius: 50%; background: #f4f1ff; color: #5b3a82; transition: transform .25s ease, background .2s; }
.dkfaq__plus::before, .dkfaq__plus::after { content: ""; position: absolute; left: 50%; top: 50%; width: 42%; height: 2px; background: currentColor; border-radius: 2px; transform: translate(-50%, -50%); }
.dkfaq__plus::after { transform: translate(-50%, -50%) rotate(90deg); transition: transform .25s ease; }
.dkfaq__item[open] .dkfaq__plus { background: #2fafa3; color: #fff; }
.dkfaq__item[open] .dkfaq__plus::after { transform: translate(-50%, -50%) rotate(0deg); }
.dkfaq__antwoord { padding: 0 44px 18px 0; font-size: 13px; line-height: 1.7; color: #4b5563; }
.dkfaq__antwoord > *:first-child { margin-top: 0; }
.dkfaq__antwoord > *:last-child { margin-bottom: 0; }
.dkfaq__antwoord a { color: #5b3a82; text-decoration: underline; text-underline-offset: 3px; }
.dkfaq__cta { display: grid; grid-template-columns: 1fr; margin-top: 64px; background: #f4f1ff; border-radius: 22px; overflow: hidden; border: 1px solid #e5d3ea; }
.dkfaq__cta-tekst { padding: 26px; display: flex; flex-direction: column; justify-content: center; align-items: flex-start; }
.dkfaq__cta-titel { margin: 0 0 10px; font-family: var(--dk-kop); font-size: 28px; line-height: 1.05; font-weight: 400; color: #282828; }
.dkfaq__cta-sub { margin: 0 0 20px; font-size: 14px; line-height: 1.6; color: #4b5563; }
.dkfaq__cta-sub p { margin: 0; }
.dkfaq__knop { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 52px; padding: 0 34px; border-radius: 14px; background: linear-gradient(90deg, #2fafa3, #36dccd); color: #fff; font-size: 15px; font-weight: 600; letter-spacing: .06em; text-decoration: none; transition: filter .2s, transform .2s; }
.dkfaq__knop:hover { filter: brightness(1.05); transform: translateY(-1px); color: #fff; }
.dkfaq__knop svg { width: 16px; height: 16px; }
.dkfaq__cta-beeld { position: relative; min-height: 220px; }
.dkfaq__cta-beeld img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
@media (min-width: 750px) {
	.dkfaq { padding: 48px 0 72px; }
	.dkfaq__kop { margin-bottom: 40px; }
	.dkfaq__titel { font-size: 56px; }
	.dkfaq__intro { font-size: 15px; }
	.dkfaq__tab { font-size: 13px; }
	.dkfaq__vraag { font-size: 15px; padding: 22px 0; }
	.dkfaq__antwoord { font-size: 14px; padding-bottom: 22px; }
	.dkfaq__cta.heeft-beeld { grid-template-columns: 1.1fr .9fr; }
	.dkfaq__cta-tekst { padding: 48px; }
	.dkfaq__cta-titel { font-size: 38px; }
}

/* Over ons en voorwaarden */
.dk-pol { padding: 40px 20px 60px; font-family: var(--dk-body); }
.dk-pol-nav { max-width: 900px; margin: 0 auto 28px; display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; }
.dk-pol-nav a { display: inline-block; text-decoration: none; padding: 9px 18px; border-radius: 40px; font-size: 14px; line-height: 1.2; background: #f4f1ff; color: #5b3a82; border: 1px solid #e5d3ea; transition: background .2s, color .2s; }
.dk-pol-nav a:hover { border-color: #5b3a82; }
.dk-pol-nav a.is-actief { background: #5b3a82; color: #fff; border-color: #5b3a82; }
.dk-pol__container { max-width: 900px; margin: 0 auto; }
.dk-pol__titel { text-align: center; margin: 0 0 28px; }
.dk-pol__titel h1 { color: #5b3a82; font-family: var(--dk-kop); font-size: 52px; line-height: 1.05; letter-spacing: .02em; margin: 0; font-weight: 400; text-transform: uppercase; }
.dk-pol__titel h1::after { content: ""; display: block; width: 64px; height: 4px; border-radius: 4px; background: linear-gradient(90deg, #2fafa3, #36dccd); margin: 14px auto 0; }
.dk-pol__body { background: #fff; border: 1px solid #e5d3ea; border-radius: 16px; padding: 48px; box-shadow: 0 10px 30px rgba(91,58,130,.08); }
.dk-pol__body p, .dk-pol__body li { color: #333; font-size: 15px; line-height: 1.7; letter-spacing: 0; }
.dk-pol__body p { margin: 0 0 12px; }
.dk-pol__body > *:first-child { margin-top: 0; }
.dk-pol__body > *:last-child { margin-bottom: 0; }
.dk-pol__body a { color: #5b3a82; text-decoration: underline; text-underline-offset: 3px; }
.dk-pol__body strong { color: #5b3a82; font-weight: 700; }
.dk-pol__body .dk-pol-kop { display: block; color: #5b3a82; font-family: var(--dk-kop); font-size: 24px; line-height: 1.15; letter-spacing: .02em; font-weight: 400; text-transform: uppercase; margin: 28px 0 10px; padding-left: 14px; border-left: 4px solid #2fafa3; }
.dk-pol__body .dk-pol-kop:first-child { margin-top: 0; }
.dk-pol__body .dk-pol-datum { display: inline-block; font-size: 12px; font-weight: 600; color: #5b3a82; background: #f4f1ff; padding: 6px 12px; border-radius: 40px; margin-bottom: 18px; }
.dk-pol-cta { max-width: 900px; margin: 28px auto 0; background: #f4f1ff; border: 1px solid #e5d3ea; border-radius: 16px; padding: 32px; display: flex; align-items: center; justify-content: space-between; gap: 20px; box-sizing: border-box; }
.dk-pol-cta__titel { color: #5b3a82; font-family: var(--dk-kop); font-size: 28px; line-height: 1.1; margin: 0 0 6px; text-transform: uppercase; font-weight: 400; }
.dk-pol-cta__tekst { color: #333; font-size: 15px; line-height: 1.6; margin: 0; }
.dk-pol-cta__knop { flex: none; display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 0 30px; border-radius: 8px; background: linear-gradient(90deg, #2fafa3, #36dccd); color: #fff; text-decoration: none; font-weight: 600; font-size: 15px; letter-spacing: .04em; }
.dk-pol-cta__knop:hover { filter: brightness(1.05); color: #fff; }
@media (max-width: 749px) {
	.dk-pol { padding-left: 16px; padding-right: 16px; }
	.dk-pol__titel h1 { font-size: 38px; }
	.dk-pol__body { padding: 22px; }
	.dk-pol__body p, .dk-pol__body li { font-size: 14px; }
	.dk-pol__body .dk-pol-kop { font-size: 21px; }
	.dk-pol-nav { flex-wrap: nowrap; overflow-x: auto; justify-content: flex-start; padding-bottom: 4px; scrollbar-width: none; }
	.dk-pol-nav::-webkit-scrollbar { display: none; }
	.dk-pol-nav a { white-space: nowrap; }
	.dk-pol-cta { flex-direction: column; align-items: flex-start; padding: 24px; }
	.dk-pol-cta__titel { font-size: 24px; }
	.dk-pol-cta__knop { width: 100%; }
}

/* ================= COLLECTIEPAGINA'S (zoals live) ================= */
.dk-sr { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.dkcol { max-width: 1600px; margin: 0 auto; padding: 0 58px 36px; font-family: var(--dk-body); }
.dkcol__merk { display: flex; justify-content: center; align-items: center; padding: 32px 0 0; }
.dkcol__merk img { width: auto; max-width: 600px; object-fit: contain; }
.dkcol__zoekkop { margin: 32px 0 0; font-family: var(--dk-kop); font-size: 32px; color: var(--dk-zwart); }
.dkcol__raster { display: grid; grid-template-columns: 250px minmax(0, 1fr); gap: 40px; align-items: start; padding-top: 60px; }
.dkcol__raster.na-vlakken { padding-top: 12px; }
.dkcol__merk + .dkcol__raster { padding-top: 60px; }

/* Fotovlakken (Full set, Maison Mihara) */
.dkfv { display: grid; grid-template-columns: 250px minmax(0, 1fr); gap: 40px; padding: 24px 0; }
.dkfv__tekst { display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; gap: 20px; }
.dkfv__logo { max-width: 100%; height: auto; }
.dkfv__txt { margin: 0; max-width: 220px; font-size: 11px; line-height: 1.5; color: #3a3a3a; }
.dkfv__mozaiek { display: grid; grid-template-columns: 72fr 28fr; grid-template-rows: 1fr 1fr; gap: 16px; }
.dkfv__vlak { position: relative; display: block; border-radius: 20px; overflow: hidden; background: #e6e6ea; box-shadow: 0 8px 24px rgba(0,0,0,.14); }
.dkfv__vlak--groot { grid-row: 1 / span 2; background: #e4dcf3; }
.dkfv__vlak img { display: block; width: 100%; height: 100%; object-fit: cover; }
.dkfv__vlak--groot img { height: auto; aspect-ratio: auto; }

/* Filterkolom */
.dkfl { position: sticky; top: 90px; align-self: start; color: #1a1a1a; }
.dkfl__kop { display: flex; align-items: center; justify-content: space-between; margin-bottom: 20px; }
.dkfl__titel { font-size: 19px; }
.dkfl__sluit, .dkfl__toon { display: none; }
.dkfl__wis { display: inline-block; margin: -8px 0 14px; font-size: 12px; color: #555; text-decoration: underline; text-underline-offset: 3px; }
.dkfl__groep { border-bottom: 1px solid #e3e3e3; }
.dkfl__groep summary { display: flex; align-items: center; justify-content: space-between; padding: 16px 0; font-size: 16px; cursor: pointer; list-style: none; }
.dkfl__groep summary::-webkit-details-marker { display: none; }
.dkfl__groep summary::after { content: ""; width: 8px; height: 8px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: translateY(-3px) rotate(45deg); transition: transform .2s; margin-right: 6px; }
.dkfl__groep[open] summary::after { transform: translateY(2px) rotate(-135deg); }
.dkfl__groep ul { list-style: none; margin: 0; padding: 0 0 16px; display: grid; gap: 10px; }
.dkfl__groep ul.dkfl__lang { max-height: 320px; overflow-y: auto; }
.dkfl__groep li { display: flex; align-items: center; gap: 10px; font-size: 12px; color: #555; }
.dkfl__vak { -webkit-appearance: none; appearance: none; flex: none; width: 12px; height: 12px; margin: 0; border: 1.5px solid #1a1a1a; border-radius: 4px; background: #fff; cursor: pointer; display: grid; place-items: center; }
.dkfl__vak:checked { background: #1a1a1a; }
.dkfl__vak:checked::after { content: ""; width: 3px; height: 6px; border: solid #fff; border-width: 0 1.5px 1.5px 0; transform: translateY(-1px) rotate(45deg); }
.dkfl__groep label { cursor: pointer; }
.dkfl__max { margin: 0 0 14px; font-size: 16px; line-height: 1.6; color: #555; letter-spacing: .02em; }
.dkfl__prijs { display: flex; align-items: center; gap: 10px; padding-bottom: 20px; }
.dkfl__prijs span { font-size: 16px; }
.dkfl__prijs label { flex: 1; }
.dkfl__prijs input { width: 100%; height: 54px; padding: 0 14px; border: 1px solid #555; border-radius: 0; font: inherit; font-size: 13px; letter-spacing: .04em; -moz-appearance: textfield; }
.dkfl__prijs input::-webkit-outer-spin-button, .dkfl__prijs input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }

/* Balk boven het raster */
.dkcol__balk { display: flex; align-items: center; justify-content: flex-end; gap: 28px; margin-bottom: 16px; font-size: 14px; color: #1a1a1a; }
.dkcol__sort { display: flex; align-items: center; gap: 10px; }
.dkcol__sort select { border: 0; background: transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23555' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right center / 12px; padding: 4px 26px 4px 0; font: inherit; color: #555; cursor: pointer; -webkit-appearance: none; appearance: none; min-width: 170px; }
.dkcol__aantal { color: #555; }
.dkcol__filterknop { display: none; }

/* Raster en kaarten */
.dkcol__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.dkk { position: relative; display: flex; flex-direction: column; background: #f0f0f0; border-radius: 14px; overflow: hidden; color: #5b5b5b; font-family: var(--dk-body); }
.dkk__boven { position: relative; overflow: hidden; }
.dkk__media { position: relative; display: block; aspect-ratio: 1 / 1; }
.dkk__media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; padding: 7%; box-sizing: border-box; mix-blend-mode: multiply; transition: transform .35s ease; }
.dkk:hover .dkk__media img { transform: scale(1.04); }
.dkk.is-uit .dkk__media { opacity: .3; }
.dkk__labels { position: absolute; top: 12px; left: 12px; right: 56px; z-index: 2; display: flex; flex-wrap: wrap; gap: 6px; pointer-events: none; }
.dkk__label { display: inline-flex; align-items: center; padding: 6px 11px; border-radius: 999px; font-size: 8px; font-weight: 600; letter-spacing: .08em; line-height: 1; }
.dkk__label--sale { background: #572e87; color: #fff; }
.dkk__label--op { background: #5b5b5b; color: #fff; }
.dkk__hart { position: absolute; top: 10px; right: 10px; z-index: 3; width: 25px; height: 25px; padding: 0; border: 0; border-radius: 50%; background: #fff; color: #5b5b5b; display: grid; place-items: center; cursor: pointer; }
.dkk__hart svg { width: 14px; height: 14px; }
.dkk__hart.is-actief svg path { fill: #572e87; stroke: #572e87; }
.dkk__snel { position: absolute; left: 0; right: 0; bottom: 0; z-index: 3; padding: 10px; border: 0; background: #2fafa3; color: #fff; font: inherit; font-size: 13px; letter-spacing: .02em; cursor: pointer; transform: translateY(100%); transition: transform .25s ease; }
.dkk:hover .dkk__snel, .dkk__snel:focus-visible { transform: none; }
.dkk__maten { position: absolute; left: 0; right: 0; bottom: 0; z-index: 4; padding: 12px; background: rgba(255,255,255,.97); box-shadow: 0 -6px 18px rgba(0,0,0,.08); }
.dkk__maten-kop { display: block; margin-bottom: 8px; font-size: 11px; font-weight: 600; color: #1a1a1a; text-align: center; }
.dkk__maten-lijst { display: flex; flex-wrap: wrap; gap: 6px; justify-content: center; max-height: 150px; overflow-y: auto; }
.dkk__maat { min-width: 44px; padding: 7px 8px; border: 1px solid #d9d9d9; border-radius: 8px; background: #fff; font: inherit; font-size: 12px; color: #1a1a1a; cursor: pointer; }
.dkk__maat:hover { border-color: #2fafa3; }
.dkk__maat[disabled] { opacity: .35; text-decoration: line-through; cursor: default; }
.dkk__info { display: flex; flex-direction: column; flex: 1 1 auto; padding: 13px 30px 30px; text-align: center; color: inherit; text-decoration: none; }
.dkk__titel { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; min-height: 2.7em; font-size: 10px; line-height: 1.35; color: #5b5b5b; }
.dkk__prijs { margin-top: 20px; font-size: 12px; font-weight: 600; color: #6b6b6b; }
.dkk__prijs.is-sale { color: #5a5a5a; }
.dkk__prijs s { margin-left: 4px; font-size: 80%; font-weight: 400; color: #a8a8a8; }
.dkk__pil { position: absolute; left: 50%; top: 60%; transform: translate(-50%, -50%); z-index: 2; padding: 5px 16px; border-radius: 999px; background: linear-gradient(90deg, #59ada2, #553b7e); color: #fff; font-family: var(--dk-kop); font-size: 18px; letter-spacing: .04em; white-space: nowrap; }
.dkk--combi { background: #ece4fa; box-shadow: 0 10px 26px -12px rgba(87,46,135,.45); }
.dkk--combi .dkk__media img { mix-blend-mode: multiply; padding: 4%; }
.dkk__combikop { display: block; padding: 6px 10px; background: linear-gradient(90deg, #572e87, #8c56d6); color: #fff; font-size: 9px; font-weight: 600; letter-spacing: .1em; text-align: center; text-transform: uppercase; }
.dkk__pil--combi { top: 72%; background: #572e87; font-size: 20px; padding: 4px 18px; box-shadow: 0 4px 12px rgba(87,46,135,.35); }
.dkk--combi .dkk__titel { color: #1a1a1a; }
.dkk--combi .dkk__prijs { color: #572e87; }
.dkcol__pagina { margin-top: 36px; }
.dkcol__pagina ul { list-style: none; display: flex; justify-content: center; gap: 6px; margin: 0; padding: 0; }
.dkcol__pagina a, .dkcol__pagina span { display: grid; place-items: center; min-width: 40px; height: 40px; padding: 0 8px; font-size: 14px; color: #1a1a1a; text-decoration: none; }
.dkcol__pagina .current { border-bottom: 1px solid #1a1a1a; }
.dk-combi-tag { display: inline-block; margin-left: 6px; padding: 2px 7px; border-radius: 999px; background: #ece4fa; color: #572e87; font-size: 10px; font-weight: 600; vertical-align: middle; }

/* Mobiel en tablet */
@media (max-width: 989px) {
	.dkcol { padding: 0 16px 28px; }
	.dkcol__raster, .dkcol__merk + .dkcol__raster { grid-template-columns: 1fr; gap: 0; padding-top: 24px; }
	.dkfv { grid-template-columns: 1fr; gap: 14px; padding: 10px 0 13px; }
	.dkfv__tekst { gap: 10px; }
	.dkfv__logo { max-width: 80px; }
	.dkfv__txt { max-width: 520px; font-size: 8px; }
	.dkfv__mozaiek { gap: 7px; }
	.dkfv__vlak { border-radius: 14px; }
	.dkfl { position: fixed; top: 0; bottom: 0; left: 0; z-index: 99990; width: min(360px, 88vw); padding: 20px; overflow-y: auto; background: #fff; transform: translateX(-100%); transition: transform .3s ease; }
	.dkfl.is-open { transform: none; }
	.dkfl__sluit { display: grid; place-items: center; width: 36px; height: 36px; border: 0; background: none; }
	.dkfl__toon { display: block; width: 100%; height: 48px; margin-top: 20px; border: 0; border-radius: 10px; background: #2fafa3; color: #fff; font: inherit; font-weight: 600; }
	.dkfl__schaduw { position: fixed; inset: 0; z-index: 99980; background: rgba(0,0,0,.4); }
	.dkcol__balk { position: sticky; top: 64px; z-index: 5; justify-content: space-between; gap: 10px; margin: 0 -16px 12px; padding: 10px 16px; background: #fff; font-size: 13px; }
	.dkcol__filterknop { display: inline-flex; align-items: center; gap: 8px; padding: 0; border: 0; background: none; font: inherit; color: #1a1a1a; }
	.dkcol__sort span, .dkcol__aantal { display: none; }
	.dkcol__sort select { min-width: 0; }
	.dkcol__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
	.dkk__info { padding: 5px 14px 18px; }
	.dkk__titel { font-size: 9px; }
	.dkk__prijs { margin-top: 5px; font-size: 10px; }
	.dkk__label { font-size: 7px; }
	.dkk__snel { font-size: 11px; padding: 8px; }
	.dkk__pil { font-size: 13px; }
}

/* ================= COMBI-DEAL BOUWER ================= */
.dkcb { --p: #5b3a82; --lil: #f4f0fa; --lil2: #ece4fa; margin: 18px 0 6px; font-family: var(--dk-body); }
.dkcb__banner { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; padding: 11px 14px; border: 1px solid #d9c8f0; border-radius: 10px; background: var(--lil); font-size: 12px; color: #6b6b6b; }
.dkcb__banner-t { font-weight: 600; color: var(--p); letter-spacing: .04em; text-transform: uppercase; font-size: 11.5px; }
.dkcb__banner-s s { color: #9a9a9a; }
.dkcb__kicker { margin: 22px 0 14px; color: var(--p); font-size: 12.5px; font-weight: 500; letter-spacing: .12em; text-align: center; text-transform: uppercase; }
.dkcb__row { display: flex; align-items: flex-start; gap: 14px; }
.dkcb__cell { position: relative; flex: 1 1 0; display: flex; flex-direction: column; align-items: center; gap: 6px; min-width: 0; }
.dkcb__join { align-self: center; margin-bottom: 23px; color: var(--p); font-size: 24px; font-weight: 400; }
.dkcb__slot { position: relative; display: flex; width: 100%; aspect-ratio: 1 / .99; padding: 0; border: 1.5px solid #d9c8f0; border-radius: 12px; background: #fff; overflow: hidden; cursor: pointer; transition: border-color .15s, box-shadow .15s; }
.dkcb__slot:hover { border-color: var(--p); box-shadow: 0 6px 20px -10px rgba(91,58,130,.45); }
.dkcb__empty { display: flex; flex-direction: column; width: 100%; height: 100%; }
.dkcb__mid { flex: 1 1 auto; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px; padding-top: 12px; }
.dkcb__plus { position: relative; width: 38px; height: 38px; border-radius: 50%; background: var(--lil2); }
.dkcb__plus::before, .dkcb__plus::after { content: ""; position: absolute; left: 50%; top: 50%; width: 14px; height: 2px; background: var(--p); border-radius: 2px; transform: translate(-50%, -50%); }
.dkcb__plus::after { transform: translate(-50%, -50%) rotate(90deg); }
.dkcb__lbl { color: var(--p); font-size: 12.5px; font-weight: 500; letter-spacing: .1em; text-transform: uppercase; }
.dkcb__go { flex: none; display: flex; align-items: center; justify-content: center; gap: 6px; width: 100%; height: 32px; background: var(--p); color: #fff; font-size: 10.5px; font-weight: 500; letter-spacing: .1em; text-transform: uppercase; }
.dkcb__go svg { width: 13px; height: 13px; }
.dkcb__step { position: absolute; top: 9px; left: 9px; z-index: 2; display: inline-flex; align-items: center; gap: 4px; padding: 3px 8px; border-radius: 999px; background: var(--lil2); color: var(--p); font-size: 9.5px; font-weight: 500; letter-spacing: .08em; text-transform: uppercase; }
.dkcb__step svg { display: none; width: 10px; height: 10px; }
.dkcb__slot.is-gekozen { border-color: var(--p); }
.dkcb__slot.is-gekozen .dkcb__step { background: #2fafa3; color: #fff; }
.dkcb__slot.is-gekozen .dkcb__step svg { display: block; }
.dkcb__filled { display: flex; flex-direction: column; align-items: center; justify-content: flex-end; width: 100%; height: 100%; padding: 10px 10px 12px; background: #f3f3f3; text-align: center; }
.dkcb__filled[hidden] { display: none; }
.dkcb__filled img { width: 80%; flex: 1 1 auto; min-height: 0; object-fit: contain; mix-blend-mode: multiply; }
.dkcb__filled-naam { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; margin-top: 6px; font-size: 10.5px; line-height: 1.3; color: #1a1a1a; }
.dkcb__filled-maat { margin-top: 3px; font-size: 10px; font-weight: 600; color: var(--p); }
.dkcb__clear { position: absolute; top: 6px; right: 6px; z-index: 3; width: 24px; height: 24px; padding: 0; border: 0; border-radius: 50%; background: #fff; color: #1a1a1a; font-size: 16px; line-height: 1; box-shadow: 0 2px 6px rgba(0,0,0,.15); cursor: pointer; }
.dkcb__price { font-size: 12.5px; color: #3a3a3a; }
.dkcb__price--deal { color: var(--p); }
.dkcb__price s { color: #9a9a9a; font-size: 11.5px; }
.dkcb__hint { margin: 16px 0 14px; text-align: center; color: var(--p); font-size: 15px; line-height: 1.5; }
.dkcb__hint span { color: #6b6b6b; font-size: 14px; }
.dkcb__hint strong { color: var(--p); }
.dkcb__hint s { color: #9a9a9a; }
.dkcb__fout { margin: 0 0 12px; padding: 10px 12px; border-radius: 10px; background: #fdecec; color: #a32b24; font-size: 13px; }
.dkcb__submit { width: 100%; height: 58px; border: 0; border-radius: 12px; background: linear-gradient(90deg, var(--dk-turq), var(--dk-turq-2)); color: #fff; font-family: var(--dk-kop); font-size: 22px; letter-spacing: 5px; cursor: pointer; transition: opacity .2s; }
.dkcb__submit.is-incomplete { opacity: .45; }
.dkcb-modal[hidden] { display: none; }
.dkcb-modal { position: fixed; inset: 0; z-index: 100002; display: flex; align-items: center; justify-content: center; padding: 16px; font-family: var(--dk-body); }
.dkcb-modal__bg { position: absolute; inset: 0; background: rgba(255,255,255,.55); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); }
.dkcb-modal__doos { position: relative; width: min(820px, 100%); max-height: calc(100vh - 40px); display: flex; flex-direction: column; padding: 22px 30px 30px; border-radius: 24px; background: #fff; box-shadow: 0 30px 80px -20px rgba(20,8,40,.35); overflow: hidden; }
.dkcb-modal__kop { display: flex; align-items: center; gap: 12px; margin-bottom: 18px; }
.dkcb-modal__kop h3 { flex: 1; margin: 0; font-family: var(--dk-kop); font-size: 34px; font-weight: 400; color: #1a1a1a; }
.dkcb-modal__x, .dkcb-modal__terug { flex: none; width: 36px; height: 36px; display: grid; place-items: center; padding: 0; border: 1.5px solid var(--p, #5b3a82); border-radius: 50%; background: #f4f0fa; color: #5b3a82; cursor: pointer; }
.dkcb-modal__terug { border: 0; }
.dkcb-modal__x svg, .dkcb-modal__terug svg { width: 16px; height: 16px; }
.dkcb-modal__lijst { display: flex; flex-direction: column; min-height: 0; }
.dkcb-modal__lijst[hidden], .dkcb-modal__detail[hidden] { display: none; }
.dkcb-modal__zoek { display: flex; align-items: center; gap: 10px; margin-bottom: 16px; padding: 0 18px; height: 50px; border: 1px solid #e3e3e3; border-radius: 999px; }
.dkcb-modal__zoek svg { width: 18px; height: 18px; color: #1a1a1a; flex: none; }
.dkcb-modal__zoek input { flex: 1; border: 0; outline: 0; font: inherit; font-size: 15px; background: transparent; }
.dkcb-modal__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; overflow-y: auto; padding-bottom: 4px; }
.dkcb-modal__leeg { grid-column: 1 / -1; color: #888; text-align: center; }
.dkcb-tegel { display: flex; flex-direction: column; padding: 0 0 14px; border: 0; border-radius: 16px; background: #f0f0f0; text-align: left; cursor: pointer; transition: box-shadow .15s; }
.dkcb-tegel:hover { box-shadow: inset 0 0 0 1.5px #5b3a82; }
.dkcb-tegel__foto { display: block; aspect-ratio: 1 / .9; padding: 12%; }
.dkcb-tegel__foto img { width: 100%; height: 100%; object-fit: contain; mix-blend-mode: multiply; }
.dkcb-tegel__naam { padding: 0 16px; font-size: 13px; line-height: 1.35; color: #1a1a1a; }
.dkcb-tegel__prijs { padding: 6px 16px 0; font-size: 12px; color: #6b6b6b; }
.dkcb-modal__detail { display: grid; grid-template-columns: 1fr 1.2fr; gap: 30px; overflow-y: auto; }
.dkcb-d__foto { border-radius: 16px; background: #f0f0f0; aspect-ratio: 1; padding: 10%; }
.dkcb-d__foto img { width: 100%; height: 100%; object-fit: contain; mix-blend-mode: multiply; }
.dkcb-d__info h4 { margin: 0 0 6px; font-family: var(--dk-kop); font-size: 26px; font-weight: 400; line-height: 1.1; color: #1a1a1a; }
.dkcb-d__sub { margin: 0 0 16px; font-size: 12.5px; color: #6b6b6b; }
.dkcb-d__lbl { margin: 0 0 8px; font-size: 13px; color: #1a1a1a; }
.dkcb-d__maten { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 6px; margin-bottom: 18px; }
.dkcb-d__maat { position: relative; height: 46px; padding: 0; border: 1px solid #e3e3e3; border-radius: 8px; background: #fff; font: inherit; font-size: 12px; color: #1a1a1a; cursor: pointer; }
.dkcb-d__maat::before { content: ""; position: absolute; top: 5px; left: 5px; width: 5px; height: 5px; border-radius: 50%; background: #2fafa3; }
.dkcb-d__maat.is-gekozen { border-color: #5b3a82; box-shadow: inset 0 0 0 1px #5b3a82; background: #f4f0fa; }
.dkcb-d__maat.is-uit { opacity: .4; text-decoration: line-through; cursor: default; }
.dkcb-d__maat.is-uit::before { background: #cfcfcf; }
.dkcb-d__advies { display: flex; align-items: center; gap: 12px; margin-bottom: 20px; padding: 12px 16px; border: 1px solid #e5d3ea; border-radius: 12px; background: linear-gradient(90deg, #f6f3ff, #fbf0ff); }
.dkcb-d__advies span { flex: none; width: 26px; height: 26px; border-radius: 50%; background: #5b3a82; color: #fff; display: grid; place-items: center; font-weight: 700; font-size: 13px; }
.dkcb-d__advies p { margin: 0; font-size: 13px; color: #1a1a1a; }
.dkcb-d__kies { width: 100%; height: 58px; border: 0; border-radius: 12px; background: linear-gradient(90deg, var(--dk-turq), var(--dk-turq-2)); color: #fff; font-family: var(--dk-kop); font-size: 20px; letter-spacing: 4px; cursor: pointer; }
.dkcb-d__kies.is-uit { opacity: .45; cursor: default; }
@media (max-width: 749px) {
	.dkcb__row { gap: 8px; }
	.dkcb__join { font-size: 20px; }
	.dkcb__go { font-size: 9px; height: 28px; }
	.dkcb-modal { padding: 0; align-items: flex-end; }
	.dkcb-modal__doos { width: 100%; max-height: 90vh; padding: 18px 16px 22px; border-radius: 20px 20px 0 0; }
	.dkcb-modal__kop h3 { font-size: 26px; }
	.dkcb-modal__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.dkcb-modal__detail { grid-template-columns: 1fr; gap: 16px; }
	.dkcb-d__foto { aspect-ratio: 16 / 10; padding: 6%; }
	.dkcb-d__maten { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
.dkfv__vlak:not(.dkfv__vlak--groot) img { position: absolute; inset: 0; }
@media (max-width: 989px) { .dkfv__vlak:not(.dkfv__vlak--groot) { aspect-ratio: 305 / 201; } .dkfv__mozaiek { grid-template-columns: 1fr 1fr; grid-template-rows: auto auto; } .dkfv__vlak--groot { grid-column: 1 / -1; grid-row: auto; } }

/* ---------- v1.16: homepage zoals live ---------- */
.dk-tegels__baan { grid-template-columns: repeat(9, minmax(0, 128px)); justify-content: center; gap: 18px 24px; }
.dk-tegel { gap: 12px; }
.dk-tegel__vak { border-radius: 18px; }
.dk-tegel__naam { display: flex; align-items: center; justify-content: space-between; gap: 6px; width: 100%; height: 30px; padding: 0 7px 0 12px; border-radius: 8px; background: #5b3a82; color: #fff; font-family: var(--dk-kop); font-size: 13px; letter-spacing: .06em; line-height: 1; text-align: left; white-space: nowrap; overflow: hidden; }
.dk-tegel__pijl { flex: 0 0 15px; width: 15px; height: 15px; border-radius: 50%; background: #2fafa3 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center / 9px no-repeat; }
.dk-tegel:hover .dk-tegel__naam { background: #4a2f6b; }
@media (max-width: 749px) {
	.dk-tegel__naam { height: 26px; font-size: 11px; padding: 0 5px 0 8px; }
	.dk-tegel__pijl { flex-basis: 13px; width: 13px; height: 13px; background-size: 8px; }
}
.dk-kaart-w { position: relative; height: 100%; }
.dk-kaart-w .dkk__hart { top: 12px; right: 12px; }
.dk-nb__balk { gap: 24px; }
.dk-nb__kop { flex: 0 0 auto; margin: 0; font-size: 22px; color: #3f3f3f; }
.dk-nb__tekst { flex: 1 1 auto; margin: 0; font-size: 11px; line-height: 1.5; text-align: center; color: #3f3f3f; }
@media (max-width: 749px) { .dk-nb__kop { font-size: 24px; } }
.dk-usp__icoon { background: #f4f1ff; overflow: hidden; }
.dk-usp__icoon img { width: 100%; height: 100%; object-fit: contain; }
@media (max-width: 749px) {
	.dk-bv__knop { display: flex; justify-content: center; width: min(300px, 82vw); margin: 16px auto 0; padding: 14px 22px; background: linear-gradient(90deg, #2fafa3 0%, #36dccd 100%); color: #fff; font-size: 13px; letter-spacing: .08em; }
}

/* ---------- v1.16: productpagina zoals live ---------- */
.dk-galerij__kijker { position: relative; }
.dk-views { position: absolute; top: 12px; left: 12px; z-index: 4; display: inline-flex; align-items: center; gap: 6px; padding: 6px 9px; border-radius: 8px; background: rgba(250, 250, 250, .5); color: #555; font-family: var(--dk-kop); font-size: 11px; letter-spacing: .06em; line-height: 1.2; text-transform: uppercase; pointer-events: none; }
.dk-views[hidden] { display: none; }
.dk-views svg { width: 14px; height: 14px; flex: none; }
.dk-views strong { font-weight: 400; }
.dk-maatkop { display: flex !important; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 8px; }
.dk-maatkop label { margin-bottom: 0 !important; }
.dk-maatkop label::after { content: ":"; }
.dk-maatpil { display: inline-flex; align-items: center; gap: 6px; padding: 2px 12px; border: 1px solid #d9d0ff; border-radius: 40px; background: #f4f1ff; color: #7247a5; font-family: var(--dk-body); font-size: 10px; line-height: 1.6; text-transform: uppercase; white-space: nowrap; }
.dk-maatpil[hidden] { display: none; }
.dk-maatpil::before { content: ""; width: 5px; height: 5px; border-radius: 50%; background: #379622; }
.dk-rij { padding-top: 60px; padding-bottom: 72px; }
.dk-rij + .dk-rij, .dk-pillen + .dk-rij { padding-top: 12px; }
.dk-rij__kop { position: relative; display: flex; align-items: center; justify-content: center; min-height: 44px; margin-bottom: 24px; }
.dk-rij__titel { margin: 0; font-family: var(--dk-kop); font-weight: 400; font-size: 28px; line-height: 1.1; color: #282828; text-align: center; }
.dk-rij__pijlen { position: absolute; right: 0; top: 50%; transform: translateY(-50%); display: flex; gap: 8px; }
.dk-rij__pijlen .dk-rond { width: 44px; height: 44px; border-color: #e5e5e5; }
.dk-rij__baan { display: grid; grid-auto-flow: column; grid-auto-columns: calc((100% - 96px) / 5.25); gap: 24px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
.dk-rij__baan::-webkit-scrollbar { display: none; }
.dk-rij .dk-kaart { background: #f2f2f2; border-radius: 20px; }
.dk-rij .dk-kaart__beeld { aspect-ratio: 4 / 5; padding: 16px; }
.dk-rij .dk-kaart__info { padding: 16px; gap: 4px; border-top: 0; }
.dk-rij .dk-kaart__titel { font-family: Arial, sans-serif; font-size: 11px; color: #121212; -webkit-line-clamp: 2; }
.dk-rij .dk-kaart__prijs { font-size: 12px; color: #363636; }
.dk-rij .dk-kaart__prijs s { color: #8a8a8a; }
@media (max-width: 749px) {
	.dk-rij { padding-top: 40px; padding-bottom: 48px; }
	.dk-rij__titel { font-size: 21px; }
	.dk-rij__pijlen { display: none; }
	.dk-rij__baan { grid-auto-columns: calc((100% - 12px) / 2.2); gap: 12px; margin: 0 calc(var(--dk-zij) * -1); padding: 0 var(--dk-zij); scroll-padding: 0 var(--dk-zij); }
	.dk-rij .dk-kaart__titel { font-size: 10px; }
}

/* Zwevende winkelwagenbalk */
.dksa { position: fixed; left: 0; right: 0; bottom: 20px; z-index: 80; box-sizing: border-box; width: min(920px, calc(100% - 32px)); margin-inline: auto; background: #fff; color: #1a1a1a; border: 1px solid #ececec; border-radius: 18px; box-shadow: 0 8px 30px rgba(0, 0, 0, .1); visibility: hidden; transform: translate3d(0, calc(100% + 48px), 0); transition: transform .34s cubic-bezier(.2, .8, .2, 1), visibility 0s linear .34s; }
.dksa.is-zichtbaar { visibility: visible; transform: none; transition-delay: 0s; }
.dksa * { box-sizing: border-box; }
.dksa__in { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; grid-template-areas: "info maat knop"; align-items: center; gap: 12px; padding: 12px 14px; }
.dksa--geen-maat .dksa__in { grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "info knop"; }
.dksa__info { grid-area: info; display: flex; align-items: center; gap: 12px; min-width: 0; }
.dksa__foto { flex: none; width: 52px; height: 52px; border-radius: 12px; background: #f4f4f4; overflow: hidden; }
.dksa__foto img { display: block; width: 100%; height: 100%; object-fit: contain; mix-blend-mode: multiply; }
.dksa__tekst { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.dksa__titel { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-family: var(--dk-body); font-weight: 500; font-size: 13px; line-height: 1.3; }
.dksa__prijs { display: flex; align-items: baseline; gap: 8px; }
.dksa__nu { font-family: var(--dk-kop); font-size: 22px; line-height: 1.05; color: #2e2e2e; letter-spacing: .01em; }
.dksa__was { font-size: 12px; color: #757474; }
.dksa__maatwrap { grid-area: maat; position: relative; display: flex; align-items: center; height: 46px; width: 150px; padding: 0 38px 0 16px; border: 1px solid #e3e3e3; border-radius: 12px; background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23555' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") no-repeat right 14px center / 12px; font-size: 14px; line-height: 1; cursor: pointer; }
.dksa__maatwrap[hidden] { display: none; }
.dksa__maattekst { display: block; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; pointer-events: none; }
.dksa__maat { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; padding: 0; border: 0; background: none; opacity: 0; cursor: pointer; font-size: 16px; -webkit-appearance: none; appearance: none; }
.dksa__knop { grid-area: knop; display: inline-flex; align-items: center; justify-content: center; height: 52px; margin: 0; padding: 0 36px; border: 0; border-radius: 14px; background: linear-gradient(90deg, #2fafa3 0%, #36dccd 100%); color: #fff; font-family: var(--dk-kop); font-size: 18px; letter-spacing: .1em; line-height: 1; white-space: nowrap; cursor: pointer; transition: filter .15s ease, transform .15s ease; }
.dksa__knop:hover { filter: brightness(1.03); }
.dksa__knop:active { transform: scale(.99); }
.dksa__knop:disabled { opacity: .5; cursor: not-allowed; }
html.dksa-aan body { padding-bottom: var(--dksa-ruimte, 0px); }
@media (max-width: 749px) {
	.dksa { bottom: 0; width: 100%; border-width: 1px 0 0; border-radius: 20px 20px 0 0; }
	.dksa__in, .dksa--geen-maat .dksa__in { grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "info maat" "knop knop"; gap: 10px; padding-bottom: calc(12px + env(safe-area-inset-bottom, 0px)); }
	.dksa--geen-maat .dksa__in { grid-template-columns: minmax(0, 1fr); grid-template-areas: "info" "knop"; }
	.dksa__foto { width: 44px; height: 44px; }
	.dksa__nu { font-size: 20px; }
	.dksa__maatwrap { width: 104px; height: 38px; padding: 0 30px 0 12px; background-position: right 10px center; background-size: 11px; font-size: 12px; }
	.dksa__knop { width: 100%; height: 50px; font-size: 16px; }
}
@media print { .dksa, .dkhd { display: none; } }

/* Hulpknop rechtsonder */
.dkhd { position: fixed; z-index: 55; right: 16px; bottom: calc(var(--dkhd-lift, 0px) + 20px); --dkhd-knop: 48px; font-family: var(--dk-body); font-size: 14px; line-height: 1.45; transition: bottom .34s cubic-bezier(.2, .8, .2, 1); }
@media (min-width: 750px) { .dkhd { right: 24px; bottom: calc(var(--dkhd-lift, 0px) + 24px); --dkhd-knop: 56px; } }
.dkhd * { box-sizing: border-box; }
.dkhd__knop { position: relative; display: flex; align-items: center; justify-content: center; width: var(--dkhd-knop); height: var(--dkhd-knop); margin: 0; padding: 0; border: 0; border-radius: 50%; background: #2fafa3; color: #fff; line-height: 0; cursor: pointer; box-shadow: 0 6px 18px rgba(0, 0, 0, .18); transition: transform .18s ease, filter .18s ease; }
@media (hover: hover) { .dkhd__knop:hover { transform: scale(1.06); filter: brightness(1.04); } }
.dkhd__knop svg { display: block; width: calc(var(--dkhd-knop) * .46); height: calc(var(--dkhd-knop) * .46); }
.dkhd__ic { display: contents; }
.dkhd__ic-x { display: none; }
.dkhd.is-open .dkhd__ic { display: none; }
.dkhd.is-open .dkhd__ic-x { display: contents; }
.dkhd__paneel { position: absolute; right: 0; bottom: calc(var(--dkhd-knop) + 12px); width: 330px; max-width: calc(100vw - 32px); padding: 20px; background: #fff; color: #1a1a1a; border: 1px solid #e7e7e7; border-radius: 18px; box-shadow: 0 14px 40px rgba(0, 0, 0, .22); opacity: 0; visibility: hidden; pointer-events: none; transform: translateY(10px) scale(.98); transform-origin: bottom right; transition: opacity .18s ease, transform .18s ease, visibility 0s linear .18s; }
.dkhd.is-open .dkhd__paneel { opacity: 1; visibility: visible; pointer-events: auto; transform: none; transition-delay: 0s; }
.dkhd__kop { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; margin-bottom: 8px; }
.dkhd__titel { font-size: 20px; font-weight: 700; line-height: 1.2; }
.dkhd__sluit { display: flex; align-items: center; justify-content: center; width: 28px; height: 28px; margin: -4px -6px 0 0; padding: 0; border: 0; border-radius: 50%; background: transparent; color: #6b6b6b; cursor: pointer; }
.dkhd__sluit svg { width: 16px; height: 16px; }
.dkhd__tekst { margin: 0 0 16px; color: #6b6b6b; }
.dkhd__mail { display: flex; align-items: center; justify-content: center; gap: 10px; width: 100%; padding: 14px 16px; border-radius: 12px; background: #2fafa3; color: #fff; font-weight: 600; text-decoration: none; }
.dkhd__mail:hover { filter: brightness(1.05); color: #fff; }
.dkhd__mail svg { width: 20px; height: 20px; flex: none; }
.dkhd__adres { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: 12px; color: #6b6b6b; }
.dkhd__kopieer { padding: 6px 10px; border: 1px solid #e7e7e7; border-radius: 8px; background: transparent; color: #1a1a1a; font: inherit; font-size: .9em; cursor: pointer; }
.dkhd__links { margin: 16px 0 0; padding: 6px 0 0; list-style: none; border-top: 1px solid #e7e7e7; }
.dkhd__links a { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 10px 0; color: #1a1a1a; text-decoration: none; }
.dkhd__links a svg { width: 16px; height: 16px; flex: none; color: #6b6b6b; }
.dkm-open .dkhd, .dkc-open .dkhd { display: none; }

/* ---------- v1.16.1: header en menu in Bebas Neue zoals live ---------- */
.dkh, .dkm, .dklk__menu, .dklk-m { font-family: var(--dk-kop); letter-spacing: .69px; }
.dkh input, .dkm input { font-family: var(--dk-kop); }
.dkh__rij { font-size: 18px; letter-spacing: .69px; }
.dkh__logo-tekst { font-family: var(--dk-kop); font-weight: 400; }
.dkh__promo-titel { font-family: var(--dk-kop); font-weight: 400; letter-spacing: .69px; }
.dklk__optie, .dklk__kop { font-family: var(--dk-kop); }
.dkh__rij.is-knop { justify-content: center; gap: 10px; min-height: 62px; padding: 12px 20px; border-radius: 6px; background: linear-gradient(135deg, #2fafa3 0%, #36dccd 100%); color: #fff; font-size: 16px; letter-spacing: .14em; text-transform: uppercase; box-shadow: 0 8px 20px rgba(47, 175, 163, .35); }
.dkh__rij.is-knop .dkh__rij-titel { text-decoration: none !important; }
.dkh__rij.is-knop::after, .dkm__link--icoon.is-knop::after { content: ""; flex: 0 0 20px; width: 20px; height: 20px; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 8l-9-5-9 5 9 5 9-5z'/%3E%3Cpath d='M3 8v8l9 5 9-5V8'/%3E%3Cpath d='M12 13v8'/%3E%3Cpath d='M7.5 5.5l9 5'/%3E%3C/svg%3E") center / contain no-repeat; transition: transform .15s ease; }
.dkh__rij.is-knop:hover::after { transform: translateX(4px); }
.dkm__link, .dkm__sublink, .dkm__link-t { font-family: var(--dk-kop); letter-spacing: .69px; }
.dkm__link { font-size: 18px; }
.dkm__sublink { font-size: 16px; }
.dkm__link--icoon.is-knop { justify-content: center; gap: 10px; padding: 12px 20px; border-radius: 6px; letter-spacing: .14em; text-transform: uppercase; color: #fff; }

/* ---------- v1.16.2: megamenu maten exact als live ---------- */
.dkh__logos { grid-template-columns: repeat(var(--kol, 5), 80px); column-gap: 18px; row-gap: 56px; }
.dkh__logo-cel { height: 88px; }
.dkh__promo { border-radius: 0; }
.dkh__promo-titel { font-size: 30px; line-height: 1.1; left: 10%; right: 8%; bottom: 9%; }
.dkh__kids { font-family: Arial, sans-serif; font-weight: 700; font-size: 20px; letter-spacing: normal; padding: 7px 24px; border-radius: 999px; background: linear-gradient(90deg, #59ADA2 40%, #553B7E 59%); }
.dkh__rij.is-knop { min-height: 64px; padding: 0 20px; font-size: 14px; letter-spacing: .14em; }
.dkh__rij-titel { font-family: var(--dk-kop); font-size: 18px; letter-spacing: .69px; }
.dkh__rij.is-knop .dkh__rij-titel { font-size: 14px; letter-spacing: .14em; }

/* ---------- v1.17: productpagina details zoals live ---------- */
/* Betaalmethodes als afbeelding (zelfde als live) */
.dk-pay { margin: -7px 0 16px; line-height: 0; }
.dk-pay__img { display: block; width: 94%; max-width: none; height: auto; margin: 0 auto; }

/* Klarna "Meer informatie" */
.dk-klarna { display: flex; flex-wrap: wrap; align-items: center; column-gap: 4px; }
.dkkp-meer { flex: 0 0 100%; order: 99; position: relative; top: -9px; margin: -3px 0 0; padding: 0; border: 0; background: none; cursor: pointer; text-align: left; font-family: var(--dk-body); font-size: 11px; line-height: 1.1; font-weight: 500; color: #5b3a82; text-decoration: underline; text-underline-offset: 2px; white-space: nowrap; }
.dkkp-meer:hover { opacity: .75; }
@media (max-width: 749px) { .dkkp-meer { top: -10px; } }

/* Authenticiteit "Zie meer" */
.dkap-meer { display: inline; margin: 0 0 0 4px; padding: 0; border: 0; background: none; cursor: pointer; font-family: inherit; font-size: 12.5px; font-weight: 600; line-height: inherit; letter-spacing: 0; color: #5b3a82; text-decoration: underline; text-underline-offset: 2px; white-space: nowrap; }
.dkap-meer:hover { opacity: .75; }
@media (max-width: 749px) { .dkap-meer { font-size: 10px; } }

/* Uitklapblokken: geen lijnen, simpel + dat een x wordt */
.dk-acc { margin: 0 0 16px; padding-top: 10px; }
.dk-acc .dk-vak, .dk-acc .dk-vak:last-child { border: 0; }
.dk-acc .dk-vak summary { padding: 14px 0; gap: 1.2rem; font-family: var(--dk-body); font-size: 14px; font-weight: 500; color: #2d2d2d; line-height: 1.3; }
.dk-acc__plus { flex: 0 0 auto; width: 12px; height: 12px; color: #363636; transition: transform .2s ease; }
.dk-acc .dk-vak[open] .dk-acc__plus { transform: rotate(45deg); }
.dk-acc .dk-vak__inhoud { padding: 0 0 14px; font-size: 12px; line-height: 1.6; color: #4b5563; }
.dk-acc .dk-vak__inhoud > :first-child { margin-top: 0; }
.dk-acc .dk-vak__inhoud > :last-child { margin-bottom: 0; }
@media (max-width: 749px) {
	.dk-acc .dk-vak summary { font-size: 11px; }
	.dk-acc .dk-vak__inhoud { font-size: 10px; }
}

/* Pop-ups (Klarna en Authenticiteit) */
.dkkp, .dkap { position: fixed; inset: 0; z-index: 2147483000; display: flex; align-items: center; justify-content: center; padding: 16px; }
.dkkp[hidden], .dkap[hidden] { display: none; }
.dkkp__bg, .dkap__bg { position: absolute; inset: 0; background: rgba(15, 10, 25, .55); opacity: 0; transition: opacity .25s ease; }
.dkkp__doos, .dkap__doos { position: relative; width: 100%; max-height: calc(100vh - 32px); overflow-y: auto; -webkit-overflow-scrolling: touch; background: #fff; border-radius: 20px; box-shadow: 0 30px 80px -20px rgba(0, 0, 0, .35); transform: translateY(16px) scale(.98); opacity: 0; transition: transform .25s ease, opacity .25s ease; font-family: var(--dk-body); line-height: 1.5; }
.dkkp.is-open .dkkp__bg, .dkap.is-open .dkap__bg { opacity: 1; }
.dkkp.is-open .dkkp__doos, .dkap.is-open .dkap__doos { transform: none; opacity: 1; }
.dkkp-sluit, .dkap-sluit { position: absolute; top: 14px; right: 14px; width: 36px; height: 36px; padding: 0; border-radius: 50%; border: 0; cursor: pointer; background: #f4f1ff; color: #5b3a82; display: inline-flex; align-items: center; justify-content: center; transition: transform .2s ease; }
.dkkp-sluit:hover, .dkap-sluit:hover { transform: rotate(90deg); }
.dkkp-sluit svg, .dkap-sluit svg { width: 16px; height: 16px; }
.dkkp__doos { max-width: 530px; padding: 36px 32px 28px; color: #292929; font-size: 12px; }
.dkkp-logo { display: flex; justify-content: center; margin: 0 0 18px; }
.dkkp-logo img { height: 48px; width: auto; display: block; }
.dkkp-titel { margin: 0 0 10px; text-align: center; font-family: var(--dk-body); font-size: 19px; line-height: 1.2; font-weight: 700; letter-spacing: 0; color: #292929; }
.dkkp-sub { margin: 0 auto 22px; max-width: 460px; text-align: center; color: #5c5c5c; }
.dkkp-plannen { display: flex; flex-direction: column; gap: 10px; margin: 0 0 26px; }
.dkkp-plan { display: flex; align-items: flex-end; justify-content: space-between; gap: 12px; padding: 14px 16px; border: 1px solid #e5d3ea; border-radius: 14px; background: #fff; }
.dkkp-plan__label { display: block; color: #5c5c5c; font-size: .92em; margin-bottom: 2px; }
.dkkp-bedrag { display: block; font-size: 12px; line-height: 1.25; font-weight: 700; color: #292929; }
.dkkp-rente { display: block; margin-top: 2px; color: #1f8a4c; font-size: .92em; }
.dkkp-totaal { flex: 0 0 auto; color: #5c5c5c; font-size: .92em; white-space: nowrap; }
.dkkp-kop2 { margin: 0 0 14px; font-family: var(--dk-body); font-size: 14px; font-weight: 700; letter-spacing: 0; color: #292929; }
.dkkp-stappen { list-style: none; margin: 0 0 22px; padding: 0; }
.dkkp-stap { position: relative; padding: 0 0 16px 28px; }
.dkkp-stap::before { content: ''; position: absolute; left: 0; top: .35em; width: 12px; height: 12px; border-radius: 50%; background: #5b3a82; }
.dkkp-stap:not(:last-child)::after { content: ''; position: absolute; left: 5px; top: calc(.35em + 16px); bottom: 2px; width: 2px; border-radius: 2px; background: #e5d3ea; }
.dkkp-stap h4 { margin: 0; font-family: var(--dk-body); font-size: 1.08em; font-weight: 700; letter-spacing: 0; color: #292929; line-height: 1.35; }
.dkkp-stap p { margin: 4px 0 0; color: #5c5c5c; }
.dkkp-voet { text-align: center; font-size: .82em; color: #5c5c5c; }
.dkkp-voet p { margin: 0; }
.dkap__doos { max-width: 680px; padding: 34px 30px 26px; color: #161616; font-size: 13.5px; }
.dkap-kop { text-align: center; margin: 0 0 22px; padding: 0 28px; }
.dkap-label { display: inline-flex; align-items: center; gap: 6px; margin: 0 0 10px; padding: 5px 11px; border-radius: 999px; background: #f4f1ff; color: #5b3a82; font-family: var(--dk-kop); font-size: 12px; letter-spacing: .14em; line-height: 1; }
.dkap-label svg { width: 12px; height: 12px; }
.dkap-titel { margin: 0 0 8px; font-family: var(--dk-kop); font-weight: 400; font-size: 34px; line-height: 1.02; letter-spacing: .02em; color: #161616; }
.dkap-sub { margin: 0 auto; max-width: 470px; color: #6b6b6b; }
.dkap-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin: 0 0 18px; padding: 0; list-style: none; }
.dkap-punt { position: relative; display: flex; align-items: flex-start; gap: 12px; padding: 14px; background: #fff; border: 1px solid #e6e6e6; border-radius: 14px; }
.dkap-icoon { flex: 0 0 auto; width: 40px; height: 40px; border-radius: 10px; background: #5b3a82; color: #fff; display: inline-flex; align-items: center; justify-content: center; }
.dkap-icoon svg { width: 52%; height: 52%; }
.dkap-punt__body { min-width: 0; }
.dkap-punt h3 { margin: 1px 0 3px; padding-right: 22px; font-family: var(--dk-kop); font-weight: 400; font-size: 18px; line-height: 1.05; letter-spacing: .04em; color: #161616; }
.dkap-punt p { margin: 0; font-size: 12px; line-height: 1.5; color: #6b6b6b; }
.dkap-nr { position: absolute; top: 12px; right: 13px; font-family: var(--dk-kop); font-size: 13px; line-height: 1; letter-spacing: .06em; color: #c9bfe0; }
.dkap-voet { display: flex; align-items: center; gap: 12px; padding: 13px 15px; border-radius: 14px; background: #f4f1ff; color: #161616; font-size: 12px; line-height: 1.45; }
.dkap-voet__vink { flex: 0 0 auto; width: 26px; height: 26px; border-radius: 50%; background: #2fafa3; color: #fff; display: inline-flex; align-items: center; justify-content: center; }
.dkap-voet__vink svg { width: 14px; height: 14px; }
.dkap-voet p { margin: 0; }
.dkap-voet strong { font-weight: 600; }
@media (max-width: 749px) {
	.dkkp, .dkap { padding: 12px 0; }
	.dkkp__doos, .dkap__doos { width: 95%; max-width: none; max-height: 88vh; transform: translateY(40px); }
	.dkkp__doos { padding: 34px 24px 24px; font-size: 11px; }
	.dkap__doos { padding: 28px 18px 18px; font-size: 12px; }
	.dkkp-sluit, .dkap-sluit { top: 10px; right: 10px; width: 30px; height: 30px; }
	.dkkp-sluit svg, .dkap-sluit svg { width: 13px; height: 13px; }
	.dkkp-logo img { height: 32px; }
	.dkkp-titel { font-size: 14px; }
	.dkkp-plan { padding: .75em .9em; gap: .7em; }
	.dkap-kop { margin-bottom: 16px; padding: 0 22px; }
	.dkap-titel { font-size: 27px; }
	.dkap-grid { grid-template-columns: 1fr; gap: 8px; margin-bottom: 14px; }
	.dkap-punt { padding: 11px 12px; gap: 10px; }
	.dkap-icoon { width: 36px; height: 36px; }
	.dkap-punt h3 { font-size: 16px; }
	.dkap-punt p, .dkap-voet { font-size: 11.5px; }
}

/* ---------- v1.17.1: ruimte betaalstrip en Klarna-link ---------- */
.dk-pay { margin: 12px 0 16px; }
.dkkp-meer { top: 0; margin: 4px 0 0; line-height: 1.3; }
@media (max-width: 749px) { .dkkp-meer { top: 0; } }

/* ---------- v1.17.2: collectiepagina gelijk aan live ---------- */
/* 6. Geen groen lijntje onder de foto: de snel-toevoegen-knop helemaal wegschuiven */
.dkk__snel { transform: translateY(calc(100% + 4px)); opacity: 0; transition: transform .2s ease, opacity .2s ease; }
.dkk:hover .dkk__snel, .dkk__snel:focus-visible { transform: none; opacity: 1; }
/* 7. "Sorteer op:" op één regel, zelfde maat als live */
.dkcol__sort { white-space: nowrap; }
.dkcol__sort span, .dkcol__sort select, .dkcol__aantal { font-size: 16px; letter-spacing: .46px; }
.dkcol__sort span { color: rgba(18, 18, 18, .85); }
.dkcol__sort select { color: rgba(18, 18, 18, .75); }
.dkcol__aantal { color: #121212; white-space: nowrap; }
/* 8. Filterkolom zoals live */
.dkfl__titel { font-size: 16px; letter-spacing: .46px; color: #1a1a1a; }
.dkfl__groep summary { font-size: 16px; font-weight: 400; letter-spacing: .46px; color: #1a1a1a; padding: 16px 0; }
.dkfl__groep label { font-size: 12px; color: #555; }
/* 9. Product even groot in de kaart als live (10% rand) */
.dkk__media img { padding: 10% !important; }
/* 10. Filterkolom scrollt niet mee, zoals live */
.dkfl { position: relative; top: 0; }
@media (max-width: 989px) {
	.dkcol__sort span, .dkcol__aantal { display: none; }
	.dkcol__sort select { font-size: 14px; }
	.dkfl { position: fixed; }
}

/* ---------- v1.17.3: prijsfilter subtiel, in de stijl van de site ---------- */
.dkfl__max { margin: 0 0 10px; font-size: 12px; line-height: 1.5; color: #777; letter-spacing: .02em; }
.dkfl__prijs { gap: 8px; padding-bottom: 18px; }
.dkfl__prijs > span { font-size: 12px; color: #777; }
.dkfl__prijs input { height: 36px; padding: 0 12px; border: 1px solid #e3e3e3; border-radius: 10px; background: #fafafa; font-size: 12px; color: #1a1a1a; transition: border-color .15s ease, background .15s ease; }
.dkfl__prijs input::placeholder { color: #9a9a9a; }
.dkfl__prijs input:hover { border-color: #cfcfcf; }
.dkfl__prijs input:focus { outline: 0; border-color: #5b3a82; background: #fff; box-shadow: 0 0 0 3px rgba(91, 58, 130, .1); }

/* ---------- v1.17.4: infokaart in de galerij zoals live ---------- */
.dk-galerij__vak.is-kaart img { inset: 0; width: 100%; height: 100%; object-fit: contain; mix-blend-mode: normal; }
.dk-galerij__thumb.is-kaart img { object-fit: contain; mix-blend-mode: normal; padding: 0; }

/* ---------- v1.17.5: homepage mobiel (tegels, promo's, 10% korting, FAQ-knoppen) ---------- */
@media (max-width: 989px) {
	.dk-tegels .dk-tegels__baan, .dk-promos .dk-promos__baan { justify-content: flex-start !important; scroll-padding-left: var(--dk-zij); scroll-padding-right: var(--dk-zij); }
	.dk-tegels__baan::after, .dk-promos__baan::after { content: ""; flex: 0 0 1px; }
	.dk-tegels .dk-tegels__baan { column-gap: 12px !important; }
	.dk-tegels .dk-tegel { flex: 0 0 calc((100% - 36px) / 3.25) !important; }
}
@media (max-width: 749px) {
	.dk-promos .dk-promos__baan { margin-left: 0 !important; margin-right: 0 !important; }
	.dk-nb .dk-nb__balk { padding: 26px 20px; gap: 14px; }
	.dk-nb__kop { margin: 0; }
	.dk-nb__tekst { margin: 0; font-size: 13px; line-height: 1.5; }
	.dk-nb .dk-nb__form { flex: none; width: 100%; gap: 10px; }
	.dk-nb__form input, .dk-nb__form .dk-knop { flex: 0 0 100%; height: 50px; }
	.dk-faq__knoppen { gap: 10px; }
	.dk-faq__knoppen .dk-knop { flex: 1 1 0; min-width: 0; height: auto; min-height: 60px; padding: 10px 14px; font-size: 14px; letter-spacing: 1px; line-height: 1.15; text-align: center; justify-content: center; }
	.dk-faq__knoppen .dk-knop--paars { flex: 0 0 auto; white-space: nowrap; gap: 8px; }
}
